Github messages for voidlinux
 help / color / mirror / Atom feed
From: Duncaen <Duncaen@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] xbps-src: remove proot chroot-style
Date: Sat, 07 Nov 2020 23:07:50 +0100	[thread overview]
Message-ID: <20201107220750.PQIyoBCEMhAxyUAQUCbvdHCFTZH0ZzPdycbiT3n8PB8@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-26204@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 433 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages proot
https://github.com/void-linux/void-packages/pull/26204

xbps-src: remove proot chroot-style
proot is broken and result in random hard to debug issues,
this is the best way to not have new users use it.

A patch file from https://github.com/void-linux/void-packages/pull/26204.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-proot-26204.patch --]
[-- Type: text/x-diff, Size: 5109 bytes --]

From 1e4c6fb11ad52b48957c9adb5fe72a08f327023a Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sat, 7 Nov 2020 22:50:11 +0100
Subject: [PATCH] xbps-src: remove proot chroot-style

proot is broken and result in random hard to debug issues,
this is the best way to not have new users use it.
---
 README.md                        | 14 +-------------
 common/chroot-style/proot.sh     | 30 ------------------------------
 common/xbps-src/libexec/build.sh |  3 ---
 xbps-src                         |  4 ++--
 4 files changed, 3 insertions(+), 48 deletions(-)
 delete mode 100755 common/chroot-style/proot.sh

diff --git a/README.md b/README.md
index 9238b1918ef..7c89d5a5a90 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,6 @@ multiple utilities to accomplish this task:
  - `ethereal` - only useful for one-shot containers, i.e docker (used with travis).
  - `xbps-uunshare(1)` - XBPS utility that uses `user_namespaces(7)` (part of xbps, default).
  - `xbps-uchroot(1)` - XBPS utility that uses `namespaces` and must be `setgid` (part of xbps).
- - `proot(1)` - utility that implements chroot/bind mounts in user space, see https://proot-me.github.io/.
 
 > NOTE: `xbps-src` does not allow building as root anymore. Use one of the chroot
 methods shown above.
@@ -136,17 +135,6 @@ If for some reason it's erroring out as `ERROR clone (Operation not permitted)`,
 your user is a member of the required `group` and that `xbps-uchroot(1)` utility has the
 proper permissions and owner/group as explained above.
 
-#### proot(1)
-
-The `proot(1)` utility implements chroot and bind mounts support completely in user space,
-and can be used if your Linux kernel does not have support for namespaces. See https://proot-me.github.io/.
-for more information.
-
-To enable it:
-
-    $ cd void-packages
-    $ echo XBPS_CHROOT_CMD=proot >> etc/conf
-
 <a name="install-bootstrap"></a>
 ### Install the bootstrap packages
 
@@ -404,7 +392,7 @@ checksum of the downloaded file matches the one specified in the template.
 Ultimately, if no mirror carries the distfile, or in case all downloads failed the
 checksum verification, the original download location is used.
 
-If you use `proot` or `uchroot` for your XBPS_CHROOT_CMD, you may also specify a local path
+If you use `uchroot` for your XBPS_CHROOT_CMD, you may also specify a local path
 using the `file://` prefix or simply an absolute path on your build host (e.g. /mnt/distfiles).
 Mirror locations specified this way are bind mounted inside the chroot environment
 under $XBPS_MASTERDIR and searched for distfiles just the same as remote locations.
diff --git a/common/chroot-style/proot.sh b/common/chroot-style/proot.sh
deleted file mode 100755
index 5c670ea5da8..00000000000
--- a/common/chroot-style/proot.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/sh
-#
-# This chroot script uses proot (see http://proot.me)
-#
-readonly MASTERDIR="$1"
-readonly DISTDIR="$2"
-readonly HOSTDIR="$3"
-readonly EXTRA_ARGS="$4"
-shift 4
-
-if ! command -v proot >/dev/null 2>&1; then
-	exit 1
-fi
-
-if [ -z "$MASTERDIR" -o -z "$DISTDIR" ]; then
-	echo "$0 MASTERDIR/DISTDIR not set"
-	exit 1
-fi
-
-# proot does not properly return the resultcode. Workaround this
-RESULT=$(mktemp) || exit 1
-
-PROOT_NO_SECCOMP=1 proot -r $MASTERDIR -w / -b "$RESULT:/.result" -b $DISTDIR:/void-packages \
-	${HOSTDIR:+-b $HOSTDIR:/host} -b /proc:/proc -b /dev:/dev \
-	-b /sys:/sys $EXTRA_ARGS /bin/sh -c '$@; echo $? > /.result' $0 $@
-
-rv=$(cat "$RESULT")
-rm "$RESULT"
-
-exit $rv
diff --git a/common/xbps-src/libexec/build.sh b/common/xbps-src/libexec/build.sh
index 6abc988298b..3ac5a962d15 100755
--- a/common/xbps-src/libexec/build.sh
+++ b/common/xbps-src/libexec/build.sh
@@ -41,9 +41,6 @@ check_pkg_arch $XBPS_CROSS_BUILD
 if [ -z "$XBPS_CROSS_PREPARE" ]; then
     prepare_cross_sysroot $XBPS_CROSS_BUILD || exit $?
 fi
-if [ -z "$XBPS_DEPENDENCY" -a -z "$XBPS_TEMP_MASTERDIR" -a -n "$XBPS_KEEP_ALL" -a "$XBPS_CHROOT_CMD" = "proot" ]; then
-    remove_pkg_autodeps
-fi
 # Install dependencies from binary packages
 if [ "$PKGNAME" != "$XBPS_TARGET_PKG" -o -z "$XBPS_SKIP_DEPS" ]; then
     install_pkg_deps $PKGNAME $XBPS_TARGET_PKG pkg $XBPS_CROSS_BUILD $XBPS_CROSS_PREPARE || exit $?
diff --git a/xbps-src b/xbps-src
index 3cd19dc42ec..b9bb4b6dae4 100755
--- a/xbps-src
+++ b/xbps-src
@@ -317,7 +317,7 @@ read_pkg() {
 setup_distfiles_mirror() {
     local mirror scheme path
 
-    # Scheme file:// mirror locations only work with uchroot or proot
+    # Scheme file:// mirror locations only work with uchroot
     for mirror in $XBPS_DISTFILES_MIRROR; do
         scheme="file"
         if [[ "$mirror" == *://* ]]; then
@@ -327,7 +327,7 @@ setup_distfiles_mirror() {
             path="$mirror"
         fi
         [ "$scheme" != "file" ] && continue
-        if [ "$XBPS_CHROOT_CMD" == "uchroot" -o "$XBPS_CHROOT_CMD" == "proot" ]; then
+        if [ "$XBPS_CHROOT_CMD" == "uchroot" ]; then
             if [ ! -d "$path" ]; then
                 msg_warn "xbps-src: Invalid path in XBPS_DISTFILES_MIRROR ($mirror)\n"
                 continue

  parent reply	other threads:[~2020-11-07 22:07 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-07 21:58 [PR PATCH] common: " Duncaen
2020-11-07 21:58 ` [PR PATCH] [Updated] " Duncaen
2020-11-07 22:05 ` xbps-src: " ericonr
2020-11-07 22:05 ` ericonr
2020-11-07 22:07 ` Duncaen [this message]
2020-11-07 22:15 ` Duncaen
2020-11-07 22:23 ` pullmoll
2020-11-07 22:23 ` Chocimier
2020-11-07 22:29 ` [PR PATCH] [Updated] " Duncaen
2020-11-07 23:25 ` fosslinux
2020-11-09 13:08 ` ericonr
2020-11-11 21:30 ` zenny
2020-11-11 21:32 ` zenny
2020-11-11 21:34 ` zenny
2020-11-11 22:48 ` Duncaen
2020-11-23  5:11 ` ericonr
2020-12-30  7:02 ` [PR PATCH] [Merged]: " the-maldridge

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201107220750.PQIyoBCEMhAxyUAQUCbvdHCFTZH0ZzPdycbiT3n8PB8@z \
    --to=duncaen@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).