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
next prev 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).