mirror of
https://github.com/void-linux/void-packages.git
synced 2025-07-28 16:32:57 +02:00
proot: disable seccomp, adopt package
otherwise it segfaults on newer kernels, see: https://github.com/proot-me/proot/issues/106
This commit is contained in:
parent
b478028028
commit
14f6da0b16
3 changed files with 73 additions and 14 deletions
28
srcpkgs/proot/patches/disable-seccomp-based-tracing.patch
Normal file
28
srcpkgs/proot/patches/disable-seccomp-based-tracing.patch
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# reason: https://github.com/proot-me/proot/issues/106
|
||||||
|
# src: Debian10
|
||||||
|
|
||||||
|
From: Simon McVittie <smcv@debian.org>
|
||||||
|
Date: Sat, 14 Jan 2017 15:52:13 +0000
|
||||||
|
X-Dgit-Generated: 5.1.0-1.2 dcc5f0999759be03aed5b62a8683e0b965d0219d
|
||||||
|
Subject: Disable seccomp-based tracing performance improvement
|
||||||
|
|
||||||
|
It is faster (according to upstream documentation), but on current
|
||||||
|
(4.8.4+) kernels it just segfaults. Software that works slowly seems
|
||||||
|
better than software that doesn't work at all.
|
||||||
|
|
||||||
|
Bug: https://github.com/proot-me/PRoot/issues/106
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
--- src/GNUmakefile
|
||||||
|
+++ src/GNUmakefile
|
||||||
|
@@ -105,7 +105,7 @@ CHECK_VERSION = VERSION=$$($(GIT) descri
|
||||||
|
then /bin/echo -e "\#undef VERSION\n\#define VERSION \"$${VERSION}\""; \
|
||||||
|
fi;
|
||||||
|
|
||||||
|
-CHECK_FEATURES = process_vm seccomp_filter
|
||||||
|
+CHECK_FEATURES = process_vm
|
||||||
|
CHECK_PROGRAMS = $(foreach feature,$(CHECK_FEATURES),.check_$(feature))
|
||||||
|
CHECK_OBJECTS = $(foreach feature,$(CHECK_FEATURES),.check_$(feature).o)
|
||||||
|
CHECK_RESULTS = $(foreach feature,$(CHECK_FEATURES),.check_$(feature).res)
|
||||||
|
|
35
srcpkgs/proot/patches/makefile-fix-vars.patch
Normal file
35
srcpkgs/proot/patches/makefile-fix-vars.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
--- src/GNUmakefile
|
||||||
|
+++ src/GNUmakefile
|
||||||
|
@@ -10,9 +10,9 @@
|
||||||
|
INSTALL = install
|
||||||
|
CC = $(CROSS_COMPILE)gcc
|
||||||
|
LD = $(CC)
|
||||||
|
-STRIP = $(CROSS_COMPILE)strip
|
||||||
|
-OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||||
|
-OBJDUMP = $(CROSS_COMPILE)objdump
|
||||||
|
+STRIP = :
|
||||||
|
+OBJCOPY ?= $(CROSS_COMPILE)objcopy
|
||||||
|
+OBJDUMP ?= $(CROSS_COMPILE)objdump
|
||||||
|
|
||||||
|
CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I. -I$(VPATH)
|
||||||
|
CFLAGS += -Wall -Wextra -O2
|
||||||
|
@@ -86,7 +86,7 @@
|
||||||
|
quiet_LD = @echo " LD $@"; $(LD)
|
||||||
|
quiet_INSTALL = @echo " INSTALL $?"; $(INSTALL)
|
||||||
|
|
||||||
|
-V = 0
|
||||||
|
+V = 1
|
||||||
|
ifeq ($(V), 0)
|
||||||
|
quiet = quiet_
|
||||||
|
Q = @
|
||||||
|
@@ -140,8 +140,8 @@
|
||||||
|
|
||||||
|
OBJIFY = $($(quiet)GEN) \
|
||||||
|
$(OBJCOPY) \
|
||||||
|
- --input binary \
|
||||||
|
- --output `env LANG=C $(OBJDUMP) -f cli/cli.o | \
|
||||||
|
+ --input-target binary \
|
||||||
|
+ --output-target `env LANG=C $(OBJDUMP) -f cli/cli.o | \
|
||||||
|
grep 'file format' | awk '{print $$4}'` \
|
||||||
|
--binary-architecture `env LANG=C $(OBJDUMP) -f cli/cli.o | \
|
||||||
|
grep architecture | cut -f 1 -d , | awk '{print $$2}'` \
|
|
@ -1,30 +1,26 @@
|
||||||
# Template file for 'proot'
|
# Template file for 'proot'
|
||||||
pkgname=proot
|
pkgname=proot
|
||||||
version=5.1.0
|
version=5.1.0
|
||||||
revision=5
|
revision=6
|
||||||
wrksrc="PRoot-${version}"
|
build_wrksrc=src
|
||||||
makedepends="libarchive-devel talloc-devel"
|
makedepends="libarchive-devel talloc-devel"
|
||||||
short_desc="User-space implementation of chroot, mount --bind, and binfmt_misc"
|
short_desc="User-space implementation of chroot, mount --bind, and binfmt_misc"
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
maintainer="Piraty <piraty1@inbox.ru>"
|
||||||
license="GPL-2"
|
license="GPL-2.0-or-later"
|
||||||
homepage="https://proot-me.github.io"
|
homepage="https://proot-me.github.io"
|
||||||
distfiles="https://github.com/proot-me/PRoot/archive/v${version}.tar.gz"
|
distfiles="https://github.com/proot-me/PRoot/archive/v${version}.tar.gz"
|
||||||
checksum=50fcb882662b2de3e64e603b68d1af75e920d480191a49e11c0cb63d50040386
|
checksum=ce0a3baca8312613bd10f65bb436a3aaa28e1034f498a22c35ad0693600e01dd
|
||||||
|
|
||||||
pre_build() {
|
pre_build() {
|
||||||
sed -i "s,strip,:,g" src/GNUmakefile
|
|
||||||
sed -i "s,objcopy,${OBJCOPY},g" src/GNUmakefile
|
|
||||||
sed -i "s,objdump,${OBJDUMP},g" src/GNUmakefile
|
|
||||||
sed -i "s,--input ,--input-target ,g" src/GNUmakefile
|
|
||||||
sed -i "s,--output ,--output-target ,g" src/GNUmakefile
|
|
||||||
# Fix glibc ptrace.h specific constants for musl libc
|
# Fix glibc ptrace.h specific constants for musl libc
|
||||||
cp ${FILESDIR}/ptrace_compat.h ${wrksrc}/src
|
cp ${FILESDIR}/ptrace_compat.h .
|
||||||
}
|
}
|
||||||
|
|
||||||
do_build() {
|
do_build() {
|
||||||
cd src
|
|
||||||
make CC=$CC CFLAGS="$CFLAGS" ${makejobs}
|
make CC=$CC CFLAGS="$CFLAGS" ${makejobs}
|
||||||
}
|
}
|
||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
vbin src/proot
|
vbin proot
|
||||||
vman doc/proot/man.1 proot.1
|
vman ../doc/proot/man.1 proot.1
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue