55 lines
1.8 KiB
Diff
55 lines
1.8 KiB
Diff
|
From 35f5bbf5aa7dc32f0140147737af73fd3866f455 Mon Sep 17 00:00:00 2001
|
||
|
From: Leah Rowe <info@minifree.org>
|
||
|
Date: Sun, 28 Jul 2024 16:04:30 +0100
|
||
|
Subject: [PATCH 1/1] common/filesystem: define ACCESSPERMS if undefined
|
||
|
|
||
|
normally defined in sys/stat.h on various libc implementations,
|
||
|
but musl libc doesn't seem to have it, leading to this build
|
||
|
issue:
|
||
|
|
||
|
common/filesystem.cpp:86:38: error: 'ACCESSPERMS' was not declared in this scope
|
||
|
86 | return (mkdir(dir.toLocal8Bit(), ACCESSPERMS) == 0);
|
||
|
|
||
|
ACCESSPERMS is typically defined as the result of bitwise OR:
|
||
|
S_IRWXU | S_IRWXG | S_IRWXO
|
||
|
|
||
|
This creates the chmod permission 0777, used on the mkdir() call.
|
||
|
|
||
|
ACCESSPERMS is supported on GNU C Library, for compatibility with
|
||
|
BSD libc implementations; the latter also implements ALLPERMS
|
||
|
and DEFFILEMODE, which don't seem to be used by uefitool regardless.
|
||
|
|
||
|
Signed-off-by: Leah Rowe <info@minifree.org>
|
||
|
---
|
||
|
common/filesystem.cpp | 9 ++++++++-
|
||
|
1 file changed, 8 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/common/filesystem.cpp b/common/filesystem.cpp
|
||
|
index b2b8d65..9672e07 100644
|
||
|
--- a/common/filesystem.cpp
|
||
|
+++ b/common/filesystem.cpp
|
||
|
@@ -15,6 +15,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||
|
#include <sys/stat.h>
|
||
|
#include <fstream>
|
||
|
|
||
|
+/* musl libc does not define ACCESSPERMS, seen on glibc and many bsd libc.
|
||
|
+ * let's do alpine linux users a massive favour, so that the code compiles.
|
||
|
+ */
|
||
|
+#ifndef ACCESSPERMS
|
||
|
+#define ACCESSPERMS (S_IRWXU | S_IRWXG | S_IRWXO) /* chmod permission: 0777 */
|
||
|
+#endif
|
||
|
+
|
||
|
bool readFileIntoBuffer(const UString& inPath, UByteArray& buf)
|
||
|
{
|
||
|
if (!isExistOnFs(inPath))
|
||
|
@@ -103,4 +110,4 @@ UString getAbsPath(const UString & path) {
|
||
|
return UString(abs);
|
||
|
return path;
|
||
|
}
|
||
|
-#endif
|
||
|
\ No newline at end of file
|
||
|
+#endif
|
||
|
--
|
||
|
2.39.2
|
||
|
|