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:29:07 +0100	[thread overview]
Message-ID: <20201107222907.NXxOQdRN8P3XVG0jdFJTbVh4gfOff4o4tTTAHjR7krY@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: 5928 bytes --]

From 542af78472f054a58a6af65b49849da00ad6a076 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 ---
 etc/defaults.conf                |  3 +--
 xbps-src                         |  4 ++--
 5 files changed, 4 insertions(+), 50 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/etc/defaults.conf b/etc/defaults.conf
index 6e297903fbd..a652310307b 100644
--- a/etc/defaults.conf
+++ b/etc/defaults.conf
@@ -118,14 +118,13 @@ XBPS_SUCMD="sudo /bin/sh -c"
 #
 # 	- uunshare (uses xbps-uunshare(1), user namespaces)
 # 	- uchroot (uses xbps-uchroot(1), namespaces, setgid)
-# 	- proot (uses proot, external, does not need special permissions)
 # 	- bwrap (uses bwrap, external, does not need special permissions)
 #	- ethereal (uses root, needs no permissions, for disposable containers)
 #
 # The order is already set as shown above, but can be overriden below.
 # Additional arguments to the chroot style can be passed in via XBPS_CHROOT_CMD_ARGS.
 #
-#XBPS_CHROOT_CMD=proot
+#XBPS_CHROOT_CMD=uchroot
 #XBPS_CHROOT_CMD_ARGS=""
 
 # [OPTIONAL]
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:29 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 ` [PR PATCH] [Updated] " Duncaen
2020-11-07 22:15 ` Duncaen
2020-11-07 22:23 ` pullmoll
2020-11-07 22:23 ` Chocimier
2020-11-07 22:29 ` Duncaen [this message]
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=20201107222907.NXxOQdRN8P3XVG0jdFJTbVh4gfOff4o4tTTAHjR7krY@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).