Compare commits

..

2 Commits

Author SHA1 Message Date
Bananymous e1c372332c Kernel: Fix fchmodat mode handling
Ignore file type bits instead of returning EINVAL if they are set
2025-05-29 03:21:01 +03:00
Bananymous 6bfdc08508 test 2025-05-29 01:26:48 +03:00
3 changed files with 38 additions and 3 deletions

View File

@ -1217,8 +1217,6 @@ namespace Kernel
BAN::ErrorOr<long> Process::sys_fchmodat(int fd, const char* path, mode_t mode, int flag)
{
if (mode & S_IFMASK)
return BAN::Error::from_errno(EINVAL);
if (flag & ~AT_SYMLINK_NOFOLLOW)
return BAN::Error::from_errno(EINVAL);
if (flag == AT_SYMLINK_NOFOLLOW)
@ -1234,7 +1232,7 @@ namespace Kernel
return BAN::Error::from_errno(EPERM);
}
TRY(inode->chmod(mode));
TRY(inode->chmod(mode & ~S_IFMASK));
return 0;
}

17
ports/git/build.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash ../install.sh
NAME='git'
VERSION='2.48.1'
DOWNLOAD_URL="https://www.kernel.org/pub/software/scm/git/git-$VERSION.tar.gz#51b4d03b1e311ba673591210f94f24a4c5781453e1eb188822e3d9cdc04c2212"
DEPENDENCIES=('zlib' 'openssl' 'curl')
CONFIGURE_OPTIONS=(
'--with-curl'
'--with-openssl'
ac_cv_fread_reads_directories=no
ac_cv_snprintf_returns_bogus=no
ac_cv_lib_curl_curl_global_init=yes
)
build() {
make -j$(nproc) CURL_LDFLAGS='-lcurl -lssl -lcrypto -lz -lzstd' || exit 1
}

View File

@ -0,0 +1,20 @@
diff -ruN git-2.47.1/config.mak.uname git-2.47.1-banan_os/config.mak.uname
--- git-2.47.1/config.mak.uname 2024-11-25 07:39:52.000000000 +0200
+++ git-2.47.1-banan_os/config.mak.uname 2024-12-02 01:53:34.932537958 +0200
@@ -4,11 +4,11 @@
# Microsoft's Safe Exception Handling in libraries (such as zlib).
# Typically required for VS2013+/32-bit compilation on Vista+ versions.
-uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not')
-uname_M := $(shell sh -c 'uname -m 2>/dev/null || echo not')
-uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not')
-uname_R := $(shell sh -c 'uname -r 2>/dev/null || echo not')
-uname_V := $(shell sh -c 'uname -v 2>/dev/null || echo not')
+uname_S := not
+uname_M := not
+uname_O := not
+uname_R := not
+uname_V := not
ifneq ($(findstring MINGW,$(uname_S)),)
uname_S := MINGW