From 0ba2a0cb10d32f430b772e9c99e19f05d601cbe8 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Thu, 7 Dec 2023 13:52:55 +0000 Subject: [PATCH 01/25] update configuration file section in reference card --- docs/reference_card.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/reference_card.md b/docs/reference_card.md index 54da9ed0..703455c7 100644 --- a/docs/reference_card.md +++ b/docs/reference_card.md @@ -18,7 +18,8 @@ The configuration files allow overriding of the udocker `Config` class `conf` dictionary. Example of the `udocker.conf` syntax: ```ini -dockerio_registry_url = "https://myregistry.mydomain:5000" +[DEFAULT] +dockerio_registry_url = https://myregistry.mydomain:5000 http_insecure = True verbose_level = 5 ``` From 67167a6ae8b538661fe88deaa97304a83b135892 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Tue, 23 Jan 2024 16:58:53 +0000 Subject: [PATCH 02/25] build runc on centos7 --- utils/build_tarball.sh | 76 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 75 insertions(+), 1 deletion(-) diff --git a/utils/build_tarball.sh b/utils/build_tarball.sh index 3b7d5961..c93c95f7 100755 --- a/utils/build_tarball.sh +++ b/utils/build_tarball.sh @@ -3607,13 +3607,29 @@ centos7_setup() install --installroot="$OS_ROOTDIR" --releasever="$OS_RELVER" \ --forcearch="$OS_ARCH" \ gcc make libtalloc libtalloc-devel glibc-static glibc-devel \ - tar python gzip zlib diffutils file git which + tar python gzip zlib diffutils file git which curl libseccomp-devel \ + libseccomp-static $SUDO /usr/bin/yum -y -c "${OS_ROOTDIR}/etc/yum.conf" \ install --installroot="$OS_ROOTDIR" --releasever="$OS_RELVER" \ --forcearch="$OS_ARCH" \ autoconf m4 gcc-c++ libstdc++-static automake gawk libtool xz + REPOSECCOMP="https://cbs.centos.org/kojifiles/packages/libseccomp/2.3.0" + curl "$REPOSECCOMP/1.el7/${OS_ARCH}/libseccomp-2.3.0-1.el7.${OS_ARCH}.rpm" > \ + "$OS_ROOTDIR/root/libseccomp-2.3.0-1.el7.${OS_ARCH}.rpm" + curl "$REPOSECCOMP/1.el7/${OS_ARCH}/libseccomp-static-2.3.0-1.el7.${OS_ARCH}.rpm" > \ + "$OS_ROOTDIR/root/libseccomp-static-2.3.0-1.el7.${OS_ARCH}.rpm" + curl "$REPOSECCOMP/1.el7/${OS_ARCH}/libseccomp-devel-2.3.0-1.el7.${OS_ARCH}.rpm" > \ + "$OS_ROOTDIR/root/libseccomp-devel-2.3.0-1.el7.${OS_ARCH}.rpm" + + $SUDO /usr/bin/yum -y -c "${OS_ROOTDIR}/etc/yum.conf" \ + localinstall --installroot="$OS_ROOTDIR" --releasever="$OS_RELVER" \ + --forcearch="$OS_ARCH" \ + "$OS_ROOTDIR/root/libseccomp-2.3.0-1.el7.${OS_ARCH}.rpm" \ + "$OS_ROOTDIR/root/libseccomp-static-2.3.0-1.el7.${OS_ARCH}.rpm" \ + "$OS_ROOTDIR/root/libseccomp-devel-2.3.0-1.el7.${OS_ARCH}.rpm" + $SUDO /usr/bin/yum -y -c "${OS_ROOTDIR}/etc/yum.conf" \ clean packages @@ -3798,6 +3814,64 @@ EOF_centos7_patchelf } +centos7_build_runc() +{ + echo "centos7_build_runc : $1" + local OS_ARCH="$1" + local RUNC_SOURCE_DIR="$2" + local OS_NAME="centos" + local OS_RELVER="7" + local OS_ROOTDIR="${BUILD_DIR}/${OS_NAME}_${OS_RELVER}_${OS_ARCH}" + local PROOT="" + + if [ "$OS_ARCH" = "i386" ]; then + #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" + #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" + PROOT="$S_PROOT_DIR/proot-x86" + elif [ "$OS_ARCH" = "amd64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" + PROOT="$S_PROOT_DIR/proot-x86_64" + elif [ "$OS_ARCH" = "arm64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" + PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + elif [ "$OS_ARCH" = "ppc64el" ]; then + PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + else + echo "unsupported $OS_NAME architecture: $OS_ARCH" + exit 2 + fi + + if [ -x "${RUNC_SOURCE_DIR}/runc-centos-7.bin" ] ; then + echo "runc binary already compiled : ${RUNC_SOURCE_DIR}/runc-centos-7.bin" + return + fi + + export PROOT_NO_SECCOMP=1 + + # compile runc + mkdir -p "${OS_ROOTDIR}/go/src/github.com/opencontainers" + SHELL=/bin/bash CONFIG_SHELL=/bin/bash PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib \ + $PROOT -0 -r "$OS_ROOTDIR" -b "${RUNC_SOURCE_DIR}:/go/src/github.com/opencontainers/runc" -w / -b /dev \ + -b /etc/resolv.conf:/etc/resolv.conf /bin/bash <<'EOF_centos7_runc' +cd /root +curl https://dl.google.com/go/go1.16.linux-amd64.tar.gz --output go.tgz +tar xzvf go.tgz +export PATH=$PATH:/root/go/bin +export GOROOT=/root/go +export GOPATH=/go +go version +export PATH=$GOPATH/bin:$GOROOT/bin:$PATH +go get github.com/sirupsen/logrus +cd /go/src/github.com/opencontainers/runc +make clean +make static +/bin/mv runc runc-centos-7.bin +EOF_centos7_runc + +} + # ############################################################################# # CentOS 8 *** OLD *** From 53cde565f3b28f6aefe09cb27d6504a4b8d67216 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Tue, 23 Jan 2024 17:52:45 +0000 Subject: [PATCH 03/25] disable links2symlinks feature for Pn modes --- udocker/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udocker/config.py b/udocker/config.py index e20eb6e7..bf7b383c 100644 --- a/udocker/config.py +++ b/udocker/config.py @@ -80,7 +80,7 @@ class Config(object): # conf['proot_noseccomp'] = True conf['proot_noseccomp'] = None conf['proot_killonexit'] = True # PRoot --kill-on-exit - conf['proot_link2symlink'] = True # PRoot --link2symlink + conf['proot_link2symlink'] = False # PRoot --link2symlink # fakechroot engine get ld_library_paths from ld.so.cache conf['ld_so_cache'] = "/etc/ld.so.cache" From 6b03fdb25153f017ce1c0696b78831932c2b8d41 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Mon, 29 Jan 2024 10:14:27 +0000 Subject: [PATCH 04/25] udocker 1.3.13-rc.1 with udockertools 1.2.11 and link2symlinks disabled --- udocker/__init__.py | 6 +++--- udocker/config.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/udocker/__init__.py b/udocker/__init__.py index d7a8ad04..f2fc5412 100644 --- a/udocker/__init__.py +++ b/udocker/__init__.py @@ -22,7 +22,7 @@ """ __author__ = "udocker@lip.pt" -__copyright__ = "Copyright 2016 - 2023, LIP" +__copyright__ = "Copyright 2016 - 2024, LIP" __credits__ = [ "PRoot http://proot.me", "runC https://runc.io", @@ -32,5 +32,5 @@ "Singularity http://singularity.lbl.gov" ] __license__ = "Licensed under the Apache License, Version 2.0" -__version__ = "1.3.12" -__date__ = "2023" +__version__ = "1.3.13-rc.1" +__date__ = "2024" diff --git a/udocker/config.py b/udocker/config.py index bf7b383c..a59424f8 100644 --- a/udocker/config.py +++ b/udocker/config.py @@ -29,13 +29,13 @@ class Config(object): # udocker installation tarball the release is the minimum requirement # the actual tarball used in the installation can have a higher version - conf['tarball_release'] = "1.2.10" + conf['tarball_release'] = "1.2.11" conf['tarball'] = ( "https://download.ncg.ingrid.pt/" - "webdav/udocker/udocker-englib-1.2.10.tar.gz" + "webdav/udocker/udocker-englib-1.2.11.tar.gz" " " "https://raw.githubusercontent.com" - "/jorge-lip/udocker-builds/master/tarballs/udocker-englib-1.2.10.tar.gz" + "/jorge-lip/udocker-builds/master/tarballs/udocker-englib-1.2.11.tar.gz" ) conf['installinfo'] = [ "https://raw.githubusercontent.com/indigo-dc/udocker/master/messages", ] From 161534ba37792e021f1b7a94246a33eaaa87ce72 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Tue, 30 Jan 2024 19:26:31 +0000 Subject: [PATCH 05/25] fix issue #399 _del_mount_spec --- udocker/engine/runc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udocker/engine/runc.py b/udocker/engine/runc.py index 7afc7226..dca70cf7 100644 --- a/udocker/engine/runc.py +++ b/udocker/engine/runc.py @@ -248,7 +248,7 @@ def _add_mount_spec(self, host_source, cont_dest, rwmode=False, def _del_mount_spec(self, host_source, cont_dest): """Remove one mount point""" index = self._sel_mount_spec(host_source, cont_dest) - if index: + if index is not None: del self._container_specjson["mounts"][index] def _sel_mount_spec(self, host_source, cont_dest): From 749815f27a75cc25f7c698433bf39afd2cac72ff Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 1 Feb 2024 13:04:03 -0500 Subject: [PATCH 06/25] Add github action to codespell master on push and PRs --- .github/workflows/codespell.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/codespell.yml diff --git a/.github/workflows/codespell.yml b/.github/workflows/codespell.yml new file mode 100644 index 00000000..8f196695 --- /dev/null +++ b/.github/workflows/codespell.yml @@ -0,0 +1,23 @@ +# Codespell configuration is within setup.cfg +--- +name: Codespell + +on: + push: + branches: [master] + pull_request: + branches: [master] + +permissions: + contents: read + +jobs: + codespell: + name: Check for spelling errors + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Codespell + uses: codespell-project/actions-codespell@v2 From f15465056689a5e07236b12f1596da1a76842104 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 1 Feb 2024 13:04:03 -0500 Subject: [PATCH 07/25] Add rudimentary codespell config with custom skip --- setup.cfg | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/setup.cfg b/setup.cfg index 87f0f214..67330b31 100644 --- a/setup.cfg +++ b/setup.cfg @@ -11,3 +11,10 @@ test = pytest [tool:pytest] collect_ignore = ['setup.py'] + +[codespell] +# Ref: https://github.com/codespell-project/codespell#using-a-config-file +skip = .git +check-hidden = true +# ignore-regex = +ignore-words-list = buildd,struc From 926c9c69de02f9471f8157403c3028a3129d2d8a Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 1 Feb 2024 13:13:36 -0500 Subject: [PATCH 08/25] [DATALAD RUNCMD] Do interactive fixing of typos === Do not change lines below === { "chain": [], "cmd": "codespell -w -i 3 -C 2 ./udocker/genstr.py ./paper/paper.md", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- paper/paper.md | 2 +- udocker/genstr.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/paper/paper.md b/paper/paper.md index f59798c5..17470d6f 100644 --- a/paper/paper.md +++ b/paper/paper.md @@ -258,7 +258,7 @@ executables and `$HOME/.udocker/lib` for libraries. Currently the external tools and libraries compiled and provided with udocker support *x86_64*, *aarch64*, *arm* 32bit and *i386* for use with the **P** modes. The binaries for the remaining execution modes are currently -only provided for *x86_64* systems, this may change in the future as thes +only provided for *x86_64* systems, this may change in the future as these and other architectures become more widely used. The **F** mode is particularly unique to udocker. It relies on the interception diff --git a/udocker/genstr.py b/udocker/genstr.py index 797246d1..04c39fbd 100644 --- a/udocker/genstr.py +++ b/udocker/genstr.py @@ -4,7 +4,7 @@ def is_genstr(objstr): - """test if objstr is string or unicode both in py2 nd py3 + """test if objstr is string or unicode both in py2 and py3 unicode type has been removed in py3 :param objstr (string): object to test if string or unicode :return (bool) is_gstr if it is string or unicode or not From be41fd95838af8c2aba49422e15a076de8053685 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 1 Feb 2024 13:15:06 -0500 Subject: [PATCH 09/25] More skips for codespell --- setup.cfg | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 67330b31..17f44a03 100644 --- a/setup.cfg +++ b/setup.cfg @@ -14,7 +14,8 @@ collect_ignore = ['setup.py'] [codespell] # Ref: https://github.com/codespell-project/codespell#using-a-config-file -skip = .git +skip = .git,paper.bib check-hidden = true -# ignore-regex = -ignore-words-list = buildd,struc +ignore-regex = \bFinisFinish Terrae II\b +# some commands and unfortunate variable names +ignore-words-list = buildd,struc,regist From b195e84e37a9bc390b9ff35815cf5c80d0377f97 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Thu, 1 Feb 2024 13:15:50 -0500 Subject: [PATCH 10/25] [DATALAD RUNCMD] run codespell throughout fixing additional new typos automagically === Do not change lines below === { "chain": [], "cmd": "codespell -w", "exit": 0, "extra_inputs": [], "inputs": [], "outputs": [], "pwd": "." } ^^^ Do not change lines above ^^^ --- README.md | 2 +- tests/unit/test_elfpatcher.py | 2 +- udocker/cli.py | 2 +- udocker/cmdparser.py | 2 +- udocker/config.py | 4 ++-- udocker/engine/base.py | 2 +- udocker/engine/fakechroot.py | 2 +- udocker/tools.py | 6 +++--- udocker/utils/fileutil.py | 8 ++++---- udocker/utils/uenv.py | 2 +- utils/build_tarball.sh | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index b41e3dc7..3368d9f1 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ udocker tag centos/centos8 mycentos/centos8:arm64 Create a container from a pulled image, assign a name to the created container and run it. A created container can be run multiple times -until it is explicitely removed. +until it is explicitly removed. ```bash udocker create --name=myfed fedora:29 diff --git a/tests/unit/test_elfpatcher.py b/tests/unit/test_elfpatcher.py index 38de7541..55b001b7 100755 --- a/tests/unit/test_elfpatcher.py +++ b/tests/unit/test_elfpatcher.py @@ -34,7 +34,7 @@ def test_01__init(self, mock_path, mock_hinfo): mock_path.return_value = "/some_contdir" mock_hinfo.uid = "1000" elfp = ElfPatcher(self.local, self.contid) - self.assertTrue(mock_path.callled) + self.assertTrue(mock_path.called) self.assertEqual(elfp._uid, "1000") @patch('udocker.helper.elfpatcher.FileUtil.find_exec') diff --git a/udocker/cli.py b/udocker/cli.py index 87b6b96c..6e8af779 100644 --- a/udocker/cli.py +++ b/udocker/cli.py @@ -104,7 +104,7 @@ def _check_imagerepo(self, imagerepo, def_imagerepo=None): def _set_repository(self, registry_url, index_url=None, imagerepo=None, http_proxy=None): - """Select docker respository""" + """Select docker repository""" transport = "https:" if http_proxy: self.dockerioapi.set_proxy(http_proxy) diff --git a/udocker/cmdparser.py b/udocker/cmdparser.py index a6093be2..6a335bb3 100644 --- a/udocker/cmdparser.py +++ b/udocker/cmdparser.py @@ -65,7 +65,7 @@ def missing_options(self): def get(self, opt_name, opt_where="CMD_OPT", opt_multiple=False): """Get the value of a command line option --xyz= - multiple=true multiple occurences of option can be present + multiple=true multiple occurrences of option can be present """ if opt_where == "CMD": return self._argv_split["CMD"] diff --git a/udocker/config.py b/udocker/config.py index e20eb6e7..e8577c60 100644 --- a/udocker/config.py +++ b/udocker/config.py @@ -46,7 +46,7 @@ class Config(object): conf['tmpdir'] = os.getenv("TMPDIR", "/tmp") # for tmp files only # defaults for container execution - conf['cmd'] = ["bash", "-i"] # Comand to execute + conf['cmd'] = ["bash", "-i"] # Command to execute # default path for executables conf['root_path'] = "/usr/sbin:/sbin:/usr/bin:/bin" @@ -110,7 +110,7 @@ class Config(object): "/usr/lib", ) conf['lib_dirs_list_append'] = (".", ) - # fakechroot access files, used to circunvent openmpi init issues + # fakechroot access files, used to circumvent openmpi init issues conf['access_files'] = ("/sys/class/infiniband", "/dev/open-mx", "/dev/myri0", "/dev/myri1", "/dev/myri2", "/dev/myri3", "/dev/myri4", "/dev/myri5", diff --git a/udocker/engine/base.py b/udocker/engine/base.py index 9aba6ffc..06f8afd9 100644 --- a/udocker/engine/base.py +++ b/udocker/engine/base.py @@ -43,7 +43,7 @@ class ExecutionEngineCommon(object): opt["user"] = "" # User to run in the container opt["cwd"] = "" # Default dir in the container opt["entryp"] = "" # Container entrypoint - opt["cmd"] = [] # Comand to execute + opt["cmd"] = [] # Command to execute opt["hostname"] = "" # Hostname TBD opt["domain"] = "" # Host domainname TBD opt["volfrom"] = [] # Mount vol from container TBD diff --git a/udocker/engine/fakechroot.py b/udocker/engine/fakechroot.py index e20835d9..1c270079 100644 --- a/udocker/engine/fakechroot.py +++ b/udocker/engine/fakechroot.py @@ -137,7 +137,7 @@ def _get_volume_bindings(self): def _get_access_filesok(self): """ - Circunvent mpi init issues when calling access() + Circumvent mpi init issues when calling access() A list of certain existing files is provided """ file_list = [] diff --git a/udocker/tools.py b/udocker/tools.py index 656598d3..de16d9d4 100644 --- a/udocker/tools.py +++ b/udocker/tools.py @@ -202,7 +202,7 @@ def _install(self, tarball_file): for tar_in in tfile.getmembers(): if tar_in.name.startswith("udocker_dir/bin/"): tar_in.name = os.path.basename(tar_in.name) - Msg().out("Debug: extrating", tar_in.name, l=Msg.DBG) + Msg().out("Debug: extracting", tar_in.name, l=Msg.DBG) tfile.extract(tar_in, self.localrepo.bindir) FileUtil(self.localrepo.bindir).rchmod(stat.S_IRUSR | stat.S_IWUSR | @@ -212,7 +212,7 @@ def _install(self, tarball_file): for tar_in in tfile.getmembers(): if tar_in.name.startswith("udocker_dir/lib/"): tar_in.name = os.path.basename(tar_in.name) - Msg().out("Debug: extrating", tar_in.name, l=Msg.DBG) + Msg().out("Debug: extracting", tar_in.name, l=Msg.DBG) tfile.extract(tar_in, self.localrepo.libdir) FileUtil(self.localrepo.libdir).rchmod() @@ -220,7 +220,7 @@ def _install(self, tarball_file): for tar_in in tfile.getmembers(): if tar_in.name.startswith("udocker_dir/doc/"): tar_in.name = os.path.basename(tar_in.name) - Msg().out("Debug: extrating", tar_in.name, l=Msg.DBG) + Msg().out("Debug: extracting", tar_in.name, l=Msg.DBG) tfile.extract(tar_in, self.localrepo.docdir) FileUtil(self.localrepo.docdir).rchmod() tfile.close() diff --git a/udocker/utils/fileutil.py b/udocker/utils/fileutil.py index a97cb6b6..eefdc05e 100644 --- a/udocker/utils/fileutil.py +++ b/udocker/utils/fileutil.py @@ -598,7 +598,7 @@ def find_file_in_dir(self, image_list): return "" def _link_change_apply(self, new_l_path, f_path, force): - """Actually apply the link convertion""" + """Actually apply the link conversion""" p_path = os.path.realpath(os.path.dirname(f_path)) if force and not os.access(p_path, os.W_OK): os.chmod(p_path, stat.S_IMODE(os.stat(p_path).st_mode) | stat.S_IWUSR) @@ -610,7 +610,7 @@ def _link_change_apply(self, new_l_path, f_path, force): os.symlink(new_l_path, f_path) def _link_set(self, f_path, orig_path, root_path, force): - """Convertion to container specific symbolic link""" + """Conversion to container specific symbolic link""" l_path = os.readlink(f_path) if not l_path.startswith("/"): return False @@ -635,7 +635,7 @@ def _link_set(self, f_path, orig_path, root_path, force): return False def _link_restore(self, f_path, orig_path, root_path, force): - """Convertion for host specific symbolic link""" + """Conversion for host specific symbolic link""" l_path = os.readlink(f_path) new_l_path = "" if not l_path.startswith("/"): @@ -663,7 +663,7 @@ def links_conv(self, force=False, to_container=True, orig_path=""): root_path = os.path.realpath(self.filename) links = [] if not self._is_safe_prefix(root_path): - Msg().err("Error: links convertion outside of directory tree: ", + Msg().err("Error: links conversion outside of directory tree: ", root_path) return None diff --git a/udocker/utils/uenv.py b/udocker/utils/uenv.py index d6ffe210..ecdf6299 100644 --- a/udocker/utils/uenv.py +++ b/udocker/utils/uenv.py @@ -102,7 +102,7 @@ def extend(self, envlist): return self def extendif(self, envlist): - """Extend Uenv environment with list of key=val if key non-existant""" + """Extend Uenv environment with list of key=val if key non-existent""" if isinstance(envlist, (list)): for envstr in envlist: self.appendif(envstr) diff --git a/utils/build_tarball.sh b/utils/build_tarball.sh index 3b7d5961..ec3664d3 100755 --- a/utils/build_tarball.sh +++ b/utils/build_tarball.sh @@ -20,7 +20,7 @@ # The tarball containing the build binaries for udocker is # maintained separately and has its own version. Each release of -# udocker requires a tarball that is equal or greather than a given +# udocker requires a tarball that is equal or greater than a given # base version. # i.e. udocker 1.3.0 requires a tarball >= 1.2.8 From caeb2b810173bf37b00a761c7a80b37b1b57110e Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sat, 3 Feb 2024 21:52:22 +0000 Subject: [PATCH 11/25] add command substitution --- udocker/config.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/udocker/config.py b/udocker/config.py index a59424f8..bc0c9c97 100644 --- a/udocker/config.py +++ b/udocker/config.py @@ -92,12 +92,21 @@ class Config(object): # translate symbolic links into pathnames None means automatic conf['fakechroot_expand_symlinks'] = None - # patterns to search for libc.so for bypass in fakechroot - conf['libc_search'] = ("/lib64/libc.so.[0-9]", "/usr/lib64/libc.so.[0-9]", - "/usr/lib/libc.so.[0-9]", "/lib/libc.so.[0-9]", - "/usr/libc.so.[0-9]", "/libc.so.[0-9]", "/libc.so",) - - # override the above search for libc with a specified relative pathname + conf['fakechroot_cmd_subst'] = \ + "/sbin/ldconfig=#RETURN(TRUE)#:/usr/sbin/ldconfig=#RETURN(TRUE)#" + + # patterns to search for libc.so in fakechroot + conf['libc_search'] = ("/usr/lib64/libc.so.[0-9]", + "/usr/lib/x86_64-linux-gnu/libc.so.[0-9]", + "/lib64/libc.so.[0-9]", + "/usr/lib/libc.so.[0-9]", + "/lib/libc.so.[0-9]", + "/usr/libc.so.[0-9]", + "/libc.so.[0-9]", + "/libc.so",) + + # override the above search for libc with a specific pathname + # relative to the container root directory (excluding host prefix) conf['fakechroot_libc'] = None # sharable library directories @@ -196,7 +205,7 @@ def _conf_file_read(self, cfpath, ignore_keys=None): """ Read config file """ - Msg().out('Info: using config file: ', cfpath) + Msg().out('Info: using config file: ', cfpath, l=Msg.VER) cfnparser = ConfigParser() cfnparser.read(cfpath) for (key, val) in cfnparser.items('DEFAULT'): @@ -269,6 +278,9 @@ def _env_override(self): Config.conf['use_patchelf_executable'] = \ os.getenv("UDOCKER_USE_PATCHELF_EXECUTABLE", Config.conf['use_patchelf_executable']) + Config.conf['fakechroot_cmd_subst'] = \ + os.getenv("UDOCKER_FAKECHROOT_CMD_SUBST", + Config.conf['fakechroot_cmd_subst']) Config.conf['fakechroot_expand_symlinks'] = \ os.getenv("UDOCKER_FAKECHROOT_EXPAND_SYMLINKS", From f53fb9c731a6da897a05a75f42fb81276d8041cb Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sat, 3 Feb 2024 21:58:34 +0000 Subject: [PATCH 12/25] improve is_binary_executable() --- udocker/helper/osinfo.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/udocker/helper/osinfo.py b/udocker/helper/osinfo.py index fea095b6..b4f74427 100644 --- a/udocker/helper/osinfo.py +++ b/udocker/helper/osinfo.py @@ -37,6 +37,8 @@ def get_filetype(self, filename): def is_binary_executable(self, filename): """Check if file is a binary executable""" filename = self._root_dir + '/' + filename + if not FileUtil(filename).isexecutable(): + return False (sourcetype, filetype) = self.get_filetype(filename) if sourcetype: if ("ELF" in filetype and "rror" not in filetype): @@ -44,8 +46,7 @@ def is_binary_executable(self, filename): else: elf_pattern = "\x7fELF".encode() bin_head = FileUtil(filename).getdata('rb', 4) - if (elf_pattern == bin_head[0:4] and - FileUtil(filename).isexecutable()): + if elf_pattern == bin_head[0:4]: return True return False From 2f6d03cb43bb12626b7bea9ac88eefd10a2e0b13 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sat, 3 Feb 2024 22:00:50 +0000 Subject: [PATCH 13/25] fix fakechroot parsing of so, exec_path and add cmd subst --- udocker/engine/fakechroot.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/udocker/engine/fakechroot.py b/udocker/engine/fakechroot.py index e20835d9..2d6c85b3 100644 --- a/udocker/engine/fakechroot.py +++ b/udocker/engine/fakechroot.py @@ -59,7 +59,7 @@ def select_fakechroot_so(self): f_util = FileUtil(self.localrepo.libdir) fakechroot_so = f_util.find_file_in_dir(image_list) - if fakechroot_so.count('-') != 3: + if os.path.basename(fakechroot_so).count('-') != 3: Msg().out("Info: this OS or architecture might not be supported by", "this execution mode", "\n specify path to libfakechroot.so with", @@ -94,7 +94,7 @@ def _get_libc_pathname(self): libc_relative_path = libc_abs_path[len(self.container_root):] (dummy, filetype) = \ OSInfo(self.container_root).get_filetype(libc_relative_path) - if "ELF" in filetype and "dynamic" in filetype: + if "ELF" in filetype and ( "dynamic" in filetype or "DYN" in filetype): return libc_relative_path return "" @@ -159,6 +159,10 @@ def _fakechroot_env_set(self): os.path.realpath(self.container_root)) self.opt["env"].append("LD_PRELOAD=" + self._fakechroot_so) + if Config.conf['fakechroot_cmd_subst']: + self.opt["env"].append("FAKECHROOT_CMD_SUBST=" + + Config.conf['fakechroot_cmd_subst']) + if Config.conf['fakechroot_expand_symlinks'] is None: self.opt["env"].append("FAKECHROOT_EXPAND_SYMLINKS=" + str(self._recommend_expand_symlinks).lower()) @@ -239,7 +243,11 @@ def _run_add_script_support(self, exec_path): real_path = FileUtil(self.container_root).cont2host(relc_path, self.opt["vol"]) hashbang = FileUtil(real_path).get1stline() - match = re.search("#! *([^ ]+)(.*)", hashbang.decode()) + try: + match = re.search("#! *([^ ]+)(.*)", hashbang.decode()) + except UnicodeDecodeError: + Msg().err("Error: file is not executable:", relc_path) + sys.exit(1) if match and not match.group(1).startswith('/'): Msg().err("Error: no such file", match.group(1), "in", exec_path) sys.exit(1) @@ -270,6 +278,7 @@ def run(self, container_id): exec_path = self._run_init(container_id) if not exec_path: return 2 + exec_path = os.path.normpath(exec_path) self._check_arch() self._run_invalid_options() From d0e074f6b5b3d809a81c6a000df4aa2232e8823b Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sat, 3 Feb 2024 22:15:29 +0000 Subject: [PATCH 14/25] apply pylint improvements --- udocker/helper/archinfo.py | 2 +- udocker/utils/fileutil.py | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/udocker/helper/archinfo.py b/udocker/helper/archinfo.py index 363c14fd..2e204c4a 100644 --- a/udocker/helper/archinfo.py +++ b/udocker/helper/archinfo.py @@ -115,7 +115,7 @@ def get_arch(self, source_type, arch_info, target_type="UDOCKER"): return arch_dict[target_type] except (KeyError, ValueError, TypeError, AttributeError): pass - return ([]) + return [] def translate_arch(self, source_arch, source_type, target_type): """ diff --git a/udocker/utils/fileutil.py b/udocker/utils/fileutil.py index a97cb6b6..59718801 100644 --- a/udocker/utils/fileutil.py +++ b/udocker/utils/fileutil.py @@ -319,14 +319,14 @@ def cleanup(self): def isexecutable(self): """Check if execute bit is set""" - try: + try: return os.access(self.filename, os.X_OK) except (IOError, OSError, TypeError): return False def iswriteable(self): """Check if execute bit is set""" - try: + try: return os.access(self.filename, os.W_OK) except (IOError, OSError, TypeError): return False @@ -378,10 +378,9 @@ def get1stline(self, mode="rb"): filep = open(self.filename, mode) except (IOError, OSError, TypeError): return "" - else: - buf = filep.readline().strip() - filep.close() - return buf + buf = filep.readline().strip() + filep.close() + return buf def putdata(self, buf, mode="wb"): """Write buffer to file""" From aeaeb385cd289d533303a7615a70f1c42c623dba Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sat, 3 Feb 2024 22:19:30 +0000 Subject: [PATCH 15/25] apply pylint improvements --- udocker/container/localrepo.py | 14 ++++----- udocker/helper/nixauth.py | 53 ++++++++++++++++------------------ 2 files changed, 31 insertions(+), 36 deletions(-) diff --git a/udocker/container/localrepo.py b/udocker/container/localrepo.py index 5e55b4b9..dda4ba2a 100644 --- a/udocker/container/localrepo.py +++ b/udocker/container/localrepo.py @@ -294,11 +294,10 @@ def setup_container(self, imagerepo, tag, container_id): out_imagerepo = open(container_dir + "/imagerepo.name", 'w') except (IOError, OSError): return None - else: - out_imagerepo.write(imagerepo + ":" + tag) - out_imagerepo.close() - self.cur_containerdir = container_dir - return container_dir + out_imagerepo.write(imagerepo + ":" + tag) + out_imagerepo.close() + self.cur_containerdir = container_dir + return container_dir def _is_tag(self, tag_dir): """Does this directory contain an image tag ? @@ -486,9 +485,8 @@ def setup_tag(self, tag): out_tag = open(directory + "/TAG", 'w') except (IOError, OSError): return False - else: - out_tag.write(self.cur_repodir + ":" + tag) - out_tag.close() + out_tag.write(self.cur_repodir + ":" + tag) + out_tag.close() return True def set_version(self, version): diff --git a/udocker/helper/nixauth.py b/udocker/helper/nixauth.py index 29355c7c..ecf52aff 100644 --- a/udocker/helper/nixauth.py +++ b/udocker/helper/nixauth.py @@ -41,15 +41,14 @@ def _user_in_subid(self, sub_file, wanted_user): insub = open(sub_file) except (IOError, OSError): return [] - else: - for line in insub: - try: - (subuser, subid, count) = line.strip().split(':') - except ValueError: - continue - if subuser == user: - subid_list.extend([(subid, count), ]) - insub.close() + for line in insub: + try: + (subuser, subid, count) = line.strip().split(':') + except ValueError: + continue + if subuser == user: + subid_list.extend([(subid, count), ]) + insub.close() return subid_list def user_in_subuid(self, wanted_user): @@ -113,16 +112,15 @@ def _get_user_from_file(self, wanted_user): inpasswd = open(self.passwd_file) except (IOError, OSError): return ("", "", "", "", "", "") - else: - for line in inpasswd: - (user, dummy, uid, gid, gecos, home, - shell) = line.strip().split(':') - if wanted_user and user == wanted_user: - return (user, uid, gid, gecos, home, shell) - if wanted_uid and uid == wanted_uid: - return (user, uid, gid, gecos, home, shell) - inpasswd.close() - return ("", "", "", "", "", "") + for line in inpasswd: + (user, dummy, uid, gid, gecos, home, + shell) = line.strip().split(':') + if wanted_user and user == wanted_user: + return (user, uid, gid, gecos, home, shell) + if wanted_uid and uid == wanted_uid: + return (user, uid, gid, gecos, home, shell) + inpasswd.close() + return ("", "", "", "", "", "") def _get_group_from_file(self, wanted_group): """Get group from a group file""" @@ -135,15 +133,14 @@ def _get_group_from_file(self, wanted_group): ingroup = open(self.group_file) except (IOError, OSError): return ("", "", "") - else: - for line in ingroup: - (group, dummy, gid, users) = line.strip().split(':') - if wanted_group and group == wanted_group: - return (group, gid, users) - if wanted_gid and gid == wanted_gid: - return (group, gid, users) - ingroup.close() - return ("", "", "") + for line in ingroup: + (group, dummy, gid, users) = line.strip().split(':') + if wanted_group and group == wanted_group: + return (group, gid, users) + if wanted_gid and gid == wanted_gid: + return (group, gid, users) + ingroup.close() + return ("", "", "") def add_user(self, user, passw, uid, gid, gecos, home, shell): From f8c5aedb740b3714e536a84c0a0f016fb8ec6a1b Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 00:07:11 +0000 Subject: [PATCH 16/25] changes for 1.3.13 --- CHANGELOG.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e33947d..3e4a14e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## udocker (1.3.13) + +* Mode Fn glibc fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() +* Mode Fn glibc add dladdr1() +* Mode Fn glibc add execvpe(), execveat() +* Mode Fn glibc add getauxval() +* Mode Fn glibc add scandirat(), scandirat64() +* Mode Fn glibc change stat64(), lstat64(), stat() +* Mode Fn glibc add narrowing of program_invocation_name +* Mode Fn glibc improve command substitution +* Mode Fn musl fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() +* Mode Fn musl execvpe() +* Mode Fn musl improve command substitution +* Mode Pn make links2symlinks feature disabled by default + ## udocker (1.3.12) * fix units tests, no modifications w.r.t. 1.3.11 From e1db1349517132d510336d4de1c1fc6d9268ba0f Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 00:12:24 +0000 Subject: [PATCH 17/25] udockertools 1.2.11 branch udocker-4 for musl and glibc, ubuntu 12 and debian12 --- utils/build_tarball.sh | 830 ++++++++++++++++++++++------------------- 1 file changed, 456 insertions(+), 374 deletions(-) diff --git a/utils/build_tarball.sh b/utils/build_tarball.sh index c93c95f7..48a985b8 100755 --- a/utils/build_tarball.sh +++ b/utils/build_tarball.sh @@ -28,8 +28,8 @@ DEVEL3=$(realpath "$0" | grep -E "devel3|devel4") -TARBALL_VERSION_P3="1.2.10" -TARBALL_VERSION_P2="1.1.10" +TARBALL_VERSION_P3="1.2.11" +TARBALL_VERSION_P2="1.1.11" sanity_check() { @@ -120,7 +120,7 @@ prepare_proot_source() #git clone --branch v5.1.0 --depth=1 https://github.com/proot-me/PRoot #git clone --branch udocker-2 --depth=1 https://github.com/jorge-lip/proot-udocker.git - git clone --branch udocker-4 https://github.com/jorge-lip/proot-udocker.git + git clone --branch udocker-1 https://github.com/jorge-lip/proot-udocker.git #/bin/rm -Rf $BUILD_DIR/proot-udocker/.git #/bin/rm -Rf $BUILD_DIR/proot-udocker/static/care* @@ -198,7 +198,7 @@ prepare_fakechroot_musl_source() fi #git clone --depth=1 --branch 2.18 https://github.com/dex4er/fakechroot.git - git clone --branch udocker-1 --depth=1 \ + git clone --branch udocker-4 --depth=1 \ https://github.com/jorge-lip/libfakechroot-musl-udocker.git /bin/rm -Rf "$BUILD_DIR/libfakechroot-musl-udocker/.git" /bin/mv libfakechroot-musl-udocker "$FAKECHROOT_SOURCE_DIR" @@ -1157,8 +1157,8 @@ fedora31_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora31_reinstall' dnf -y reinstall --releasever=31 $(rpm -qa) @@ -1185,16 +1185,14 @@ fedora31_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1257,18 +1255,17 @@ fedora31_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1310,18 +1307,17 @@ fedora31_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1444,8 +1440,8 @@ fedora32_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora32_reinstall' dnf -y reinstall $(rpm -qa) @@ -1472,16 +1468,13 @@ fedora32_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1544,18 +1537,17 @@ fedora32_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1597,18 +1589,17 @@ fedora32_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1731,8 +1722,8 @@ fedora33_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora33_reinstall' dnf -y reinstall $(rpm -qa) @@ -1759,16 +1750,13 @@ fedora33_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1831,18 +1819,17 @@ fedora33_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -1884,18 +1871,17 @@ fedora33_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2018,8 +2004,8 @@ fedora34_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora34_reinstall' dnf -y reinstall $(rpm -qa) @@ -2105,16 +2091,13 @@ fedora34_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2177,18 +2160,17 @@ fedora34_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2230,18 +2212,17 @@ fedora34_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2364,8 +2345,8 @@ fedora35_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora35_reinstall' dnf -y reinstall $(rpm -qa) @@ -2451,16 +2432,13 @@ fedora35_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2523,18 +2501,17 @@ fedora35_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2576,18 +2553,17 @@ fedora35_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2710,8 +2686,8 @@ fedora36_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora36_reinstall' dnf -y reinstall $(rpm -qa) @@ -2797,16 +2773,13 @@ fedora36_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2869,18 +2842,17 @@ fedora36_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -2922,18 +2894,17 @@ fedora36_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3056,8 +3027,8 @@ fedora38_setup() if [ "$OS_ARCH" = "aarch64" ]; then $SUDO chown -R "$(id -u):$(id -g)" "$OS_ROOTDIR" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" export PROOT_NO_SECCOMP=1 $PROOT -r "$OS_ROOTDIR" -0 -w / -b /dev -b /etc/resolv.conf /bin/bash <<'EOF_fedora38_reinstall' dnf -y reinstall $(rpm -qa) @@ -3143,16 +3114,13 @@ fedora38_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3215,18 +3183,17 @@ fedora38_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3268,18 +3235,17 @@ fedora38_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3460,15 +3426,17 @@ centos6_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3650,18 +3618,17 @@ centos7_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3703,16 +3670,13 @@ centos7_build_proot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$HOME/.udocker/bin/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$HOME/.udocker/bin/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3772,18 +3736,17 @@ centos7_build_patchelf() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -3826,18 +3789,17 @@ centos7_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -4051,18 +4013,17 @@ centos8_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -4284,18 +4245,17 @@ centos_stream8_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -4507,18 +4467,17 @@ centos_stream9_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -4751,18 +4710,17 @@ rocky8_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5016,18 +4974,17 @@ rocky9_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5281,18 +5238,17 @@ alma8_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5544,13 +5500,17 @@ alma9_build_patchelf() local PROOT="" if [ "$OS_ARCH" = "i386" ]; then - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5592,18 +5552,17 @@ alma9_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64le" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5673,9 +5632,10 @@ ubuntu12_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5756,9 +5716,10 @@ ubuntu14_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5848,15 +5809,16 @@ ubuntu16_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5912,15 +5874,17 @@ ubuntu16_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -5996,15 +5960,17 @@ ubuntu18_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6060,18 +6026,17 @@ ubuntu18_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6146,18 +6111,16 @@ ubuntu19_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6213,18 +6176,17 @@ ubuntu19_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6306,18 +6268,16 @@ ubuntu20_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6373,18 +6333,17 @@ ubuntu20_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6467,18 +6426,16 @@ ubuntu21_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6534,18 +6491,17 @@ ubuntu21_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6625,17 +6581,23 @@ ubuntu22_build_fakechroot() local PROOT="" if [ "$OS_ARCH" = "i386" ]; then - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "armhf" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" elif [ "$OS_ARCH" = "riscv64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-riscv64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-riscv64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-riscv64" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6690,13 +6652,17 @@ ubuntu22_build_runc() local PROOT="" if [ "$OS_ARCH" = "i386" ]; then - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6848,18 +6814,16 @@ ubuntu23_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -6915,18 +6879,17 @@ ubuntu23_build_runc() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "amd64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "arm64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "ppc64el" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7007,15 +6970,20 @@ debian10_build_proot() local PROOT="" if [ "$OS_ARCH" = "i386" ]; then - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$HOME/.udocker/bin/proot-x86_64" + #PROOT="$HOME/.udocker/bin/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "aarch64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" elif [ "$OS_ARCH" = "armhf" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-arm" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-arm" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-arm" elif [ "$OS_ARCH" = "armel" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-arm" + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-arm" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-arm" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7066,6 +7034,110 @@ EOF_debian10_proot_1 fi } +# ############################################################################# +# Debian 12 +# ############################################################################# + +debian12_setup() +{ + echo "debian12_setup : $1" + local OS_ARCH="$1" + local OS_NAME="debian" + local OS_RELVER="12" + local OS_ROOTDIR="${BUILD_DIR}/${OS_NAME}_${OS_RELVER}_${OS_ARCH}" + + if [ -x "${OS_ROOTDIR}/usr/lib/gcc" ] ; then + echo "os already setup : ${OS_ROOTDIR}" + return + fi + + SUDO=sudo + + if [ "$OS_ARCH" = "amd64" ] || [ "$OS_ARCH" = "i386" ]; then + REPOSITORY_URL="http://ftp.debian.org/debian/" + else + REPOSITORY_URL="http://ftp.debian.org/debian/" + fi + + #$SUDO debootstrap --arch=armhf sid /chroots/sid-armhf http://ftp.debian.org/debian/ + $SUDO debootstrap --arch="$OS_ARCH" buster "$OS_ROOTDIR" "$REPOSITORY_URL" + + $SUDO /bin/chown -R "$(id -u).$(id -g)" "$OS_ROOTDIR" + $SUDO /bin/chmod -R u+rw "$OS_ROOTDIR" +} + + +debian12_build_fakechroot() +{ + echo "debian12_build_fakechroot : $1" + local OS_ARCH="$1" + local FAKECHROOT_SOURCE_DIR="$2" + local OS_NAME="debian" + local OS_RELVER="12" + local OS_ROOTDIR="${BUILD_DIR}/${OS_NAME}_${OS_RELVER}_${OS_ARCH}" + local PROOT="" + + if [ "$OS_ARCH" = "i386" ]; then + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" + elif [ "$OS_ARCH" = "amd64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" + elif [ "$OS_ARCH" = "arm64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" + elif [ "$OS_ARCH" = "armhf" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-aarch64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-aarch64" + elif [ "$OS_ARCH" = "ppc64el" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-ppc64le" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-ppc64le" + elif [ "$OS_ARCH" = "riscv64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64 -q qemu-riscv64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin -q qemu-riscv64" + else + echo "unsupported $OS_NAME architecture: $OS_ARCH" + exit 2 + fi + + if [ -x "${FAKECHROOT_SOURCE_DIR}/libfakechroot-debian-12.so" ] ; then + echo "fakechroot binary already compiled : ${FAKECHROOT_SOURCE_DIR}/libfakechroot-debian-12.so" + return + fi + + export PROOT_NO_SECCOMP=1 + + # compile fakechroot + set -xv + if [ ! -x "$OS_ROOTDIR/usr/bin/make" ] ; then + SHELL=/bin/bash CONFIG_SHELL=/bin/bash PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib \ + $PROOT -0 -r "$OS_ROOTDIR" -b "${FAKECHROOT_SOURCE_DIR}:/fakechroot" -w / -b /dev \ + -b /etc/resolv.conf:/etc/resolv.conf /bin/bash <<'EOF_debian12_packages' +apt-get -y update +apt-get -y --no-install-recommends install wget debconf devscripts gnupg nano +apt-get -y update +apt-get -y install locales build-essential gcc make autoconf m4 automake gawk libtool bash +apt-get -y install diffutils file which +EOF_debian12_packages + fi + + SHELL=/bin/bash CONFIG_SHELL=/bin/bash PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib \ + $PROOT -r "$OS_ROOTDIR" -b "${FAKECHROOT_SOURCE_DIR}:/fakechroot" -w / -b /dev \ + /bin/bash <<'EOF_debian12_fakechroot' +# BUILD FAKECHROOT +export SHELL=/bin/bash +export CONFIG_SHELL=/bin/bash +export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib +cd /fakechroot +make distclean +bash ./configure +make +cp src/.libs/libfakechroot.so libfakechroot-debian-12.so +make clean +EOF_debian12_fakechroot + set +xv +} + # ############################################################################# # Alpine 3.6.x @@ -7133,9 +7205,11 @@ alpine36_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7233,9 +7307,11 @@ alpine38_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7333,9 +7409,11 @@ alpine39_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7434,9 +7512,11 @@ alpine310_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7535,9 +7615,11 @@ alpine311_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7637,9 +7719,11 @@ alpine312_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7739,9 +7823,11 @@ alpine313_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" - PROOT="$S_PROOT_DIR/proot-x86" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then - PROOT="$S_PROOT_DIR/proot-x86_64" + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7842,12 +7928,10 @@ alpine314_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -7948,12 +8032,10 @@ alpine315_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -8054,12 +8136,10 @@ alpine316_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -8162,12 +8242,10 @@ alpine317_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -8270,12 +8348,10 @@ alpine318_build_fakechroot() if [ "$OS_ARCH" = "i386" ]; then #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" #PROOT="$S_PROOT_DIR/proot-x86" - #PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" elif [ "$OS_ARCH" = "x86_64" ]; then #PROOT="$S_PROOT_DIR/proot-x86_64" - #PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" - PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" else echo "unsupported $OS_NAME architecture: $OS_ARCH" exit 2 @@ -8583,6 +8659,7 @@ create_package_tarball() link_file lib/libfakechroot-Ubuntu-16-x86_64.so libfakechroot-Debian-9-x86_64.so link_file lib/libfakechroot-Ubuntu-19-x86_64.so libfakechroot-Debian-10-x86_64.so link_file lib/libfakechroot-Ubuntu-20-x86_64.so libfakechroot-Debian-11-x86_64.so + link_file lib/libfakechroot-Ubuntu-22-x86_64.so libfakechroot-Debian-12-x86_64.so link_file lib/libfakechroot-Ubuntu-23-x86_64.so libfakechroot-Debian-x86_64.so link_file lib/libfakechroot-Ubuntu-12-x86_64.so libfakechroot-LinuxMint-10-x86_64.so @@ -8657,6 +8734,7 @@ create_package_tarball() link_file lib/libfakechroot-Ubuntu-16-arm64.so libfakechroot-Debian-9-arm64.so link_file lib/libfakechroot-Ubuntu-18-arm64.so libfakechroot-Debian-10-arm64.so link_file lib/libfakechroot-Ubuntu-20-arm64.so libfakechroot-Debian-11-arm64.so + link_file lib/libfakechroot-Ubuntu-22-arm64.so libfakechroot-Debian-12-arm64.so link_file lib/libfakechroot-Ubuntu-22-arm64.so libfakechroot-Debian-arm64.so link_file lib/libfakechroot-AlmaLinux-8-arm64.so libfakechroot-CentOS-8-arm64.so @@ -8704,6 +8782,7 @@ create_package_tarball() link_file lib/libfakechroot-Ubuntu-16-ppc64le.so libfakechroot-Debian-9-ppc64le.so link_file lib/libfakechroot-Ubuntu-18-ppc64le.so libfakechroot-Debian-10-ppc64le.so link_file lib/libfakechroot-Ubuntu-20-ppc64le.so libfakechroot-Debian-11-ppc64le.so + link_file lib/libfakechroot-Ubuntu-22-ppc64le.so libfakechroot-Debian-12-ppc64le.so link_file lib/libfakechroot-Ubuntu-22-ppc64le.so libfakechroot-Debian-ppc64le.so link_file lib/libfakechroot-AlmaLinux-8-ppc64le.so libfakechroot-CentOS-8-ppc64le.so @@ -8976,6 +9055,9 @@ ubuntu23_build_fakechroot "amd64" "${BUILD_DIR}/fakechroot-source-glibc-x86_64" #ubuntu23_build_runc "amd64" "${BUILD_DIR}/runc-source-x86_64" #ostree_delete "amd64" "ubuntu" "23" +#debian12_setup "amd64" +#debian12_build_fakechroot "amd64" "${BUILD_DIR}/fakechroot-source-glibc-x86_64" + # ####### # armhf # ####### From 540231d25d7dea34f68a738e9623876fa6b5a43a Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 00:16:02 +0000 Subject: [PATCH 18/25] changes for 1.3.13 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e4a14e4..cd95f823 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ * Mode Fn musl execvpe() * Mode Fn musl improve command substitution * Mode Pn make links2symlinks feature disabled by default +* udocker improve is_binary_executable() +* udocker fix fakechroot parsing of so, exec_path and add cmd subst +* pylint compliance improvements +* use udockertools 1.2.11 ## udocker (1.3.12) From d226429eb1e14b7f85cba5c2a43debfdba158bab Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 17:09:17 +0000 Subject: [PATCH 19/25] update 1.3.13 --- CHANGELOG.md | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cd95f823..bb524b2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,22 +2,25 @@ ## udocker (1.3.13) -* Mode Fn glibc fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() -* Mode Fn glibc add dladdr1() -* Mode Fn glibc add execvpe(), execveat() -* Mode Fn glibc add getauxval() -* Mode Fn glibc add scandirat(), scandirat64() -* Mode Fn glibc change stat64(), lstat64(), stat() -* Mode Fn glibc add narrowing of program_invocation_name -* Mode Fn glibc improve command substitution -* Mode Fn musl fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() -* Mode Fn musl execvpe() -* Mode Fn musl improve command substitution -* Mode Pn make links2symlinks feature disabled by default -* udocker improve is_binary_executable() +* udocker improve binary executables identification * udocker fix fakechroot parsing of so, exec_path and add cmd subst -* pylint compliance improvements -* use udockertools 1.2.11 +* udocker implement minor pylint compliance improvements +* udocker mode Pn make links2symlinks feature disabled by default in config +* New udockertools 1.2.11 tarball +* udockertools mode Fn glibc fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() +* udockertools mode Fn glibc add dladdr1() +* udockertools mode Fn glibc add execvpe(), execveat() +* udockertools mode Fn glibc add getauxval() +* udockertools mode Fn glibc add scandirat(), scandirat64() +* udockertools mode Fn glibc change stat64(), lstat64(), stat() +* udockertools mode Fn glibc add narrowing of program_invocation_name +* udockertools mode Fn glibc improve command substitution +* udockertools mode Fn musl fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() +* udockertools mode Fn musl execvpe() +* udockertools mode Fn musl improve command substitution +* udockertools mode Fn added support for Alpine 3.19 (x86_64) +* udockertools mode Fn added support for Fedora 39 (x86_64, aarch64, ppc64le) +* udockertools mode Rn include runc 1.1.12 ## udocker (1.3.12) From 65808f91ba04f34c7516a571db93b66068c67529 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 17:10:53 +0000 Subject: [PATCH 20/25] build of udockertools 1.2.11 for udocker 1.3.13 --- utils/build_tarball.sh | 487 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 479 insertions(+), 8 deletions(-) diff --git a/utils/build_tarball.sh b/utils/build_tarball.sh index 48a985b8..2dfc6959 100755 --- a/utils/build_tarball.sh +++ b/utils/build_tarball.sh @@ -216,7 +216,8 @@ prepare_runc_source() return fi - git clone --depth=1 --branch v1.1.4 https://github.com/opencontainers/runc + git clone --depth=1 --branch v1.1.12 https://github.com/opencontainers/runc + #git clone --depth=1 --branch v1.1.4 https://github.com/opencontainers/runc #git clone --depth=1 --branch v1.0.0-rc5 https://github.com/opencontainers/runc #/bin/rm -Rf $BUILD_DIR/runc/.git /bin/mv runc "$RUNC_SOURCE_DIR" @@ -3275,6 +3276,347 @@ EOF_fedora38_fakechroot } +# ############################################################################# +# Fedora 39 +# ############################################################################# + +fedora39_create_dnf() +{ + echo "fedora39_create_dnf : $1" + local FILENAME="$1" + local ARCH="$2" + + cat > "$FILENAME" < "${APK_TOOLS}") + (cd "${APK_TOOLS_DIR}"; tar xzvf "${APK_TOOLS}") + if [ ! -e "${APK_TOOLS_DIR}/sbin" ] ; then + echo "apk-tools install failed: ${APK_TOOLS_DIR}" + exit + fi + fi + + SUDO=sudo + + set -x + $SUDO "${APK_TOOLS_DIR}/sbin/apk.static" \ + -X "${ALPINE_MIRROR}/${OS_RELVER}/main" \ + -U \ + --allow-untrusted \ + --root "${OS_ROOTDIR}" \ + --initdb add alpine-base alpine-sdk bash libc-dev make autoconf m4 automake \ + libbsd libbsd-dev musl-fts musl-fts-dev libconfig-dev musl-dev bash \ + diffutils file + set +x + + $SUDO /bin/chown -R "$(id -u).$(id -g)" "${OS_ROOTDIR}" + $SUDO /bin/chmod -R u+rw "${OS_ROOTDIR}" + /bin/mkdir -p "${OS_ROOTDIR}/proc" + /bin/mkdir -p "${OS_ROOTDIR}/root" + /bin/mkdir -p "${OS_ROOTDIR}/etc/apk" + /bin/echo "$ALPINE_MIRROR/$OS_RELVER/main" > "${OS_ROOTDIR}/etc/apk/repositories" +} + +alpine319_build_fakechroot() +{ + echo "alpine319_build_fakechroot : $1" + local OS_ARCH="$1" + local FAKECHROOT_SOURCE_DIR="$2" + local OS_NAME="alpine" + local OS_RELVER="v3.19" + local OS_ROOTDIR="${BUILD_DIR}/${OS_NAME}_${OS_RELVER}_${OS_ARCH}" + local PROOT="" + + if [ "$OS_ARCH" = "i386" ]; then + #PROOT="$S_PROOT_DIR/proot-x86 -q qemu-i386" + #PROOT="$S_PROOT_DIR/proot-x86" + PROOT="$BUILD_DIR/proot-source-x86/proot-Fedora-30.bin" + elif [ "$OS_ARCH" = "x86_64" ]; then + #PROOT="$S_PROOT_DIR/proot-x86_64" + PROOT="$BUILD_DIR/proot-source-x86_64/proot-Fedora-30.bin" + else + echo "unsupported $OS_NAME architecture: $OS_ARCH" + exit 2 + fi + + if [ -x "${FAKECHROOT_SOURCE_DIR}/libfakechroot-Alpine-3.19.so" ] ; then + echo "fakechroot binary already compiled : ${FAKECHROOT_SOURCE_DIR}/libfakechroot-Alpine-3.19.so" + return + fi + + export PROOT_NO_SECCOMP=1 + + # compile fakechroot + set -xv + + SHELL=/bin/bash CONFIG_SHELL=/bin/bash PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib \ + $PROOT -r "$OS_ROOTDIR" -b "${FAKECHROOT_SOURCE_DIR}:/fakechroot" -w / -b /dev \ + /bin/bash <<'EOF_alpine319_fakechroot' +# BUILD FAKECHROOT +export SHELL=/bin/bash +export CONFIG_SHELL=/bin/bash +export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/lib +cd /fakechroot +make distclean +bash ./configure +make +cp src/.libs/libfakechroot.so libfakechroot-Alpine-3.19.so +make clean +EOF_alpine319_fakechroot + set +xv +} + + # ############################################################################# # Nix using chroot # ############################################################################# @@ -8598,6 +9046,7 @@ create_package_tarball() copy_file fakechroot-source-glibc-x86_64/libfakechroot-Fedora-36.so lib/libfakechroot-Fedora-36-x86_64.so link_file lib/libfakechroot-Fedora-36-x86_64.so libfakechroot-Fedora-37-x86_64.so copy_file fakechroot-source-glibc-x86_64/libfakechroot-Fedora-38.so lib/libfakechroot-Fedora-38-x86_64.so + copy_file fakechroot-source-glibc-x86_64/libfakechroot-Fedora-39.so lib/libfakechroot-Fedora-39-x86_64.so link_file lib/libfakechroot-Fedora-38-x86_64.so libfakechroot-Fedora-x86_64.so copy_file fakechroot-source-glibc-x86_64/libfakechroot-CentOS-6.so lib/libfakechroot-CentOS-6-x86_64.so @@ -8690,13 +9139,14 @@ create_package_tarball() copy_file fakechroot-source-musl-x86_64/libfakechroot-Alpine-3.16.so lib/libfakechroot-Alpine-3.16-x86_64.so copy_file fakechroot-source-musl-x86_64/libfakechroot-Alpine-3.17.so lib/libfakechroot-Alpine-3.17-x86_64.so copy_file fakechroot-source-musl-x86_64/libfakechroot-Alpine-3.18.so lib/libfakechroot-Alpine-3.18-x86_64.so + copy_file fakechroot-source-musl-x86_64/libfakechroot-Alpine-3.19.so lib/libfakechroot-Alpine-3.19-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.0-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.1-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.2-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.3-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.4-x86_64.so link_file lib/libfakechroot-Alpine-3.6-x86_64.so libfakechroot-Alpine-3.5-x86_64.so - link_file lib/libfakechroot-Alpine-3.18-x86_64.so libfakechroot-Alpine-x86_64.so + link_file lib/libfakechroot-Alpine-3.19-x86_64.so libfakechroot-Alpine-x86_64.so # arch64 / amd64 ----------------------------------------------------------------------------------------- copy_file proot-source-aarch64/proot-Fedora-31.bin bin/proot-arm64-4_8_0 @@ -8706,6 +9156,7 @@ create_package_tarball() copy_file fakechroot-source-glibc-aarch64/libfakechroot-Fedora-36.so lib/libfakechroot-Fedora-36-arm64.so copy_file fakechroot-source-glibc-aarch64/libfakechroot-Fedora-38.so lib/libfakechroot-Fedora-38-arm64.so + copy_file fakechroot-source-glibc-aarch64/libfakechroot-Fedora-39.so lib/libfakechroot-Fedora-39-arm64.so link_file lib/libfakechroot-Fedora-36-arm64.so libfakechroot-Fedora-37-arm64.so link_file lib/libfakechroot-Fedora-38-arm64.so libfakechroot-Fedora-arm64.so @@ -8759,6 +9210,7 @@ create_package_tarball() copy_file fakechroot-source-glibc-ppc64le/libfakechroot-AlmaLinux-9.so lib/libfakechroot-AlmaLinux-ppc64le.so copy_file fakechroot-source-glibc-ppc64le/libfakechroot-Fedora-38.so lib/libfakechroot-Fedora-38-ppc64le.so + copy_file fakechroot-source-glibc-ppc64le/libfakechroot-Fedora-39.so lib/libfakechroot-Fedora-39-ppc64le.so link_file lib/libfakechroot-Fedora-38-ppc64le.so libfakechroot-Fedora-ppc64le.so copy_file fakechroot-source-glibc-ppc64le/libfakechroot-Ubuntu-16.so lib/libfakechroot-Ubuntu-16-ppc64le.so @@ -8934,6 +9386,12 @@ fedora29_setup "x86_64" fedora29_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-glibc-x86_64" #ostree_delete "x86_64" "fedora" "29" +fedora39_setup "x86_64" +#fedora39_build_proot "x86_64" "${BUILD_DIR}/proot-source-x86_64" +#fedora39_build_patchelf "x86_64" "${BUILD_DIR}/patchelf-source-x86_64" +fedora39_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-glibc-x86_64" +#ostree_delete "x86_64" "fedora" "39" + alpine36_setup "x86_64" alpine36_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-musl-x86_64" #ostree_delete "x86_64" "alpine" "3.6" @@ -8981,6 +9439,10 @@ alpine317_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-musl-x86_64" alpine318_setup "x86_64" alpine318_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-musl-x86_64" #ostree_delete "x86_64" "alpine" "3.18" +# +alpine319_setup "x86_64" +alpine319_build_fakechroot "x86_64" "${BUILD_DIR}/fakechroot-source-musl-x86_64" +#ostree_delete "x86_64" "alpine" "3.19" centos6_setup "x86_64" #centos6_build_proot "x86_64" "${BUILD_DIR}/proot-source-x86_64" @@ -9079,21 +9541,26 @@ prepare_proot_source "${BUILD_DIR}/proot-source-aarch64" prepare_patchelf_source_v2 "${BUILD_DIR}/patchelf-source-aarch64" prepare_fakechroot_glibc_source "${BUILD_DIR}/fakechroot-source-glibc-aarch64" prepare_runc_source "${BUILD_DIR}/runc-source-aarch64" -# + fedora31_setup "aarch64" fedora31_build_proot "aarch64" "${BUILD_DIR}/proot-source-aarch64" #fedora31_build_patchelf "aarch64" "${BUILD_DIR}/patchelf-source-aarch64" #ostree_delete "aarch64" "fedora" "31" -# + fedora36_setup "aarch64" fedora36_build_fakechroot "aarch64" "${BUILD_DIR}/fakechroot-source-glibc-aarch64" #ostree_delete "aarch64" "fedora" "36" -# + fedora38_setup "aarch64" fedora38_build_fakechroot "aarch64" "${BUILD_DIR}/fakechroot-source-glibc-aarch64" #fedora38_build_patchelf "aarch64" "${BUILD_DIR}/patchelf-source-aarch64" #ostree_delete "aarch64" "fedora" "38" -# + +fedora39_setup "aarch64" +fedora39_build_fakechroot "aarch64" "${BUILD_DIR}/fakechroot-source-glibc-aarch64" +#fedora39_build_patchelf "aarch64" "${BUILD_DIR}/patchelf-source-aarch64" +#ostree_delete "aarch64" "fedora" "39" + centos7_setup "aarch64" centos7_build_fakechroot "aarch64" "${BUILD_DIR}/fakechroot-source-glibc-aarch64" #ostree_delete "aarch64" "centos" "7" @@ -9140,11 +9607,15 @@ prepare_proot_source "${BUILD_DIR}/proot-source-ppc64le" prepare_patchelf_source_v2 "${BUILD_DIR}/patchelf-source-ppc64le" prepare_fakechroot_glibc_source "${BUILD_DIR}/fakechroot-source-glibc-ppc64le" prepare_runc_source "${BUILD_DIR}/runc-source-ppc64le" -# + fedora38_setup "ppc64le" fedora38_build_fakechroot "ppc64le" "${BUILD_DIR}/fakechroot-source-glibc-ppc64le" #ostree_delete "ppc64le" "fedora" "38" -# + +fedora39_setup "ppc64le" +fedora39_build_fakechroot "ppc64le" "${BUILD_DIR}/fakechroot-source-glibc-ppc64le" +#ostree_delete "ppc64le" "fedora" "39" + centos7_setup "ppc64le" centos7_build_fakechroot "ppc64le" "${BUILD_DIR}/fakechroot-source-glibc-ppc64le" #ostree_delete "ppc64le" "centos" "7" From f418acfbac49bf2b49d79d616e5e138b18aed398 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 19:16:20 +0000 Subject: [PATCH 21/25] 1.3.13-rc.2 --- udocker/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udocker/__init__.py b/udocker/__init__.py index f2fc5412..7037a646 100644 --- a/udocker/__init__.py +++ b/udocker/__init__.py @@ -32,5 +32,5 @@ "Singularity http://singularity.lbl.gov" ] __license__ = "Licensed under the Apache License, Version 2.0" -__version__ = "1.3.13-rc.1" +__version__ = "1.3.13-rc.2" __date__ = "2024" From 1b52fdb32badd45a955f90b0db627501eab93e3f Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 19:58:54 +0000 Subject: [PATCH 22/25] Add setup --nvidia --- README.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 4d36dd0d..79e14462 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,8 @@ but is still available load :Load image from stdin (saved by docker) save -o :Save image with layers to file - inspect -p :Return low level information on image + inspect :Return low level information on image + inspect -p :Return path to container location verify :Verify a pulled or loaded image manifest inspect :Print manifest metadata @@ -146,18 +147,20 @@ but is still available Some examples of usage: -Search container images in dockerhub. +Search container images in dockerhub and listing tags. ```bash udocker search fedora udocker search ubuntu -udocker search indigodatacloud +udocker search debian + +udocker search --list-tags ubuntu ``` Pull from dockerhub and list the pulled images. ```bash -udocker pull fedora:29 +udocker pull fedora:39 udocker pull busybox udocker pull iscampos/openqcd udocker images @@ -182,7 +185,8 @@ udocker tag centos/centos8 mycentos/centos8:arm64 Create a container from a pulled image, assign a name to the created container and run it. A created container can be run multiple times -until it is explicitely removed. +until it is explicitely removed. Files modified or added to the container +remain available across executions until the container is removed. ```bash udocker create --name=myfed fedora:29 @@ -221,7 +225,7 @@ udocker run -v /tmp --entrypoint=/bin/bash myfed -c 'cd /tmp; ./myscript.sh' Execute mounting the host /var, /proc, /sys and /tmp in the same container directories. Notice that the content of these container directories will -be obfuscated. +be obfuscated by the host files. ```bash udocker run -v /var -v /proc -v /sys -v /tmp myfed /bin/bash @@ -283,6 +287,14 @@ udocker setup --execmode=S1 myfed udocker run --user=root myfed yum install -y firefox pulseaudio gnash-plugin ``` +Change execution to enable nvidia ready applications. Requires that +the nvidia drivers are installed in the host system. + +```bash +udocker setup --nvidia mytensorflow +``` + + ## Security By default udocker via PRoot offers the emulation of the root user. This @@ -341,8 +353,8 @@ udocker is mainly oriented at providing a run-time environment for containers execution in user space. udocker is particularly suited to run user applications encapsulated in docker containers. -Debugging inside of udocker with the PRoot engine will not work due to -the way PRoot implements the chroot environment +Debugging or using strace with the PRoot engine will not work as both +the debuggers and PRoot use the same tracing mechanism. ## Execution mode specific limitations From 5bd12d273aca0e27d664eace6ebfccc7c72df927 Mon Sep 17 00:00:00 2001 From: Jorge Gomes Date: Sun, 4 Feb 2024 20:04:27 +0000 Subject: [PATCH 23/25] remove experimental status of --nvidia --- udocker/cli.py | 1 - 1 file changed, 1 deletion(-) diff --git a/udocker/cli.py b/udocker/cli.py index 87b6b96c..653727ff 100644 --- a/udocker/cli.py +++ b/udocker/cli.py @@ -1215,7 +1215,6 @@ def do_setup(self, cmdp): --purge :clean mountpoints and files created by udocker --fixperm :attempt to fix file permissions --nvidia :add NVIDIA libraries and binaries - (nvidia support is EXPERIMENTAL) is one of the following execution modes: P1: proot accelerated mode using seccomp filtering (default) From 612cbcc69bcd7358bf14adeccb2647f6f069140e Mon Sep 17 00:00:00 2001 From: mariojmdavid Date: Mon, 5 Feb 2024 10:47:10 +0000 Subject: [PATCH 24/25] bump version 1.3.13 --- codemeta.json | 2 +- docs/installation_manual.md | 18 +++++++++--------- docs/udocker.1 | 2 +- udocker/__init__.py | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/codemeta.json b/codemeta.json index bd75dbee..6bc24d8c 100644 --- a/codemeta.json +++ b/codemeta.json @@ -6,7 +6,7 @@ "@type": "SoftwareSourceCode", "identifier": "udocker", "name": "udocker", - "version": "1.3.12", + "version": "1.3.13", "description": "A basic user tool to execute simple docker containers in batch or interactive systems without root privileges", "license": "Apache Software License 2.0, OSI Approved :: Apache Software License", "author": [ diff --git a/docs/installation_manual.md b/docs/installation_manual.md index 84dcc296..a672882f 100644 --- a/docs/installation_manual.md +++ b/docs/installation_manual.md @@ -32,18 +32,18 @@ udocker requires: Download a release tarball from : ```bash -wget https://github.com/indigo-dc/udocker/releases/download/1.3.12/udocker-1.3.12.tar.gz -tar zxvf udocker-1.3.12.tar.gz -export PATH=`pwd`/udocker-1.3.12/udocker:$PATH +wget https://github.com/indigo-dc/udocker/releases/download/1.3.13/udocker-1.3.13.tar.gz +tar zxvf udocker-1.3.13.tar.gz +export PATH=`pwd`/udocker-1.3.13/udocker:$PATH ``` Alternatively use `curl` instead of `wget` as follows: ```bash -curl -L https://github.com/indigo-dc/udocker/releases/download/1.3.12/udocker-1.3.12.tar.gz \ - > udocker-1.3.12.tar.gz -tar zxvf udocker-1.3.12.tar.gz -export PATH=`pwd`/udocker-1.3.12/udocker:$PATH +curl -L https://github.com/indigo-dc/udocker/releases/download/1.3.13/udocker-1.3.13.tar.gz \ + > udocker-1.3.13.tar.gz +tar zxvf udocker-1.3.13.tar.gz +export PATH=`pwd`/udocker-1.3.13/udocker:$PATH ``` udocker executes containers using external tools and libraries that @@ -345,8 +345,8 @@ The udocker tool should be installed as shown in section 2.1: ```bash cd /sw -wget https://github.com/indigo-dc/udocker/releases/download/1.3.12/udocker-1.3.12.tar.gz -tar zxvf udocker-1.3.12.tar.gz +wget https://github.com/indigo-dc/udocker/releases/download/1.3.13/udocker-1.3.13.tar.gz +tar zxvf udocker-1.3.13.tar.gz ``` Directing users to the central udocker installation can be done using the diff --git a/docs/udocker.1 b/docs/udocker.1 index 732fb807..20de9e8a 100644 --- a/docs/udocker.1 +++ b/docs/udocker.1 @@ -1,7 +1,7 @@ .\" Manpage for udocker .\" Contact udocker@lip.pt to correct errors or typos. .\" To read this man page use: man -l udocker.1 -.TH udocker 1 "2 Nov 2023" "version 1.3.12" "udocker man page" +.TH udocker 1 "5 Feb 2024" "version 1.3.13" "udocker man page" .SH NAME udocker \- execute Docker containers in user space without privileges .SH SYNOPSIS diff --git a/udocker/__init__.py b/udocker/__init__.py index 7037a646..57561a24 100644 --- a/udocker/__init__.py +++ b/udocker/__init__.py @@ -32,5 +32,5 @@ "Singularity http://singularity.lbl.gov" ] __license__ = "Licensed under the Apache License, Version 2.0" -__version__ = "1.3.13-rc.2" +__version__ = "1.3.13" __date__ = "2024" From 455064963df752abd3ce9eca990dc0869520e9fb Mon Sep 17 00:00:00 2001 From: mariojmdavid Date: Mon, 5 Feb 2024 11:28:31 +0000 Subject: [PATCH 25/25] update changelog, small typo in config --- CHANGELOG.md | 2 +- udocker/config.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb524b2d..d21cc60e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ * udocker improve binary executables identification * udocker fix fakechroot parsing of so, exec_path and add cmd subst * udocker implement minor pylint compliance improvements -* udocker mode Pn make links2symlinks feature disabled by default in config +* udocker mode Pn make links2symlinks feature disabled by default in config: solves #412 * New udockertools 1.2.11 tarball * udockertools mode Fn glibc fix dladdr(), dlopen(), dlmopen(), dl_iterate_phdr() * udockertools mode Fn glibc add dladdr1() diff --git a/udocker/config.py b/udocker/config.py index 3693b6ab..4ba11d02 100644 --- a/udocker/config.py +++ b/udocker/config.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -"""Configurations options and treatment/overrinding""" +"""Configurations options and treatment/overriding""" import os import sys from udocker.msg import Msg