mirror of
https://github.com/void-linux/void-packages.git
synced 2025-04-11 11:47:02 +02:00
Compare commits
9 commits
1acfdd1ed3
...
2123878792
Author | SHA1 | Date | |
---|---|---|---|
|
2123878792 | ||
|
cc03789145 | ||
|
42d67345ff | ||
|
3c123a3701 | ||
|
64cc25a887 | ||
|
cf0e1f4a8a | ||
|
f3e3198d5b | ||
|
6d65eb344e | ||
|
307e25df8d |
19 changed files with 655 additions and 218 deletions
|
@ -2507,7 +2507,6 @@ libmlt++-7.so.7 mlt7-7.0.1_1
|
|||
libmlt-7.so.7 mlt7-7.0.1_1
|
||||
libunibilium.so.4 unibilium-2.0.0_1
|
||||
libtermkey.so.1 libtermkey-0.17_1
|
||||
libicu4lua.so.0 icu4lua-0.2B_1
|
||||
libKF5I18n.so.5 ki18n-5.26.0_1
|
||||
libKF5I18nLocaleData.so.5 ki18n-5.88.0_1
|
||||
libglog.so.1 glog-0.6.0_1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Template file for 'discord'
|
||||
pkgname=discord
|
||||
version=0.0.89
|
||||
version=0.0.90
|
||||
revision=1
|
||||
archs="x86_64"
|
||||
depends="alsa-lib dbus-glib gtk+3 libnotify nss libXtst libcxx libatomic
|
||||
|
@ -10,7 +10,7 @@ maintainer="Ryan Conwell <ryanconwell@protonmail.com>"
|
|||
license="custom:Proprietary"
|
||||
homepage="https://discord.com"
|
||||
distfiles="https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"
|
||||
checksum=ef833648024b4bcbb7ee6d9b128fd86e5abcdb611b59665fa4b7f97a6bd3bac1
|
||||
checksum=99f428ef51b86796700eba16888d96e436f98ac331771e05c376fa5fee27ec58
|
||||
repository=nonfree
|
||||
restricted=yes
|
||||
nopie=yes
|
||||
|
|
18
srcpkgs/godot/patches/20-fix-musl.patch
Normal file
18
srcpkgs/godot/patches/20-fix-musl.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
diff --git a/thirdparty/manifold/src/sparse.h b/thirdparty/manifold/src/sparse.h
|
||||
index a25ea61141..82ba7c5af6 100644
|
||||
--- a/thirdparty/manifold/src/sparse.h
|
||||
+++ b/thirdparty/manifold/src/sparse.h
|
||||
@@ -40,11 +40,13 @@ class SparseIndices {
|
||||
// such that the indices are sorted by (p << 32) | q
|
||||
public:
|
||||
#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN || \
|
||||
+ defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ || \
|
||||
defined(__BIG_ENDIAN__) || defined(__ARMEB__) || defined(__THUMBEB__) || \
|
||||
defined(__AARCH64EB__) || defined(_MIBSEB) || defined(__MIBSEB) || \
|
||||
defined(__MIBSEB__)
|
||||
static constexpr size_t pOffset = 0;
|
||||
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN || \
|
||||
+ defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ || \
|
||||
defined(__LITTLE_ENDIAN__) || defined(__ARMEL__) || \
|
||||
defined(__THUMBEL__) || defined(__AARCH64EL__) || defined(_MIPSEL) || \
|
||||
defined(__MIPSEL) || defined(__MIPSEL__) || defined(__EMSCRIPTEN__) || \
|
|
@ -1,7 +1,7 @@
|
|||
# Template file for 'godot'
|
||||
pkgname=godot
|
||||
version=4.3
|
||||
revision=7
|
||||
version=4.4.1
|
||||
revision=1
|
||||
archs="x86_64* i686* aarch64* armv7* ppc64*"
|
||||
build_style=scons
|
||||
make_build_args="platform=linuxbsd target=editor progress=no production=yes
|
||||
|
@ -25,7 +25,7 @@ maintainer="dataCobra <datacobra@thinkbot.de>"
|
|||
license="MIT"
|
||||
homepage="https://www.godotengine.org/"
|
||||
distfiles="https://github.com/godotengine/godot/archive/${version}-stable.tar.gz"
|
||||
checksum=6a441d02957432d76343052296dc514b1b6bd72af920c9f2518b1ec3cb534874
|
||||
checksum=a486c523494e155b6912a607b5813577f8f39285f8ad43ac76cb9141edad9888
|
||||
nocross=https://build.voidlinux.org/builders/armv7l_builder/builds/6342/steps/shell_3/logs/stdio
|
||||
|
||||
CFLAGS+=" -fPIE -fPIC"
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
icu4lua
|
|
@ -1,47 +0,0 @@
|
|||
VERSION?= 0.2B
|
||||
DESTDIR?= /
|
||||
PREFIX= $(DESTDIR)/usr
|
||||
LIBDIR= $(PREFIX)/lib
|
||||
INCDIR= $(PREFIX)/include
|
||||
|
||||
SILENT?=
|
||||
SOURCES= icu.c icu.collator.c icu.idna.c icu.normalizer.c icu.regex.c \
|
||||
icu.stringprep.c icu.ufile.c icu.ustring.c icu.utf8.c matchengine.c
|
||||
OBJS= icu.o icu.collator.o icu.idna.o icu.normalizer.o icu.regex.o \
|
||||
icu.stringprep.o icu.ufile.o icu.ustring.o icu.utf8.o matchengine.o
|
||||
HEADERS= formatting.h icu4lua.h matchengine.h
|
||||
TARGET= libicu4lua.so
|
||||
SO_MAJOR= 0
|
||||
SO_MINOR= 1
|
||||
SO_BUILD= 1
|
||||
SO_VER= $(SO_MAJOR).$(SO_MINOR).$(SO_BUILD)
|
||||
ICU_CFLAGS= `pkg-config --cflags icu-i18n icu-io`
|
||||
ICU_LIBS= `pkg-config --libs icu-i18n icu-io`
|
||||
LUA_CFLAGS= `pkg-config --cflags lua5.1`
|
||||
LUA_LIBS= `pkg-config --libs lua5.1`
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): $(OBJS)
|
||||
@echo "Linking $@ ..."
|
||||
$(SILENT)$(CC) -shared -Wl,-soname,$(TARGET).$(SO_MAJOR) \
|
||||
-o $(TARGET).$(SO_VER) $(LDFLAGS) \
|
||||
$(OBJS) $(LIBS) $(LUA_LIBS) -L/usr/lib/icu $(ICU_LIBS)
|
||||
|
||||
.c.o:
|
||||
@echo "Compling $< ..."
|
||||
$(SILENT)$(CC) $(CFLAGS) $(ICU_CFLAGS) $(LUA_CFLAGS) -o $@ -c $<
|
||||
|
||||
install: $(TARGET)
|
||||
@echo "Installing..."
|
||||
install -d $(LIBDIR)/
|
||||
install -m 0755 $(TARGET).$(SO_VER) $(LIBDIR)
|
||||
ln -s $(TARGET).$(SO_VER) $(LIBDIR)/$(TARGET).$(SO_MAJOR).$(SO_MINOR)
|
||||
ln -s $(TARGET).$(SO_MAJOR).$(SO_MINOR) $(LIBDIR)/$(TARGET).$(SO_MAJOR)
|
||||
ln -s $(TARGET).$(SO_MAJOR) $(LIBDIR)/$(TARGET)
|
||||
install -d $(INCDIR)/icu4lua
|
||||
install -m 0644 *.h $(INCDIR)/icu4lua
|
||||
install -d $(LIBDIR)/pkgconfig
|
||||
sed < icu4lua.pc.in -e "s;@VERSION@;$(VERSION);" \
|
||||
> $(LIBDIR)/pkgconfig/icu4lua.pc
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${exec_prefix}/incude
|
||||
|
||||
Name: icu4lua
|
||||
Description: Unicode support for Lua 5.1
|
||||
Version: @VERSION@
|
||||
Requires: icu-i18n icu-io
|
||||
Libs: -L${libdir} -licu4lua
|
||||
CFlags: -I${includedir}/icu4lua
|
|
@ -1,94 +0,0 @@
|
|||
--- a/src/icu.ustring.c.orig
|
||||
+++ b/src/icu.ustring.c
|
||||
@@ -38,7 +38,7 @@
|
||||
target_limit = target + ICU4LUA_UBUFFERSIZE;
|
||||
for (;;) {
|
||||
status = U_ZERO_ERROR;
|
||||
- ucnv_toUnicode(conv, &target, target_limit, &source, source_limit, NULL, TRUE, &status);
|
||||
+ ucnv_toUnicode(conv, &target, target_limit, &source, source_limit, NULL, 1, &status);
|
||||
switch(status) {
|
||||
case U_ZERO_ERROR:
|
||||
icu4lua_addusize(&build_buffer, target - temp_buffer);
|
||||
@@ -100,7 +100,7 @@
|
||||
|
||||
for (;;) {
|
||||
status = U_ZERO_ERROR;
|
||||
- ucnv_fromUnicode(conv, &target, target_limit, &source, source_limit, NULL, TRUE, &status);
|
||||
+ ucnv_fromUnicode(conv, &target, target_limit, &source, source_limit, NULL, 1, &status);
|
||||
switch(status) {
|
||||
case U_BUFFER_OVERFLOW_ERROR:
|
||||
luaL_addsize(&build_buffer, (const char*)target - (const char*)temp_buffer);
|
||||
@@ -691,7 +691,7 @@
|
||||
lua_pushboolean(L, u_strCompare(
|
||||
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
|
||||
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
|
||||
- TRUE
|
||||
+ 1
|
||||
) < 0);
|
||||
return 1;
|
||||
}
|
||||
@@ -703,7 +703,7 @@
|
||||
lua_pushboolean(L, u_strCompare(
|
||||
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
|
||||
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
|
||||
- TRUE
|
||||
+ 1
|
||||
) <= 0);
|
||||
return 1;
|
||||
}
|
||||
@@ -733,7 +733,7 @@
|
||||
lua_pushboolean(L, u_strCompare(
|
||||
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
|
||||
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
|
||||
- TRUE
|
||||
+ 1
|
||||
) < 0);
|
||||
}
|
||||
return 1;
|
||||
@@ -759,7 +759,7 @@
|
||||
lua_pushboolean(L, u_strCompare(
|
||||
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
|
||||
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
|
||||
- TRUE
|
||||
+ 1
|
||||
) <= 0);
|
||||
}
|
||||
return 1;
|
||||
@@ -785,7 +785,7 @@
|
||||
lua_pushboolean(L, u_strCompare(
|
||||
icu4lua_trustustring(L,1), (int32_t)icu4lua_ustrlen(L,1),
|
||||
icu4lua_trustustring(L,2), (int32_t)icu4lua_ustrlen(L,2),
|
||||
- TRUE
|
||||
+ 1
|
||||
) == 0);
|
||||
}
|
||||
return 1;
|
||||
--- a/src/icu.utf8.c.orig
|
||||
+++ b/src/icu.utf8.c
|
||||
@@ -730,7 +730,7 @@
|
||||
UCharIterator iter_b;
|
||||
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
|
||||
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
|
||||
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) < 0);
|
||||
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) < 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -746,7 +746,7 @@
|
||||
UCharIterator iter_b;
|
||||
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
|
||||
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
|
||||
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) <= 0);
|
||||
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) <= 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -764,7 +764,7 @@
|
||||
UCharIterator iter_b;
|
||||
uiter_setUTF8(&iter_a, utf8_a, (int32_t)a_len);
|
||||
uiter_setUTF8(&iter_b, utf8_b, (int32_t)b_len);
|
||||
- lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, TRUE) == 0);
|
||||
+ lua_pushboolean(L, u_strCompareIter(&iter_a, &iter_b, 1) == 0);
|
||||
}
|
||||
return 1;
|
||||
}
|
|
@ -1,42 +0,0 @@
|
|||
# Template file for 'icu4lua'
|
||||
pkgname=icu4lua
|
||||
version=0.2B
|
||||
revision=14
|
||||
create_wrksrc=yes
|
||||
build_style=gnu-makefile
|
||||
hostmakedepends="pkg-config unzip"
|
||||
makedepends="icu-devel lua51-devel"
|
||||
short_desc="Binary module for providing Unicode support to Lua"
|
||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||
license="MIT,X"
|
||||
homepage="http://luaforge.net/projects/icu-lua/"
|
||||
distfiles="
|
||||
http://files.luaforge.net/releases/icu-lua/icu-lua/${version}/ICU4Lua-${version}-src.zip
|
||||
http://files.luaforge.net/releases/icu-lua/icu-lua/${version}/ICU4Lua-${version}-docs.zip"
|
||||
checksum="
|
||||
04368e7f7573f7e0d9ca4d9f06d760234ae51199e6e7682701a0fc0cfb5cd677
|
||||
d46449d77bc403e3258fd77e37de664148b0051fbd92a5d1c51b167370a26d02"
|
||||
|
||||
CFLAGS="-fPIC"
|
||||
|
||||
do_build() {
|
||||
cp ${FILESDIR}/Makefile src
|
||||
cp ${FILESDIR}/icu4lua.pc.in src
|
||||
make -C src ${make_build_args} ${make_build_target}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
make -C src VERSION=${version} DESTDIR=${DESTDIR} install
|
||||
vdoc doc/index.html
|
||||
}
|
||||
|
||||
icu4lua-devel_package() {
|
||||
short_desc+=" - development files"
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
pkg_install() {
|
||||
vmove usr/share/doc
|
||||
vmove usr/include
|
||||
vmove usr/lib/pkgconfig
|
||||
vmove "usr/lib/*.so"
|
||||
}
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
site=http://files.luaforge.net/releases/icu-lua/icu-lua
|
||||
pattern="\K[\d]+\.[\d][A-Z]+"
|
|
@ -1,14 +1,14 @@
|
|||
# Template file for 'kernel-libc-headers'
|
||||
pkgname=kernel-libc-headers
|
||||
version=6.1
|
||||
version=6.14
|
||||
revision=1
|
||||
bootstrap=yes
|
||||
short_desc="Linux API headers for userland development"
|
||||
maintainer="Érico Nogueira <ericonr@disroot.org>"
|
||||
license="GPL-2.0-only"
|
||||
homepage="http://www.kernel.org"
|
||||
distfiles="$KERNEL_SITE/kernel/v${version%%.*}.x/linux-${version}.tar.xz"
|
||||
checksum=2ca1f17051a430f6fed1196e4952717507171acfd97d96577212502703b25deb
|
||||
distfiles="${KERNEL_SITE}/kernel/v${version%%.*}.x/linux-${version}.tar.xz"
|
||||
checksum=a294b683e7b161bb0517bb32ec7ed1d2ea7603dfbabad135170ed12d00c47670
|
||||
|
||||
if [ "$CHROOT_READY" ]; then
|
||||
hostmakedepends="perl"
|
||||
|
@ -25,12 +25,11 @@ esac
|
|||
|
||||
do_build() {
|
||||
make mrproper
|
||||
make ARCH=${_arch} headers
|
||||
# remove extra files and drm headers
|
||||
find usr/include -name '.*' -delete
|
||||
rm usr/include/Makefile
|
||||
rm -rf usr/include/drm
|
||||
make ARCH="${_arch}" headers
|
||||
}
|
||||
|
||||
do_install() {
|
||||
vcopy usr/include usr
|
||||
# the make header_install depends on rsync so just do the same thing manuall.
|
||||
vcopy usr/include usr
|
||||
find "${DESTDIR}/usr/include" -type f ! -name '*.h' -delete
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Template file for 'limine'
|
||||
pkgname=limine
|
||||
version=9.2.1
|
||||
version=9.2.2
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
configure_args="--enable-all TOOLCHAIN_FOR_TARGET=llvm"
|
||||
|
@ -11,7 +11,7 @@ license="BSD-2-Clause"
|
|||
homepage="https://limine-bootloader.org/"
|
||||
changelog="https://raw.githubusercontent.com/limine-bootloader/limine/trunk/ChangeLog"
|
||||
distfiles="https://github.com/limine-bootloader/limine/releases/download/v${version}/limine-${version}.tar.gz"
|
||||
checksum=c87afc14c38a9569529249a41800c2e91e0f1ceeed1e4dfc830ac94bf9cfbefb
|
||||
checksum=b83decd75effba101e4427b1efc81748cf73201c85be36e3795ca090f5f08083
|
||||
|
||||
post_install() {
|
||||
vlicense COPYING
|
||||
|
|
|
@ -9,7 +9,7 @@ _desc="POSIX library for Lua programming language"
|
|||
short_desc="${_desc} (5.4.x)"
|
||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
||||
license="MIT"
|
||||
homepage="http://luaforge.net/projects/luaposix/"
|
||||
homepage="https://luaposix.github.io/luaposix/"
|
||||
distfiles="https://github.com/luaposix/luaposix/archive/refs/tags/v${version}.tar.gz"
|
||||
checksum=a4edf2f715feff65acb009e8d1689e57ec665eb79bc36a6649fae55eafd56809
|
||||
lib32disabled=yes
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
From 55fb9a177316aa46c639d93dd0323d9a9a8c160c Mon Sep 17 00:00:00 2001
|
||||
From: Rich Felker <dalias@aerifal.cx>
|
||||
Date: Wed, 9 Sep 2020 21:55:11 -0400
|
||||
Subject: [PATCH] use new SYS_faccessat2 syscall to implement faccessat with
|
||||
flags
|
||||
|
||||
commit 0a05eace163cee9b08571d2ff9d90f5e82d9c228 implemented AT_EACCESS
|
||||
for faccessat with a horrible hack, creating a child process to change
|
||||
switch uid/gid and perform the access probe without making potentially
|
||||
irreversible changes to the caller's credentials. this was due to the
|
||||
syscall lacking a flags argument.
|
||||
|
||||
linux 5.8 introduced a new syscall, SYS_faccessat2, fixing this
|
||||
deficiency. use it if any flags are passed, and fallback to the old
|
||||
strategy on ENOSYS. continue using the old syscall when there are no
|
||||
flags.
|
||||
---
|
||||
src/unistd/faccessat.c | 11 ++++++++---
|
||||
1 file changed, 8 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/unistd/faccessat.c b/src/unistd/faccessat.c
|
||||
index 76bbd4c72..557503eb6 100644
|
||||
--- a/src/unistd/faccessat.c
|
||||
+++ b/src/unistd/faccessat.c
|
||||
@@ -25,12 +25,17 @@ static int checker(void *p)
|
||||
|
||||
int faccessat(int fd, const char *filename, int amode, int flag)
|
||||
{
|
||||
- if (!flag || (flag==AT_EACCESS && getuid()==geteuid() && getgid()==getegid()))
|
||||
- return syscall(SYS_faccessat, fd, filename, amode, flag);
|
||||
+ if (flag) {
|
||||
+ int ret = __syscall(SYS_faccessat2, fd, filename, amode, flag);
|
||||
+ if (ret != -ENOSYS) return __syscall_ret(ret);
|
||||
+ }
|
||||
|
||||
- if (flag != AT_EACCESS)
|
||||
+ if (flag & ~AT_EACCESS)
|
||||
return __syscall_ret(-EINVAL);
|
||||
|
||||
+ if (!flag || (getuid()==geteuid() && getgid()==getegid()))
|
||||
+ return syscall(SYS_faccessat, fd, filename, amode);
|
||||
+
|
||||
char stack[1024];
|
||||
sigset_t set;
|
||||
pid_t pid;
|
370
srcpkgs/musl/patches/new-syscalls.patch
Normal file
370
srcpkgs/musl/patches/new-syscalls.patch
Normal file
|
@ -0,0 +1,370 @@
|
|||
--- a/arch/aarch64/bits/syscall.h.in
|
||||
+++ b/arch/aarch64/bits/syscall.h.in
|
||||
@@ -287,4 +287,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 4434
|
||||
+#define __NR_clone3 4435
|
||||
+#define __NR_close_range 4436
|
||||
+#define __NR_openat2 4437
|
||||
+#define __NR_pidfd_getfd 4438
|
||||
+#define __NR_faccessat2 4439
|
||||
+#define __NR_process_madvise 4440
|
||||
+#define __NR_epoll_pwait2 4441
|
||||
+#define __NR_mount_setattr 4442
|
||||
+#define __NR_landlock_create_ruleset 4444
|
||||
+#define __NR_landlock_add_rule 4445
|
||||
+#define __NR_landlock_restrict_self 4446
|
||||
+#define __NR_process_mrelease 4448
|
||||
+#define __NR_futex_waitv 4449
|
||||
+#define __NR_set_mempolicy_home_node 4450
|
||||
+#define __NR_cachestat 4451
|
||||
+#define __NR_fchmodat2 4452
|
||||
|
||||
--- a/arch/arm/bits/syscall.h.in
|
||||
+++ b/arch/arm/bits/syscall.h.in
|
||||
@@ -387,6 +387,23 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
#define __ARM_NR_breakpoint 0x0f0001
|
||||
#define __ARM_NR_cacheflush 0x0f0002
|
||||
--- a/arch/i386/bits/syscall.h.in
|
||||
+++ b/arch/i386/bits/syscall.h.in
|
||||
@@ -424,4 +424,22 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_memfd_secret 447
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/m68k/bits/syscall.h.in
|
||||
+++ b/arch/m68k/bits/syscall.h.in
|
||||
@@ -404,3 +404,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
+
|
||||
--- a/arch/microblaze/bits/syscall.h.in
|
||||
+++ b/arch/microblaze/bits/syscall.h.in
|
||||
@@ -425,4 +425,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/mips/bits/syscall.h.in
|
||||
+++ b/arch/mips/bits/syscall.h.in
|
||||
@@ -406,4 +406,21 @@
|
||||
#define __NR_fsconfig 4431
|
||||
#define __NR_fsmount 4432
|
||||
#define __NR_fspick 4433
|
||||
+#define __NR_pidfd_open 4434
|
||||
+#define __NR_clone3 4435
|
||||
+#define __NR_close_range 4436
|
||||
+#define __NR_openat2 4437
|
||||
+#define __NR_pidfd_getfd 4438
|
||||
+#define __NR_faccessat2 4439
|
||||
+#define __NR_process_madvise 4440
|
||||
+#define __NR_epoll_pwait2 4441
|
||||
+#define __NR_mount_setattr 4442
|
||||
+#define __NR_landlock_create_ruleset 4444
|
||||
+#define __NR_landlock_add_rule 4445
|
||||
+#define __NR_landlock_restrict_self 4446
|
||||
+#define __NR_process_mrelease 4448
|
||||
+#define __NR_futex_waitv 4449
|
||||
+#define __NR_set_mempolicy_home_node 4450
|
||||
+#define __NR_cachestat 4451
|
||||
+#define __NR_fchmodat2 4452
|
||||
|
||||
--- a/arch/mips64/bits/syscall.h.in
|
||||
+++ b/arch/mips64/bits/syscall.h.in
|
||||
@@ -336,4 +336,21 @@
|
||||
#define __NR_fsconfig 5431
|
||||
#define __NR_fsmount 5432
|
||||
#define __NR_fspick 5433
|
||||
+#define __NR_pidfd_open 5434
|
||||
+#define __NR_clone3 5435
|
||||
+#define __NR_close_range 5436
|
||||
+#define __NR_openat2 5437
|
||||
+#define __NR_pidfd_getfd 5438
|
||||
+#define __NR_faccessat2 5439
|
||||
+#define __NR_process_madvise 5440
|
||||
+#define __NR_epoll_pwait2 5441
|
||||
+#define __NR_mount_setattr 5442
|
||||
+#define __NR_landlock_create_ruleset 5444
|
||||
+#define __NR_landlock_add_rule 5445
|
||||
+#define __NR_landlock_restrict_self 5446
|
||||
+#define __NR_process_mrelease 5448
|
||||
+#define __NR_futex_waitv 5449
|
||||
+#define __NR_set_mempolicy_home_node 5450
|
||||
+#define __NR_cachestat 5451
|
||||
+#define __NR_fchmodat2 5452
|
||||
|
||||
--- a/arch/mipsn32/bits/syscall.h.in
|
||||
+++ b/arch/mipsn32/bits/syscall.h.in
|
||||
@@ -360,4 +360,21 @@
|
||||
#define __NR_fsconfig 6431
|
||||
#define __NR_fsmount 6432
|
||||
#define __NR_fspick 6433
|
||||
+#define __NR_pidfd_open 6434
|
||||
+#define __NR_clone3 6435
|
||||
+#define __NR_close_range 6436
|
||||
+#define __NR_openat2 6437
|
||||
+#define __NR_pidfd_getfd 6438
|
||||
+#define __NR_faccessat2 6439
|
||||
+#define __NR_process_madvise 6440
|
||||
+#define __NR_epoll_pwait2 6441
|
||||
+#define __NR_mount_setattr 6442
|
||||
+#define __NR_landlock_create_ruleset 6444
|
||||
+#define __NR_landlock_add_rule 6445
|
||||
+#define __NR_landlock_restrict_self 6446
|
||||
+#define __NR_process_mrelease 6448
|
||||
+#define __NR_futex_waitv 6449
|
||||
+#define __NR_set_mempolicy_home_node 6450
|
||||
+#define __NR_cachestat 6451
|
||||
+#define __NR_fchmodat2 6452
|
||||
|
||||
--- a/arch/or1k/bits/syscall.h.in
|
||||
+++ b/arch/or1k/bits/syscall.h.in
|
||||
@@ -309,4 +309,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/powerpc/bits/syscall.h.in
|
||||
+++ b/arch/powerpc/bits/syscall.h.in
|
||||
@@ -413,4 +413,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/riscv64/bits/syscall.h.in
|
||||
+++ b/arch/riscv64/bits/syscall.h.in
|
||||
@@ -287,6 +287,23 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
#define __NR_sysriscv __NR_arch_specific_syscall
|
||||
#define __NR_riscv_flush_icache (__NR_sysriscv + 15)
|
||||
--- a/arch/s390x/bits/syscall.h.in
|
||||
+++ b/arch/s390x/bits/syscall.h.in
|
||||
@@ -350,4 +350,22 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_memfd_secret 447
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/sh/bits/syscall.h.in
|
||||
+++ b/arch/sh/bits/syscall.h.in
|
||||
@@ -397,4 +397,21 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
||||
--- a/arch/x32/bits/syscall.h.in
|
||||
+++ b/arch/x32/bits/syscall.h.in
|
||||
@@ -296,6 +296,24 @@
|
||||
#define __NR_fsconfig (0x40000000 + 431)
|
||||
#define __NR_fsmount (0x40000000 + 432)
|
||||
#define __NR_fspick (0x40000000 + 433)
|
||||
+#define __NR_pidfd_open (0x40000000 + 434)
|
||||
+#define __NR_clone3 (0x40000000 + 435)
|
||||
+#define __NR_close_range (0x40000000 + 436)
|
||||
+#define __NR_openat2 (0x40000000 + 437)
|
||||
+#define __NR_pidfd_getfd (0x40000000 + 438)
|
||||
+#define __NR_faccessat2 (0x40000000 + 439)
|
||||
+#define __NR_process_madvise (0x40000000 + 440)
|
||||
+#define __NR_epoll_pwait2 (0x40000000 + 441)
|
||||
+#define __NR_mount_setattr (0x40000000 + 442)
|
||||
+#define __NR_landlock_create_ruleset (0x40000000 + 444)
|
||||
+#define __NR_landlock_add_rule (0x40000000 + 445)
|
||||
+#define __NR_landlock_restrict_self (0x40000000 + 446)
|
||||
+#define __NR_memfd_secret (0x40000000 + 447)
|
||||
+#define __NR_process_mrelease (0x40000000 + 448)
|
||||
+#define __NR_futex_waitv (0x40000000 + 449)
|
||||
+#define __NR_set_mempolicy_home_node (0x40000000 + 450)
|
||||
+#define __NR_cachestat (0x40000000 + 451)
|
||||
+#define __NR_fchmodat2 (0x40000000 + 452)
|
||||
|
||||
#define __NR_rt_sigaction (0x40000000 + 512)
|
||||
#define __NR_rt_sigreturn (0x40000000 + 513)
|
||||
--- a/arch/x86_64/bits/syscall.h.in
|
||||
+++ b/arch/x86_64/bits/syscall.h.in
|
||||
@@ -343,4 +343,22 @@
|
||||
#define __NR_fsconfig 431
|
||||
#define __NR_fsmount 432
|
||||
#define __NR_fspick 433
|
||||
+#define __NR_pidfd_open 434
|
||||
+#define __NR_clone3 435
|
||||
+#define __NR_close_range 436
|
||||
+#define __NR_openat2 437
|
||||
+#define __NR_pidfd_getfd 438
|
||||
+#define __NR_faccessat2 439
|
||||
+#define __NR_process_madvise 440
|
||||
+#define __NR_epoll_pwait2 441
|
||||
+#define __NR_mount_setattr 442
|
||||
+#define __NR_landlock_create_ruleset 444
|
||||
+#define __NR_landlock_add_rule 445
|
||||
+#define __NR_landlock_restrict_self 446
|
||||
+#define __NR_memfd_secret 447
|
||||
+#define __NR_process_mrelease 448
|
||||
+#define __NR_futex_waitv 449
|
||||
+#define __NR_set_mempolicy_home_node 450
|
||||
+#define __NR_cachestat 451
|
||||
+#define __NR_fchmodat2 452
|
||||
|
201
srcpkgs/musl/patches/statx.patch
Normal file
201
srcpkgs/musl/patches/statx.patch
Normal file
|
@ -0,0 +1,201 @@
|
|||
From b817541f1cfd38e4b81257b3215e276ea9d0fc61 Mon Sep 17 00:00:00 2001
|
||||
From: Duncan Bellamy <dunk@denkimushi.com>
|
||||
Date: Wed, 31 Aug 2022 20:07:34 +0100
|
||||
Subject: [PATCH] add statx interface using syscall, fallback to fstatat
|
||||
|
||||
---
|
||||
include/sys/stat.h | 55 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
src/linux/statx.c | 42 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 97 insertions(+)
|
||||
create mode 100644 src/linux/statx.c
|
||||
|
||||
diff --git a/include/sys/stat.h b/include/sys/stat.h
|
||||
index e6d0049c..6690192d 100644
|
||||
--- a/include/sys/stat.h
|
||||
+++ b/include/sys/stat.h
|
||||
@@ -18,6 +18,13 @@ extern "C" {
|
||||
#define __NEED_blkcnt_t
|
||||
#define __NEED_struct_timespec
|
||||
|
||||
+#ifdef _GNU_SOURCE
|
||||
+#define __NEED_int64_t
|
||||
+#define __NEED_uint64_t
|
||||
+#define __NEED_uint32_t
|
||||
+#define __NEED_uint16_t
|
||||
+#endif
|
||||
+
|
||||
#include <bits/alltypes.h>
|
||||
|
||||
#include <bits/stat.h>
|
||||
@@ -98,6 +105,54 @@ int lchmod(const char *, mode_t);
|
||||
#define S_IEXEC S_IXUSR
|
||||
#endif
|
||||
|
||||
+#if defined(_GNU_SOURCE)
|
||||
+#define STATX_TYPE 1U
|
||||
+#define STATX_MODE 2U
|
||||
+#define STATX_NLINK 4U
|
||||
+#define STATX_UID 8U
|
||||
+#define STATX_GID 0x10U
|
||||
+#define STATX_ATIME 0x20U
|
||||
+#define STATX_MTIME 0x40U
|
||||
+#define STATX_CTIME 0x80U
|
||||
+#define STATX_INO 0x100U
|
||||
+#define STATX_SIZE 0x200U
|
||||
+#define STATX_BLOCKS 0x400U
|
||||
+#define STATX_BASIC_STATS 0x7ffU
|
||||
+#define STATX_BTIME 0x800U
|
||||
+#define STATX_ALL 0xfffU
|
||||
+
|
||||
+struct statx_timestamp {
|
||||
+ int64_t tv_sec;
|
||||
+ uint32_t tv_nsec, __pad;
|
||||
+};
|
||||
+
|
||||
+struct statx {
|
||||
+ uint32_t stx_mask;
|
||||
+ uint32_t stx_blksize;
|
||||
+ uint64_t stx_attributes;
|
||||
+ uint32_t stx_nlink;
|
||||
+ uint32_t stx_uid;
|
||||
+ uint32_t stx_gid;
|
||||
+ uint16_t stx_mode;
|
||||
+ uint16_t __pad0[1];
|
||||
+ uint64_t stx_ino;
|
||||
+ uint64_t stx_size;
|
||||
+ uint64_t stx_blocks;
|
||||
+ uint64_t stx_attributes_mask;
|
||||
+ struct statx_timestamp stx_atime;
|
||||
+ struct statx_timestamp stx_btime;
|
||||
+ struct statx_timestamp stx_ctime;
|
||||
+ struct statx_timestamp stx_mtime;
|
||||
+ uint32_t stx_rdev_major;
|
||||
+ uint32_t stx_rdev_minor;
|
||||
+ uint32_t stx_dev_major;
|
||||
+ uint32_t stx_dev_minor;
|
||||
+ uint64_t __pad1[14];
|
||||
+};
|
||||
+
|
||||
+int statx(int, const char *__restrict, int, unsigned, struct statx *__restrict);
|
||||
+#endif
|
||||
+
|
||||
#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
|
||||
#define stat64 stat
|
||||
#define fstat64 fstat
|
||||
diff --git a/src/linux/statx.c b/src/linux/statx.c
|
||||
new file mode 100644
|
||||
index 00000000..4616bff4
|
||||
--- /dev/null
|
||||
+++ b/src/linux/statx.c
|
||||
@@ -0,0 +1,42 @@
|
||||
+#define _GNU_SOURCE
|
||||
+#include <sys/stat.h>
|
||||
+#include <string.h>
|
||||
+#include <syscall.h>
|
||||
+#include <sys/sysmacros.h>
|
||||
+#include <errno.h>
|
||||
+
|
||||
+int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct statx *restrict stx)
|
||||
+{
|
||||
+ int ret = __syscall(SYS_statx, dirfd, path, flags, mask, stx);
|
||||
+
|
||||
+#ifndef SYS_fstatat
|
||||
+ return __syscall_ret(ret);
|
||||
+#endif
|
||||
+
|
||||
+ if (ret != -ENOSYS) return __syscall_ret(ret);
|
||||
+
|
||||
+ struct stat st;
|
||||
+ ret = fstatat(dirfd, path, &st, flags);
|
||||
+ if (ret) return ret;
|
||||
+
|
||||
+ stx->stx_dev_major = major(st.st_dev);
|
||||
+ stx->stx_dev_minor = minor(st.st_dev);
|
||||
+ stx->stx_ino = st.st_ino;
|
||||
+ stx->stx_mode = st.st_mode;
|
||||
+ stx->stx_nlink = st.st_nlink;
|
||||
+ stx->stx_uid = st.st_uid;
|
||||
+ stx->stx_gid = st.st_gid;
|
||||
+ stx->stx_size = st.st_size;
|
||||
+ stx->stx_blksize = st.st_blksize;
|
||||
+ stx->stx_blocks = st.st_blocks;
|
||||
+ stx->stx_atime.tv_sec = st.st_atim.tv_sec;
|
||||
+ stx->stx_atime.tv_nsec = st.st_atim.tv_nsec;
|
||||
+ stx->stx_mtime.tv_sec = st.st_mtim.tv_sec;
|
||||
+ stx->stx_mtime.tv_nsec = st.st_mtim.tv_nsec;
|
||||
+ stx->stx_ctime.tv_sec = st.st_ctim.tv_sec;
|
||||
+ stx->stx_ctime.tv_nsec = st.st_ctim.tv_nsec;
|
||||
+ stx->stx_btime = (struct statx_timestamp){.tv_sec=0, .tv_nsec=0};
|
||||
+ stx->stx_mask = STATX_BASIC_STATS;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
|
||||
From 251cbb6366403a056b39638264932c82d18ec610 Mon Sep 17 00:00:00 2001
|
||||
From: Gabriel Ravier <gabravier@gmail.com>
|
||||
Date: Fri, 13 Sep 2024 22:00:15 +0200
|
||||
Subject: [PATCH] statx: fix ENOSYS emulation not setting stx_rdev_*
|
||||
|
||||
The current implementation of the statx function fails to set the
|
||||
values of stx->stx_rdev_major and stx->stx_rdev_minor if the statx
|
||||
syscall fails with ENOSYS and thus the statx function has to fall back
|
||||
on fstatat-based emulation.
|
||||
---
|
||||
src/linux/statx.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/linux/statx.c b/src/linux/statx.c
|
||||
index 4616bff4a..5f6dde923 100644
|
||||
--- a/src/linux/statx.c
|
||||
+++ b/src/linux/statx.c
|
||||
@@ -21,6 +21,8 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
|
||||
|
||||
stx->stx_dev_major = major(st.st_dev);
|
||||
stx->stx_dev_minor = minor(st.st_dev);
|
||||
+ stx->stx_rdev_major = major(st.st_rdev);
|
||||
+ stx->stx_rdev_minor = minor(st.st_rdev);
|
||||
stx->stx_ino = st.st_ino;
|
||||
stx->stx_mode = st.st_mode;
|
||||
stx->stx_nlink = st.st_nlink;
|
||||
|
||||
From 4ca8c267768e371930ef7ec9593a5f8b44a7f810 Mon Sep 17 00:00:00 2001
|
||||
From: Rich Felker <dalias@aerifal.cx>
|
||||
Date: Fri, 13 Sep 2024 17:08:11 -0400
|
||||
Subject: [PATCH] statx: fix uninitialized attributes/mask in fallback path
|
||||
|
||||
commit b817541f1cfd38e4b81257b3215e276ea9d0fc61 introduced statx with
|
||||
a fallback using fstatat, but failed to fill in stx_rdev_major/minor
|
||||
and stx_attributes[_mask]. the rdev omission has been addressed
|
||||
separately. rather than explicitly zeroing the attributes and their
|
||||
mask, pre-fill the entire structure with zeros. this will also cover
|
||||
the padding adjacent to stx_mode, in case it's ever used in the
|
||||
future.
|
||||
|
||||
explicit zeroing of stx_btime is removed since, with this change, it
|
||||
will already be pre-zeroed. as an aside, zeroing it was not strictly
|
||||
necessary, since STATX_BASIC_STATS does not include STATX_BTIME and
|
||||
thus does not indicate any validity for it.
|
||||
---
|
||||
src/linux/statx.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/linux/statx.c b/src/linux/statx.c
|
||||
index 5f6dde92..4fb96e4b 100644
|
||||
--- a/src/linux/statx.c
|
||||
+++ b/src/linux/statx.c
|
||||
@@ -19,6 +19,7 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
|
||||
ret = fstatat(dirfd, path, &st, flags);
|
||||
if (ret) return ret;
|
||||
|
||||
+ *stx = (struct statx){0};
|
||||
stx->stx_dev_major = major(st.st_dev);
|
||||
stx->stx_dev_minor = minor(st.st_dev);
|
||||
stx->stx_rdev_major = major(st.st_rdev);
|
||||
@@ -37,7 +38,6 @@ int statx(int dirfd, const char *restrict path, int flags, unsigned mask, struct
|
||||
stx->stx_mtime.tv_nsec = st.st_mtim.tv_nsec;
|
||||
stx->stx_ctime.tv_sec = st.st_ctim.tv_sec;
|
||||
stx->stx_ctime.tv_nsec = st.st_ctim.tv_nsec;
|
||||
- stx->stx_btime = (struct statx_timestamp){.tv_sec=0, .tv_nsec=0};
|
||||
stx->stx_mask = STATX_BASIC_STATS;
|
||||
|
||||
return 0;
|
|
@ -2,7 +2,7 @@
|
|||
pkgname=musl
|
||||
reverts="1.2.0_1"
|
||||
version=1.1.24
|
||||
revision=23
|
||||
revision=24
|
||||
archs="*-musl"
|
||||
bootstrap=yes
|
||||
build_style=gnu-configure
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# Template file for 'opera'
|
||||
pkgname=opera
|
||||
version=116.0.5366.71
|
||||
version=117.0.5408.93
|
||||
revision=1
|
||||
archs="x86_64"
|
||||
create_wrksrc=yes
|
||||
|
@ -10,7 +10,7 @@ maintainer="mobinmob <mobinmob@disroot.org>"
|
|||
license="custom:Proprietary"
|
||||
homepage="https://www.opera.com/computer"
|
||||
distfiles="https://get.geo.opera.com/pub/opera/desktop/${version}/linux/opera-stable_${version}_amd64.rpm"
|
||||
checksum=d6b15ab8cdd5288104d16fb408826175a1c9ed99ce8631ae59c238294212be7c
|
||||
checksum=a094adf3865839270ee9967155c266d670c3f3bd00e986b4125eb57d814374e4
|
||||
repository="nonfree"
|
||||
nostrip=yes
|
||||
|
||||
|
|
|
@ -314,6 +314,8 @@ replaces="
|
|||
icecat-i18n-zh-CN<=78.6.1_1
|
||||
icecat-i18n-zh-TW<=78.6.1_1
|
||||
icecat<=78.6.1_1
|
||||
icu4lua-devel<=0.2B_14
|
||||
icu4lua<=0.2B_14
|
||||
ilmbase-devel<=2.4.2_2
|
||||
ilmbase<=2.4.2_2
|
||||
ioquake3-rpi<=20130506_2
|
||||
|
|
Loading…
Add table
Reference in a new issue