firejail: rebuild with upstream patches
This commit is contained in:
parent
80950842dc
commit
f6cc6c6f3e
@ -1,33 +0,0 @@
|
|||||||
#ifndef _MUSL_DEFS_H
|
|
||||||
#define _MUSL_DEFS_H
|
|
||||||
|
|
||||||
#include <features.h>
|
|
||||||
|
|
||||||
#define __NEED_FILE
|
|
||||||
#define __NEED_dev_t
|
|
||||||
#define __NEED_ino_t
|
|
||||||
#define __NEED_mode_t
|
|
||||||
#define __NEED_nlink_t
|
|
||||||
#define __NEED_uid_t
|
|
||||||
#define __NEED_gid_t
|
|
||||||
#define __NEED_off_t
|
|
||||||
#define __NEED_time_t
|
|
||||||
#define __NEED_blksize_t
|
|
||||||
#define __NEED_blkcnt_t
|
|
||||||
#define __NEED_struct_timespec
|
|
||||||
|
|
||||||
#include <bits/alltypes.h>
|
|
||||||
#include <bits/stat.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
#define NULL 0L
|
|
||||||
#else
|
|
||||||
#define NULL ((void*)0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int printf(const char *format, ...);
|
|
||||||
int sprintf(char *buffer, const char *format, ...);
|
|
||||||
char *fgets(char *buffer, int size, FILE *fp);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
69
srcpkgs/firejail/patches/firejail-0.9.32-musl.patch
Normal file
69
srcpkgs/firejail/patches/firejail-0.9.32-musl.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From 14b435a43ab54a718f1a899573fe1ce6bb06fe7a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Duncaen <mail@duncano.de>
|
||||||
|
Date: Sun, 25 Oct 2015 15:30:09 +0100
|
||||||
|
Subject: [PATCH] libtrace: only include fopen64, freopen64 and stat64 if
|
||||||
|
__GLIBC__ is defined
|
||||||
|
|
||||||
|
---
|
||||||
|
src/libtrace/libtrace.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git src/libtrace/libtrace.c src/libtrace/libtrace.c
|
||||||
|
index 1eb1cf9..12a8c7f 100644
|
||||||
|
--- src/libtrace/libtrace.c
|
||||||
|
+++ src/libtrace/libtrace.c
|
||||||
|
@@ -312,6 +312,7 @@ FILE *fopen(const char *pathname, const char *mode) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
FILE *fopen64(const char *pathname, const char *mode) {
|
||||||
|
if (!orig_fopen64)
|
||||||
|
orig_fopen64 = (orig_fopen_t)dlsym(RTLD_NEXT, "fopen64");
|
||||||
|
@@ -320,6 +321,7 @@ FILE *fopen64(const char *pathname, const char *mode) {
|
||||||
|
printf("%u:%s:fopen64 %s\n", pid(), name(), pathname);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
+#endif /* __GLIBC__ */
|
||||||
|
|
||||||
|
|
||||||
|
// freopen
|
||||||
|
@@ -334,6 +336,7 @@ FILE *freopen(const char *pathname, const char *mode, FILE *stream) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
typedef FILE *(*orig_freopen64_t)(const char *pathname, const char *mode, FILE *stream);
|
||||||
|
static orig_freopen64_t orig_freopen64 = NULL;
|
||||||
|
FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
|
||||||
|
@@ -344,6 +347,7 @@ FILE *freopen64(const char *pathname, const char *mode, FILE *stream) {
|
||||||
|
printf("%u:%s:freopen64 %s\n", pid(), name(), pathname);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
+#endif /* __GLIBC__ */
|
||||||
|
|
||||||
|
// unlink
|
||||||
|
typedef int (*orig_unlink_t)(const char *pathname);
|
||||||
|
@@ -414,6 +418,7 @@ int stat(const char *pathname, struct stat *buf) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#ifdef __GLIBC__
|
||||||
|
typedef int (*orig_stat64_t)(const char *pathname, struct stat64 *buf);
|
||||||
|
static orig_stat64_t orig_stat64 = NULL;
|
||||||
|
int stat64(const char *pathname, struct stat64 *buf) {
|
||||||
|
@@ -424,6 +429,7 @@ int stat64(const char *pathname, struct stat64 *buf) {
|
||||||
|
printf("%u:%s:stat %s\n", pid(), name(), pathname);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
+#endif /* __GLIBC__ */
|
||||||
|
|
||||||
|
|
||||||
|
// access
|
||||||
|
@@ -625,4 +631,4 @@ int setresgid(gid_t rgid, gid_t egid, gid_t sgid) {
|
||||||
|
printf("%u:%s:setresgid %d %d %d\n", pid(), name(), rgid, egid, sgid);
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
-}
|
||||||
|
\ No newline at end of file
|
||||||
|
+}
|
37
srcpkgs/firejail/patches/firejail-0.9.32-seccomp.patch
Normal file
37
srcpkgs/firejail/patches/firejail-0.9.32-seccomp.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 8014c8d3aa022c851443cbb4226a9481684c9704 Mon Sep 17 00:00:00 2001
|
||||||
|
From: netblue30 <netblue30@yahoo.com>
|
||||||
|
Date: Sat, 24 Oct 2015 09:41:11 -0400
|
||||||
|
Subject: [PATCH] fixed compilation error for --disable-seccomp
|
||||||
|
|
||||||
|
---
|
||||||
|
src/firejail/main.c | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git src/firejail/main.c src/firejail/main.c
|
||||||
|
index 422a391..e76f1b4 100644
|
||||||
|
--- src/firejail/main.c
|
||||||
|
+++ src/firejail/main.c
|
||||||
|
@@ -396,7 +396,9 @@ int main(int argc, char **argv) {
|
||||||
|
int arg_cgroup = 0;
|
||||||
|
int custom_profile = 0; // custom profile loaded
|
||||||
|
int arg_noprofile = 0; // use generic.profile if none other found/specified
|
||||||
|
+#ifdef HAVE_SECCOMP
|
||||||
|
int highest_errno = errno_highest_nr();
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
// check if we already have a sandbox running
|
||||||
|
int rv = check_kernel_procs();
|
||||||
|
@@ -1366,11 +1368,13 @@ int main(int argc, char **argv) {
|
||||||
|
waitpid(child, NULL, 0);
|
||||||
|
|
||||||
|
// free globals
|
||||||
|
+#ifdef HAVE_SECCOMP
|
||||||
|
if (arg_seccomp_list_errno) {
|
||||||
|
for (i = 0; i < highest_errno; i++)
|
||||||
|
free(arg_seccomp_list_errno[i]);
|
||||||
|
free(arg_seccomp_list_errno);
|
||||||
|
}
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
myexit(0);
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
# Template file for 'firejail'
|
# Template file for 'firejail'
|
||||||
pkgname=firejail
|
pkgname=firejail
|
||||||
version=0.9.32
|
version=0.9.32
|
||||||
revision=1
|
revision=2
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
build_pie=yes
|
build_pie=yes
|
||||||
conf_files="
|
conf_files="
|
||||||
@ -53,23 +53,3 @@ case "$XBPS_TARGET_MACHINE" in
|
|||||||
configure_args+=" --disable-seccomp"
|
configure_args+=" --disable-seccomp"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
pre_configure() {
|
|
||||||
sed -i ${wrksrc}/src/firejail/errno.c -e 's;#ifdef HAVE_SECCOMP;#if 1;'
|
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
|
||||||
*-musl) # XXX: dirty hack - very limited stdio.h definitions
|
|
||||||
# to avoid redefinition of intercepted libc functions
|
|
||||||
cp ${FILESDIR}/musl_defs.h ${wrksrc}/src/libtrace
|
|
||||||
# Include our header instead of stdio.h and sys/stat.h
|
|
||||||
# Use struct stat instead of struct stat64 (they are equal)
|
|
||||||
sed -i ${wrksrc}/src/libtrace/libtrace.c \
|
|
||||||
-e 's;#include <stdio.h>;#include "musl_defs.h";' \
|
|
||||||
-e 's;#include <sys/stat.h>;;' \
|
|
||||||
-e 's;struct stat64;struct stat;g'
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
pre_install() {
|
|
||||||
# remove hardcoded strip(1)
|
|
||||||
sed -i '/strip .*/d' Makefile
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user