Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "The sd-bus library, extracted from systemd."
|
||||
HOMEPAGE = "https://sr.ht/~emersion/basu"
|
||||
SECTION = "base"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
SRC_URI = "git://git.sr.ht/~emersion/basu;protocol=https;branch=master"
|
||||
|
||||
DEPENDS += "gperf-native"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
PV = "0.2.1+git"
|
||||
SRCREV = "a08cf5a575325435040d35710dbac3d0c32b1676"
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
PACKAGECONFIG ?= ""
|
||||
PACKAGECONFIG[libcap] = "-Dlibcap=enabled,-Dlibcap=disabled,libcap"
|
||||
PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit"
|
||||
|
||||
EXTRA_OEMESON += "--buildtype release"
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "D-Bus wrapper in C++ for dbus"
|
||||
HOMEPAGE = "https://dbus-cxx.github.io/"
|
||||
BUGTRACKER = "https://github.com/libsigcplusplus/libsigcplusplus/issues"
|
||||
SECTION = "base"
|
||||
LICENSE = "LGPL-3.0-or-later | BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=24594f493407a4cd401ce9794e0b9308"
|
||||
|
||||
SRC_URI = "git://github.com/dbus-cxx/dbus-cxx.git;branch=master;protocol=https"
|
||||
SRCREV = "732a5becb4349e02ffce407a3fd4d75cc3d82421"
|
||||
|
||||
DEPENDS = "\
|
||||
dbus \
|
||||
libsigc++-3 \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} = "\
|
||||
dbus \
|
||||
libsigc++-3 \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
|
||||
@@ -0,0 +1,32 @@
|
||||
SUMMARY = "dbus broker"
|
||||
DESCRIPTION = "Drop-in replacement for dbus-daemon."
|
||||
|
||||
SECTION = "base"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=7b486c2338d225a1405d979ed2c15ce8"
|
||||
|
||||
SRC_URI = "https://github.com/bus1/dbus-broker/releases/download/v${PV}/dbus-broker-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "bea7f653e7251063c5f427e9e3f93562d38a0d8667ae6d49fb56f113605985de"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/bus1/${BPN}/releases"
|
||||
|
||||
inherit meson pkgconfig systemd features_check
|
||||
|
||||
DEPENDS = "expat systemd"
|
||||
DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'libselinux (>= 3.2)', '', d)}"
|
||||
DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'audit (>= 3.0)', '', d)}"
|
||||
|
||||
RDEPENDS:${PN} += "dbus-common"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "systemd"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
|
||||
|
||||
FILES:${PN} += "${systemd_system_unitdir}"
|
||||
FILES:${PN} += "${systemd_user_unitdir}"
|
||||
FILES:${PN} += "${nonarch_libdir}/systemd/catalog"
|
||||
|
||||
EXTRA_OEMESON += " -Dselinux=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
|
||||
EXTRA_OEMESON += " -Daudit=${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'true', 'false', d)}"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 8e6d1f590b1cb437dc67c51298ef1722a7266d35 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 25 Jul 2017 18:37:58 -0700
|
||||
Subject: [PATCH] dbus-daemon-proxy: Return DBUS_HANDLER_RESULT_NOT_YET_HANDLED
|
||||
from master_filter_cb() if DBusConnection is null
|
||||
|
||||
So it can be passed on to other handlers since this could
|
||||
not be handled here
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
dbus-daemon-proxy.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dbus-daemon-proxy.c b/dbus-daemon-proxy.c
|
||||
index 009e4fd..f3f0d80 100644
|
||||
--- a/dbus-daemon-proxy.c
|
||||
+++ b/dbus-daemon-proxy.c
|
||||
@@ -115,7 +115,7 @@ master_filter_cb (DBusConnection *conn,
|
||||
guint32 serial;
|
||||
|
||||
if (!dbus_conn)
|
||||
- return;
|
||||
+ return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
|
||||
|
||||
if (verbose)
|
||||
g_print ("New message from server: type='%d' path='%s' iface='%s'"
|
||||
--
|
||||
2.13.3
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
SUMMARY = "dbus forwarding daemon"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://dbus-daemon-proxy.c;endline=19;md5=41df6d21fe1c97d6a1cc22a5bf374cba"
|
||||
DEPENDS = "dbus dbus-glib"
|
||||
SRCREV = "1226a0a1374628ff191f6d8a56000be5e53e7608"
|
||||
PV = "0.0.0+git"
|
||||
|
||||
SRC_URI = "git://github.com/alban/dbus-daemon-proxy;branch=master;protocol=https \
|
||||
file://0001-dbus-daemon-proxy-Return-DBUS_HANDLER_RESULT_NOT_YET.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit pkgconfig
|
||||
|
||||
do_compile() {
|
||||
${CC} ${CFLAGS} -o dbus-daemon-proxy dbus-daemon-proxy.c `pkg-config --cflags --libs dbus-glib-1` ${LDFLAGS}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 dbus-daemon-proxy ${D}${bindir}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
From 6bcb58bd69c38b9200e8ec6c382247167571189d Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 1 Jul 2017 16:44:15 -0700
|
||||
Subject: [PATCH] pipe.c: Use a string instead of char
|
||||
|
||||
Fixes
|
||||
error: invalid conversion from 'char' to 'const void*' [-fpermissive]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
src/pipe.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/pipe.cpp b/src/pipe.cpp
|
||||
index 45c2ba6..1303c2d 100644
|
||||
--- a/src/pipe.cpp
|
||||
+++ b/src/pipe.cpp
|
||||
@@ -83,5 +83,5 @@ ssize_t Pipe::read(void *buffer, unsigned int &nbytes)
|
||||
void Pipe::signal()
|
||||
{
|
||||
// TODO: ignoring return of read/write generates warning; maybe relevant for eventloop work...
|
||||
- ::write(_fd_write, '\0', 1);
|
||||
+ ::write(_fd_write, "", 1);
|
||||
}
|
||||
--
|
||||
2.13.2
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 93fd4868d71aa7a26cdfd382d1e4c85112f069f9 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Williams <peter@newton.cx>
|
||||
Date: Sat, 19 Dec 2015 21:07:37 -0500
|
||||
Subject: [PATCH] src/eventloop.cpp: use portable method for initializing
|
||||
recursive mutex
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/cdaeaa825db191bd65aad3aaaeb3178738727f05]
|
||||
Signed-off-by: André Draszik <adraszik@tycoint.com>
|
||||
src/eventloop.cpp | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/eventloop.cpp b/src/eventloop.cpp
|
||||
index 7fb06a3..f622812 100644
|
||||
--- a/src/eventloop.cpp
|
||||
+++ b/src/eventloop.cpp
|
||||
@@ -85,8 +85,11 @@ DefaultMutex::DefaultMutex(bool recursive)
|
||||
{
|
||||
if (recursive)
|
||||
{
|
||||
- pthread_mutex_t recmutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
|
||||
- _mutex = recmutex;
|
||||
+ pthread_mutexattr_t attr;
|
||||
+
|
||||
+ pthread_mutexattr_init(&attr);
|
||||
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
||||
+ pthread_mutex_init(&_mutex, &attr);
|
||||
}
|
||||
else
|
||||
{
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From c673a76857cbe0ca82fa11aea9b70f94c3e5b041 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Williams <peter@newton.cx>
|
||||
Date: Sat, 19 Dec 2015 21:08:46 -0500
|
||||
Subject: [PATCH] tools/generate_proxy.cpp: avoid possibly undefined 'uint'
|
||||
type
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/43f119a2b3fe951c0f1d88cc61170d4c81a88880]
|
||||
Signed-off-by: André Draszik <adraszik@tycoint.com>
|
||||
tools/generate_proxy.cpp | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/tools/generate_proxy.cpp b/tools/generate_proxy.cpp
|
||||
index bf1094a..ebb75fa 100644
|
||||
--- a/tools/generate_proxy.cpp
|
||||
+++ b/tools/generate_proxy.cpp
|
||||
@@ -352,7 +352,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
|
||||
if (!arg_name.length())
|
||||
{
|
||||
arg_name = "argin";
|
||||
- arg_name += toString <uint> (i);
|
||||
+ arg_name += toString <unsigned int> (i);
|
||||
}
|
||||
|
||||
// generate extra code to wrap object
|
||||
@@ -445,7 +445,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
|
||||
|
||||
if (!arg_name.length())
|
||||
{
|
||||
- arg_name = "argout" + toString <uint> (i);
|
||||
+ arg_name = "argout" + toString <unsigned int> (i);
|
||||
}
|
||||
|
||||
if (arg_object.length())
|
||||
@@ -569,7 +569,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
|
||||
// use a default if no arg name given
|
||||
if (!arg_name.length())
|
||||
{
|
||||
- arg_name = "arg" + toString <uint> (i);
|
||||
+ arg_name = "arg" + toString <unsigned int> (i);
|
||||
}
|
||||
|
||||
body << arg_name << ";" << endl;
|
||||
@@ -605,7 +605,7 @@ void generate_proxy(Xml::Document &doc, const char *filename)
|
||||
|
||||
if (!arg_name.length())
|
||||
{
|
||||
- arg_name = "arg" + toString <uint> (j);
|
||||
+ arg_name = "arg" + toString <unsigned int> (j);
|
||||
}
|
||||
|
||||
if (arg_object.length())
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
From 465d98dbcdcb72375c198010a50b80b953e7d5a6 Mon Sep 17 00:00:00 2001
|
||||
From: Yuri <yuri@tsoft.com>
|
||||
Date: Sat, 28 May 2016 13:20:10 -0700
|
||||
Subject: [PATCH] Fixed undefined ssize_t for clang-3.8.0 on FreeBSD.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
---
|
||||
Upstream-Status: Backport [https://github.com/andreas-volz/dbus-cplusplus/commit/463f5a4400d494b831c3b3348c0a21f0faf14f39]
|
||||
Signed-off-by: André Draszik <adraszik@tycoint.com>
|
||||
include/dbus-c++/pipe.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/dbus-c++/pipe.h b/include/dbus-c++/pipe.h
|
||||
index 999f042..682646c 100644
|
||||
--- a/include/dbus-c++/pipe.h
|
||||
+++ b/include/dbus-c++/pipe.h
|
||||
@@ -30,6 +30,8 @@
|
||||
/* STD */
|
||||
#include <cstdlib>
|
||||
|
||||
+#include <sys/types.h>
|
||||
+
|
||||
namespace DBus
|
||||
{
|
||||
|
||||
--
|
||||
2.10.2
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
From 12de53b0f24c478ea4ff6b4e2c55366dbd2f02b1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
|
||||
Date: Fri, 25 Nov 2016 09:33:20 +0000
|
||||
Subject: [PATCH] use POSIX poll.h instead of sys/poll.h
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
POSIX specifies that <poll.h> is the correct header to
|
||||
include for poll()
|
||||
http://pubs.opengroup.org/onlinepubs/009695399/functions/poll.html
|
||||
whereas <sys/poll.h> is only needed for ancient glibc (<2.3),
|
||||
so let's follow POSIX instead.
|
||||
|
||||
As a side-effect, this silences compilation warnings when
|
||||
compiling against the musl C-library such as:
|
||||
|
||||
| In file included from ../../libdbus-c++-0.9.0/src/eventloop.cpp:31:0:
|
||||
| <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
|
||||
| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
|
||||
| ^~~~~~~
|
||||
| In file included from ../../libdbus-c++-0.9.0/src/eventloop-integration.cpp:39:0:
|
||||
| <sysroot>/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
|
||||
| #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
|
||||
| ^~~~~~~
|
||||
|
||||
Signed-off-by: André Draszik <git@andred.net>
|
||||
---
|
||||
Upstream-Status: Submitted [https://github.com/andreas-volz/dbus-cplusplus/pull/3]
|
||||
Signed-off-by: André Draszik <adraszik@tycoint.com>
|
||||
src/eventloop-integration.cpp | 2 +-
|
||||
src/eventloop.cpp | 2 +-
|
||||
src/pipe.cpp | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: libdbus-c++-0.9.0/src/eventloop-integration.cpp
|
||||
===================================================================
|
||||
--- libdbus-c++-0.9.0.orig/src/eventloop-integration.cpp
|
||||
+++ libdbus-c++-0.9.0/src/eventloop-integration.cpp
|
||||
@@ -36,7 +36,7 @@
|
||||
/* STD */
|
||||
#include <string.h>
|
||||
#include <cassert>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
using namespace DBus;
|
||||
Index: libdbus-c++-0.9.0/src/eventloop.cpp
|
||||
===================================================================
|
||||
--- libdbus-c++-0.9.0.orig/src/eventloop.cpp
|
||||
+++ libdbus-c++-0.9.0/src/eventloop.cpp
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <dbus-c++/eventloop.h>
|
||||
#include <dbus-c++/debug.h>
|
||||
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#include <dbus/dbus.h>
|
||||
Index: libdbus-c++-0.9.0/src/pipe.cpp
|
||||
===================================================================
|
||||
--- libdbus-c++-0.9.0.orig/src/pipe.cpp
|
||||
+++ libdbus-c++-0.9.0/src/pipe.cpp
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
/* STD */
|
||||
#include <unistd.h>
|
||||
-#include <sys/poll.h>
|
||||
+#include <poll.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <cassert>
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
sniped from ChromiumOS
|
||||
|
||||
https://bugs.gentoo.org/424707
|
||||
|
||||
From 154f7861d19a2bd5c79c488f9989610971db451b Mon Sep 17 00:00:00 2001
|
||||
From: Han Shen <shenhan@google.com>
|
||||
Date: Thu, 31 May 2012 16:49:35 -0700
|
||||
Subject: [PATCH] Fixed dbus-c++ gcc 4.7 building problem.
|
||||
|
||||
Just add "unistd.h" inclusion to eventloop-integration.h.
|
||||
|
||||
BUG=None
|
||||
TEST=Manually built using gcc 4.7.
|
||||
|
||||
Change-Id: I87bd1f90db6a4c974a5ed8134044e8be2034aff2
|
||||
Reviewed-on: https://gerrit.chromium.org/gerrit/24260
|
||||
Tested-by: Han Shen <shenhan@google.com>
|
||||
Reviewed-by: Yunlian Jiang <yunlian@chromium.org>
|
||||
Commit-Ready: Han Shen <shenhan@chromium.org>
|
||||
Upstream-Status: Inappropriate [ not author, no upstream ]
|
||||
Signed-off-by: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||
---
|
||||
include/dbus-c++/eventloop-integration.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
Index: libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h
|
||||
===================================================================
|
||||
--- libdbus-c++-0.9.0.orig/include/dbus-c++/eventloop-integration.h
|
||||
+++ libdbus-c++-0.9.0/include/dbus-c++/eventloop-integration.h
|
||||
@@ -26,6 +26,7 @@
|
||||
#define __DBUSXX_EVENTLOOP_INTEGRATION_H
|
||||
|
||||
#include <errno.h>
|
||||
+#include <unistd.h>
|
||||
#include "api.h"
|
||||
#include "dispatcher.h"
|
||||
#include "util.h"
|
||||
@@ -0,0 +1,33 @@
|
||||
From: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||
Date: Fri, 18 Nov 2016 10:23:07 +0100
|
||||
Subject: Build libdbus-c++ tools for target platform rather than enforced for
|
||||
host platform.
|
||||
|
||||
Upstream-Status: Inappropriate [no upstream]
|
||||
Signed-off-by: Thilo Cestonaro <thilo.cestonaro@ts.fujitsu.com>
|
||||
---
|
||||
|
||||
diff -Naur libdbus-c++-0.9.0.ori/configure.ac libdbus-c++-0.9.0/configure.ac
|
||||
--- libdbus-c++-0.9.0.ori/configure.ac 2016-11-15 14:25:36.085882774 +0100
|
||||
+++ libdbus-c++-0.9.0/configure.ac 2016-11-15 14:27:08.814568717 +0100
|
||||
@@ -64,9 +64,6 @@
|
||||
AC_PROG_CC
|
||||
AC_PROG_CXX
|
||||
|
||||
-CXX_FOR_BUILD=${CXX_FOR_BUILD-${CXX}}
|
||||
-AC_SUBST(CXX_FOR_BUILD)
|
||||
-
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
PKG_PROG_PKG_CONFIG
|
||||
diff -Naur libdbus-c++-0.9.0.ori/tools/Makefile.am libdbus-c++-0.9.0/tools/Makefile.am
|
||||
--- libdbus-c++-0.9.0.ori/tools/Makefile.am 2016-11-15 14:25:36.089882803 +0100
|
||||
+++ libdbus-c++-0.9.0/tools/Makefile.am 2016-11-15 14:26:19.454203583 +0100
|
||||
@@ -1,7 +1,5 @@
|
||||
# hacky, but ...
|
||||
|
||||
-CXX = $(CXX_FOR_BUILD)
|
||||
-
|
||||
AM_CPPFLAGS = \
|
||||
$(dbus_CFLAGS) \
|
||||
$(xml_CFLAGS) \
|
||||
@@ -0,0 +1,30 @@
|
||||
SUMMARY = "DBus-C++ Library"
|
||||
DESCRIPTION = "DBus-c++ attempts to provide a C++ API for D-BUS. The library has a glib and an Ecore mainloop integration. It also offers an optional own main loop."
|
||||
HOMEPAGE = "http://dbus-cplusplus.sourceforge.net"
|
||||
SECTION = "base"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
|
||||
DEPENDS = "dbus expat glib-2.0 libpcre"
|
||||
|
||||
SRC_URI = "${SOURCEFORGE_MIRROR}/project/dbus-cplusplus/dbus-c++/${PV}/${BP}.tar.gz \
|
||||
file://fix-missing-unistd.h-include.patch \
|
||||
file://remove-CXX_FOR_BUILD-stuff.patch \
|
||||
file://0001-src-eventloop.cpp-use-portable-method-for-initializi.patch \
|
||||
file://0002-tools-generate_proxy.cpp-avoid-possibly-undefined-ui.patch \
|
||||
file://0003-Fixed-undefined-ssize_t-for-clang-3.8.0-on-FreeBSD.patch \
|
||||
file://0004-use-POSIX-poll.h-instead-of-sys-poll.h.patch \
|
||||
file://0001-pipe.c-Use-a-string-instead-of-char.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "e752116f523fa88ef041e63d3dee4de2"
|
||||
SRC_URI[sha256sum] = "bc11ac297b3cb010be904c72789695543ee3fdf3d75cdc8225fd371385af4e61"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
EXTRA_OECONF = "--disable-ecore --disable-examples --disable-tests"
|
||||
LDFLAGS += "-pthread"
|
||||
|
||||
PACKAGE_BEFORE_PN = "${PN}-tools"
|
||||
|
||||
FILES:${PN}-tools = "${bindir}"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
@@ -0,0 +1,13 @@
|
||||
DESCRIPTION = "emlog is a Linux kernel module that makes it easy to access the \
|
||||
most recent (and only the most recent) output from a process"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
SRC_URI = "git://github.com/nicupavel/emlog.git;protocol=https;branch=master"
|
||||
SRCREV = "a9bbf324fde131ff4cf064e32674086c4ced4dca"
|
||||
PV = "0.70+git"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE += " \
|
||||
CFLAGS='${TARGET_CFLAGS}' \
|
||||
"
|
||||
@@ -0,0 +1,33 @@
|
||||
From fd0a4ee201b5c7b24da79dcd346ac121978951a0 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 29 Mar 2020 19:58:36 -0700
|
||||
Subject: [PATCH] Remove modules_clean from clean target
|
||||
|
||||
This is needed when building applications (w/o module)
|
||||
Since OE will run 'make clean' before reconfiguring, this
|
||||
will try to run module_clean and will wrongly try to look for removing
|
||||
modules from /lib/modules
|
||||
|
||||
Upstream-Status: Inappropriate [ OE-Specific ]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index c60863f..fc897d5 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -23,7 +23,7 @@ all: modules nbcat mkemlog
|
||||
|
||||
install: modules_install nbcat_install mkemlog_install
|
||||
|
||||
-clean: modules_clean nbcat_clean mkemlog_clean
|
||||
+clean: nbcat_clean mkemlog_clean
|
||||
|
||||
modules:
|
||||
$(MAKE) -C $(KDIR) M=$(CURDIR) modules
|
||||
--
|
||||
2.26.0
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
From 41de28a92297f4cb0c5a8d7356cde9190176947b Mon Sep 17 00:00:00 2001
|
||||
From: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
Date: Thu, 14 Mar 2019 19:54:27 -0300
|
||||
Subject: [PATCH] Drop use of error.h
|
||||
Organization: O.S. Systems Software LTDA.
|
||||
|
||||
The error.h does not work with musl and this project being embedded
|
||||
friendly it makes sense to avoid glibc-specific code.
|
||||
|
||||
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
mkemlog.c | 29 ++++++++++++++---------------
|
||||
1 file changed, 14 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/mkemlog.c b/mkemlog.c
|
||||
index e3354ed..7bcdfce 100644
|
||||
--- a/mkemlog.c
|
||||
+++ b/mkemlog.c
|
||||
@@ -21,7 +21,6 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdlib.h>
|
||||
-#include <error.h>
|
||||
#include <errno.h>
|
||||
|
||||
#define EMLOG_DEVICE "/dev/emlog"
|
||||
@@ -40,16 +39,16 @@ int main(int argc, char** argv) {
|
||||
FILE *max_size_file = NULL;
|
||||
uid_t uid = -1;
|
||||
if (argc < 2 || argc > 5) {
|
||||
- error(1 ,0, USAGE);
|
||||
+ fprintf(stderr, USAGE);
|
||||
}
|
||||
file = argv[1];
|
||||
|
||||
max_size_file = fopen("/sys/module/emlog/parameters/emlog_max_size", "r");
|
||||
if (max_size_file == NULL)
|
||||
- error(1, errno, "Emlog module not loaded\n");
|
||||
+ fprintf(stderr, "Emlog module not loaded\n");
|
||||
rc = fscanf(max_size_file, "%d", &emlog_max_size);
|
||||
if (rc != 1)
|
||||
- error(1, errno, "Unable to get emlog max size\n");
|
||||
+ fprintf(stderr, "Unable to get emlog max size\n");
|
||||
fclose(max_size_file);
|
||||
max_size_file = NULL;
|
||||
if (argc > 2 ) {
|
||||
@@ -57,13 +56,13 @@ int main(int argc, char** argv) {
|
||||
number = argv[2];
|
||||
size_of_buffer = strtol(number, &end_of_number, 10);
|
||||
if (errno) {
|
||||
- error(1, errno, "Invalid size provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid size provided\n" USAGE);
|
||||
}
|
||||
if (end_of_number == number) {
|
||||
- error(1, 0, "Invalid size provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid size provided\n" USAGE);
|
||||
}
|
||||
if (size_of_buffer < 1 || size_of_buffer > emlog_max_size) {
|
||||
- error(1, 0, "Invalid size provided must be a value between 1 and %d\n" USAGE, emlog_max_size);
|
||||
+ fprintf(stderr, "Invalid size provided must be a value between 1 and %d\n" USAGE, emlog_max_size);
|
||||
}
|
||||
}
|
||||
if (argc > 3 ) {
|
||||
@@ -71,10 +70,10 @@ int main(int argc, char** argv) {
|
||||
number = argv[3];
|
||||
mode = strtol(number, &end_of_number, 8);
|
||||
if (errno) {
|
||||
- error(1, errno, "Invalid mode provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid mode provided\n" USAGE);
|
||||
}
|
||||
if (end_of_number == number || S_IFMT & mode) {
|
||||
- error(1, 0, "Invalid mode provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid mode provided\n" USAGE);
|
||||
}
|
||||
}
|
||||
if (argc > 4 ) {
|
||||
@@ -82,27 +81,27 @@ int main(int argc, char** argv) {
|
||||
number = argv[4];
|
||||
uid = strtol(number, &end_of_number, 10);
|
||||
if (errno) {
|
||||
- error(1, errno, "Invalid uid provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid uid provided\n" USAGE);
|
||||
}
|
||||
if (end_of_number == number) {
|
||||
- error(1, 0, "Invalid uid provided\n" USAGE);
|
||||
+ fprintf(stderr, "Invalid uid provided\n" USAGE);
|
||||
}
|
||||
}
|
||||
rc = stat(EMLOG_DEVICE, &emlog_stat);
|
||||
if (rc == -1) {
|
||||
- error(1, errno, "stat: " EMLOG_DEVICE);
|
||||
+ fprintf(stderr, "stat: " EMLOG_DEVICE);
|
||||
}
|
||||
if (!S_ISCHR(emlog_stat.st_mode)) {
|
||||
- error(1, 0, EMLOG_DEVICE " is not a valid emlog device\n");
|
||||
+ fprintf(stderr, EMLOG_DEVICE " is not a valid emlog device\n");
|
||||
}
|
||||
rc = mknod(file, mode | S_IFCHR, makedev(major(emlog_stat.st_rdev),size_of_buffer));
|
||||
if (rc == -1) {
|
||||
- error(1, errno, "mknod: %s", file);
|
||||
+ fprintf(stderr, "mknod: %s", file);
|
||||
}
|
||||
if (uid != -1) {
|
||||
rc = chown(file, uid, -1);
|
||||
if (rc == -1) {
|
||||
- error(1, errno, "chown: %s", file);
|
||||
+ fprintf(stderr, "chown: %s", file);
|
||||
}
|
||||
}
|
||||
printf("Log device %s created with buffer size of %d KiB\n", file, size_of_buffer);
|
||||
--
|
||||
2.20.1
|
||||
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
|
||||
[ -r /etc/default/emlog ] && . /etc/default/emlog
|
||||
|
||||
do_start() {
|
||||
:
|
||||
}
|
||||
|
||||
do_stop() {
|
||||
nbcat /dev/emlog > /data/emlog
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_start || exit $?
|
||||
;;
|
||||
stop)
|
||||
do_stop || exit $?
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {stop}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,37 @@
|
||||
require ${BPN}.inc
|
||||
|
||||
SRC_URI += "file://${BPN}.initd \
|
||||
file://0001-Remove-modules_clean-from-clean-target.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:libc-musl = " file://Drop-use-of-error-h.patch"
|
||||
|
||||
inherit update-rc.d
|
||||
|
||||
INITSCRIPT_NAME = "${BPN}"
|
||||
|
||||
|
||||
|
||||
do_compile() {
|
||||
oe_runmake nbcat
|
||||
oe_runmake mkemlog
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -Dm 0755 ${WORKDIR}/${BPN}.initd ${D}${sysconfdir}/init.d/${BPN}
|
||||
install -Dm 0755 ${S}/nbcat ${D}${bindir}/nbcat
|
||||
install -Dm 0755 ${S}/mkemlog ${D}${bindir}/mkemlog
|
||||
}
|
||||
|
||||
RRECOMMENDS:${PN} += "kernel-module-emlog"
|
||||
|
||||
CVE_STATUS_GROUPS += "CVE_STATUS_EMLOG"
|
||||
CVE_STATUS_EMLOG[status] = "fixed-version: The name of this product is exactly the same as github.com/emlog/emlog. CVE can be safely ignored."
|
||||
CVE_STATUS_EMLOG = " \
|
||||
CVE-2019-16868 \
|
||||
CVE-2019-17073 \
|
||||
CVE-2021-44584 \
|
||||
CVE-2022-1526 \
|
||||
CVE-2022-3968 \
|
||||
CVE-2023-43291 \
|
||||
"
|
||||
@@ -0,0 +1,10 @@
|
||||
require emlog.inc
|
||||
|
||||
inherit module
|
||||
|
||||
EXTRA_OEMAKE += " \
|
||||
KDIR=${STAGING_KERNEL_DIR} \
|
||||
KVER=${KERNEL_VERSION} \
|
||||
"
|
||||
|
||||
MAKE_TARGETS = "modules"
|
||||
@@ -0,0 +1,36 @@
|
||||
SUMMARY = "A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input"
|
||||
HOMEPAGE = "https://www.glfw.org/"
|
||||
DESCRIPTION = "GLFW is an Open Source, multi-platform library for OpenGL, \
|
||||
OpenGL ES and Vulkan application development. It provides a simple, \
|
||||
platform-independent API for creating windows, contexts and surfaces, reading \
|
||||
input, handling events, etc."
|
||||
LICENSE = "Zlib"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=98d93d1ddc537f9b9ea6def64e046b5f"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit pkgconfig cmake features_check
|
||||
|
||||
PV .= "+git"
|
||||
SRCREV = "7482de6071d21db77a7236155da44c172a7f6c9e"
|
||||
SRC_URI = "git://github.com/glfw/glfw.git;branch=3.3-stable;protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OECMAKE += "-DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_DOCS=OFF"
|
||||
|
||||
CFLAGS += "-fPIC"
|
||||
|
||||
DEPENDS = "libpng zlib"
|
||||
REQUIRED_DISTRO_FEATURES = "opengl x11"
|
||||
ANY_OF_DISTRO_FEATURES = "wayland x11"
|
||||
|
||||
# upstream considers x11 and wayland backends mutually exclusive and will
|
||||
# prioritize wayland if it is enabled, but wayland has dependencies that cannot
|
||||
# be satisfied by this layer so it is disabled by default
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}"
|
||||
|
||||
PACKAGECONFIG[wayland] = "-DGLFW_USE_WAYLAND=ON,,wayland wayland-native wayland-protocols extra-cmake-modules libxkbcommon"
|
||||
PACKAGECONFIG[x11] = ",,libxrandr libxinerama libxi libxcursor libglu"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
@@ -0,0 +1,32 @@
|
||||
SUMMARY = "C++ bindings for the glib library"
|
||||
HOMEPAGE = "http://www.gtkmm.org/"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
|
||||
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
|
||||
|
||||
DEPENDS = "mm-common glib-2.0 libsigc++-3 glib-2.0-native"
|
||||
|
||||
GNOMEBN = "glibmm"
|
||||
inherit gnomebase
|
||||
|
||||
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
|
||||
|
||||
SRC_URI[archive.sha256sum] = "5d2e872564996f02a06d8bbac3677e7c394af8b00dd1526aebd47af842a3ef50"
|
||||
|
||||
S = "${WORKDIR}/${GNOMEBN}-${PV}"
|
||||
|
||||
FILES:${PN} = "${libdir}/lib*.so.*"
|
||||
FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/${BPN}/include/ ${libdir}/${BPN}/proc/ ${libdir}/giomm-2.68/include/"
|
||||
|
||||
RDEPENDS:${PN}-dev = "perl"
|
||||
|
||||
EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
|
||||
|
||||
do_write_config:append() {
|
||||
cat >${WORKDIR}/meson-${PN}.cross <<EOF
|
||||
[binaries]
|
||||
m4 = '${bindir}/m4'
|
||||
perl = '${bindir}/perl'
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
SUMMARY = "C++ bindings for the glib library"
|
||||
HOMEPAGE = "http://www.gtkmm.org/"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-2.1-only & GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=42dfffebc56fec7527aac53b7a89d1d8 \
|
||||
file://COPYING.tools;md5=751419260aa954499f7abaabaa882bbe"
|
||||
|
||||
DEPENDS = "mm-common glib-2.0 libsigc++-2.0 glib-2.0-native"
|
||||
|
||||
|
||||
inherit gnomebase
|
||||
|
||||
SHRT_VER = "${@d.getVar('PV').split('.')[0]}.${@d.getVar('PV').split('.')[1]}"
|
||||
|
||||
SRC_URI[archive.sha256sum] = "b2a4cd7b9ae987794cbb5a1becc10cecb65182b9bb841868625d6bbb123edb1d"
|
||||
|
||||
FILES:${PN} = "${libdir}/lib*.so.*"
|
||||
FILES:${PN}-dev += "${datadir}/glibmm-* ${libdir}/glibmm-2.4/include/ ${libdir}/glibmm-2.4/proc/ ${libdir}/giomm-2.4/include/"
|
||||
|
||||
RDEPENDS:${PN}-dev = "perl"
|
||||
|
||||
EXTRA_OEMESON += "--cross-file=${WORKDIR}/meson-${PN}.cross -Dmaintainer-mode=false"
|
||||
|
||||
do_write_config:append() {
|
||||
cat >${WORKDIR}/meson-${PN}.cross <<EOF
|
||||
[binaries]
|
||||
m4 = '${bindir}/m4'
|
||||
perl = '${bindir}/perl'
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
require recipes-core/images/core-image-base.bb
|
||||
|
||||
SUMMARY = "meta-oe build test image"
|
||||
|
||||
IMAGE_INSTALL += "packagegroup-meta-oe"
|
||||
@@ -0,0 +1,25 @@
|
||||
DESCRIPTION = "Recipe to trigger execution of all meta-oe ptest images."
|
||||
HOMEPAGE = "https://www.openembedded.org/"
|
||||
|
||||
LICENSE = "MIT"
|
||||
|
||||
inherit features_check nopackages
|
||||
REQUIRED_DISTRO_FEATURES = "ptest"
|
||||
|
||||
require conf/include/ptest-packagelists-meta-oe.inc
|
||||
|
||||
# Include the full set of ptests
|
||||
PTESTS_META_OE = "${PTESTS_FAST_META_OE} ${PTESTS_SLOW_META_OE} ${PTESTS_PROBLEMS_META_OE}"
|
||||
|
||||
do_testimage[noexec] = "1"
|
||||
do_testimage[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_testimage' for x in d.getVar('PTESTS_META_OE').split()])}"
|
||||
|
||||
do_build[depends] = "${@' '.join(['meta-oe-image-ptest-'+x+':do_build' for x in d.getVar('PTESTS_META_OE').split()])}"
|
||||
|
||||
# normally image.bbclass would do this
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
python () {
|
||||
if bb.utils.contains('IMAGE_CLASSES', 'testimage', True, False, d):
|
||||
bb.build.addtask("do_testimage", "", "", d)
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
require meta-oe-image-ptest-all.bb
|
||||
|
||||
DESCRIPTION = "Recipe to trigger execution of all fast meta-oe ptest images."
|
||||
|
||||
PTESTS_META_OE = "${PTESTS_FAST_META_OE}"
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
inherit features_check
|
||||
REQUIRED_DISTRO_FEATURES = "ptest"
|
||||
|
||||
require recipes-core/images/core-image-minimal.bb
|
||||
require conf/include/ptest-packagelists-meta-oe.inc
|
||||
|
||||
SUMMARY = "meta-oe ptest test image"
|
||||
|
||||
DESCRIPTION += "Also including the ${MCNAME} ptest package."
|
||||
HOMEPAGE = "https://www.openembedded.org/"
|
||||
|
||||
PTESTS_META_OE = "${PTESTS_SLOW_META_OE} ${PTESTS_FAST_META_OE} ${PTESTS_PROBLEMS_META_OE}"
|
||||
|
||||
IMAGE_INSTALL:append = " ${MCNAME}-ptest openssh"
|
||||
|
||||
BBCLASSEXTEND = "${@' '.join(['mcextend:'+x for x in d.getVar('PTESTS_META_OE').split()])}"
|
||||
|
||||
# The image can be sufficiently large (~1.8GB) that we need to be careful that it fits in a live
|
||||
# image (which has a 4GB limit), so nullify the overhead factor (1.3x out of the
|
||||
# box) and explicitly add up to 1500MB.
|
||||
IMAGE_OVERHEAD_FACTOR = "1.0"
|
||||
IMAGE_ROOTFS_EXTRA_SPACE = "324288"
|
||||
# If a particular ptest needs more space, it can be customized:
|
||||
#IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-<pn> = "1024288"
|
||||
IMAGE_ROOTFS_EXTRA_SPACE:virtclass-mcextend-poco = "1024288"
|
||||
|
||||
# ptests need more memory than standard to avoid the OOM killer
|
||||
QB_MEM = "-m 1024"
|
||||
# If a particular ptest needs more memroy, it can be customized:
|
||||
#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
|
||||
|
||||
TEST_SUITES = "ping ssh parselogs ptest"
|
||||
|
||||
# Sadly at the moment the full set of ptests is not robust enough and sporadically fails in random places
|
||||
PTEST_EXPECT_FAILURE = "1"
|
||||
|
||||
python () {
|
||||
if not d.getVar("MCNAME"):
|
||||
raise bb.parse.SkipRecipe("No class extension set")
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
SUMMARY = "Platform independent Near Field Communication (NFC) library"
|
||||
DESCRIPTION = "libnfc is a library which allows userspace application access \
|
||||
to NFC devices."
|
||||
LICENSE = "LGPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b52f2d57d10c4f7ee67a7eb9615d5d24"
|
||||
SECTION = "libs"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
PV = "1.8.0+git"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "f02ff51449240102c27a97173dc495e8e7789046"
|
||||
SRC_URI = "git://github.com/nfc-tools/libnfc.git;branch=master;protocol=https"
|
||||
|
||||
CFLAGS:append:libc-musl = " -D_GNU_SOURCE"
|
||||
DEPENDS = "libusb"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "A library for loose coupling of C++ method calls"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
|
||||
|
||||
DEPENDS = "mm-common"
|
||||
|
||||
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.12/libsigc++-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "a9dbee323351d109b7aee074a9cb89ca3e7bcf8ad8edef1851f4cf359bd50843"
|
||||
|
||||
S = "${WORKDIR}/libsigc++-${PV}"
|
||||
|
||||
inherit meson
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/sigc++-*/"
|
||||
FILES:${PN}-doc += "${datadir}/devhelp"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "A library for loose coupling of C++ method calls"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-3.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=959bffe2993816eb32ec4bc1ec1d5875"
|
||||
|
||||
DEPENDS = "mm-common"
|
||||
|
||||
SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libsigc++/3.6/libsigc++-${PV}.tar.xz"
|
||||
SRC_URI[sha256sum] = "c3d23b37dfd6e39f2e09f091b77b1541fbfa17c4f0b6bf5c89baef7229080e17"
|
||||
|
||||
S = "${WORKDIR}/libsigc++-${PV}"
|
||||
|
||||
inherit setuptools3 meson
|
||||
|
||||
FILES:${PN}-dev += "${libdir}/sigc++-*/"
|
||||
FILES:${PN}-doc += "${datadir}/devhelp"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
SECURITY_CFLAGS = "${SECURITY_NO_PIE_CFLAGS}"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "C++ wrapper for libxml library"
|
||||
DESCRIPTION = "C++ wrapper for libxml library"
|
||||
HOMEPAGE = "http://libxmlplusplus.sourceforge.net"
|
||||
BUGTRACKER = "http://bugzilla.gnome.org/buglist.cgi?product=libxml%2B%2B"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34 "
|
||||
|
||||
DEPENDS = "libxml2 glibmm"
|
||||
|
||||
GNOMEBN = "libxml++"
|
||||
inherit gnomebase ptest
|
||||
|
||||
S = "${WORKDIR}/libxml++-${PV}"
|
||||
|
||||
SRC_URI[archive.sha256sum] = "15c38307a964fa6199f4da6683a599eb7e63cc89198545b36349b87cf9aa0098"
|
||||
|
||||
FILES:${PN}-doc += "${datadir}/devhelp"
|
||||
FILES:${PN}-dev += "${libdir}/libxml++-${@gnome_verdir("${PV}")}/include/libxml++config.h"
|
||||
@@ -0,0 +1,27 @@
|
||||
From 01a3a35631ba3996f7e912def66b4053a4f21df9 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 3 Nov 2020 10:52:17 -0800
|
||||
Subject: [PATCH] Fix arguments in GLib.DBusSignalCallback for Vala 0.50
|
||||
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/main.vala | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/main.vala b/src/main.vala
|
||||
index 6d7132b0..b3183217 100644
|
||||
--- a/src/main.vala
|
||||
+++ b/src/main.vala
|
||||
@@ -403,7 +403,7 @@ class Commands : Object
|
||||
return false;
|
||||
}
|
||||
|
||||
- public void signalHandler( GLib.DBusConnection conn, string sender, string path, string iface, string name, Variant params )
|
||||
+ public void signalHandler( GLib.DBusConnection conn, string? sender, string path, string iface, string name, Variant params )
|
||||
{
|
||||
var line = "[SIGNAL] %s.%s %s %s\n%s".printf(
|
||||
iface,
|
||||
--
|
||||
2.29.2
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
SUMMARY = "Mickey's DBus Introspection and Interaction Utility V2"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
|
||||
|
||||
DEPENDS = "readline"
|
||||
|
||||
PV = "2.3.3+git"
|
||||
|
||||
SRC_URI = "git://github.com/freesmartphone/mdbus.git;protocol=https;branch=master \
|
||||
file://0001-Fix-arguments-in-GLib.DBusSignalCallback-for-Vala-0..patch \
|
||||
"
|
||||
SRCREV = "28202692d0b441000f4ddb8f347f72d1355021aa"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools pkgconfig vala
|
||||
|
||||
EXTRA_OECONF += "--enable-vala"
|
||||
@@ -0,0 +1,10 @@
|
||||
require recipes-core/meta/buildtools-tarball.bb
|
||||
|
||||
SUMMARY = "Standalone tarball of imagemagick binaries"
|
||||
LICENSE = "MIT"
|
||||
|
||||
# Add nativesdk equivalent of build-essentials
|
||||
TOOLCHAIN_HOST_TASK = "nativesdk-imagemagick nativesdk-sdk-provides-dummy"
|
||||
TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-imagemagick-nativesdk-standalone-${DISTRO_VERSION}"
|
||||
|
||||
SDK_TITLE = "Imagemagick tools"
|
||||
@@ -0,0 +1,32 @@
|
||||
SUMMARY = "Configuration files for online package repositories aka feeds"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
|
||||
|
||||
DISTRO_FEED_PREFIX ?= "remote"
|
||||
DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/"
|
||||
DISTRO_FEED_ARCHS ?= "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}"
|
||||
|
||||
do_compile() {
|
||||
mkdir -p ${S}/${sysconfdir}/opkg
|
||||
for feed in ${DISTRO_FEED_ARCHS}; do
|
||||
echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
|
||||
done
|
||||
}
|
||||
do_install () {
|
||||
install -d ${D}${sysconfdir}/opkg
|
||||
install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
#def distro_feed_configs(d):
|
||||
# import bb
|
||||
# parchs = d.getVar("PACKAGE_EXTRA_ARCHS").split()
|
||||
# march = d.getVar("MACHINE_ARCH").split()
|
||||
# archs = [ "all" ] + parchs + march
|
||||
# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ]
|
||||
# return " ".join( confs )
|
||||
#
|
||||
#CONFFILES:${PN} += '${@distro_feed_configs(d)}'
|
||||
|
||||
CONFFILES:${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }'
|
||||
@@ -0,0 +1,45 @@
|
||||
From af4069263487399be82ee53d48b1edda7f8e594e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
||||
Date: Mon, 4 Nov 2019 19:19:47 +0100
|
||||
Subject: [PATCH] meson.build: do not ask for python installation / version
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Even by adding python3-setuptools-native the following error is not fixed so
|
||||
just ask for python3 executable.
|
||||
|
||||
| meson.build:9:0: ERROR: <ExternalProgram 'python3' -> ['<...>/recipe-sysroot-native/usr/bin/python3-native/python3']> is not a valid python or it is missing setuptools
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
|
||||
rebase for 1.0.4
|
||||
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
|
||||
|
||||
---
|
||||
meson.build | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 8a18c36..34fd546 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -7,12 +7,7 @@ project('mm-common',
|
||||
# and meson.add_install_script(python3, ...)
|
||||
)
|
||||
|
||||
-python3 = import('python').find_installation()
|
||||
-python_version = python3.language_version()
|
||||
-python_version_req = '>= 3.5'
|
||||
-if not python_version.version_compare(python_version_req)
|
||||
- error('Requires Python @0@, found @1@.'.format(python_version_req, python_version))
|
||||
-endif
|
||||
+python3 = import('python3').find_python()
|
||||
|
||||
# Use these instead of meson.source_root() and meson.build_root().
|
||||
# source_root() and build_root() are not useful, if this is a subproject.
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
SUMMARY = "Common GNOME build files for C++ bindings"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
||||
|
||||
|
||||
inherit gnomebase
|
||||
|
||||
# All the recipe does is stage python and shell script, some autotools files; nothing is compiled.
|
||||
inherit allarch
|
||||
|
||||
SRC_URI[archive.sha256sum] = "e954c09b4309a7ef93e13b69260acdc5738c907477eb381b78bb1e414ee6dbd8"
|
||||
SRC_URI += "file://0001-meson.build-do-not-ask-for-python-installation-versi.patch"
|
||||
|
||||
BBCLASSEXTEND = "native"
|
||||
|
||||
# These files aren't very usefull on target image, package them all in nnPN-dev
|
||||
FILES:${PN} = ""
|
||||
|
||||
FILES:${PN}-dev += " \
|
||||
${datadir}/${BPN}/build \
|
||||
${datadir}/${BPN}/doctags \
|
||||
${datadir}/${BPN}/doctool \
|
||||
${bindir}/mm-common-get \
|
||||
${bindir}/mm-common-prepare \
|
||||
"
|
||||
# ${PN} package is empty, remove the default dependency on it
|
||||
RDEPENDS:${PN}-dev = ""
|
||||
@@ -0,0 +1,12 @@
|
||||
SUMMARY = "Implementation of rpmatch(3) for musl libc."
|
||||
LICENSE = "BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=81a81bf31abecc50c20862fc8a716329"
|
||||
|
||||
SRC_URI = "gitsm://github.com/pullmoll/musl-rpmatch.git;protocol=https;branch=master"
|
||||
|
||||
PV = "1.0+git"
|
||||
SRCREV = "46267b154987d3e1f25d3a75423faa62bb5ee342"
|
||||
|
||||
inherit autotools
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
@@ -0,0 +1,32 @@
|
||||
From d7f01c310b74e3579a6474362922f173ac656d7b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 25 Mar 2024 15:41:29 -0700
|
||||
Subject: [PATCH] include libgen.h for basename
|
||||
|
||||
basename prototype has been removed from string.h from latest musl [1]
|
||||
compilers e.g. clang-18 flags the absense of prototype as error. therefore
|
||||
include libgen.h for providing it.
|
||||
|
||||
[1] https://git.musl-libc.org/cgit/musl/commit/?id=725e17ed6dff4d0cd22487bb64470881e86a92e7
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/pmem/ndctl/pull/263]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
daxctl/device.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/daxctl/device.c b/daxctl/device.c
|
||||
index d2d206b..e607a19 100644
|
||||
--- a/daxctl/device.c
|
||||
+++ b/daxctl/device.c
|
||||
@@ -2,6 +2,7 @@
|
||||
/* Copyright (C) 2019-2020 Intel Corporation. All rights reserved. */
|
||||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
+#include <libgen.h>
|
||||
#include <stdlib.h>
|
||||
#include <syslog.h>
|
||||
#include <unistd.h>
|
||||
--
|
||||
2.44.0
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
SUMMARY = "libnvdimm utility library"
|
||||
DESCRIPTION = "Utility library for managing the libnvdimm \
|
||||
(non-volatile memory device) sub-system in the Linux kernel. \
|
||||
The LIBNVDIMM subsystem provides support for three types of \
|
||||
NVDIMMs, namely,PMEM, BLK, and NVDIMM devices that can \
|
||||
simultaneously support both PMEM and BLK mode access."
|
||||
HOMEPAGE = "https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/tree/Documentation/nvdimm/nvdimm.txt?h=libnvdimm-for-next"
|
||||
LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & MIT & CC0-1.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=74a614eac8b2657a4b8e6607421a0883"
|
||||
|
||||
inherit meson pkgconfig bash-completion systemd
|
||||
|
||||
SRCREV = "a871e6153b11fe63780b37cdcb1eb347b296095c"
|
||||
SRC_URI = "git://github.com/pmem/ndctl.git;branch=main;protocol=https \
|
||||
file://0001-include-libgen.h-for-basename.patch"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>v\d+(\.\d+)*)"
|
||||
|
||||
DEPENDS = "kmod udev json-c keyutils iniparser libtraceevent libtracefs"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMESON += "-Ddestructive=enabled -Diniparserdir=${STAGING_INCDIR}/iniparser"
|
||||
|
||||
PACKAGECONFIG ??= "tests ${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
|
||||
PACKAGECONFIG[systemd] = "-Dsystemd=enabled,-Dsystemd=disabled,systemd"
|
||||
PACKAGECONFIG[tests] = "-Dtest=enabled, -Dtest=disabled,"
|
||||
PACKAGECONFIG[docs] = "-Ddocs=enabled -Dasciidoctor=enabled,-Ddocs=disabled -Dasciidoctor=disabled, asciidoc-native"
|
||||
|
||||
SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES','systemd','${PN}','',d)}"
|
||||
SYSTEMD_SERVICE:${PN} = "ndctl-monitor.service daxdev-reconfigure@.service"
|
||||
SYSTEMD_AUTO_ENABLE:${PN} = "disable"
|
||||
|
||||
FILES:${PN} += "${datadir}/daxctl/daxctl.conf ${nonarch_libdir}/systemd/system"
|
||||
@@ -0,0 +1,20 @@
|
||||
SUMMARY = "OpenCL ICD library"
|
||||
DESCRIPTION = "Open Source alternative to vendor specific OpenCL ICD loaders."
|
||||
|
||||
# The LICENSE is BSD 2-Clause "Simplified" License
|
||||
LICENSE = "BSD-2-Clause"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1238d5bccbb6bda30654e48dcc0a554b"
|
||||
|
||||
SRC_URI = "git://github.com/OCL-dev/ocl-icd.git;protocol=https;branch=master"
|
||||
|
||||
SRCREV = "fdde6677b21329432db8b481e2637cd10f7d3cb2"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit autotools
|
||||
|
||||
DEPENDS = "ruby-native"
|
||||
PROVIDES = "virtual/opencl-icd"
|
||||
RPROVIDES:${PN} = "virtual-opencl-icd"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,25 @@
|
||||
SUMMARY = "OpenCL API C++ bindings"
|
||||
DESCRIPTION = "OpenCL API C++ bindings from Khronos"
|
||||
|
||||
SRC_URI = "git://github.com/KhronosGroup/OpenCL-CLHPP.git;protocol=https;branch=main"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
PV = "2.0.16+git"
|
||||
SRCREV = "1df82b9749739f2681081092ae163bb0f0d40f66"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DBUILD_DOCS=OFF \
|
||||
-DBUILD_EXAMPLES=OFF \
|
||||
-DBUILD_TESTS=OFF \
|
||||
"
|
||||
|
||||
# Headers only so PN is empty
|
||||
RDEPENDS:${PN}-dev = ""
|
||||
|
||||
BBCLASSEXTEND += "native nativesdk"
|
||||
@@ -0,0 +1,19 @@
|
||||
SUMMARY = "OpenCL API Headers"
|
||||
DESCRIPTION = "OpenCL compute API headers from Khronos Group"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
SECTION = "base"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "2368105c0531069fe927989505de7d125ec58c55"
|
||||
SRC_URI = "git://github.com/KhronosGroup/OpenCL-Headers.git;branch=main;protocol=https"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
do_compile[noexec] = "1"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${includedir}/CL/
|
||||
install -m 0644 ${S}/CL/*.h ${D}${includedir}/CL
|
||||
}
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,54 @@
|
||||
SUMMARY = "OpenCL ICD Loader"
|
||||
DESCRIPTION = "OpenCL compute ICD Loader from Khronos Group"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
SECTION = "base"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
DEPENDS += "opencl-headers"
|
||||
|
||||
PROVIDES = "virtual/opencl-icd"
|
||||
RPROVIDES:${PN} = "virtual-opencl-icd"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "229410f86a8c8c9e0f86f195409e5481a2bae067"
|
||||
SRC_URI = "git://github.com/KhronosGroup/OpenCL-ICD-Loader.git;branch=main;protocol=https"
|
||||
|
||||
EXTRA_OECMAKE:append = " \
|
||||
-DOPENCL_ICD_LOADER_HEADERS_DIR=${STAGING_INCDIR} \
|
||||
"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/icd_loader_test ${D}${bindir}/
|
||||
chrpath -d ${D}${bindir}/icd_loader_test
|
||||
install -d ${D}${libdir}
|
||||
install -m 0644 ${B}/libIcdLog.so ${D}${libdir}/
|
||||
install -m 0644 ${B}/libOpenCLDriverStub.so ${D}${libdir}/
|
||||
chrpath -d ${D}${libdir}/libOpenCLDriverStub.so
|
||||
install -m 0644 ${B}/libOpenCL.so.1.2 ${D}${libdir}/
|
||||
cd ${D}${libdir}
|
||||
ln -s libOpenCL.so.1.2 libOpenCL.so.1
|
||||
ln -s libOpenCL.so.1 libOpenCL.so
|
||||
}
|
||||
|
||||
PACKAGES = "opencl-icd-loader opencl-icd-loader-dev"
|
||||
PACKAGES += "libicdlog libicdlog-dbg"
|
||||
PACKAGE_DEBUG_SPLIT_STYLE = "debug-without-src"
|
||||
|
||||
FILES:${PN} = " \
|
||||
${bindir}/icd_loader_test \
|
||||
${libdir}/libOpenCLDriverStub.so \
|
||||
${libdir}/libOpenCL.so.1.2 \
|
||||
${libdir}/libOpenCL.so.1 \
|
||||
"
|
||||
FILES:${PN}-dev = " \
|
||||
${libdir}/libOpenCL.so \
|
||||
"
|
||||
|
||||
FILES:libicdlog = "${libdir}/libIcdLog.so"
|
||||
FILES:libicdlog-dbg = "${libdir}/.debug/libIcdLog.so"
|
||||
|
||||
RDEPENDS:${PN} = "libicdlog"
|
||||
@@ -0,0 +1,52 @@
|
||||
# This recipe is intended as a 'simpler' replacement for packagegroup-base.
|
||||
# Please communicate your use cases and suggestions to the mailinglist(s)
|
||||
|
||||
SUMMARY = "Basic task to get a device online"
|
||||
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
inherit packagegroup
|
||||
|
||||
# Poke extra recomendations into the list using your machine.conf
|
||||
#
|
||||
MACHINE_EXTRA_RRECOMMENDS ?= ""
|
||||
|
||||
#
|
||||
# Select between dropbear and openssh
|
||||
# Set TASK_BASIC_SSHDAEMON = "openssh-sshd openssh-sftp openssh-sftp-server" in your DISTRO config to get openssh(d)
|
||||
#
|
||||
TASK_BASIC_SSHDAEMON ?= "dropbear openssh-sftp openssh-sftp-server"
|
||||
|
||||
#
|
||||
# The section below is designed to match with packagegroup-boot, but doesn't depend on it to allow for more freedom
|
||||
# when writing image recipes.
|
||||
# It also avoids the choice between connman/networkmanager/ifupdown since that is an image feature, not a
|
||||
# distro feature.
|
||||
#
|
||||
# Util-linux (u)mount is included because the busybox one can't handle /etc/mtab being symlinked to /proc/mounts
|
||||
#
|
||||
RDEPENDS:${PN} = "\
|
||||
${TASK_BASIC_SSHDAEMON} \
|
||||
avahi-daemon avahi-utils \
|
||||
"
|
||||
|
||||
#
|
||||
# The following section is split in 3:
|
||||
# 1) Machine features: kernel modules and userspace helpers for those
|
||||
# 2) Distro features: packages associated with those
|
||||
# 3) Nice to have: packages that are nice to have, but aren't strictly needed
|
||||
#
|
||||
RRECOMMENDS:${PN} = "\
|
||||
${MACHINE_EXTRA_RRECOMMENDS} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "usbhost", "usbutils", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "alsa", "alsa-utils-alsamixer", "", d)} \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "usbgadget", "kernel-module-g-ether kernel-module-g-serial kernel-module-g-mass-storage", "", d)} \
|
||||
\
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "bluetooth", "bluez5", "", d)} \
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "wifi", "iw wpa-supplicant", "", d)} \
|
||||
\
|
||||
tzdata \
|
||||
\
|
||||
cpufrequtils \
|
||||
htop \
|
||||
"
|
||||
@@ -0,0 +1,31 @@
|
||||
SUMMARY = "Basic task to get a device booting"
|
||||
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
inherit packagegroup
|
||||
|
||||
#
|
||||
# those ones can be set in machine config to supply packages needed to get machine booting
|
||||
#
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS ?= ""
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
|
||||
|
||||
# Make sure we build the kernel
|
||||
DEPENDS = "virtual/kernel"
|
||||
|
||||
#
|
||||
# minimal set of packages - needed to boot
|
||||
#
|
||||
RDEPENDS:${PN} = "\
|
||||
base-files \
|
||||
base-passwd \
|
||||
busybox \
|
||||
netbase \
|
||||
${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "keymaps", "", d)} \
|
||||
${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
|
||||
"
|
||||
|
||||
RRECOMMENDS:${PN} = "\
|
||||
kernel \
|
||||
${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS} \
|
||||
"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,22 @@
|
||||
# SPDX-FileCopyrightText: Huawei Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
HOMEPAGE = "https://booting.oniroproject.org/distro/components/pim435"
|
||||
SUMMARY = "A userspace driver application for PIM435 written in C"
|
||||
DESCRIPTION = "A userspace driver application for PIM435 (Pimoroni LED matrix) \
|
||||
written in C"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663"
|
||||
|
||||
SRC_URI = "git://gitlab.eclipse.org/eclipse/oniro-blueprints/core/pim435;protocol=https;branch=main"
|
||||
SRCREV = "445ed623ec8d3ecbb1d566900b4ef3fb3031d689"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS = "i2c-tools"
|
||||
|
||||
EXTRA_OEMAKE += "DESTDIR=${D}"
|
||||
|
||||
do_install() {
|
||||
oe_runmake install
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
From 210090a8bddc4d4fae6089449306276a58db7409 Mon Sep 17 00:00:00 2001
|
||||
From: Ming Liu <liu.ming50@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 14:45:29 +0100
|
||||
Subject: [PATCH] Avoid linking to plymouth_logo_file
|
||||
|
||||
Otherwise it would lead to install errors during cross-compilation.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
||||
---
|
||||
themes/spinfinity/meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/themes/spinfinity/meson.build b/themes/spinfinity/meson.build
|
||||
index f48e8e55..da9ea705 100644
|
||||
--- a/themes/spinfinity/meson.build
|
||||
+++ b/themes/spinfinity/meson.build
|
||||
@@ -56,5 +56,5 @@ install_data(
|
||||
|
||||
install_symlink('header-image.png',
|
||||
install_dir: plymouth_theme_path / 'spinfinity',
|
||||
- pointing_to: plymouth_logo_file,
|
||||
+ pointing_to: '..' / '..'/ 'bizcom.png',
|
||||
)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
From c1d5f8265a1974908ae8dd32714d305035939cc7 Mon Sep 17 00:00:00 2001
|
||||
From: Ming Liu <liu.ming50@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 12:24:44 +0100
|
||||
Subject: [PATCH] Drop libdl references
|
||||
|
||||
dl has been integrated into libc since glibc 2.34, dont need to link to
|
||||
it any more.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
||||
---
|
||||
meson.build | 2 --
|
||||
src/client/meson.build | 1 -
|
||||
src/libply-splash-core/meson.build | 1 -
|
||||
src/libply/meson.build | 1 -
|
||||
4 files changed, 5 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index c6996aed..91688f73 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -24,8 +24,6 @@ cc = meson.get_compiler('c')
|
||||
lm_dep = cc.find_library('m')
|
||||
lrt_dep = cc.find_library('rt')
|
||||
|
||||
-ldl_dep = dependency('dl')
|
||||
-
|
||||
libpng_dep = dependency('libpng', version: '>= 1.2.16')
|
||||
|
||||
libudev_dep = dependency('libudev', required: get_option('udev'))
|
||||
diff --git a/src/client/meson.build b/src/client/meson.build
|
||||
index 0506c8b4..272a811c 100644
|
||||
--- a/src/client/meson.build
|
||||
+++ b/src/client/meson.build
|
||||
@@ -52,7 +52,6 @@ pkgconfig.generate(libply_boot_client,
|
||||
description: 'Client Library for Boot Splash',
|
||||
libraries: [
|
||||
libply,
|
||||
- ldl_dep,
|
||||
],
|
||||
subdirs: [
|
||||
'plymouth-1/ply',
|
||||
diff --git a/src/libply-splash-core/meson.build b/src/libply-splash-core/meson.build
|
||||
index cd22345c..c0f62b4b 100644
|
||||
--- a/src/libply-splash-core/meson.build
|
||||
+++ b/src/libply-splash-core/meson.build
|
||||
@@ -81,7 +81,6 @@ pkgconfig.generate(libply_splash_core,
|
||||
description: 'Utility Library for Boot Splash Plugins',
|
||||
libraries: [
|
||||
libply,
|
||||
- ldl_dep,
|
||||
],
|
||||
subdirs: [
|
||||
'plymouth-1/ply',
|
||||
diff --git a/src/libply/meson.build b/src/libply/meson.build
|
||||
index 70f72488..77dced75 100644
|
||||
--- a/src/libply/meson.build
|
||||
+++ b/src/libply/meson.build
|
||||
@@ -17,7 +17,6 @@ libply_sources = files(
|
||||
)
|
||||
|
||||
libply_deps = [
|
||||
- ldl_dep,
|
||||
lm_dep,
|
||||
]
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
From beb9b218f94872e70d02578d4ff016e08abc4717 Mon Sep 17 00:00:00 2001
|
||||
From: Ming Liu <liu.ming50@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 12:03:26 +0100
|
||||
Subject: [PATCH] Make full path to systemd-tty-ask-password-agent configurable
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
||||
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
||||
---
|
||||
meson.build | 2 +-
|
||||
meson_options.txt | 5 +++++
|
||||
systemd-units/meson.build | 2 +-
|
||||
3 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 26789060..c6996aed 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -44,7 +44,7 @@ if get_option('systemd-integration')
|
||||
systemd_unit_dir = systemd_dep.get_variable('systemdsystemunitdir',
|
||||
pkgconfig_define: [ 'rootprefix', get_option('prefix') ],
|
||||
)
|
||||
- systemd_ask_password_agent = find_program('systemd-tty-ask-password-agent')
|
||||
+ systemd_ask_password_agent = get_option('systemd-tty-ask-password-agent')
|
||||
endif
|
||||
|
||||
if get_option('upstart-monitoring')
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 4f601bb0..aac661fc 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -53,6 +53,11 @@ option('systemd-integration',
|
||||
value: true,
|
||||
description: 'Coordinate boot up with systemd',
|
||||
)
|
||||
+option('systemd-tty-ask-password-agent',
|
||||
+ type: 'string',
|
||||
+ value: '/bin/systemd-tty-ask-password-agent',
|
||||
+ description: 'Path of systemd-tty-ask-password-agent',
|
||||
+)
|
||||
option('udev',
|
||||
type: 'feature',
|
||||
value: 'auto',
|
||||
diff --git a/systemd-units/meson.build b/systemd-units/meson.build
|
||||
index 06379312..7adc86ae 100644
|
||||
--- a/systemd-units/meson.build
|
||||
+++ b/systemd-units/meson.build
|
||||
@@ -21,7 +21,7 @@ foreach unit_templ : systemd_unit_templates
|
||||
'PLYMOUTH_CLIENT_DIR': get_option('prefix') / get_option('bindir'),
|
||||
'PLYMOUTH_DAEMON_DIR': get_option('prefix') / get_option('sbindir'),
|
||||
'plymouthruntimedir': plymouth_runtime_dir,
|
||||
- 'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent.full_path(),
|
||||
+ 'SYSTEMD_ASK_PASSWORD_AGENT': systemd_ask_password_agent,
|
||||
},
|
||||
install: true,
|
||||
install_dir: systemd_unit_dir,
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
From 2caf68370791c7aa48f94628c7f7a012753388c5 Mon Sep 17 00:00:00 2001
|
||||
From: Ming Liu <liu.ming50@gmail.com>
|
||||
Date: Wed, 14 Feb 2024 15:07:00 +0100
|
||||
Subject: [PATCH] Make themes build optional
|
||||
|
||||
The users can choose which themes should be built.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
|
||||
---
|
||||
meson_options.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
themes/meson.build | 38 ++++++++++++++++++++++++++---------
|
||||
2 files changed, 79 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/meson_options.txt b/meson_options.txt
|
||||
index 4f601bb0..1cbf6d2b 100644
|
||||
--- a/meson_options.txt
|
||||
+++ b/meson_options.txt
|
||||
@@ -83,3 +83,53 @@ option('docs',
|
||||
value: true,
|
||||
description: 'Build documentation',
|
||||
)
|
||||
+option('spinfinity-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with spinfinity theme',
|
||||
+)
|
||||
+option('fade-in-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with fade-in theme',
|
||||
+)
|
||||
+option('text-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with text theme',
|
||||
+)
|
||||
+option('details-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with details theme',
|
||||
+)
|
||||
+option('solar-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with solar theme',
|
||||
+)
|
||||
+option('glow-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with glow theme',
|
||||
+)
|
||||
+option('script-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with script theme',
|
||||
+)
|
||||
+option('spinner-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with spinner theme',
|
||||
+)
|
||||
+option('tribar-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with tribar theme',
|
||||
+)
|
||||
+option('bgrt-theme',
|
||||
+ type: 'boolean',
|
||||
+ value: true,
|
||||
+ description: 'Build with bgrt theme',
|
||||
+)
|
||||
diff --git a/themes/meson.build b/themes/meson.build
|
||||
index dc2ca6e2..15918472 100644
|
||||
--- a/themes/meson.build
|
||||
+++ b/themes/meson.build
|
||||
@@ -1,10 +1,30 @@
|
||||
-subdir('spinfinity')
|
||||
-subdir('fade-in')
|
||||
+if get_option('spinfinity-theme')
|
||||
+ subdir('spinfinity')
|
||||
+endif
|
||||
+if get_option('fade-in-theme')
|
||||
+ subdir('fade-in')
|
||||
+endif
|
||||
+if get_option('text-theme')
|
||||
subdir('text')
|
||||
-subdir('details')
|
||||
-subdir('solar')
|
||||
-subdir('glow')
|
||||
-subdir('script')
|
||||
-subdir('spinner')
|
||||
-subdir('tribar')
|
||||
-subdir('bgrt')
|
||||
+endif
|
||||
+if get_option('details-theme')
|
||||
+ subdir('details')
|
||||
+endif
|
||||
+if get_option('solar-theme')
|
||||
+ subdir('solar')
|
||||
+endif
|
||||
+if get_option('glow-theme')
|
||||
+ subdir('glow')
|
||||
+endif
|
||||
+if get_option('script-theme')
|
||||
+ subdir('script')
|
||||
+endif
|
||||
+if get_option('spinner-theme')
|
||||
+ subdir('spinner')
|
||||
+endif
|
||||
+if get_option('tribar-theme')
|
||||
+ subdir('tribar')
|
||||
+endif
|
||||
+if get_option('bgrt-theme')
|
||||
+ subdir('bgrt')
|
||||
+endif
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From f270f80d4c36a22a0f7b8de8fb6b1abef6f7b183 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Tue, 15 Feb 2022 16:23:10 +0800
|
||||
Subject: [PATCH] plymouth : Add the retain-splash option
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Adding the "retain-splash” option to tell plymouth to keep the boot
|
||||
splash’s contents on screen even after plymouth exits to make the
|
||||
splash screen show more friendly on the system which boots so fast.
|
||||
|
||||
Upstream-Status: Inappropriate [embedded specific]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
systemd-units/plymouth-quit.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/systemd-units/plymouth-quit.service.in b/systemd-units/plymouth-quit.service.in
|
||||
index ed9f9b9..147e9ee 100644
|
||||
--- a/systemd-units/plymouth-quit.service.in
|
||||
+++ b/systemd-units/plymouth-quit.service.in
|
||||
@@ -3,7 +3,7 @@ Description=Terminate Plymouth Boot Screen
|
||||
After=rc-local.service plymouth-start.service systemd-user-sessions.service
|
||||
|
||||
[Service]
|
||||
-ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit
|
||||
+ExecStart=-@PLYMOUTH_CLIENT_DIR@/plymouth quit --retain-splash
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
TimeoutSec=20
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
From 658eac007d14d836cb002a5675487bac63d50324 Mon Sep 17 00:00:00 2001
|
||||
From: Mingli Yu <mingli.yu@windriver.com>
|
||||
Date: Mon, 7 Feb 2022 03:22:12 +0000
|
||||
Subject: [PATCH] plymouth-start.service.in: add related kernel parameter
|
||||
|
||||
Add extra kernel parameter to make the plymouth splash screen
|
||||
display during boot.
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.freedesktop.org/plymouth/plymouth/-/merge_requests/156]
|
||||
|
||||
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
|
||||
---
|
||||
systemd-units/plymouth-start.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/systemd-units/plymouth-start.service.in b/systemd-units/plymouth-start.service.in
|
||||
index 830a62d..c20aabe 100644
|
||||
--- a/systemd-units/plymouth-start.service.in
|
||||
+++ b/systemd-units/plymouth-start.service.in
|
||||
@@ -9,7 +9,7 @@ ConditionVirtualization=!container
|
||||
IgnoreOnIsolate=true
|
||||
|
||||
[Service]
|
||||
-ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session
|
||||
+ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --kernel-command-line="splash plymouth.ignore-serial-consoles" --pid-file=@plymouthruntimedir@/pid --attach-to-session
|
||||
ExecStartPost=-@PLYMOUTH_CLIENT_DIR@/plymouth show-splash
|
||||
Type=forking
|
||||
RemainAfterExit=yes
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
SUMMARY = "Plymouth is a project from Fedora providing a flicker-free graphical boot process."
|
||||
DESCRIPTION = "Plymouth is an application that runs very early in the boot process \
|
||||
(even before the root filesystem is mounted!) that provides a \
|
||||
graphical boot animation while the boot process happens in the background."
|
||||
HOMEPAGE = "http://www.freedesktop.org/wiki/Software/Plymouth"
|
||||
SECTION = "base"
|
||||
|
||||
LICENSE = "GPL-2.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
|
||||
|
||||
SRC_URI = " \
|
||||
http://www.freedesktop.org/software/plymouth/releases/${BPN}-${PV}.tar.xz \
|
||||
file://0001-Make-full-path-to-systemd-tty-ask-password-agent-con.patch \
|
||||
file://0001-plymouth-start-service-in-add-related-kernel-paramet.patch \
|
||||
file://0001-plymouth-Add-the-retain-splash-option.patch \
|
||||
file://0001-Drop-libdl-references.patch \
|
||||
file://0001-Avoid-linking-to-plymouth_logo_file.patch \
|
||||
file://0001-Make-themes-build-optional.patch \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "f3f7841358c98f5e7b06a9eedbdd5e6882fd9f38bbd14a767fb083e3b55b1c34"
|
||||
|
||||
PLYMOUTH_RUNSTATEDIR ??= "${base_prefix}/run"
|
||||
PLYMOUTH_RELEASE_FILE ??= "${sysconfdir}/system-release"
|
||||
|
||||
PLYMOUTH_BACKGROUND_COLOR ??= "0x5d5950"
|
||||
PLYMOUTH_BACKGROUND_START_COLOR_STOP ??= "0x807c71"
|
||||
PLYMOUTH_BACKGROUND_END_COLOR_STOP ??= "0x3a362f"
|
||||
|
||||
PLYMOUTH_BOOT_TTY ??= "/dev/tty1"
|
||||
PLYMOUTH_SHUTDOWN_TTY ??= "/dev/tty63"
|
||||
|
||||
PLYMOUTH_THEMES ??= "spinfinity fade-in text details solar glow script spinner tribar bgrt"
|
||||
|
||||
EXTRA_OEMESON += " \
|
||||
-Drunstatedir=${PLYMOUTH_RUNSTATEDIR} \
|
||||
-Drelease-file=${PLYMOUTH_RELEASE_FILE} \
|
||||
-Dbackground-color=${PLYMOUTH_BACKGROUND_COLOR} \
|
||||
-Dbackground-start-color-stop=${PLYMOUTH_BACKGROUND_START_COLOR_STOP} \
|
||||
-Dbackground-end-color-stop=${PLYMOUTH_BACKGROUND_END_COLOR_STOP} \
|
||||
-Dboot-tty=${PLYMOUTH_BOOT_TTY} \
|
||||
-Dshutdown-tty=${PLYMOUTH_SHUTDOWN_TTY} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "initrd freetype pango udev ${PLYMOUTH_THEMES} ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
||||
PACKAGECONFIG:append:x86 = " drm"
|
||||
PACKAGECONFIG:append:x86-64 = " drm"
|
||||
|
||||
PACKAGECONFIG[drm] = "-Ddrm=true,-Ddrm=false,libdrm"
|
||||
PACKAGECONFIG[docs] = "-Ddocs=true,-Ddocs=false"
|
||||
PACKAGECONFIG[freetype] = "-Dfreetype=enabled,-Dfreetype=disabled,freetype"
|
||||
PACKAGECONFIG[initrd] = ",,"
|
||||
PACKAGECONFIG[gtk] = "-Dgtk=enabled,-Dgtk=disabled,gtk+3"
|
||||
PACKAGECONFIG[pango] = "-Dpango=enabled,-Dpango=disabled,pango cairo"
|
||||
PACKAGECONFIG[systemd] = "-Dsystemd-integration=true ,-Dsystemd-integration=false,systemd"
|
||||
PACKAGECONFIG[tracing] = "-Dtracing=true,-Dtracing=false"
|
||||
PACKAGECONFIG[udev] = "-Dudev=enabled,-Dudev=disabled,udev"
|
||||
PACKAGECONFIG[upstart-monitoring] = "-Dupstart-monitoring=true,-Dupstart-monitoring=false,ncurses dbus"
|
||||
|
||||
# theme configs
|
||||
PACKAGECONFIG[spinfinity] = "-Dspinfinity-theme=true,-Dspinfinity-theme=false"
|
||||
PACKAGECONFIG[fade-in] = "-Dfade-in-theme=true,-Dfade-in-theme=false"
|
||||
PACKAGECONFIG[text] = "-Dtext-theme=true,-Dtext-theme=false"
|
||||
PACKAGECONFIG[details] = "-Ddetails-theme=true,-Ddetails-theme=false"
|
||||
PACKAGECONFIG[solar] = "-Dsolar-theme=true,-Dsolar-theme=false"
|
||||
PACKAGECONFIG[glow] = "-Dglow-theme=true,-Dglow-theme=false"
|
||||
PACKAGECONFIG[script] = "-Dscript-theme=true,-Dscript-theme=false"
|
||||
PACKAGECONFIG[spinner] = "-Dspinner-theme=true,-Dspinner-theme=false"
|
||||
PACKAGECONFIG[tribar] = "-Dtribar-theme=true,-Dtribar-theme=false"
|
||||
PACKAGECONFIG[bgrt] = "-Dbgrt-theme=true,-Dbgrt-theme=false"
|
||||
|
||||
inherit meson pkgconfig systemd gettext
|
||||
|
||||
do_install:append() {
|
||||
# Remove ${PLYMOUTH_RUNSTATEDIR} from package as plymouth will populate it on startup
|
||||
rm -fr ${D}${PLYMOUTH_RUNSTATEDIR}
|
||||
|
||||
if ! ${@bb.utils.contains('PACKAGECONFIG', 'initrd', 'true', 'false', d)}; then
|
||||
rm -rf "${D}${libexecdir}"
|
||||
fi
|
||||
}
|
||||
|
||||
PROVIDES = "virtual/psplash"
|
||||
RPROVIDES:${PN} = "virtual-psplash virtual-psplash-support"
|
||||
|
||||
PACKAGES =. "${@bb.utils.contains('PACKAGECONFIG', 'initrd', '${PN}-initrd ', '', d)}"
|
||||
PACKAGES =+ "${PN}-set-default-theme"
|
||||
|
||||
FILES:${PN}-initrd = "${libexecdir}/plymouth/*"
|
||||
FILES:${PN}-set-default-theme = "${sbindir}/plymouth-set-default-theme"
|
||||
|
||||
FILES:${PN} += "${systemd_unitdir}/system/*"
|
||||
|
||||
DEPENDS = "libcap libpng libxkbcommon xkeyboard-config libevdev"
|
||||
DEPENDS:append:libc-musl = " musl-rpmatch"
|
||||
|
||||
LDFLAGS:append:libc-musl = " -lrpmatch"
|
||||
|
||||
RDEPENDS:${PN}-initrd = "bash dracut"
|
||||
RDEPENDS:${PN}-set-default-theme = "bash"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "plymouth-start.service"
|
||||
@@ -0,0 +1,33 @@
|
||||
SUMMARY = "Proxy libintl"
|
||||
HOMEPAGE = "http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/"
|
||||
SECTION = "libs"
|
||||
LICENSE = "LGPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://src/proxy-libintl/COPYING.LIB.txt;md5=bc400bc21422f9a92e76ec2c5167ca2e"
|
||||
|
||||
PROVIDES = "virtual/libintl"
|
||||
|
||||
SRC_URI = " \
|
||||
http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/${BPN}-dev_${PV}_win32.zip \
|
||||
"
|
||||
SRC_URI[md5sum] = "aef407c2b97ee829383aadd867c61d1e"
|
||||
SRC_URI[sha256sum] = "291ac350cc5eb4a01b0d651ca99fae64cee8a1c06b2005277fab5a4356f9ae91"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
PACKAGES = "${PN} ${PN}-dev"
|
||||
FILES:${PN}-dev = "${includedir}/libintl.h ${libdir}/libintl.a"
|
||||
INSANE_SKIP:${PN}-dev = "staticdev"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
CFLAGS:append = " -fPIC -Wall -I ../../include ${@['-DSTUB_ONLY', ''][d.getVar('USE_NLS') != 'no']}"
|
||||
TARGET_CC_ARCH += "${LDFLAGS}"
|
||||
|
||||
do_compile() {
|
||||
cd ${WORKDIR}/src/proxy-libintl
|
||||
oe_runmake ../../lib/libintl.a
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${includedir}
|
||||
install -d ${D}/${libdir}
|
||||
install -m 0644 ${WORKDIR}/include/libintl.h ${D}/${includedir}
|
||||
install -m 0644 ${WORKDIR}/lib/libintl.a ${D}/${libdir}
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
From b1d7cc6495c541cdd99399b4d1a835997376dcbf Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 22 Aug 2022 23:42:33 -0700
|
||||
Subject: [PATCH] strpbrk_s: Remove unused variable len
|
||||
|
||||
Fixes
|
||||
error: variable 'len' set but not used [-Werror,-Wunused-but-set-variable]
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/rurban/safeclib/pull/123]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/extstr/strpbrk_s.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/src/extstr/strpbrk_s.c b/src/extstr/strpbrk_s.c
|
||||
index 5bb7a0f8..2cf8a8be 100644
|
||||
--- a/src/extstr/strpbrk_s.c
|
||||
+++ b/src/extstr/strpbrk_s.c
|
||||
@@ -79,7 +79,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
|
||||
#endif
|
||||
{
|
||||
char *ps;
|
||||
- rsize_t len;
|
||||
|
||||
CHK_SRC_NULL("strpbrk_s", firstp)
|
||||
*firstp = NULL;
|
||||
@@ -121,7 +120,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
|
||||
while (*dest && dmax) {
|
||||
|
||||
ps = src;
|
||||
- len = slen;
|
||||
while (*ps) {
|
||||
|
||||
/* check for a match with the substring */
|
||||
@@ -130,7 +128,6 @@ EXPORT errno_t _strpbrk_s_chk(char *dest, rsize_t dmax, char *src, rsize_t slen,
|
||||
return RCNEGATE(EOK);
|
||||
}
|
||||
ps++;
|
||||
- len--;
|
||||
}
|
||||
dest++;
|
||||
dmax--;
|
||||
@@ -0,0 +1,21 @@
|
||||
SUMMARY = "Safe C Library"
|
||||
|
||||
LICENSE = "safec"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "f9add9245b97c7bda6e28cceb0ee37fb7e254fd8"
|
||||
SRC_URI = "git://github.com/rurban/safeclib.git;branch=master;protocol=https \
|
||||
file://0001-strpbrk_s-Remove-unused-variable-len.patch \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64|i.86|powerpc|powerpc64|arm|aarch64|mips).*-linux'
|
||||
|
||||
PACKAGES =+ "${PN}-check"
|
||||
|
||||
FILES:${PN}-check += "${bindir}/check_for_unsafe_apis"
|
||||
|
||||
RDEPENDS:${PN}-check += "perl"
|
||||
@@ -0,0 +1,61 @@
|
||||
From 01195eb9f7d59139fb45df506ac6b3968c14a57f Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 13:55:12 +0800
|
||||
Subject: [PATCH 01/22] missing_type.h: add comparison_fn_t
|
||||
|
||||
Make it work with musl where comparison_fn_t and is not provided.
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
[Rebased for v244]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[Rebased for v242]
|
||||
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
|
||||
[Rebased for v250, Drop __compare_fn_t]
|
||||
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
|
||||
---
|
||||
src/basic/missing_type.h | 4 ++++
|
||||
src/basic/sort-util.h | 1 +
|
||||
src/libsystemd/sd-journal/catalog.c | 1 +
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
|
||||
index f6233090a9..6c0456349d 100644
|
||||
--- a/src/basic/missing_type.h
|
||||
+++ b/src/basic/missing_type.h
|
||||
@@ -10,3 +10,7 @@
|
||||
#if !HAVE_CHAR16_T
|
||||
#define char16_t uint16_t
|
||||
#endif
|
||||
+
|
||||
+#ifndef __GLIBC__
|
||||
+typedef int (*comparison_fn_t)(const void *, const void *);
|
||||
+#endif
|
||||
diff --git a/src/basic/sort-util.h b/src/basic/sort-util.h
|
||||
index 9c818bd747..ef10c8be2c 100644
|
||||
--- a/src/basic/sort-util.h
|
||||
+++ b/src/basic/sort-util.h
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "macro.h"
|
||||
+#include "missing_type.h"
|
||||
|
||||
/* This is the same as glibc's internal __compar_d_fn_t type. glibc exports a public comparison_fn_t, for the
|
||||
* external type __compar_fn_t, but doesn't do anything similar for __compar_d_fn_t. Let's hence do that
|
||||
diff --git a/src/libsystemd/sd-journal/catalog.c b/src/libsystemd/sd-journal/catalog.c
|
||||
index ae91534198..7f67eea38b 100644
|
||||
--- a/src/libsystemd/sd-journal/catalog.c
|
||||
+++ b/src/libsystemd/sd-journal/catalog.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "tmpfile-util.h"
|
||||
+#include "missing_type.h"
|
||||
|
||||
const char * const catalog_file_dirs[] = {
|
||||
"/usr/local/lib/systemd/catalog/",
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,434 @@
|
||||
From 872b72739e62123867ce6c4f82aa37de24cc3f75 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
||||
Date: Sat, 22 May 2021 20:26:24 +0200
|
||||
Subject: [PATCH 02/22] add fallback parse_printf_format implementation
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Emil Renner Berthing <systemd@esmil.dk>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
meson.build | 1 +
|
||||
src/basic/meson.build | 5 +
|
||||
src/basic/parse-printf-format.c | 273 +++++++++++++++++++++++
|
||||
src/basic/parse-printf-format.h | 57 +++++
|
||||
src/basic/stdio-util.h | 2 +-
|
||||
src/libsystemd/sd-journal/journal-send.c | 2 +-
|
||||
6 files changed, 338 insertions(+), 2 deletions(-)
|
||||
create mode 100644 src/basic/parse-printf-format.c
|
||||
create mode 100644 src/basic/parse-printf-format.h
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 7419e2b0b0..01fd3ffc19 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -725,6 +725,7 @@ endif
|
||||
foreach header : ['crypt.h',
|
||||
'linux/memfd.h',
|
||||
'linux/vm_sockets.h',
|
||||
+ 'printf.h',
|
||||
'sys/auxv.h',
|
||||
'threads.h',
|
||||
'valgrind/memcheck.h',
|
||||
diff --git a/src/basic/meson.build b/src/basic/meson.build
|
||||
index d7450d8b44..c3e3daf4bd 100644
|
||||
--- a/src/basic/meson.build
|
||||
+++ b/src/basic/meson.build
|
||||
@@ -183,6 +183,11 @@ endforeach
|
||||
|
||||
basic_sources += generated_gperf_headers
|
||||
|
||||
+if conf.get('HAVE_PRINTF_H') != 1
|
||||
+ basic_sources += [files('parse-printf-format.c')]
|
||||
+endif
|
||||
+
|
||||
+
|
||||
############################################################
|
||||
|
||||
arch_list = [
|
||||
diff --git a/src/basic/parse-printf-format.c b/src/basic/parse-printf-format.c
|
||||
new file mode 100644
|
||||
index 0000000000..49437e5445
|
||||
--- /dev/null
|
||||
+++ b/src/basic/parse-printf-format.c
|
||||
@@ -0,0 +1,273 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
|
||||
+
|
||||
+ With parts from the musl C library
|
||||
+ Copyright 2005-2014 Rich Felker, et al.
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+***/
|
||||
+
|
||||
+#include <stddef.h>
|
||||
+#include <string.h>
|
||||
+
|
||||
+#include "parse-printf-format.h"
|
||||
+
|
||||
+static const char *consume_nonarg(const char *fmt)
|
||||
+{
|
||||
+ do {
|
||||
+ if (*fmt == '\0')
|
||||
+ return fmt;
|
||||
+ } while (*fmt++ != '%');
|
||||
+ return fmt;
|
||||
+}
|
||||
+
|
||||
+static const char *consume_num(const char *fmt)
|
||||
+{
|
||||
+ for (;*fmt >= '0' && *fmt <= '9'; fmt++)
|
||||
+ /* do nothing */;
|
||||
+ return fmt;
|
||||
+}
|
||||
+
|
||||
+static const char *consume_argn(const char *fmt, size_t *arg)
|
||||
+{
|
||||
+ const char *p = fmt;
|
||||
+ size_t val = 0;
|
||||
+
|
||||
+ if (*p < '1' || *p > '9')
|
||||
+ return fmt;
|
||||
+ do {
|
||||
+ val = 10*val + (*p++ - '0');
|
||||
+ } while (*p >= '0' && *p <= '9');
|
||||
+
|
||||
+ if (*p != '$')
|
||||
+ return fmt;
|
||||
+ *arg = val;
|
||||
+ return p+1;
|
||||
+}
|
||||
+
|
||||
+static const char *consume_flags(const char *fmt)
|
||||
+{
|
||||
+ while (1) {
|
||||
+ switch (*fmt) {
|
||||
+ case '#':
|
||||
+ case '0':
|
||||
+ case '-':
|
||||
+ case ' ':
|
||||
+ case '+':
|
||||
+ case '\'':
|
||||
+ case 'I':
|
||||
+ fmt++;
|
||||
+ continue;
|
||||
+ }
|
||||
+ return fmt;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+enum state {
|
||||
+ BARE,
|
||||
+ LPRE,
|
||||
+ LLPRE,
|
||||
+ HPRE,
|
||||
+ HHPRE,
|
||||
+ BIGLPRE,
|
||||
+ ZTPRE,
|
||||
+ JPRE,
|
||||
+ STOP
|
||||
+};
|
||||
+
|
||||
+enum type {
|
||||
+ NONE,
|
||||
+ PTR,
|
||||
+ INT,
|
||||
+ UINT,
|
||||
+ ULLONG,
|
||||
+ LONG,
|
||||
+ ULONG,
|
||||
+ SHORT,
|
||||
+ USHORT,
|
||||
+ CHAR,
|
||||
+ UCHAR,
|
||||
+ LLONG,
|
||||
+ SIZET,
|
||||
+ IMAX,
|
||||
+ UMAX,
|
||||
+ PDIFF,
|
||||
+ UIPTR,
|
||||
+ DBL,
|
||||
+ LDBL,
|
||||
+ MAXTYPE
|
||||
+};
|
||||
+
|
||||
+static const short pa_types[MAXTYPE] = {
|
||||
+ [NONE] = PA_INT,
|
||||
+ [PTR] = PA_POINTER,
|
||||
+ [INT] = PA_INT,
|
||||
+ [UINT] = PA_INT,
|
||||
+ [ULLONG] = PA_INT | PA_FLAG_LONG_LONG,
|
||||
+ [LONG] = PA_INT | PA_FLAG_LONG,
|
||||
+ [ULONG] = PA_INT | PA_FLAG_LONG,
|
||||
+ [SHORT] = PA_INT | PA_FLAG_SHORT,
|
||||
+ [USHORT] = PA_INT | PA_FLAG_SHORT,
|
||||
+ [CHAR] = PA_CHAR,
|
||||
+ [UCHAR] = PA_CHAR,
|
||||
+ [LLONG] = PA_INT | PA_FLAG_LONG_LONG,
|
||||
+ [SIZET] = PA_INT | PA_FLAG_LONG,
|
||||
+ [IMAX] = PA_INT | PA_FLAG_LONG_LONG,
|
||||
+ [UMAX] = PA_INT | PA_FLAG_LONG_LONG,
|
||||
+ [PDIFF] = PA_INT | PA_FLAG_LONG_LONG,
|
||||
+ [UIPTR] = PA_INT | PA_FLAG_LONG,
|
||||
+ [DBL] = PA_DOUBLE,
|
||||
+ [LDBL] = PA_DOUBLE | PA_FLAG_LONG_DOUBLE
|
||||
+};
|
||||
+
|
||||
+#define S(x) [(x)-'A']
|
||||
+#define E(x) (STOP + (x))
|
||||
+
|
||||
+static const unsigned char states[]['z'-'A'+1] = {
|
||||
+ { /* 0: bare types */
|
||||
+ S('d') = E(INT), S('i') = E(INT),
|
||||
+ S('o') = E(UINT),S('u') = E(UINT),S('x') = E(UINT), S('X') = E(UINT),
|
||||
+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
|
||||
+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
|
||||
+ S('c') = E(CHAR),S('C') = E(INT),
|
||||
+ S('s') = E(PTR), S('S') = E(PTR), S('p') = E(UIPTR),S('n') = E(PTR),
|
||||
+ S('m') = E(NONE),
|
||||
+ S('l') = LPRE, S('h') = HPRE, S('L') = BIGLPRE,
|
||||
+ S('z') = ZTPRE, S('j') = JPRE, S('t') = ZTPRE
|
||||
+ }, { /* 1: l-prefixed */
|
||||
+ S('d') = E(LONG), S('i') = E(LONG),
|
||||
+ S('o') = E(ULONG),S('u') = E(ULONG),S('x') = E(ULONG),S('X') = E(ULONG),
|
||||
+ S('e') = E(DBL), S('f') = E(DBL), S('g') = E(DBL), S('a') = E(DBL),
|
||||
+ S('E') = E(DBL), S('F') = E(DBL), S('G') = E(DBL), S('A') = E(DBL),
|
||||
+ S('c') = E(INT), S('s') = E(PTR), S('n') = E(PTR),
|
||||
+ S('l') = LLPRE
|
||||
+ }, { /* 2: ll-prefixed */
|
||||
+ S('d') = E(LLONG), S('i') = E(LLONG),
|
||||
+ S('o') = E(ULLONG),S('u') = E(ULLONG),
|
||||
+ S('x') = E(ULLONG),S('X') = E(ULLONG),
|
||||
+ S('n') = E(PTR)
|
||||
+ }, { /* 3: h-prefixed */
|
||||
+ S('d') = E(SHORT), S('i') = E(SHORT),
|
||||
+ S('o') = E(USHORT),S('u') = E(USHORT),
|
||||
+ S('x') = E(USHORT),S('X') = E(USHORT),
|
||||
+ S('n') = E(PTR),
|
||||
+ S('h') = HHPRE
|
||||
+ }, { /* 4: hh-prefixed */
|
||||
+ S('d') = E(CHAR), S('i') = E(CHAR),
|
||||
+ S('o') = E(UCHAR),S('u') = E(UCHAR),
|
||||
+ S('x') = E(UCHAR),S('X') = E(UCHAR),
|
||||
+ S('n') = E(PTR)
|
||||
+ }, { /* 5: L-prefixed */
|
||||
+ S('e') = E(LDBL),S('f') = E(LDBL),S('g') = E(LDBL), S('a') = E(LDBL),
|
||||
+ S('E') = E(LDBL),S('F') = E(LDBL),S('G') = E(LDBL), S('A') = E(LDBL),
|
||||
+ S('n') = E(PTR)
|
||||
+ }, { /* 6: z- or t-prefixed (assumed to be same size) */
|
||||
+ S('d') = E(PDIFF),S('i') = E(PDIFF),
|
||||
+ S('o') = E(SIZET),S('u') = E(SIZET),
|
||||
+ S('x') = E(SIZET),S('X') = E(SIZET),
|
||||
+ S('n') = E(PTR)
|
||||
+ }, { /* 7: j-prefixed */
|
||||
+ S('d') = E(IMAX), S('i') = E(IMAX),
|
||||
+ S('o') = E(UMAX), S('u') = E(UMAX),
|
||||
+ S('x') = E(UMAX), S('X') = E(UMAX),
|
||||
+ S('n') = E(PTR)
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+size_t parse_printf_format(const char *fmt, size_t n, int *types)
|
||||
+{
|
||||
+ size_t i = 0;
|
||||
+ size_t last = 0;
|
||||
+
|
||||
+ memset(types, 0, n);
|
||||
+
|
||||
+ while (1) {
|
||||
+ size_t arg;
|
||||
+ unsigned int state;
|
||||
+
|
||||
+ fmt = consume_nonarg(fmt);
|
||||
+ if (*fmt == '\0')
|
||||
+ break;
|
||||
+ if (*fmt == '%') {
|
||||
+ fmt++;
|
||||
+ continue;
|
||||
+ }
|
||||
+ arg = 0;
|
||||
+ fmt = consume_argn(fmt, &arg);
|
||||
+ /* flags */
|
||||
+ fmt = consume_flags(fmt);
|
||||
+ /* width */
|
||||
+ if (*fmt == '*') {
|
||||
+ size_t warg = 0;
|
||||
+ fmt = consume_argn(fmt+1, &warg);
|
||||
+ if (warg == 0)
|
||||
+ warg = ++i;
|
||||
+ if (warg > last)
|
||||
+ last = warg;
|
||||
+ if (warg <= n && types[warg-1] == NONE)
|
||||
+ types[warg-1] = INT;
|
||||
+ } else
|
||||
+ fmt = consume_num(fmt);
|
||||
+ /* precision */
|
||||
+ if (*fmt == '.') {
|
||||
+ fmt++;
|
||||
+ if (*fmt == '*') {
|
||||
+ size_t parg = 0;
|
||||
+ fmt = consume_argn(fmt+1, &parg);
|
||||
+ if (parg == 0)
|
||||
+ parg = ++i;
|
||||
+ if (parg > last)
|
||||
+ last = parg;
|
||||
+ if (parg <= n && types[parg-1] == NONE)
|
||||
+ types[parg-1] = INT;
|
||||
+ } else {
|
||||
+ if (*fmt == '-')
|
||||
+ fmt++;
|
||||
+ fmt = consume_num(fmt);
|
||||
+ }
|
||||
+ }
|
||||
+ /* length modifier and conversion specifier */
|
||||
+ state = BARE;
|
||||
+ do {
|
||||
+ unsigned char c = *fmt++;
|
||||
+
|
||||
+ if (c < 'A' || c > 'z')
|
||||
+ continue;
|
||||
+ state = states[state]S(c);
|
||||
+ if (state == 0)
|
||||
+ continue;
|
||||
+ } while (state < STOP);
|
||||
+
|
||||
+ if (state == E(NONE))
|
||||
+ continue;
|
||||
+
|
||||
+ if (arg == 0)
|
||||
+ arg = ++i;
|
||||
+ if (arg > last)
|
||||
+ last = arg;
|
||||
+ if (arg <= n)
|
||||
+ types[arg-1] = state - STOP;
|
||||
+ }
|
||||
+
|
||||
+ if (last > n)
|
||||
+ last = n;
|
||||
+ for (i = 0; i < last; i++)
|
||||
+ types[i] = pa_types[types[i]];
|
||||
+
|
||||
+ return last;
|
||||
+}
|
||||
diff --git a/src/basic/parse-printf-format.h b/src/basic/parse-printf-format.h
|
||||
new file mode 100644
|
||||
index 0000000000..47be7522d7
|
||||
--- /dev/null
|
||||
+++ b/src/basic/parse-printf-format.h
|
||||
@@ -0,0 +1,57 @@
|
||||
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
|
||||
+
|
||||
+/***
|
||||
+ This file is part of systemd.
|
||||
+
|
||||
+ Copyright 2014 Emil Renner Berthing <systemd@esmil.dk>
|
||||
+
|
||||
+ With parts from the GNU C Library
|
||||
+ Copyright 1991-2014 Free Software Foundation, Inc.
|
||||
+
|
||||
+ systemd is free software; you can redistribute it and/or modify it
|
||||
+ under the terms of the GNU Lesser General Public License as published by
|
||||
+ the Free Software Foundation; either version 2.1 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ systemd is distributed in the hope that it will be useful, but
|
||||
+ WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ Lesser General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU Lesser General Public License
|
||||
+ along with systemd; If not, see <http://www.gnu.org/licenses/>.
|
||||
+***/
|
||||
+
|
||||
+#pragma once
|
||||
+
|
||||
+#include "config.h"
|
||||
+
|
||||
+#if HAVE_PRINTF_H
|
||||
+#include <printf.h>
|
||||
+#else
|
||||
+
|
||||
+#include <stddef.h>
|
||||
+
|
||||
+enum { /* C type: */
|
||||
+ PA_INT, /* int */
|
||||
+ PA_CHAR, /* int, cast to char */
|
||||
+ PA_WCHAR, /* wide char */
|
||||
+ PA_STRING, /* const char *, a '\0'-terminated string */
|
||||
+ PA_WSTRING, /* const wchar_t *, wide character string */
|
||||
+ PA_POINTER, /* void * */
|
||||
+ PA_FLOAT, /* float */
|
||||
+ PA_DOUBLE, /* double */
|
||||
+ PA_LAST
|
||||
+};
|
||||
+
|
||||
+/* Flag bits that can be set in a type returned by `parse_printf_format'. */
|
||||
+#define PA_FLAG_MASK 0xff00
|
||||
+#define PA_FLAG_LONG_LONG (1 << 8)
|
||||
+#define PA_FLAG_LONG_DOUBLE PA_FLAG_LONG_LONG
|
||||
+#define PA_FLAG_LONG (1 << 9)
|
||||
+#define PA_FLAG_SHORT (1 << 10)
|
||||
+#define PA_FLAG_PTR (1 << 11)
|
||||
+
|
||||
+size_t parse_printf_format(const char *fmt, size_t n, int *types);
|
||||
+
|
||||
+#endif /* HAVE_PRINTF_H */
|
||||
diff --git a/src/basic/stdio-util.h b/src/basic/stdio-util.h
|
||||
index 4e93ac90c9..f9deb6f662 100644
|
||||
--- a/src/basic/stdio-util.h
|
||||
+++ b/src/basic/stdio-util.h
|
||||
@@ -1,12 +1,12 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
-#include <printf.h>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "macro.h"
|
||||
+#include "parse-printf-format.h"
|
||||
|
||||
_printf_(3, 4)
|
||||
static inline char *snprintf_ok(char *buf, size_t len, const char *format, ...) {
|
||||
diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
|
||||
index be23b2fe75..69a2eb6404 100644
|
||||
--- a/src/libsystemd/sd-journal/journal-send.c
|
||||
+++ b/src/libsystemd/sd-journal/journal-send.c
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
-#include <printf.h>
|
||||
#include <stddef.h>
|
||||
#include <sys/un.h>
|
||||
#include <unistd.h>
|
||||
@@ -28,6 +27,7 @@
|
||||
#include "stdio-util.h"
|
||||
#include "string-util.h"
|
||||
#include "tmpfile-util.h"
|
||||
+#include "parse-printf-format.h"
|
||||
|
||||
#define SNDBUF_SIZE (8*1024*1024)
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
From 29a58009a172e369ad7166e16dab2f4945c6b0d2 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Thu, 21 Feb 2019 16:23:24 +0800
|
||||
Subject: [PATCH 1/2] binfmt: Don't install dependency links at install time
|
||||
for the binfmt services
|
||||
|
||||
use [Install] blocks so that they get created when the service is enabled
|
||||
like a traditional service.
|
||||
|
||||
The [Install] blocks were rejected upstream as they don't have a way to
|
||||
"enable" it on install without static symlinks which can't be disabled,
|
||||
only masked. We however can do that in a postinst.
|
||||
|
||||
Upstream-Status: Denied
|
||||
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
units/meson.build | 2 --
|
||||
units/proc-sys-fs-binfmt_misc.automount | 3 +++
|
||||
units/systemd-binfmt.service.in | 4 ++++
|
||||
3 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/units/meson.build b/units/meson.build
|
||||
index e7bfb7f838..1d5ec4b178 100644
|
||||
--- a/units/meson.build
|
||||
+++ b/units/meson.build
|
||||
@@ -154,7 +154,6 @@ units = [
|
||||
{
|
||||
'file' : 'proc-sys-fs-binfmt_misc.automount',
|
||||
'conditions' : ['ENABLE_BINFMT'],
|
||||
- 'symlinks' : ['sysinit.target.wants/'],
|
||||
},
|
||||
{
|
||||
'file' : 'proc-sys-fs-binfmt_misc.mount',
|
||||
@@ -251,7 +250,6 @@ units = [
|
||||
{
|
||||
'file' : 'systemd-binfmt.service.in',
|
||||
'conditions' : ['ENABLE_BINFMT'],
|
||||
- 'symlinks' : ['sysinit.target.wants/'],
|
||||
},
|
||||
{
|
||||
'file' : 'systemd-bless-boot.service.in',
|
||||
diff --git a/units/proc-sys-fs-binfmt_misc.automount b/units/proc-sys-fs-binfmt_misc.automount
|
||||
index 5d212015a5..6c2900ca77 100644
|
||||
--- a/units/proc-sys-fs-binfmt_misc.automount
|
||||
+++ b/units/proc-sys-fs-binfmt_misc.automount
|
||||
@@ -22,3 +22,6 @@ Before=shutdown.target
|
||||
|
||||
[Automount]
|
||||
Where=/proc/sys/fs/binfmt_misc
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sysinit.target
|
||||
diff --git a/units/systemd-binfmt.service.in b/units/systemd-binfmt.service.in
|
||||
index 6861c76674..531e9fbd90 100644
|
||||
--- a/units/systemd-binfmt.service.in
|
||||
+++ b/units/systemd-binfmt.service.in
|
||||
@@ -14,6 +14,7 @@ Documentation=https://docs.kernel.org/admin-guide/binfmt-misc.html
|
||||
Documentation=https://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
+Wants=proc-sys-fs-binfmt_misc.automount
|
||||
After=proc-sys-fs-binfmt_misc.automount
|
||||
After=proc-sys-fs-binfmt_misc.mount
|
||||
After=local-fs.target
|
||||
@@ -31,3 +32,6 @@ RemainAfterExit=yes
|
||||
ExecStart={{LIBEXECDIR}}/systemd-binfmt
|
||||
ExecStop={{LIBEXECDIR}}/systemd-binfmt --unregister
|
||||
TimeoutSec=90s
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=sysinit.target
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,699 @@
|
||||
From 87f1d38f40c5fe9cadf2b2de442473e4e5605788 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 14:18:21 +0800
|
||||
Subject: [PATCH 03/22] src/basic/missing.h: check for missing strndupa
|
||||
|
||||
include missing.h for definition of strndupa
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[Rebased for v242]
|
||||
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
[rebased for systemd 244]
|
||||
[Rebased for v247]
|
||||
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
|
||||
[Rebased for v254]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[Rebased for v255.1]
|
||||
---
|
||||
meson.build | 1 +
|
||||
src/backlight/backlight.c | 1 +
|
||||
src/basic/cgroup-util.c | 1 +
|
||||
src/basic/env-util.c | 1 +
|
||||
src/basic/log.c | 1 +
|
||||
src/basic/missing_stdlib.h | 12 ++++++++++++
|
||||
src/basic/mkdir.c | 1 +
|
||||
src/basic/mountpoint-util.c | 1 +
|
||||
src/basic/parse-util.c | 1 +
|
||||
src/basic/path-lookup.c | 1 +
|
||||
src/basic/percent-util.c | 1 +
|
||||
src/basic/proc-cmdline.c | 1 +
|
||||
src/basic/procfs-util.c | 1 +
|
||||
src/basic/time-util.c | 1 +
|
||||
src/boot/bless-boot.c | 1 +
|
||||
src/core/dbus-cgroup.c | 1 +
|
||||
src/core/dbus-execute.c | 1 +
|
||||
src/core/dbus-util.c | 1 +
|
||||
src/core/execute.c | 1 +
|
||||
src/core/kmod-setup.c | 1 +
|
||||
src/core/service.c | 1 +
|
||||
src/coredump/coredump-vacuum.c | 1 +
|
||||
src/fstab-generator/fstab-generator.c | 1 +
|
||||
src/journal-remote/journal-remote-main.c | 1 +
|
||||
src/journal/journalctl.c | 1 +
|
||||
src/libsystemd/sd-bus/bus-message.c | 1 +
|
||||
src/libsystemd/sd-bus/bus-objects.c | 1 +
|
||||
src/libsystemd/sd-bus/bus-socket.c | 1 +
|
||||
src/libsystemd/sd-bus/sd-bus.c | 1 +
|
||||
src/libsystemd/sd-bus/test-bus-benchmark.c | 1 +
|
||||
src/libsystemd/sd-journal/sd-journal.c | 1 +
|
||||
src/login/pam_systemd.c | 1 +
|
||||
src/network/generator/network-generator.c | 1 +
|
||||
src/nspawn/nspawn-settings.c | 1 +
|
||||
src/nss-mymachines/nss-mymachines.c | 1 +
|
||||
src/portable/portable.c | 1 +
|
||||
src/resolve/resolvectl.c | 1 +
|
||||
src/shared/bus-get-properties.c | 1 +
|
||||
src/shared/bus-unit-procs.c | 1 +
|
||||
src/shared/bus-unit-util.c | 1 +
|
||||
src/shared/bus-util.c | 1 +
|
||||
src/shared/dns-domain.c | 1 +
|
||||
src/shared/journal-importer.c | 1 +
|
||||
src/shared/logs-show.c | 1 +
|
||||
src/shared/pager.c | 1 +
|
||||
src/socket-proxy/socket-proxyd.c | 1 +
|
||||
src/test/test-hexdecoct.c | 1 +
|
||||
src/udev/udev-builtin-net_id.c | 1 +
|
||||
src/udev/udev-builtin-path_id.c | 1 +
|
||||
src/udev/udev-event.c | 1 +
|
||||
src/udev/udev-rules.c | 1 +
|
||||
51 files changed, 62 insertions(+)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 01fd3ffc19..61a872b753 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -567,6 +567,7 @@ foreach ident : ['secure_getenv', '__secure_getenv']
|
||||
endforeach
|
||||
|
||||
foreach ident : [
|
||||
+ ['strndupa' , '''#include <string.h>'''],
|
||||
['memfd_create', '''#include <sys/mman.h>'''],
|
||||
['gettid', '''#include <sys/types.h>
|
||||
#include <unistd.h>'''],
|
||||
diff --git a/src/backlight/backlight.c b/src/backlight/backlight.c
|
||||
index 5ac9f904a9..99d5122dd7 100644
|
||||
--- a/src/backlight/backlight.c
|
||||
+++ b/src/backlight/backlight.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "terminal-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define PCI_CLASS_GRAPHICS_CARD 0x30000
|
||||
|
||||
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
|
||||
index 18b16ecc0e..d2be79622f 100644
|
||||
--- a/src/basic/cgroup-util.c
|
||||
+++ b/src/basic/cgroup-util.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "unit-name.h"
|
||||
#include "user-util.h"
|
||||
#include "xattr-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int cg_enumerate_items(const char *controller, const char *path, FILE **ret, const char *item) {
|
||||
_cleanup_free_ char *fs = NULL;
|
||||
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
|
||||
index d3bf73385f..16b17358ca 100644
|
||||
--- a/src/basic/env-util.c
|
||||
+++ b/src/basic/env-util.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
/* We follow bash for the character set. Different shells have different rules. */
|
||||
#define VALID_BASH_ENV_NAME_CHARS \
|
||||
diff --git a/src/basic/log.c b/src/basic/log.c
|
||||
index 1470611a75..9924ec2b9a 100644
|
||||
--- a/src/basic/log.c
|
||||
+++ b/src/basic/log.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "terminal-util.h"
|
||||
#include "time-util.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define SNDBUF_SIZE (8*1024*1024)
|
||||
#define IOVEC_MAX 256U
|
||||
diff --git a/src/basic/missing_stdlib.h b/src/basic/missing_stdlib.h
|
||||
index 8c76f93eb2..9068bfb4f0 100644
|
||||
--- a/src/basic/missing_stdlib.h
|
||||
+++ b/src/basic/missing_stdlib.h
|
||||
@@ -11,3 +11,15 @@
|
||||
# error "neither secure_getenv nor __secure_getenv are available"
|
||||
# endif
|
||||
#endif
|
||||
+
|
||||
+/* string.h */
|
||||
+#if ! HAVE_STRNDUPA
|
||||
+#define strndupa(s, n) \
|
||||
+ ({ \
|
||||
+ const char *__old = (s); \
|
||||
+ size_t __len = strnlen(__old, (n)); \
|
||||
+ char *__new = (char *)alloca(__len + 1); \
|
||||
+ __new[__len] = '\0'; \
|
||||
+ (char *)memcpy(__new, __old, __len); \
|
||||
+ })
|
||||
+#endif
|
||||
diff --git a/src/basic/mkdir.c b/src/basic/mkdir.c
|
||||
index c770e5ed32..1fd8816cd0 100644
|
||||
--- a/src/basic/mkdir.c
|
||||
+++ b/src/basic/mkdir.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "stat-util.h"
|
||||
#include "stdio-util.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int mkdirat_safe_internal(
|
||||
int dir_fd,
|
||||
diff --git a/src/basic/mountpoint-util.c b/src/basic/mountpoint-util.c
|
||||
index bf67f7e01a..409f8d8a73 100644
|
||||
--- a/src/basic/mountpoint-util.c
|
||||
+++ b/src/basic/mountpoint-util.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "missing_stat.h"
|
||||
#include "missing_syscall.h"
|
||||
#include "mkdir.h"
|
||||
+#include "missing_stdlib.h"
|
||||
#include "mountpoint-util.h"
|
||||
#include "nulstr-util.h"
|
||||
#include "parse-util.h"
|
||||
diff --git a/src/basic/parse-util.c b/src/basic/parse-util.c
|
||||
index 0430e33e40..f3728de026 100644
|
||||
--- a/src/basic/parse-util.c
|
||||
+++ b/src/basic/parse-util.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "stat-util.h"
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int parse_boolean(const char *v) {
|
||||
if (!v)
|
||||
diff --git a/src/basic/path-lookup.c b/src/basic/path-lookup.c
|
||||
index 4e3d59fc56..726e240df0 100644
|
||||
--- a/src/basic/path-lookup.c
|
||||
+++ b/src/basic/path-lookup.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "strv.h"
|
||||
#include "tmpfile-util.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int xdg_user_runtime_dir(char **ret, const char *suffix) {
|
||||
const char *e;
|
||||
diff --git a/src/basic/percent-util.c b/src/basic/percent-util.c
|
||||
index cab9d0eaea..5f6ca258e9 100644
|
||||
--- a/src/basic/percent-util.c
|
||||
+++ b/src/basic/percent-util.c
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "percent-util.h"
|
||||
#include "string-util.h"
|
||||
#include "parse-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int parse_parts_value_whole(const char *p, const char *symbol) {
|
||||
const char *pc, *n;
|
||||
diff --git a/src/basic/proc-cmdline.c b/src/basic/proc-cmdline.c
|
||||
index 522d8de1f4..7c129dc0fc 100644
|
||||
--- a/src/basic/proc-cmdline.c
|
||||
+++ b/src/basic/proc-cmdline.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "virt.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int proc_cmdline_filter_pid1_args(char **argv, char ***ret) {
|
||||
enum {
|
||||
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
|
||||
index d7cfcd9105..6cb0ddf575 100644
|
||||
--- a/src/basic/procfs-util.c
|
||||
+++ b/src/basic/procfs-util.c
|
||||
@@ -12,6 +12,7 @@
|
||||
#include "procfs-util.h"
|
||||
#include "stdio-util.h"
|
||||
#include "string-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int procfs_get_pid_max(uint64_t *ret) {
|
||||
_cleanup_free_ char *value = NULL;
|
||||
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
|
||||
index f9014dc560..1d7840a5b5 100644
|
||||
--- a/src/basic/time-util.c
|
||||
+++ b/src/basic/time-util.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "time-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static clockid_t map_clock_id(clockid_t c) {
|
||||
|
||||
diff --git a/src/boot/bless-boot.c b/src/boot/bless-boot.c
|
||||
index 0c0b4f23c7..68fe5ca509 100644
|
||||
--- a/src/boot/bless-boot.c
|
||||
+++ b/src/boot/bless-boot.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "terminal-util.h"
|
||||
#include "verbs.h"
|
||||
#include "virt.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static char **arg_path = NULL;
|
||||
|
||||
diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c
|
||||
index 4237e694c0..05f9d9d9a9 100644
|
||||
--- a/src/core/dbus-cgroup.c
|
||||
+++ b/src/core/dbus-cgroup.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "parse-util.h"
|
||||
#include "path-util.h"
|
||||
#include "percent-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
#include "socket-util.h"
|
||||
|
||||
BUS_DEFINE_PROPERTY_GET(bus_property_get_tasks_max, "t", CGroupTasksMax, cgroup_tasks_max_resolve);
|
||||
diff --git a/src/core/dbus-execute.c b/src/core/dbus-execute.c
|
||||
index 4daa1cefd3..2c77901471 100644
|
||||
--- a/src/core/dbus-execute.c
|
||||
+++ b/src/core/dbus-execute.c
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "unit-printf.h"
|
||||
#include "user-util.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
BUS_DEFINE_PROPERTY_GET_ENUM(bus_property_get_exec_output, exec_output, ExecOutput);
|
||||
static BUS_DEFINE_PROPERTY_GET_ENUM(property_get_exec_input, exec_input, ExecInput);
|
||||
diff --git a/src/core/dbus-util.c b/src/core/dbus-util.c
|
||||
index d680a64268..e59f48103e 100644
|
||||
--- a/src/core/dbus-util.c
|
||||
+++ b/src/core/dbus-util.c
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "unit-printf.h"
|
||||
#include "user-util.h"
|
||||
#include "unit.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int bus_property_get_triggered_unit(
|
||||
sd_bus *bus,
|
||||
diff --git a/src/core/execute.c b/src/core/execute.c
|
||||
index ef0bf88687..bd3da0c401 100644
|
||||
--- a/src/core/execute.c
|
||||
+++ b/src/core/execute.c
|
||||
@@ -72,6 +72,7 @@
|
||||
#include "unit-serialize.h"
|
||||
#include "user-util.h"
|
||||
#include "utmp-wtmp.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static bool is_terminal_input(ExecInput i) {
|
||||
return IN_SET(i,
|
||||
diff --git a/src/core/kmod-setup.c b/src/core/kmod-setup.c
|
||||
index b8e3f7aadd..8ce8ca68d8 100644
|
||||
--- a/src/core/kmod-setup.c
|
||||
+++ b/src/core/kmod-setup.c
|
||||
@@ -13,6 +13,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "virt.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#if HAVE_KMOD
|
||||
#include "module-util.h"
|
||||
diff --git a/src/core/service.c b/src/core/service.c
|
||||
index b9eb40c555..268fe7573b 100644
|
||||
--- a/src/core/service.c
|
||||
+++ b/src/core/service.c
|
||||
@@ -45,6 +45,7 @@
|
||||
#include "unit-name.h"
|
||||
#include "unit.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define service_spawn(...) service_spawn_internal(__func__, __VA_ARGS__)
|
||||
|
||||
diff --git a/src/coredump/coredump-vacuum.c b/src/coredump/coredump-vacuum.c
|
||||
index 7e0c98cb7d..978a7f5874 100644
|
||||
--- a/src/coredump/coredump-vacuum.c
|
||||
+++ b/src/coredump/coredump-vacuum.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include "string-util.h"
|
||||
#include "time-util.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define DEFAULT_MAX_USE_LOWER (uint64_t) (1ULL*1024ULL*1024ULL) /* 1 MiB */
|
||||
#define DEFAULT_MAX_USE_UPPER (uint64_t) (4ULL*1024ULL*1024ULL*1024ULL) /* 4 GiB */
|
||||
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
|
||||
index 016f3baa7f..b1def81313 100644
|
||||
--- a/src/fstab-generator/fstab-generator.c
|
||||
+++ b/src/fstab-generator/fstab-generator.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "unit-name.h"
|
||||
#include "virt.h"
|
||||
#include "volatile-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
typedef enum MountPointFlags {
|
||||
MOUNT_NOAUTO = 1 << 0,
|
||||
diff --git a/src/journal-remote/journal-remote-main.c b/src/journal-remote/journal-remote-main.c
|
||||
index da0f20d3ce..f22ce41908 100644
|
||||
--- a/src/journal-remote/journal-remote-main.c
|
||||
+++ b/src/journal-remote/journal-remote-main.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "stat-util.h"
|
||||
#include "string-table.h"
|
||||
#include "strv.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define PRIV_KEY_FILE CERTIFICATE_ROOT "/private/journal-remote.pem"
|
||||
#define CERT_FILE CERTIFICATE_ROOT "/certs/journal-remote.pem"
|
||||
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
|
||||
index 7f3dcd56a4..41b7cbaaf1 100644
|
||||
--- a/src/journal/journalctl.c
|
||||
+++ b/src/journal/journalctl.c
|
||||
@@ -77,6 +77,7 @@
|
||||
#include "unit-name.h"
|
||||
#include "user-util.h"
|
||||
#include "varlink.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define DEFAULT_FSS_INTERVAL_USEC (15*USEC_PER_MINUTE)
|
||||
#define PROCESS_INOTIFY_INTERVAL 1024 /* Every 1,024 messages processed */
|
||||
diff --git a/src/libsystemd/sd-bus/bus-message.c b/src/libsystemd/sd-bus/bus-message.c
|
||||
index ff0228081f..9066fcb133 100644
|
||||
--- a/src/libsystemd/sd-bus/bus-message.c
|
||||
+++ b/src/libsystemd/sd-bus/bus-message.c
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "strv.h"
|
||||
#include "time-util.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int message_append_basic(sd_bus_message *m, char type, const void *p, const void **stored);
|
||||
static int message_parse_fields(sd_bus_message *m);
|
||||
diff --git a/src/libsystemd/sd-bus/bus-objects.c b/src/libsystemd/sd-bus/bus-objects.c
|
||||
index c25c40ff37..57a5da704f 100644
|
||||
--- a/src/libsystemd/sd-bus/bus-objects.c
|
||||
+++ b/src/libsystemd/sd-bus/bus-objects.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "missing_capability.h"
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int node_vtable_get_userdata(
|
||||
sd_bus *bus,
|
||||
diff --git a/src/libsystemd/sd-bus/bus-socket.c b/src/libsystemd/sd-bus/bus-socket.c
|
||||
index 3c59d0d615..746922d46f 100644
|
||||
--- a/src/libsystemd/sd-bus/bus-socket.c
|
||||
+++ b/src/libsystemd/sd-bus/bus-socket.c
|
||||
@@ -29,6 +29,7 @@
|
||||
#include "string-util.h"
|
||||
#include "user-util.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define SNDBUF_SIZE (8*1024*1024)
|
||||
|
||||
diff --git a/src/libsystemd/sd-bus/sd-bus.c b/src/libsystemd/sd-bus/sd-bus.c
|
||||
index 4a0259f8bb..aaa90d2223 100644
|
||||
--- a/src/libsystemd/sd-bus/sd-bus.c
|
||||
+++ b/src/libsystemd/sd-bus/sd-bus.c
|
||||
@@ -46,6 +46,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define log_debug_bus_message(m) \
|
||||
do { \
|
||||
diff --git a/src/libsystemd/sd-bus/test-bus-benchmark.c b/src/libsystemd/sd-bus/test-bus-benchmark.c
|
||||
index d988588de0..458df8df9a 100644
|
||||
--- a/src/libsystemd/sd-bus/test-bus-benchmark.c
|
||||
+++ b/src/libsystemd/sd-bus/test-bus-benchmark.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "string-util.h"
|
||||
#include "tests.h"
|
||||
#include "time-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define MAX_SIZE (2*1024*1024)
|
||||
|
||||
diff --git a/src/libsystemd/sd-journal/sd-journal.c b/src/libsystemd/sd-journal/sd-journal.c
|
||||
index 6b9ff0a4ed..4a5027ad0f 100644
|
||||
--- a/src/libsystemd/sd-journal/sd-journal.c
|
||||
+++ b/src/libsystemd/sd-journal/sd-journal.c
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "strv.h"
|
||||
#include "syslog-util.h"
|
||||
#include "uid-alloc-range.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define JOURNAL_FILES_RECHECK_USEC (2 * USEC_PER_SEC)
|
||||
|
||||
diff --git a/src/login/pam_systemd.c b/src/login/pam_systemd.c
|
||||
index b8da266e27..4bb8dd9496 100644
|
||||
--- a/src/login/pam_systemd.c
|
||||
+++ b/src/login/pam_systemd.c
|
||||
@@ -35,6 +35,7 @@
|
||||
#include "login-util.h"
|
||||
#include "macro.h"
|
||||
#include "missing_syscall.h"
|
||||
+#include "missing_stdlib.h"
|
||||
#include "pam-util.h"
|
||||
#include "parse-util.h"
|
||||
#include "path-util.h"
|
||||
diff --git a/src/network/generator/network-generator.c b/src/network/generator/network-generator.c
|
||||
index 48527a2c73..9777fe0561 100644
|
||||
--- a/src/network/generator/network-generator.c
|
||||
+++ b/src/network/generator/network-generator.c
|
||||
@@ -14,6 +14,7 @@
|
||||
#include "string-table.h"
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
/*
|
||||
# .network
|
||||
diff --git a/src/nspawn/nspawn-settings.c b/src/nspawn/nspawn-settings.c
|
||||
index 161b1c1c70..ba1c459f78 100644
|
||||
--- a/src/nspawn/nspawn-settings.c
|
||||
+++ b/src/nspawn/nspawn-settings.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
Settings *settings_new(void) {
|
||||
Settings *s;
|
||||
diff --git a/src/nss-mymachines/nss-mymachines.c b/src/nss-mymachines/nss-mymachines.c
|
||||
index c64e79bdff..eda26b0b9a 100644
|
||||
--- a/src/nss-mymachines/nss-mymachines.c
|
||||
+++ b/src/nss-mymachines/nss-mymachines.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "nss-util.h"
|
||||
#include "signal-util.h"
|
||||
#include "string-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static void setup_logging_once(void) {
|
||||
static pthread_once_t once = PTHREAD_ONCE_INIT;
|
||||
diff --git a/src/portable/portable.c b/src/portable/portable.c
|
||||
index d4b448a627..bb26623565 100644
|
||||
--- a/src/portable/portable.c
|
||||
+++ b/src/portable/portable.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#include "strv.h"
|
||||
#include "tmpfile-util.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
/* Markers used in the first line of our 20-portable.conf unit file drop-in to determine, that a) the unit file was
|
||||
* dropped there by the portable service logic and b) for which image it was dropped there. */
|
||||
diff --git a/src/resolve/resolvectl.c b/src/resolve/resolvectl.c
|
||||
index afa537f160..32ccee4ae5 100644
|
||||
--- a/src/resolve/resolvectl.c
|
||||
+++ b/src/resolve/resolvectl.c
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "varlink.h"
|
||||
#include "verb-log-control.h"
|
||||
#include "verbs.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int arg_family = AF_UNSPEC;
|
||||
static int arg_ifindex = 0;
|
||||
diff --git a/src/shared/bus-get-properties.c b/src/shared/bus-get-properties.c
|
||||
index 53e5d6b99f..851ecd5644 100644
|
||||
--- a/src/shared/bus-get-properties.c
|
||||
+++ b/src/shared/bus-get-properties.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "rlimit-util.h"
|
||||
#include "stdio-util.h"
|
||||
#include "string-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int bus_property_get_bool(
|
||||
sd_bus *bus,
|
||||
diff --git a/src/shared/bus-unit-procs.c b/src/shared/bus-unit-procs.c
|
||||
index 8b462b5627..183ce1c18e 100644
|
||||
--- a/src/shared/bus-unit-procs.c
|
||||
+++ b/src/shared/bus-unit-procs.c
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "sort-util.h"
|
||||
#include "string-util.h"
|
||||
#include "terminal-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
struct CGroupInfo {
|
||||
char *cgroup_path;
|
||||
diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
|
||||
index 4ee9706847..30c8084847 100644
|
||||
--- a/src/shared/bus-unit-util.c
|
||||
+++ b/src/shared/bus-unit-util.c
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "unit-def.h"
|
||||
#include "user-util.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int bus_parse_unit_info(sd_bus_message *message, UnitInfo *u) {
|
||||
assert(message);
|
||||
diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
|
||||
index 4123152d93..74f148c8b4 100644
|
||||
--- a/src/shared/bus-util.c
|
||||
+++ b/src/shared/bus-util.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "path-util.h"
|
||||
#include "socket-util.h"
|
||||
#include "stdio-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static int name_owner_change_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
|
||||
sd_event *e = ASSERT_PTR(userdata);
|
||||
diff --git a/src/shared/dns-domain.c b/src/shared/dns-domain.c
|
||||
index b41c9b06ca..e69050a507 100644
|
||||
--- a/src/shared/dns-domain.c
|
||||
+++ b/src/shared/dns-domain.c
|
||||
@@ -18,6 +18,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "utf8.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
int dns_label_unescape(const char **name, char *dest, size_t sz, DNSLabelFlags flags) {
|
||||
const char *n;
|
||||
diff --git a/src/shared/journal-importer.c b/src/shared/journal-importer.c
|
||||
index 83e9834bbf..74eaae6f5e 100644
|
||||
--- a/src/shared/journal-importer.c
|
||||
+++ b/src/shared/journal-importer.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "unaligned.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
enum {
|
||||
IMPORTER_STATE_LINE = 0, /* waiting to read, or reading line */
|
||||
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
|
||||
index a5d04003bd..10392c132d 100644
|
||||
--- a/src/shared/logs-show.c
|
||||
+++ b/src/shared/logs-show.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "time-util.h"
|
||||
#include "utf8.h"
|
||||
#include "web-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
/* up to three lines (each up to 100 characters) or 300 characters, whichever is less */
|
||||
#define PRINT_LINE_THRESHOLD 3
|
||||
diff --git a/src/shared/pager.c b/src/shared/pager.c
|
||||
index 19deefab56..6b6d0af1a0 100644
|
||||
--- a/src/shared/pager.c
|
||||
+++ b/src/shared/pager.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include "string-util.h"
|
||||
#include "strv.h"
|
||||
#include "terminal-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
static pid_t pager_pid = 0;
|
||||
|
||||
diff --git a/src/socket-proxy/socket-proxyd.c b/src/socket-proxy/socket-proxyd.c
|
||||
index 287fd6c181..8f8d5493da 100644
|
||||
--- a/src/socket-proxy/socket-proxyd.c
|
||||
+++ b/src/socket-proxy/socket-proxyd.c
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "set.h"
|
||||
#include "socket-util.h"
|
||||
#include "string-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define BUFFER_SIZE (256 * 1024)
|
||||
|
||||
diff --git a/src/test/test-hexdecoct.c b/src/test/test-hexdecoct.c
|
||||
index f884008660..987e180697 100644
|
||||
--- a/src/test/test-hexdecoct.c
|
||||
+++ b/src/test/test-hexdecoct.c
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "macro.h"
|
||||
#include "random-util.h"
|
||||
#include "string-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
#include "tests.h"
|
||||
|
||||
TEST(hexchar) {
|
||||
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
|
||||
index 91b40088f4..f528a46b8e 100644
|
||||
--- a/src/udev/udev-builtin-net_id.c
|
||||
+++ b/src/udev/udev-builtin-net_id.c
|
||||
@@ -39,6 +39,7 @@
|
||||
#include "strv.h"
|
||||
#include "strxcpyx.h"
|
||||
#include "udev-builtin.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define ONBOARD_14BIT_INDEX_MAX ((1U << 14) - 1)
|
||||
#define ONBOARD_16BIT_INDEX_MAX ((1U << 16) - 1)
|
||||
diff --git a/src/udev/udev-builtin-path_id.c b/src/udev/udev-builtin-path_id.c
|
||||
index 467c9a6ad3..f74dae60af 100644
|
||||
--- a/src/udev/udev-builtin-path_id.c
|
||||
+++ b/src/udev/udev-builtin-path_id.c
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "sysexits.h"
|
||||
#include "udev-builtin.h"
|
||||
#include "udev-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
_printf_(2,3)
|
||||
static void path_prepend(char **path, const char *fmt, ...) {
|
||||
diff --git a/src/udev/udev-event.c b/src/udev/udev-event.c
|
||||
index ed22c8b679..19ebe20237 100644
|
||||
--- a/src/udev/udev-event.c
|
||||
+++ b/src/udev/udev-event.c
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "udev-util.h"
|
||||
#include "udev-watch.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
UdevEvent *udev_event_new(sd_device *dev, usec_t exec_delay_usec, sd_netlink *rtnl, int log_level) {
|
||||
UdevEvent *event;
|
||||
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
|
||||
index 5f12002394..febe345b4c 100644
|
||||
--- a/src/udev/udev-rules.c
|
||||
+++ b/src/udev/udev-rules.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#include "udev-util.h"
|
||||
#include "user-util.h"
|
||||
#include "virt.h"
|
||||
+#include "missing_stdlib.h"
|
||||
|
||||
#define RULES_DIRS ((const char* const*) CONF_PATHS_STRV("udev/rules.d"))
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
From 5325ab5813617f35f03806ec420829dde7104387 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 14:56:21 +0800
|
||||
Subject: [PATCH 04/22] don't fail if GLOB_BRACE and GLOB_ALTDIRFUNC is not
|
||||
defined
|
||||
|
||||
If the standard library doesn't provide brace
|
||||
expansion users just won't get it.
|
||||
|
||||
Dont use GNU GLOB extentions on non-glibc systems
|
||||
|
||||
Conditionalize use of GLOB_ALTDIRFUNC
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
src/basic/glob-util.c | 12 ++++++++++++
|
||||
src/test/test-glob-util.c | 16 ++++++++++++++++
|
||||
src/tmpfiles/tmpfiles.c | 10 ++++++++++
|
||||
3 files changed, 38 insertions(+)
|
||||
|
||||
diff --git a/src/basic/glob-util.c b/src/basic/glob-util.c
|
||||
index 802ca8c655..23818a67c6 100644
|
||||
--- a/src/basic/glob-util.c
|
||||
+++ b/src/basic/glob-util.c
|
||||
@@ -12,6 +12,12 @@
|
||||
#include "path-util.h"
|
||||
#include "strv.h"
|
||||
|
||||
+/* Don't fail if the standard library
|
||||
+ * doesn't provide brace expansion */
|
||||
+#ifndef GLOB_BRACE
|
||||
+#define GLOB_BRACE 0
|
||||
+#endif
|
||||
+
|
||||
static void closedir_wrapper(void* v) {
|
||||
(void) closedir(v);
|
||||
}
|
||||
@@ -19,6 +25,7 @@ static void closedir_wrapper(void* v) {
|
||||
int safe_glob(const char *path, int flags, glob_t *pglob) {
|
||||
int k;
|
||||
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
/* We want to set GLOB_ALTDIRFUNC ourselves, don't allow it to be set. */
|
||||
assert(!(flags & GLOB_ALTDIRFUNC));
|
||||
|
||||
@@ -32,9 +39,14 @@ int safe_glob(const char *path, int flags, glob_t *pglob) {
|
||||
pglob->gl_lstat = lstat;
|
||||
if (!pglob->gl_stat)
|
||||
pglob->gl_stat = stat;
|
||||
+#endif
|
||||
|
||||
errno = 0;
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
k = glob(path, flags | GLOB_ALTDIRFUNC, NULL, pglob);
|
||||
+#else
|
||||
+ k = glob(path, flags, NULL, pglob);
|
||||
+#endif
|
||||
if (k == GLOB_NOMATCH)
|
||||
return -ENOENT;
|
||||
if (k == GLOB_NOSPACE)
|
||||
diff --git a/src/test/test-glob-util.c b/src/test/test-glob-util.c
|
||||
index 9b3e73cce0..3790ba3be5 100644
|
||||
--- a/src/test/test-glob-util.c
|
||||
+++ b/src/test/test-glob-util.c
|
||||
@@ -34,6 +34,12 @@ TEST(glob_first) {
|
||||
assert_se(first == NULL);
|
||||
}
|
||||
|
||||
+/* Don't fail if the standard library
|
||||
+ * doesn't provide brace expansion */
|
||||
+#ifndef GLOB_BRACE
|
||||
+#define GLOB_BRACE 0
|
||||
+#endif
|
||||
+
|
||||
TEST(glob_exists) {
|
||||
char name[] = "/tmp/test-glob_exists.XXXXXX";
|
||||
int fd = -EBADF;
|
||||
@@ -61,11 +67,13 @@ TEST(glob_no_dot) {
|
||||
const char *fn;
|
||||
|
||||
_cleanup_globfree_ glob_t g = {
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
.gl_closedir = closedir_wrapper,
|
||||
.gl_readdir = (struct dirent *(*)(void *)) readdir_no_dot,
|
||||
.gl_opendir = (void *(*)(const char *)) opendir,
|
||||
.gl_lstat = lstat,
|
||||
.gl_stat = stat,
|
||||
+#endif
|
||||
};
|
||||
|
||||
int r;
|
||||
@@ -73,11 +81,19 @@ TEST(glob_no_dot) {
|
||||
assert_se(mkdtemp(template));
|
||||
|
||||
fn = strjoina(template, "/*");
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
|
||||
+#else
|
||||
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
|
||||
+#endif
|
||||
assert_se(r == GLOB_NOMATCH);
|
||||
|
||||
fn = strjoina(template, "/.*");
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
r = glob(fn, GLOB_NOSORT|GLOB_BRACE|GLOB_ALTDIRFUNC, NULL, &g);
|
||||
+#else
|
||||
+ r = glob(fn, GLOB_NOSORT|GLOB_BRACE, NULL, &g);
|
||||
+#endif
|
||||
assert_se(r == GLOB_NOMATCH);
|
||||
|
||||
(void) rm_rf(template, REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
|
||||
index 230ec09b97..2cc5f391d7 100644
|
||||
--- a/src/tmpfiles/tmpfiles.c
|
||||
+++ b/src/tmpfiles/tmpfiles.c
|
||||
@@ -73,6 +73,12 @@
|
||||
#include "user-util.h"
|
||||
#include "virt.h"
|
||||
|
||||
+/* Don't fail if the standard library
|
||||
+ * doesn't provide brace expansion */
|
||||
+#ifndef GLOB_BRACE
|
||||
+#define GLOB_BRACE 0
|
||||
+#endif
|
||||
+
|
||||
/* This reads all files listed in /etc/tmpfiles.d/?*.conf and creates
|
||||
* them in the file system. This is intended to be used to create
|
||||
* properly owned directories beneath /tmp, /var/tmp, /run, which are
|
||||
@@ -2434,7 +2440,9 @@ finish:
|
||||
|
||||
static int glob_item(Context *c, Item *i, action_t action) {
|
||||
_cleanup_globfree_ glob_t g = {
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
.gl_opendir = (void *(*)(const char *)) opendir_nomod,
|
||||
+#endif
|
||||
};
|
||||
int r = 0, k;
|
||||
|
||||
@@ -2461,7 +2469,9 @@ static int glob_item_recursively(
|
||||
fdaction_t action) {
|
||||
|
||||
_cleanup_globfree_ glob_t g = {
|
||||
+#ifdef GLOB_ALTDIRFUNC
|
||||
.gl_opendir = (void *(*)(const char *)) opendir_nomod,
|
||||
+#endif
|
||||
};
|
||||
int r = 0, k;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From dad7f897c0de654fa5592fda3e90f874639849f9 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 15:00:06 +0800
|
||||
Subject: [PATCH 05/22] add missing FTW_ macros for musl
|
||||
|
||||
This is to avoid build failures like below for musl.
|
||||
|
||||
locale-util.c:296:24: error: 'FTW_STOP' undeclared
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/basic/missing_type.h | 4 ++++
|
||||
src/test/test-recurse-dir.c | 1 +
|
||||
2 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/basic/missing_type.h b/src/basic/missing_type.h
|
||||
index 6c0456349d..73a5b90e3c 100644
|
||||
--- a/src/basic/missing_type.h
|
||||
+++ b/src/basic/missing_type.h
|
||||
@@ -14,3 +14,7 @@
|
||||
#ifndef __GLIBC__
|
||||
typedef int (*comparison_fn_t)(const void *, const void *);
|
||||
#endif
|
||||
+
|
||||
+#ifndef FTW_CONTINUE
|
||||
+#define FTW_CONTINUE 0
|
||||
+#endif
|
||||
diff --git a/src/test/test-recurse-dir.c b/src/test/test-recurse-dir.c
|
||||
index 8684d064ec..70fc2b5376 100644
|
||||
--- a/src/test/test-recurse-dir.c
|
||||
+++ b/src/test/test-recurse-dir.c
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "recurse-dir.h"
|
||||
#include "strv.h"
|
||||
#include "tests.h"
|
||||
+#include "missing_type.h"
|
||||
|
||||
static char **list_nftw = NULL;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,106 @@
|
||||
From 96e975a2412a20e5f80bd3ab144057d275eb8597 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 15:12:41 +0800
|
||||
Subject: [PATCH 06/22] Use uintmax_t for handling rlim_t
|
||||
|
||||
PRIu{32,64} is not right format to represent rlim_t type
|
||||
therefore use %ju and typecast the rlim_t variables to
|
||||
uintmax_t.
|
||||
|
||||
Fixes portablility errors like
|
||||
|
||||
execute.c:3446:36: error: format '%lu' expects argument of type 'long unsigned int', but argument 5 has type 'rlim_t {aka long long unsigned int}' [-Werror=format=]
|
||||
| fprintf(f, "%s%s: " RLIM_FMT "\n",
|
||||
| ^~~~~~~~
|
||||
| prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
|
||||
| ~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Upstream-Status: Denied [https://github.com/systemd/systemd/pull/7199]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
[Rebased for v241]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/basic/format-util.h | 8 +-------
|
||||
src/basic/rlimit-util.c | 12 ++++++------
|
||||
src/core/execute.c | 4 ++--
|
||||
3 files changed, 9 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/basic/format-util.h b/src/basic/format-util.h
|
||||
index 8719df3e29..9becc96066 100644
|
||||
--- a/src/basic/format-util.h
|
||||
+++ b/src/basic/format-util.h
|
||||
@@ -34,13 +34,7 @@ assert_cc(sizeof(gid_t) == sizeof(uint32_t));
|
||||
# error Unknown timex member size
|
||||
#endif
|
||||
|
||||
-#if SIZEOF_RLIM_T == 8
|
||||
-# define RLIM_FMT "%" PRIu64
|
||||
-#elif SIZEOF_RLIM_T == 4
|
||||
-# define RLIM_FMT "%" PRIu32
|
||||
-#else
|
||||
-# error Unknown rlim_t size
|
||||
-#endif
|
||||
+#define RLIM_FMT "%ju"
|
||||
|
||||
#if SIZEOF_DEV_T == 8
|
||||
# define DEV_FMT "%" PRIu64
|
||||
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
|
||||
index c1f0b2b974..61c5412582 100644
|
||||
--- a/src/basic/rlimit-util.c
|
||||
+++ b/src/basic/rlimit-util.c
|
||||
@@ -44,7 +44,7 @@ int setrlimit_closest(int resource, const struct rlimit *rlim) {
|
||||
fixed.rlim_max == highest.rlim_max)
|
||||
return 0;
|
||||
|
||||
- log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", rlim->rlim_max, rlimit_to_string(resource), fixed.rlim_max);
|
||||
+ log_debug("Failed at setting rlimit " RLIM_FMT " for resource RLIMIT_%s. Will attempt setting value " RLIM_FMT " instead.", (uintmax_t)rlim->rlim_max, rlimit_to_string(resource), (uintmax_t)fixed.rlim_max);
|
||||
|
||||
return RET_NERRNO(setrlimit(resource, &fixed));
|
||||
}
|
||||
@@ -307,13 +307,13 @@ int rlimit_format(const struct rlimit *rl, char **ret) {
|
||||
if (rl->rlim_cur >= RLIM_INFINITY && rl->rlim_max >= RLIM_INFINITY)
|
||||
r = free_and_strdup(&s, "infinity");
|
||||
else if (rl->rlim_cur >= RLIM_INFINITY)
|
||||
- r = asprintf(&s, "infinity:" RLIM_FMT, rl->rlim_max);
|
||||
+ r = asprintf(&s, "infinity:" RLIM_FMT, (uintmax_t)rl->rlim_max);
|
||||
else if (rl->rlim_max >= RLIM_INFINITY)
|
||||
- r = asprintf(&s, RLIM_FMT ":infinity", rl->rlim_cur);
|
||||
+ r = asprintf(&s, RLIM_FMT ":infinity", (uintmax_t)rl->rlim_cur);
|
||||
else if (rl->rlim_cur == rl->rlim_max)
|
||||
- r = asprintf(&s, RLIM_FMT, rl->rlim_cur);
|
||||
+ r = asprintf(&s, RLIM_FMT, (uintmax_t)rl->rlim_cur);
|
||||
else
|
||||
- r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, rl->rlim_cur, rl->rlim_max);
|
||||
+ r = asprintf(&s, RLIM_FMT ":" RLIM_FMT, (uintmax_t)rl->rlim_cur, (uintmax_t)rl->rlim_max);
|
||||
if (r < 0)
|
||||
return -ENOMEM;
|
||||
|
||||
@@ -422,7 +422,7 @@ int rlimit_nofile_safe(void) {
|
||||
rl.rlim_max = MIN(rl.rlim_max, (rlim_t) read_nr_open());
|
||||
rl.rlim_cur = MIN((rlim_t) FD_SETSIZE, rl.rlim_max);
|
||||
if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
|
||||
- return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", rl.rlim_cur);
|
||||
+ return log_debug_errno(errno, "Failed to lower RLIMIT_NOFILE's soft limit to " RLIM_FMT ": %m", (uintmax_t)rl.rlim_cur);
|
||||
|
||||
return 1;
|
||||
}
|
||||
diff --git a/src/core/execute.c b/src/core/execute.c
|
||||
index bd3da0c401..df1870fd2f 100644
|
||||
--- a/src/core/execute.c
|
||||
+++ b/src/core/execute.c
|
||||
@@ -1045,9 +1045,9 @@ void exec_context_dump(const ExecContext *c, FILE* f, const char *prefix) {
|
||||
for (unsigned i = 0; i < RLIM_NLIMITS; i++)
|
||||
if (c->rlimit[i]) {
|
||||
fprintf(f, "%sLimit%s: " RLIM_FMT "\n",
|
||||
- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_max);
|
||||
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_max);
|
||||
fprintf(f, "%sLimit%sSoft: " RLIM_FMT "\n",
|
||||
- prefix, rlimit_to_string(i), c->rlimit[i]->rlim_cur);
|
||||
+ prefix, rlimit_to_string(i), (uintmax_t)c->rlimit[i]->rlim_cur);
|
||||
}
|
||||
|
||||
if (c->ioprio_set) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,99 @@
|
||||
From 4842cff4f1329f0b5034b529d56f8ad1f234ac4c Mon Sep 17 00:00:00 2001
|
||||
From: Andre McCurdy <armccurdy@gmail.com>
|
||||
Date: Tue, 10 Oct 2017 14:33:30 -0700
|
||||
Subject: [PATCH 07/22] don't pass AT_SYMLINK_NOFOLLOW flag to faccessat()
|
||||
|
||||
Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right
|
||||
thing to do and it's not portable (not supported by musl). See:
|
||||
|
||||
http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
|
||||
http://www.openwall.com/lists/musl/2015/02/05/2
|
||||
|
||||
Note that laccess() is never passing AT_EACCESS so a lot of the
|
||||
discussion in the links above doesn't apply. Note also that
|
||||
(currently) all systemd callers of laccess() pass mode as F_OK, so
|
||||
only check for existence of a file, not access permissions.
|
||||
Therefore, in this case, the only distiction between faccessat()
|
||||
with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the behaviour
|
||||
for broken symlinks; laccess() on a broken symlink will succeed with
|
||||
(flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
|
||||
|
||||
The laccess() macros was added to systemd some time ago and it's not
|
||||
clear if or why it needs to return success for broken symlinks. Maybe
|
||||
just historical and not actually necessary or desired behaviour?
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
|
||||
---
|
||||
src/basic/fs-util.h | 21 ++++++++++++++++++++-
|
||||
src/shared/base-filesystem.c | 6 +++---
|
||||
2 files changed, 23 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h
|
||||
index 1023ab73ca..c78ff6f27f 100644
|
||||
--- a/src/basic/fs-util.h
|
||||
+++ b/src/basic/fs-util.h
|
||||
@@ -49,8 +49,27 @@ int futimens_opath(int fd, const struct timespec ts[2]);
|
||||
int fd_warn_permissions(const char *path, int fd);
|
||||
int stat_warn_permissions(const char *path, const struct stat *st);
|
||||
|
||||
+/*
|
||||
+ Avoid using AT_SYMLINK_NOFOLLOW flag. It doesn't seem like the right thing to
|
||||
+ do and it's not portable (not supported by musl). See:
|
||||
+
|
||||
+ http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003610.html
|
||||
+ http://www.openwall.com/lists/musl/2015/02/05/2
|
||||
+
|
||||
+ Note that laccess() is never passing AT_EACCESS so a lot of the discussion in
|
||||
+ the links above doesn't apply. Note also that (currently) all systemd callers
|
||||
+ of laccess() pass mode as F_OK, so only check for existence of a file, not
|
||||
+ access permissions. Therefore, in this case, the only distiction between
|
||||
+ faccessat() with (flag == 0) and (flag == AT_SYMLINK_NOFOLLOW) is the
|
||||
+ behaviour for broken symlinks; laccess() on a broken symlink will succeed
|
||||
+ with (flag == AT_SYMLINK_NOFOLLOW) and fail (flag == 0).
|
||||
+
|
||||
+ The laccess() macros was added to systemd some time ago and it's not clear if
|
||||
+ or why it needs to return success for broken symlinks. Maybe just historical
|
||||
+ and not actually necessary or desired behaviour?
|
||||
+*/
|
||||
#define laccess(path, mode) \
|
||||
- RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), AT_SYMLINK_NOFOLLOW))
|
||||
+ RET_NERRNO(faccessat(AT_FDCWD, (path), (mode), 0))
|
||||
|
||||
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode);
|
||||
|
||||
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
|
||||
index 569ef466c3..7ae921a113 100644
|
||||
--- a/src/shared/base-filesystem.c
|
||||
+++ b/src/shared/base-filesystem.c
|
||||
@@ -145,7 +145,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
|
||||
/* The "root" parameter is decoration only – it's only used as part of log messages */
|
||||
|
||||
for (size_t i = 0; i < ELEMENTSOF(table); i++) {
|
||||
- if (faccessat(fd, table[i].dir, F_OK, AT_SYMLINK_NOFOLLOW) >= 0)
|
||||
+ if (faccessat(fd, table[i].dir, F_OK, 0) >= 0)
|
||||
continue;
|
||||
|
||||
if (table[i].target) { /* Create as symlink? */
|
||||
@@ -153,7 +153,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
|
||||
|
||||
/* check if one of the targets exists */
|
||||
NULSTR_FOREACH(s, table[i].target) {
|
||||
- if (faccessat(fd, s, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
|
||||
+ if (faccessat(fd, s, F_OK, 0) < 0)
|
||||
continue;
|
||||
|
||||
/* check if a specific file exists at the target path */
|
||||
@@ -164,7 +164,7 @@ int base_filesystem_create_fd(int fd, const char *root, uid_t uid, gid_t gid) {
|
||||
if (!p)
|
||||
return log_oom();
|
||||
|
||||
- if (faccessat(fd, p, F_OK, AT_SYMLINK_NOFOLLOW) < 0)
|
||||
+ if (faccessat(fd, p, F_OK, 0) < 0)
|
||||
continue;
|
||||
}
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From bab07e779ff23d5593bb118efaaa31b60a6dce87 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sun, 27 May 2018 08:36:44 -0700
|
||||
Subject: [PATCH 08/22] Define glibc compatible basename() for non-glibc
|
||||
systems
|
||||
|
||||
Fixes builds with musl, even though systemd is adamant about
|
||||
using non-posix basename implementation, we have a way out
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/basic/string-util.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/basic/string-util.h b/src/basic/string-util.h
|
||||
index b6d8be3083..0a29036c4c 100644
|
||||
--- a/src/basic/string-util.h
|
||||
+++ b/src/basic/string-util.h
|
||||
@@ -26,6 +26,10 @@
|
||||
#define URI_UNRESERVED ALPHANUMERICAL "-._~" /* [RFC3986] */
|
||||
#define URI_VALID URI_RESERVED URI_UNRESERVED /* [RFC3986] */
|
||||
|
||||
+#if !defined(__GLIBC__)
|
||||
+#define basename(src) (strrchr(src,'/') ? strrchr(src,'/')+1 : src)
|
||||
+#endif
|
||||
+
|
||||
static inline char* strstr_ptr(const char *haystack, const char *needle) {
|
||||
if (!haystack || !needle)
|
||||
return NULL;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 5712d56f1cd654d2e5d2e9117ff77fe4c299f76b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 5 Sep 2015 06:31:47 +0000
|
||||
Subject: [PATCH] implment systemd-sysv-install for OE
|
||||
|
||||
Use update-rc.d for enabling/disabling and status command
|
||||
to check the status of the sysv service
|
||||
|
||||
Upstream-Status: Inappropriate [OE-Specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/systemctl/systemd-sysv-install.SKELETON | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/systemctl/systemd-sysv-install.SKELETON b/src/systemctl/systemd-sysv-install.SKELETON
|
||||
index cb58d8243b..000bdf6165 100755
|
||||
--- a/src/systemctl/systemd-sysv-install.SKELETON
|
||||
+++ b/src/systemctl/systemd-sysv-install.SKELETON
|
||||
@@ -34,17 +34,17 @@ case "$1" in
|
||||
enable)
|
||||
# call the command to enable SysV init script $NAME here
|
||||
# (consider optional $ROOT)
|
||||
- echo "IMPLEMENT ME: enabling SysV init.d script $NAME"
|
||||
+ update-rc.d -f $NAME defaults
|
||||
;;
|
||||
disable)
|
||||
# call the command to disable SysV init script $NAME here
|
||||
# (consider optional $ROOT)
|
||||
- echo "IMPLEMENT ME: disabling SysV init.d script $NAME"
|
||||
+ update-rc.d -f $NAME remove
|
||||
;;
|
||||
is-enabled)
|
||||
# exit with 0 if $NAME is enabled, non-zero if it is disabled
|
||||
# (consider optional $ROOT)
|
||||
- echo "IMPLEMENT ME: checking SysV init.d script $NAME"
|
||||
+ /etc/init.d/$NAME status
|
||||
;;
|
||||
*)
|
||||
usage ;;
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 25093c5017725b8577c444dfea0f42ad85b43522 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Wed, 4 Jul 2018 15:00:44 +0800
|
||||
Subject: [PATCH 09/22] Do not disable buffering when writing to oom_score_adj
|
||||
|
||||
On musl, disabling buffering when writing to oom_score_adj will
|
||||
cause the following error.
|
||||
|
||||
Failed to adjust OOM setting: Invalid argument
|
||||
|
||||
This error appears for systemd-udevd.service and dbus.service.
|
||||
This is because kernel receives '-' instead of the whole '-900'
|
||||
if buffering is disabled.
|
||||
|
||||
This is libc implementation specific, as glibc does not have this issue.
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
src/basic/process-util.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
|
||||
index 201c5596ae..ea51595b6c 100644
|
||||
--- a/src/basic/process-util.c
|
||||
+++ b/src/basic/process-util.c
|
||||
@@ -1716,7 +1716,7 @@ int set_oom_score_adjust(int value) {
|
||||
xsprintf(t, "%i", value);
|
||||
|
||||
return write_string_file("/proc/self/oom_score_adj", t,
|
||||
- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ WRITE_STRING_FILE_VERIFY_ON_FAILURE);
|
||||
}
|
||||
|
||||
int get_oom_score_adjust(int *ret) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
From 2adbe9773cd65c48eec9df96868d4a738927c8d9 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Tue, 10 Jul 2018 15:40:17 +0800
|
||||
Subject: [PATCH 10/22] distinguish XSI-compliant strerror_r from GNU-specifi
|
||||
strerror_r
|
||||
|
||||
XSI-compliant strerror_r and GNU-specifi strerror_r are different.
|
||||
|
||||
int strerror_r(int errnum, char *buf, size_t buflen);
|
||||
/* XSI-compliant */
|
||||
|
||||
char *strerror_r(int errnum, char *buf, size_t buflen);
|
||||
/* GNU-specific */
|
||||
|
||||
We need to distinguish between them. Otherwise, we'll get an int value
|
||||
assigned to (char *) variable, resulting in segment fault.
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/libsystemd/sd-bus/bus-error.c | 11 ++++++++++-
|
||||
src/libsystemd/sd-journal/journal-send.c | 5 +++++
|
||||
2 files changed, 15 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c
|
||||
index 77b2e1a0fd..fdba0e0142 100644
|
||||
--- a/src/libsystemd/sd-bus/bus-error.c
|
||||
+++ b/src/libsystemd/sd-bus/bus-error.c
|
||||
@@ -408,7 +408,12 @@ static void bus_error_strerror(sd_bus_error *e, int error) {
|
||||
return;
|
||||
|
||||
errno = 0;
|
||||
+#ifndef __GLIBC__
|
||||
+ strerror_r(error, m, k);
|
||||
+ x = m;
|
||||
+#else
|
||||
x = strerror_r(error, m, k);
|
||||
+#endif
|
||||
if (errno == ERANGE || strlen(x) >= k - 1) {
|
||||
free(m);
|
||||
k *= 2;
|
||||
@@ -593,8 +598,12 @@ const char* _bus_error_message(const sd_bus_error *e, int error, char buf[static
|
||||
|
||||
if (e && e->message)
|
||||
return e->message;
|
||||
-
|
||||
+#ifndef __GLIBC__
|
||||
+ strerror_r(abs(error), buf, ERRNO_BUF_LEN);
|
||||
+ return buf;
|
||||
+#else
|
||||
return strerror_r(abs(error), buf, ERRNO_BUF_LEN);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static bool map_ok(const sd_bus_error_map *map) {
|
||||
diff --git a/src/libsystemd/sd-journal/journal-send.c b/src/libsystemd/sd-journal/journal-send.c
|
||||
index 69a2eb6404..1561859650 100644
|
||||
--- a/src/libsystemd/sd-journal/journal-send.c
|
||||
+++ b/src/libsystemd/sd-journal/journal-send.c
|
||||
@@ -361,7 +361,12 @@ static int fill_iovec_perror_and_send(const char *message, int skip, struct iove
|
||||
char* j;
|
||||
|
||||
errno = 0;
|
||||
+#ifndef __GLIBC__
|
||||
+ strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
|
||||
+ j = buffer + 8 + k;
|
||||
+#else
|
||||
j = strerror_r(_saved_errno_, buffer + 8 + k, n - 8 - k);
|
||||
+#endif
|
||||
if (errno == 0) {
|
||||
char error[STRLEN("ERRNO=") + DECIMAL_STR_MAX(int) + 1];
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 49c446cfb78cf74a909bed8c3798b77a5469866a Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Mon, 25 Feb 2019 15:44:54 +0800
|
||||
Subject: [PATCH 11/22] avoid redefinition of prctl_mm_map structure
|
||||
|
||||
Fix the following compile failure:
|
||||
error: redefinition of 'struct prctl_mm_map'
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/basic/missing_prctl.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/basic/missing_prctl.h b/src/basic/missing_prctl.h
|
||||
index 7d9e395c92..88c2d7dfac 100644
|
||||
--- a/src/basic/missing_prctl.h
|
||||
+++ b/src/basic/missing_prctl.h
|
||||
@@ -1,7 +1,9 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
#pragma once
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
#include <linux/prctl.h>
|
||||
+#endif
|
||||
|
||||
/* 58319057b7847667f0c9585b9de0e8932b0fdb08 (4.3) */
|
||||
#ifndef PR_CAP_AMBIENT
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,562 @@
|
||||
From e4885a8e60f883d9217e26e1db3754c2906aca31 Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Fri, 1 Mar 2019 15:22:15 +0800
|
||||
Subject: [PATCH 12/22] do not disable buffer in writing files
|
||||
|
||||
Do not disable buffer in writing files, otherwise we get
|
||||
failure at boot for musl like below.
|
||||
|
||||
[!!!!!!] Failed to allocate manager object.
|
||||
|
||||
And there will be other failures, critical or not critical.
|
||||
This is specific to musl.
|
||||
|
||||
Upstream-Status: Inappropriate [musl]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[Rebased for v242]
|
||||
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
|
||||
[rebased for systemd 243]
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
[rebased for systemd 254]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
[rebased for systemd 255.1]
|
||||
---
|
||||
src/basic/cgroup-util.c | 12 ++++++------
|
||||
src/basic/namespace-util.c | 4 ++--
|
||||
src/basic/procfs-util.c | 4 ++--
|
||||
src/basic/sysctl-util.c | 2 +-
|
||||
src/binfmt/binfmt.c | 6 +++---
|
||||
src/core/cgroup.c | 2 +-
|
||||
src/core/main.c | 2 +-
|
||||
src/core/smack-setup.c | 8 ++++----
|
||||
src/home/homework.c | 2 +-
|
||||
src/libsystemd/sd-device/sd-device.c | 2 +-
|
||||
src/nspawn/nspawn-cgroup.c | 2 +-
|
||||
src/nspawn/nspawn.c | 6 +++---
|
||||
src/shared/binfmt-util.c | 2 +-
|
||||
src/shared/cgroup-setup.c | 4 ++--
|
||||
src/shared/coredump-util.c | 4 ++--
|
||||
src/shared/hibernate-util.c | 4 ++--
|
||||
src/shared/smack-util.c | 2 +-
|
||||
src/shared/watchdog.c | 2 +-
|
||||
src/sleep/sleep.c | 4 ++--
|
||||
src/storagetm/storagetm.c | 24 ++++++++++++------------
|
||||
src/udev/udev-rules.c | 1 -
|
||||
src/vconsole/vconsole-setup.c | 2 +-
|
||||
22 files changed, 50 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
|
||||
index d2be79622f..e65fecb68d 100644
|
||||
--- a/src/basic/cgroup-util.c
|
||||
+++ b/src/basic/cgroup-util.c
|
||||
@@ -417,7 +417,7 @@ int cg_kill_kernel_sigkill(const char *path) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- r = write_string_file(killfile, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(killfile, "1", 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -843,7 +843,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
|
||||
|
||||
sc = strstrip(contents);
|
||||
if (isempty(sc)) {
|
||||
- r = write_string_file(fs, agent, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(fs, agent, 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
} else if (!path_equal(sc, agent))
|
||||
@@ -861,7 +861,7 @@ int cg_install_release_agent(const char *controller, const char *agent) {
|
||||
|
||||
sc = strstrip(contents);
|
||||
if (streq(sc, "0")) {
|
||||
- r = write_string_file(fs, "1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(fs, "1", 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -888,7 +888,7 @@ int cg_uninstall_release_agent(const char *controller) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- r = write_string_file(fs, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(fs, "0", 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -898,7 +898,7 @@ int cg_uninstall_release_agent(const char *controller) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- r = write_string_file(fs, "", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(fs, "", 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -1814,7 +1814,7 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
- return write_string_file(p, value, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ return write_string_file(p, value, 0);
|
||||
}
|
||||
|
||||
int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) {
|
||||
diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
|
||||
index 2101f617ad..63817bae17 100644
|
||||
--- a/src/basic/namespace-util.c
|
||||
+++ b/src/basic/namespace-util.c
|
||||
@@ -227,12 +227,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
|
||||
freeze();
|
||||
|
||||
xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
|
||||
- r = write_string_file(path, uid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(path, uid_map, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write UID map: %m");
|
||||
|
||||
xsprintf(path, "/proc/" PID_FMT "/gid_map", pid);
|
||||
- r = write_string_file(path, gid_map, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(path, gid_map, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write GID map: %m");
|
||||
|
||||
diff --git a/src/basic/procfs-util.c b/src/basic/procfs-util.c
|
||||
index 6cb0ddf575..247cf9e1d1 100644
|
||||
--- a/src/basic/procfs-util.c
|
||||
+++ b/src/basic/procfs-util.c
|
||||
@@ -64,13 +64,13 @@ int procfs_tasks_set_limit(uint64_t limit) {
|
||||
* decrease it, as threads-max is the much more relevant sysctl. */
|
||||
if (limit > pid_max-1) {
|
||||
sprintf(buffer, "%" PRIu64, limit+1); /* Add one, since PID 0 is not a valid PID */
|
||||
- r = write_string_file("/proc/sys/kernel/pid_max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/kernel/pid_max", buffer, 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
sprintf(buffer, "%" PRIu64, limit);
|
||||
- r = write_string_file("/proc/sys/kernel/threads-max", buffer, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/kernel/threads-max", buffer, 0);
|
||||
if (r < 0) {
|
||||
uint64_t threads_max;
|
||||
|
||||
diff --git a/src/basic/sysctl-util.c b/src/basic/sysctl-util.c
|
||||
index b66a6622ae..8d1c93008a 100644
|
||||
--- a/src/basic/sysctl-util.c
|
||||
+++ b/src/basic/sysctl-util.c
|
||||
@@ -58,7 +58,7 @@ int sysctl_write(const char *property, const char *value) {
|
||||
|
||||
log_debug("Setting '%s' to '%s'", p, value);
|
||||
|
||||
- return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
|
||||
+ return write_string_file(p, value, WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_SUPPRESS_REDUNDANT_VIRTUAL);
|
||||
}
|
||||
|
||||
int sysctl_writef(const char *property, const char *format, ...) {
|
||||
diff --git a/src/binfmt/binfmt.c b/src/binfmt/binfmt.c
|
||||
index d21f3f79ff..258607cc7e 100644
|
||||
--- a/src/binfmt/binfmt.c
|
||||
+++ b/src/binfmt/binfmt.c
|
||||
@@ -30,7 +30,7 @@ static bool arg_unregister = false;
|
||||
|
||||
static int delete_rule(const char *rulename) {
|
||||
const char *fn = strjoina("/proc/sys/fs/binfmt_misc/", rulename);
|
||||
- return write_string_file(fn, "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ return write_string_file(fn, "-1", 0);
|
||||
}
|
||||
|
||||
static int apply_rule(const char *filename, unsigned line, const char *rule) {
|
||||
@@ -58,7 +58,7 @@ static int apply_rule(const char *filename, unsigned line, const char *rule) {
|
||||
if (r >= 0)
|
||||
log_debug("%s:%u: Rule '%s' deleted.", filename, line, rulename);
|
||||
|
||||
- r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/fs/binfmt_misc/register", rule, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "%s:%u: Failed to add binary format '%s': %m",
|
||||
filename, line, rulename);
|
||||
@@ -248,7 +248,7 @@ static int run(int argc, char *argv[]) {
|
||||
return r;
|
||||
|
||||
/* Flush out all rules */
|
||||
- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to flush binfmt_misc rules, ignoring: %m");
|
||||
else
|
||||
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
|
||||
index 61ac4df1a6..ea18970196 100644
|
||||
--- a/src/core/cgroup.c
|
||||
+++ b/src/core/cgroup.c
|
||||
@@ -4578,7 +4578,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
|
||||
u->freezer_state = FREEZER_THAWING;
|
||||
}
|
||||
|
||||
- r = write_string_file(path, one_zero(action == FREEZER_FREEZE), WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(path, one_zero(action == FREEZER_FREEZE), 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
diff --git a/src/core/main.c b/src/core/main.c
|
||||
index 3f71cc0947..0e5aec3e9e 100644
|
||||
--- a/src/core/main.c
|
||||
+++ b/src/core/main.c
|
||||
@@ -1678,7 +1678,7 @@ static void initialize_core_pattern(bool skip_setup) {
|
||||
if (getpid_cached() != 1)
|
||||
return;
|
||||
|
||||
- r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/kernel/core_pattern", arg_early_core_pattern, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to write '%s' to /proc/sys/kernel/core_pattern, ignoring: %m",
|
||||
arg_early_core_pattern);
|
||||
diff --git a/src/core/smack-setup.c b/src/core/smack-setup.c
|
||||
index 7ea902b6f9..1aef2988d0 100644
|
||||
--- a/src/core/smack-setup.c
|
||||
+++ b/src/core/smack-setup.c
|
||||
@@ -321,17 +321,17 @@ int mac_smack_setup(bool *loaded_policy) {
|
||||
}
|
||||
|
||||
#if HAVE_SMACK_RUN_LABEL
|
||||
- r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/self/attr/current", SMACK_RUN_LABEL, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set SMACK label \"" SMACK_RUN_LABEL "\" on self: %m");
|
||||
- r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/sys/fs/smackfs/ambient", SMACK_RUN_LABEL, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set SMACK ambient label \"" SMACK_RUN_LABEL "\": %m");
|
||||
r = write_string_file("/sys/fs/smackfs/netlabel",
|
||||
- "0.0.0.0/0 " SMACK_RUN_LABEL, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ "0.0.0.0/0 " SMACK_RUN_LABEL, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set SMACK netlabel rule \"0.0.0.0/0 " SMACK_RUN_LABEL "\": %m");
|
||||
- r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/sys/fs/smackfs/netlabel", "127.0.0.1 -CIPSO", 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set SMACK netlabel rule \"127.0.0.1 -CIPSO\": %m");
|
||||
#endif
|
||||
diff --git a/src/home/homework.c b/src/home/homework.c
|
||||
index 066483e342..5f92dd7064 100644
|
||||
--- a/src/home/homework.c
|
||||
+++ b/src/home/homework.c
|
||||
@@ -278,7 +278,7 @@ static void drop_caches_now(void) {
|
||||
* for details. We write "2" into /proc/sys/vm/drop_caches to ensure dentries/inodes are flushed, but
|
||||
* not more. */
|
||||
|
||||
- r = write_string_file("/proc/sys/vm/drop_caches", "2\n", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/vm/drop_caches", "2\n", 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to drop caches, ignoring: %m");
|
||||
else
|
||||
diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-device.c
|
||||
index 2fbc619a34..09d9591e37 100644
|
||||
--- a/src/libsystemd/sd-device/sd-device.c
|
||||
+++ b/src/libsystemd/sd-device/sd-device.c
|
||||
@@ -2516,7 +2516,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
|
||||
if (!value)
|
||||
return -ENOMEM;
|
||||
|
||||
- r = write_string_file(path, value, WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_NOFOLLOW);
|
||||
+ r = write_string_file(path, value, 0 | WRITE_STRING_FILE_NOFOLLOW);
|
||||
if (r < 0) {
|
||||
/* On failure, clear cache entry, as we do not know how it fails. */
|
||||
device_remove_cached_sysattr_value(device, sysattr);
|
||||
diff --git a/src/nspawn/nspawn-cgroup.c b/src/nspawn/nspawn-cgroup.c
|
||||
index a5002437c6..b12e6cd9c9 100644
|
||||
--- a/src/nspawn/nspawn-cgroup.c
|
||||
+++ b/src/nspawn/nspawn-cgroup.c
|
||||
@@ -124,7 +124,7 @@ int sync_cgroup(pid_t pid, CGroupUnified unified_requested, uid_t uid_shift) {
|
||||
fn = strjoina(tree, cgroup, "/cgroup.procs");
|
||||
|
||||
sprintf(pid_string, PID_FMT, pid);
|
||||
- r = write_string_file(fn, pid_string, WRITE_STRING_FILE_DISABLE_BUFFER|WRITE_STRING_FILE_MKDIR_0755);
|
||||
+ r = write_string_file(fn, pid_string, WRITE_STRING_FILE_MKDIR_0755);
|
||||
if (r < 0) {
|
||||
log_error_errno(r, "Failed to move process: %m");
|
||||
goto finish;
|
||||
diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c
|
||||
index 6ab604d3dc..bbec6b686c 100644
|
||||
--- a/src/nspawn/nspawn.c
|
||||
+++ b/src/nspawn/nspawn.c
|
||||
@@ -2688,7 +2688,7 @@ static int reset_audit_loginuid(void) {
|
||||
if (streq(p, "4294967295"))
|
||||
return 0;
|
||||
|
||||
- r = write_string_file("/proc/self/loginuid", "4294967295", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/self/loginuid", "4294967295", 0);
|
||||
if (r < 0) {
|
||||
log_error_errno(r,
|
||||
"Failed to reset audit login UID. This probably means that your kernel is too\n"
|
||||
@@ -4141,7 +4141,7 @@ static int setup_uid_map(
|
||||
return log_oom();
|
||||
|
||||
xsprintf(uid_map, "/proc/" PID_FMT "/uid_map", pid);
|
||||
- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(uid_map, s, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write UID map: %m");
|
||||
|
||||
@@ -4151,7 +4151,7 @@ static int setup_uid_map(
|
||||
return log_oom();
|
||||
|
||||
xsprintf(uid_map, "/proc/" PID_FMT "/gid_map", pid);
|
||||
- r = write_string_file(uid_map, s, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(uid_map, s, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write GID map: %m");
|
||||
|
||||
diff --git a/src/shared/binfmt-util.c b/src/shared/binfmt-util.c
|
||||
index a26175474b..1413a9c72c 100644
|
||||
--- a/src/shared/binfmt-util.c
|
||||
+++ b/src/shared/binfmt-util.c
|
||||
@@ -46,7 +46,7 @@ int disable_binfmt(void) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
- r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/fs/binfmt_misc/status", "-1", 0);
|
||||
if (r < 0)
|
||||
return log_warning_errno(r, "Failed to unregister binfmt_misc entries: %m");
|
||||
|
||||
diff --git a/src/shared/cgroup-setup.c b/src/shared/cgroup-setup.c
|
||||
index 934a16eaf3..c921ced861 100644
|
||||
--- a/src/shared/cgroup-setup.c
|
||||
+++ b/src/shared/cgroup-setup.c
|
||||
@@ -351,7 +351,7 @@ int cg_attach(const char *controller, const char *path, pid_t pid) {
|
||||
|
||||
xsprintf(c, PID_FMT "\n", pid);
|
||||
|
||||
- r = write_string_file(fs, c, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(fs, c, 0);
|
||||
if (r == -EOPNOTSUPP && cg_is_threaded(path) > 0)
|
||||
/* When the threaded mode is used, we cannot read/write the file. Let's return recognizable error. */
|
||||
return -EUCLEAN;
|
||||
@@ -966,7 +966,7 @@ int cg_enable_everywhere(
|
||||
return log_debug_errno(errno, "Failed to open cgroup.subtree_control file of %s: %m", p);
|
||||
}
|
||||
|
||||
- r = write_string_stream(f, s, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_stream(f, s, 0);
|
||||
if (r < 0) {
|
||||
log_debug_errno(r, "Failed to %s controller %s for %s (%s): %m",
|
||||
FLAGS_SET(mask, bit) ? "enable" : "disable", n, p, fs);
|
||||
diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
|
||||
index 805503f366..01a7ccb291 100644
|
||||
--- a/src/shared/coredump-util.c
|
||||
+++ b/src/shared/coredump-util.c
|
||||
@@ -163,7 +163,7 @@ int set_coredump_filter(uint64_t value) {
|
||||
xsprintf(t, "0x%"PRIx64, value);
|
||||
|
||||
return write_string_file("/proc/self/coredump_filter", t,
|
||||
- WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ 0);
|
||||
}
|
||||
|
||||
/* Turn off core dumps but only if we're running outside of a container. */
|
||||
@@ -173,7 +173,7 @@ void disable_coredumps(void) {
|
||||
if (detect_container() > 0)
|
||||
return;
|
||||
|
||||
- r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
|
||||
if (r < 0)
|
||||
log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m");
|
||||
}
|
||||
diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c
|
||||
index 3eb13d48f6..d09b901be1 100644
|
||||
--- a/src/shared/hibernate-util.c
|
||||
+++ b/src/shared/hibernate-util.c
|
||||
@@ -481,7 +481,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
|
||||
|
||||
/* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
|
||||
* fail gracefully if it doesn't exist and we're only overwriting it with 0. */
|
||||
- r = write_string_file("/sys/power/resume_offset", offset_str, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/sys/power/resume_offset", offset_str, 0);
|
||||
if (r == -ENOENT) {
|
||||
if (offset != 0)
|
||||
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
|
||||
@@ -497,7 +497,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
|
||||
log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
|
||||
offset_str, device);
|
||||
|
||||
- r = write_string_file("/sys/power/resume", devno_str, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/sys/power/resume", devno_str, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r,
|
||||
"Failed to write device '%s' (%s) to /sys/power/resume: %m",
|
||||
diff --git a/src/shared/smack-util.c b/src/shared/smack-util.c
|
||||
index 1f88e724d0..feb18b320a 100644
|
||||
--- a/src/shared/smack-util.c
|
||||
+++ b/src/shared/smack-util.c
|
||||
@@ -113,7 +113,7 @@ int mac_smack_apply_pid(pid_t pid, const char *label) {
|
||||
return 0;
|
||||
|
||||
p = procfs_file_alloca(pid, "attr/current");
|
||||
- r = write_string_file(p, label, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file(p, label, 0);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
diff --git a/src/shared/watchdog.c b/src/shared/watchdog.c
|
||||
index 4c1a968718..6faf6806a5 100644
|
||||
--- a/src/shared/watchdog.c
|
||||
+++ b/src/shared/watchdog.c
|
||||
@@ -93,7 +93,7 @@ static int set_pretimeout_governor(const char *governor) {
|
||||
|
||||
r = write_string_file(sys_fn,
|
||||
governor,
|
||||
- WRITE_STRING_FILE_DISABLE_BUFFER | WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
|
||||
+ WRITE_STRING_FILE_VERIFY_ON_FAILURE | WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set pretimeout_governor to '%s': %m", governor);
|
||||
|
||||
diff --git a/src/sleep/sleep.c b/src/sleep/sleep.c
|
||||
index 21af3e9e52..6d4b84b5d5 100644
|
||||
--- a/src/sleep/sleep.c
|
||||
+++ b/src/sleep/sleep.c
|
||||
@@ -137,7 +137,7 @@ static int write_state(int fd, char * const *states) {
|
||||
if (k < 0)
|
||||
return RET_GATHER(r, k);
|
||||
|
||||
- k = write_string_stream(f, *state, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ k = write_string_stream(f, *state, 0);
|
||||
if (k >= 0) {
|
||||
log_debug("Using sleep state '%s'.", *state);
|
||||
return 0;
|
||||
@@ -155,7 +155,7 @@ static int write_mode(char * const *modes) {
|
||||
STRV_FOREACH(mode, modes) {
|
||||
int k;
|
||||
|
||||
- k = write_string_file("/sys/power/disk", *mode, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ k = write_string_file("/sys/power/disk", *mode, 0);
|
||||
if (k >= 0) {
|
||||
log_debug("Using sleep disk mode '%s'.", *mode);
|
||||
return 0;
|
||||
diff --git a/src/storagetm/storagetm.c b/src/storagetm/storagetm.c
|
||||
index ae63baaf79..82eeca479a 100644
|
||||
--- a/src/storagetm/storagetm.c
|
||||
+++ b/src/storagetm/storagetm.c
|
||||
@@ -186,7 +186,7 @@ static int nvme_subsystem_unlink(NvmeSubsystem *s) {
|
||||
if (!enable_fn)
|
||||
return log_oom();
|
||||
|
||||
- r = write_string_file_at(namespaces_fd, enable_fn, "0", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(namespaces_fd, enable_fn, "0", 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to disable namespace '%s' of NVME subsystem '%s', ignoring: %m", e->d_name, s->name);
|
||||
|
||||
@@ -254,7 +254,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
|
||||
_cleanup_free_ char *truncated = strndup(w, 40); /* kernel refuses more than 40 chars (as per nvme spec) */
|
||||
|
||||
/* The default string stored in 'attr_model' is "Linux" btw. */
|
||||
- r = write_string_file_at(subsystem_fd, "attr_model", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(subsystem_fd, "attr_model", truncated, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", w);
|
||||
}
|
||||
@@ -268,7 +268,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
|
||||
return log_oom();
|
||||
|
||||
/* The default string stored in 'attr_firmware' is `uname -r` btw, but truncated to 8 chars. */
|
||||
- r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(subsystem_fd, "attr_firmware", truncated, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set model of subsystem to '%s', ignoring: %m", truncated);
|
||||
}
|
||||
@@ -295,7 +295,7 @@ static int nvme_subsystem_write_metadata(int subsystem_fd, sd_device *device) {
|
||||
if (!truncated)
|
||||
return log_oom();
|
||||
|
||||
- r = write_string_file_at(subsystem_fd, "attr_serial", truncated, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(subsystem_fd, "attr_serial", truncated, 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set serial of subsystem to '%s', ignoring: %m", truncated);
|
||||
}
|
||||
@@ -345,7 +345,7 @@ static int nvme_namespace_write_metadata(int namespace_fd, sd_device *device, co
|
||||
id = id128_digest(j, l);
|
||||
}
|
||||
|
||||
- r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(namespace_fd, "device_uuid", SD_ID128_TO_UUID_STRING(id), 0);
|
||||
if (r < 0)
|
||||
log_warning_errno(r, "Failed to set uuid of namespace to '%s', ignoring: %m", SD_ID128_TO_UUID_STRING(id));
|
||||
|
||||
@@ -408,7 +408,7 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
|
||||
if (subsystem_fd < 0)
|
||||
return log_error_errno(subsystem_fd, "Failed to create NVME subsystem '%s': %m", j);
|
||||
|
||||
- r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(subsystem_fd, "attr_allow_any_host", "1", 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set 'attr_allow_any_host' flag: %m");
|
||||
|
||||
@@ -423,11 +423,11 @@ static int nvme_subsystem_add(const char *node, int consumed_fd, sd_device *devi
|
||||
|
||||
/* We use /proc/$PID/fd/$FD rather than /proc/self/fd/$FD, because this string is visible to others
|
||||
* via configfs, and by including the PID it's clear to who the stuff belongs. */
|
||||
- r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(namespace_fd, "device_path", FORMAT_PROC_PID_FD_PATH(0, fd), 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write 'device_path' attribute: %m");
|
||||
|
||||
- r = write_string_file_at(namespace_fd, "enable", "1", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(namespace_fd, "enable", "1", 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to write 'enable' attribute: %m");
|
||||
|
||||
@@ -557,19 +557,19 @@ static int nvme_port_add_portnr(
|
||||
return 0;
|
||||
}
|
||||
|
||||
- r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(port_fd, "addr_adrfam", af_to_ipv4_ipv6(ip_family), 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set address family on NVME port %" PRIu16 ": %m", portnr);
|
||||
|
||||
- r = write_string_file_at(port_fd, "addr_trtype", "tcp", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(port_fd, "addr_trtype", "tcp", 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set transport type on NVME port %" PRIu16 ": %m", portnr);
|
||||
|
||||
- r = write_string_file_at(port_fd, "addr_trsvcid", fname, WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(port_fd, "addr_trsvcid", fname, 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set IP port on NVME port %" PRIu16 ": %m", portnr);
|
||||
|
||||
- r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file_at(port_fd, "addr_traddr", ip_family == AF_INET6 ? "::" : "0.0.0.0", 0);
|
||||
if (r < 0)
|
||||
return log_error_errno(r, "Failed to set IP address on NVME port %" PRIu16 ": %m", portnr);
|
||||
|
||||
diff --git a/src/udev/udev-rules.c b/src/udev/udev-rules.c
|
||||
index febe345b4c..a90b610ba1 100644
|
||||
--- a/src/udev/udev-rules.c
|
||||
+++ b/src/udev/udev-rules.c
|
||||
@@ -2711,7 +2711,6 @@ static int udev_rule_apply_token_to_event(
|
||||
log_event_debug(dev, token, "ATTR '%s' writing '%s'", buf, value);
|
||||
r = write_string_file(buf, value,
|
||||
WRITE_STRING_FILE_VERIFY_ON_FAILURE |
|
||||
- WRITE_STRING_FILE_DISABLE_BUFFER |
|
||||
WRITE_STRING_FILE_AVOID_NEWLINE |
|
||||
WRITE_STRING_FILE_VERIFY_IGNORE_NEWLINE);
|
||||
if (r < 0)
|
||||
diff --git a/src/vconsole/vconsole-setup.c b/src/vconsole/vconsole-setup.c
|
||||
index 4d82c65f0a..3a3d861b83 100644
|
||||
--- a/src/vconsole/vconsole-setup.c
|
||||
+++ b/src/vconsole/vconsole-setup.c
|
||||
@@ -261,7 +261,7 @@ static int toggle_utf8_vc(const char *name, int fd, bool utf8) {
|
||||
static int toggle_utf8_sysfs(bool utf8) {
|
||||
int r;
|
||||
|
||||
- r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), WRITE_STRING_FILE_DISABLE_BUFFER);
|
||||
+ r = write_string_file("/sys/module/vt/parameters/default_utf8", one_zero(utf8), 0);
|
||||
if (r < 0)
|
||||
return log_warning_errno(r, "Failed to %s sysfs UTF-8 flag: %m", enable_disable(utf8));
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
From 2f90f8463423cfbb7e83fcef42f1071018c3b56e Mon Sep 17 00:00:00 2001
|
||||
From: Scott Murray <scott.murray@konsulko.com>
|
||||
Date: Fri, 13 Sep 2019 19:26:27 -0400
|
||||
Subject: [PATCH 13/22] Handle __cpu_mask usage
|
||||
|
||||
Fixes errors:
|
||||
|
||||
src/test/test-cpu-set-util.c:18:54: error: '__cpu_mask' undeclared (first use in this function)
|
||||
src/test/test-sizeof.c:73:14: error: '__cpu_mask' undeclared (first use in this function)
|
||||
|
||||
__cpu_mask is an internal type of glibc's cpu_set implementation, not
|
||||
part of the POSIX definition, which is problematic when building with
|
||||
musl, which does not define a matching type. From inspection of musl's
|
||||
sched.h, however, it is clear that the corresponding type would be
|
||||
unsigned long, which does match glibc's actual __CPU_MASK_TYPE. So,
|
||||
add a typedef to cpu-set-util.h defining __cpu_mask appropriately.
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
|
||||
---
|
||||
src/shared/cpu-set-util.h | 2 ++
|
||||
src/test/test-sizeof.c | 2 +-
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/shared/cpu-set-util.h b/src/shared/cpu-set-util.h
|
||||
index 3c63a58826..4c2d4347fc 100644
|
||||
--- a/src/shared/cpu-set-util.h
|
||||
+++ b/src/shared/cpu-set-util.h
|
||||
@@ -6,6 +6,8 @@
|
||||
#include "macro.h"
|
||||
#include "missing_syscall.h"
|
||||
|
||||
+typedef unsigned long __cpu_mask;
|
||||
+
|
||||
/* This wraps the libc interface with a variable to keep the allocated size. */
|
||||
typedef struct CPUSet {
|
||||
cpu_set_t *set;
|
||||
diff --git a/src/test/test-sizeof.c b/src/test/test-sizeof.c
|
||||
index ea0c58770e..b65c0bd370 100644
|
||||
--- a/src/test/test-sizeof.c
|
||||
+++ b/src/test/test-sizeof.c
|
||||
@@ -1,6 +1,5 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <sched.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/resource.h>
|
||||
@@ -12,6 +11,7 @@
|
||||
#include <float.h>
|
||||
|
||||
#include "time-util.h"
|
||||
+#include "cpu-set-util.h"
|
||||
|
||||
/* Print information about various types. Useful when diagnosing
|
||||
* gcc diagnostics on an unfamiliar architecture. */
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,173 @@
|
||||
From b7c827bb44edbb6251c9fcdb80aa03982c0e7bf3 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
Date: Tue, 10 Mar 2020 11:05:20 +0000
|
||||
Subject: [PATCH 14/22] Handle missing gshadow
|
||||
|
||||
gshadow usage is now present in the userdb code. Mask all uses of it to
|
||||
allow compilation on musl
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
[Rebased for v247]
|
||||
Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
|
||||
---
|
||||
src/shared/user-record-nss.c | 20 ++++++++++++++++++++
|
||||
src/shared/user-record-nss.h | 4 ++++
|
||||
src/shared/userdb.c | 7 ++++++-
|
||||
3 files changed, 30 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/shared/user-record-nss.c b/src/shared/user-record-nss.c
|
||||
index 414a49331b..1a4e1b628c 100644
|
||||
--- a/src/shared/user-record-nss.c
|
||||
+++ b/src/shared/user-record-nss.c
|
||||
@@ -329,8 +329,10 @@ int nss_group_to_group_record(
|
||||
if (isempty(grp->gr_name))
|
||||
return -EINVAL;
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
if (sgrp && !streq_ptr(sgrp->sg_namp, grp->gr_name))
|
||||
return -EINVAL;
|
||||
+#endif
|
||||
|
||||
g = group_record_new();
|
||||
if (!g)
|
||||
@@ -346,6 +348,7 @@ int nss_group_to_group_record(
|
||||
|
||||
g->gid = grp->gr_gid;
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
if (sgrp) {
|
||||
if (looks_like_hashed_password(utf8_only(sgrp->sg_passwd))) {
|
||||
g->hashed_password = strv_new(sgrp->sg_passwd);
|
||||
@@ -361,6 +364,7 @@ int nss_group_to_group_record(
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
+#endif
|
||||
|
||||
r = json_build(&g->json, JSON_BUILD_OBJECT(
|
||||
JSON_BUILD_PAIR("groupName", JSON_BUILD_STRING(g->group_name)),
|
||||
@@ -387,6 +391,7 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
|
||||
assert(ret_sgrp);
|
||||
assert(ret_buffer);
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
for (;;) {
|
||||
_cleanup_free_ char *buf = NULL;
|
||||
struct sgrp sgrp, *result;
|
||||
@@ -415,6 +420,9 @@ int nss_sgrp_for_group(const struct group *grp, struct sgrp *ret_sgrp, char **re
|
||||
buflen *= 2;
|
||||
buf = mfree(buf);
|
||||
}
|
||||
+#else
|
||||
+ return -ESRCH;
|
||||
+#endif
|
||||
}
|
||||
|
||||
int nss_group_record_by_name(
|
||||
@@ -426,7 +434,9 @@ int nss_group_record_by_name(
|
||||
struct group grp, *result;
|
||||
bool incomplete = false;
|
||||
size_t buflen = 4096;
|
||||
+#if ENABLE_GSHADOW
|
||||
struct sgrp sgrp, *sresult = NULL;
|
||||
+#endif
|
||||
int r;
|
||||
|
||||
assert(name);
|
||||
@@ -455,6 +465,7 @@ int nss_group_record_by_name(
|
||||
buf = mfree(buf);
|
||||
}
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
if (with_shadow) {
|
||||
r = nss_sgrp_for_group(result, &sgrp, &sbuf);
|
||||
if (r < 0) {
|
||||
@@ -466,6 +477,9 @@ int nss_group_record_by_name(
|
||||
incomplete = true;
|
||||
|
||||
r = nss_group_to_group_record(result, sresult, ret);
|
||||
+#else
|
||||
+ r = nss_group_to_group_record(result, NULL, ret);
|
||||
+#endif
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
@@ -483,7 +497,9 @@ int nss_group_record_by_gid(
|
||||
struct group grp, *result;
|
||||
bool incomplete = false;
|
||||
size_t buflen = 4096;
|
||||
+#if ENABLE_GSHADOW
|
||||
struct sgrp sgrp, *sresult = NULL;
|
||||
+#endif
|
||||
int r;
|
||||
|
||||
for (;;) {
|
||||
@@ -509,6 +525,7 @@ int nss_group_record_by_gid(
|
||||
buf = mfree(buf);
|
||||
}
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
if (with_shadow) {
|
||||
r = nss_sgrp_for_group(result, &sgrp, &sbuf);
|
||||
if (r < 0) {
|
||||
@@ -520,6 +537,9 @@ int nss_group_record_by_gid(
|
||||
incomplete = true;
|
||||
|
||||
r = nss_group_to_group_record(result, sresult, ret);
|
||||
+#else
|
||||
+ r = nss_group_to_group_record(result, NULL, ret);
|
||||
+#endif
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
diff --git a/src/shared/user-record-nss.h b/src/shared/user-record-nss.h
|
||||
index 22ab04d6ee..4e52e7a911 100644
|
||||
--- a/src/shared/user-record-nss.h
|
||||
+++ b/src/shared/user-record-nss.h
|
||||
@@ -2,7 +2,11 @@
|
||||
#pragma once
|
||||
|
||||
#include <grp.h>
|
||||
+#if ENABLE_GSHADOW
|
||||
#include <gshadow.h>
|
||||
+#else
|
||||
+struct sgrp;
|
||||
+#endif
|
||||
#include <pwd.h>
|
||||
#include <shadow.h>
|
||||
|
||||
diff --git a/src/shared/userdb.c b/src/shared/userdb.c
|
||||
index f60d48ace4..e878199a28 100644
|
||||
--- a/src/shared/userdb.c
|
||||
+++ b/src/shared/userdb.c
|
||||
@@ -1038,13 +1038,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
|
||||
if (gr) {
|
||||
_cleanup_free_ char *buffer = NULL;
|
||||
bool incomplete = false;
|
||||
+#if ENABLE_GSHADOW
|
||||
struct sgrp sgrp;
|
||||
-
|
||||
+#endif
|
||||
if (streq_ptr(gr->gr_name, "root"))
|
||||
iterator->synthesize_root = false;
|
||||
if (gr->gr_gid == GID_NOBODY)
|
||||
iterator->synthesize_nobody = false;
|
||||
|
||||
+#if ENABLE_GSHADOW
|
||||
if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
|
||||
r = nss_sgrp_for_group(gr, &sgrp, &buffer);
|
||||
if (r < 0) {
|
||||
@@ -1057,6 +1059,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
|
||||
}
|
||||
|
||||
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
|
||||
+#else
|
||||
+ r = nss_group_to_group_record(gr, NULL, ret);
|
||||
+#endif
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 3dc9d9d410bcce54fddfd94f43f7f77f3aa8e281 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 12 Apr 2021 23:44:53 -0700
|
||||
Subject: [PATCH 15/22] missing_syscall.h: Define MIPS ABI defines for musl
|
||||
|
||||
musl does not define _MIPS_SIM_ABI32, _MIPS_SIM_NABI32, _MIPS_SIM_ABI64
|
||||
unlike glibc where these are provided by libc headers, therefore define
|
||||
them here in case they are undefined
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/basic/missing_syscall.h | 6 ++++++
|
||||
src/shared/base-filesystem.c | 1 +
|
||||
2 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/basic/missing_syscall.h b/src/basic/missing_syscall.h
|
||||
index d795efd8f2..d6729d3c1d 100644
|
||||
--- a/src/basic/missing_syscall.h
|
||||
+++ b/src/basic/missing_syscall.h
|
||||
@@ -20,6 +20,12 @@
|
||||
#include <asm/sgidefs.h>
|
||||
#endif
|
||||
|
||||
+#ifndef _MIPS_SIM_ABI32
|
||||
+#define _MIPS_SIM_ABI32 1
|
||||
+#define _MIPS_SIM_NABI32 2
|
||||
+#define _MIPS_SIM_ABI64 3
|
||||
+#endif
|
||||
+
|
||||
#include "macro.h"
|
||||
#include "missing_keyctl.h"
|
||||
#include "missing_stat.h"
|
||||
diff --git a/src/shared/base-filesystem.c b/src/shared/base-filesystem.c
|
||||
index 7ae921a113..0ef9d1fd39 100644
|
||||
--- a/src/shared/base-filesystem.c
|
||||
+++ b/src/shared/base-filesystem.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "string-util.h"
|
||||
#include "umask-util.h"
|
||||
#include "user-util.h"
|
||||
+#include "missing_syscall.h"
|
||||
|
||||
typedef struct BaseFilesystem {
|
||||
const char *dir; /* directory or symlink to create */
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
From 0994b59dba9f248ad31cb7087046dc00b72cb4ea Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 21 Jan 2022 15:15:11 -0800
|
||||
Subject: [PATCH 16/22] pass correct parameters to getdents64
|
||||
|
||||
Fixes
|
||||
../git/src/basic/recurse-dir.c:57:40: error: incompatible pointer types passing 'uint8_t *' (aka 'unsigned char *') to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
|
||||
n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
|
||||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
../git/src/basic/stat-util.c:102:28: error: incompatible pointer types passing 'union (unnamed union at ../git/src/basic/stat-util.c:78:9) *' to parameter of type 'struct dirent *' [-Werror,-Wincompatible-pointer-types]
|
||||
n = getdents64(fd, &buffer, sizeof(buffer));
|
||||
^~~~~~~
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Jiaqing Zhao <jiaqing.zhao@linux.intel.com>
|
||||
---
|
||||
src/basic/recurse-dir.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/basic/recurse-dir.c b/src/basic/recurse-dir.c
|
||||
index 5e98b7a5d8..aef065047b 100644
|
||||
--- a/src/basic/recurse-dir.c
|
||||
+++ b/src/basic/recurse-dir.c
|
||||
@@ -55,7 +55,7 @@ int readdir_all(int dir_fd,
|
||||
bs = MIN(MALLOC_SIZEOF_SAFE(de) - offsetof(DirectoryEntries, buffer), (size_t) SSIZE_MAX);
|
||||
assert(bs > de->buffer_size);
|
||||
|
||||
- n = getdents64(dir_fd, (uint8_t*) de->buffer + de->buffer_size, bs - de->buffer_size);
|
||||
+ n = getdents64(dir_fd, (struct dirent*)((uint8_t*) de->buffer + de->buffer_size), bs - de->buffer_size);
|
||||
if (n < 0)
|
||||
return -errno;
|
||||
if (n == 0)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,572 @@
|
||||
From 3c094d443ca30f19114392fd8ef274af6eabc12d Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Fri, 21 Jan 2022 22:19:37 -0800
|
||||
Subject: [PATCH 17/22] Adjust for musl headers
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
[Rebased for v255.1]
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/libsystemd-network/sd-dhcp6-client.c | 2 +-
|
||||
src/network/netdev/bareudp.c | 2 +-
|
||||
src/network/netdev/batadv.c | 2 +-
|
||||
src/network/netdev/bond.c | 2 +-
|
||||
src/network/netdev/bridge.c | 2 +-
|
||||
src/network/netdev/dummy.c | 2 +-
|
||||
src/network/netdev/geneve.c | 2 +-
|
||||
src/network/netdev/ifb.c | 2 +-
|
||||
src/network/netdev/ipoib.c | 2 +-
|
||||
src/network/netdev/ipvlan.c | 2 +-
|
||||
src/network/netdev/macsec.c | 2 +-
|
||||
src/network/netdev/macvlan.c | 2 +-
|
||||
src/network/netdev/netdev.c | 2 +-
|
||||
src/network/netdev/netdevsim.c | 2 +-
|
||||
src/network/netdev/nlmon.c | 2 +-
|
||||
src/network/netdev/tunnel.c | 2 +-
|
||||
src/network/netdev/vcan.c | 2 +-
|
||||
src/network/netdev/veth.c | 2 +-
|
||||
src/network/netdev/vlan.c | 2 +-
|
||||
src/network/netdev/vrf.c | 2 +-
|
||||
src/network/netdev/vxcan.c | 2 +-
|
||||
src/network/netdev/vxlan.c | 2 +-
|
||||
src/network/netdev/wireguard.c | 2 +-
|
||||
src/network/netdev/xfrm.c | 2 +-
|
||||
src/network/networkd-bridge-mdb.c | 4 ++--
|
||||
src/network/networkd-dhcp-common.c | 3 ++-
|
||||
src/network/networkd-dhcp-prefix-delegation.c | 3 ++-
|
||||
src/network/networkd-dhcp-server.c | 2 +-
|
||||
src/network/networkd-dhcp4.c | 2 +-
|
||||
src/network/networkd-ipv6ll.c | 2 +-
|
||||
src/network/networkd-link.c | 2 +-
|
||||
src/network/networkd-ndisc.c | 2 +-
|
||||
src/network/networkd-route.c | 8 ++++----
|
||||
src/network/networkd-setlink.c | 2 +-
|
||||
src/network/networkd-sysctl.c | 2 +-
|
||||
src/shared/linux/ethtool.h | 3 ++-
|
||||
src/shared/netif-util.c | 2 +-
|
||||
src/udev/udev-builtin-net_id.c | 2 +-
|
||||
38 files changed, 45 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/src/libsystemd-network/sd-dhcp6-client.c b/src/libsystemd-network/sd-dhcp6-client.c
|
||||
index c20367dfc9..b8d4cd8c2a 100644
|
||||
--- a/src/libsystemd-network/sd-dhcp6-client.c
|
||||
+++ b/src/libsystemd-network/sd-dhcp6-client.c
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <sys/ioctl.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_infiniband.h>
|
||||
|
||||
#include "sd-dhcp6-client.h"
|
||||
diff --git a/src/network/netdev/bareudp.c b/src/network/netdev/bareudp.c
|
||||
index 1df886573b..c8b6714726 100644
|
||||
--- a/src/network/netdev/bareudp.c
|
||||
+++ b/src/network/netdev/bareudp.c
|
||||
@@ -2,7 +2,7 @@
|
||||
* Copyright © 2020 VMware, Inc. */
|
||||
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "bareudp.h"
|
||||
#include "netlink-util.h"
|
||||
diff --git a/src/network/netdev/batadv.c b/src/network/netdev/batadv.c
|
||||
index 26da0231d4..2e8002af8c 100644
|
||||
--- a/src/network/netdev/batadv.c
|
||||
+++ b/src/network/netdev/batadv.c
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <inttypes.h>
|
||||
#include <netinet/in.h>
|
||||
#include <linux/genetlink.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "batadv.h"
|
||||
#include "fileio.h"
|
||||
diff --git a/src/network/netdev/bond.c b/src/network/netdev/bond.c
|
||||
index 4d75a0d6bf..985b3197e0 100644
|
||||
--- a/src/network/netdev/bond.c
|
||||
+++ b/src/network/netdev/bond.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "bond.h"
|
||||
diff --git a/src/network/netdev/bridge.c b/src/network/netdev/bridge.c
|
||||
index 3e394edadf..f12f667687 100644
|
||||
--- a/src/network/netdev/bridge.c
|
||||
+++ b/src/network/netdev/bridge.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_bridge.h>
|
||||
|
||||
#include "bridge.h"
|
||||
diff --git a/src/network/netdev/dummy.c b/src/network/netdev/dummy.c
|
||||
index 00df1d2787..77b506b422 100644
|
||||
--- a/src/network/netdev/dummy.c
|
||||
+++ b/src/network/netdev/dummy.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "dummy.h"
|
||||
|
||||
diff --git a/src/network/netdev/geneve.c b/src/network/netdev/geneve.c
|
||||
index bc655ec7ff..a77e8e17e4 100644
|
||||
--- a/src/network/netdev/geneve.c
|
||||
+++ b/src/network/netdev/geneve.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "conf-parser.h"
|
||||
diff --git a/src/network/netdev/ifb.c b/src/network/netdev/ifb.c
|
||||
index d7ff44cb9e..e037629ae4 100644
|
||||
--- a/src/network/netdev/ifb.c
|
||||
+++ b/src/network/netdev/ifb.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
* Copyright © 2019 VMware, Inc. */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "ifb.h"
|
||||
|
||||
diff --git a/src/network/netdev/ipoib.c b/src/network/netdev/ipoib.c
|
||||
index d5fe299b7b..c9c8002eac 100644
|
||||
--- a/src/network/netdev/ipoib.c
|
||||
+++ b/src/network/netdev/ipoib.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_link.h>
|
||||
|
||||
#include "ipoib.h"
|
||||
diff --git a/src/network/netdev/ipvlan.c b/src/network/netdev/ipvlan.c
|
||||
index 05d5d010f6..d440f49537 100644
|
||||
--- a/src/network/netdev/ipvlan.c
|
||||
+++ b/src/network/netdev/ipvlan.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "conf-parser.h"
|
||||
#include "ipvlan.h"
|
||||
diff --git a/src/network/netdev/macsec.c b/src/network/netdev/macsec.c
|
||||
index 17d6acefb6..679d0984f9 100644
|
||||
--- a/src/network/netdev/macsec.c
|
||||
+++ b/src/network/netdev/macsec.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/if_macsec.h>
|
||||
#include <linux/genetlink.h>
|
||||
diff --git a/src/network/netdev/macvlan.c b/src/network/netdev/macvlan.c
|
||||
index 203807e3a5..8ab09a387e 100644
|
||||
--- a/src/network/netdev/macvlan.c
|
||||
+++ b/src/network/netdev/macvlan.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "conf-parser.h"
|
||||
#include "macvlan.h"
|
||||
diff --git a/src/network/netdev/netdev.c b/src/network/netdev/netdev.c
|
||||
index 57127a861a..7f787d0b9f 100644
|
||||
--- a/src/network/netdev/netdev.c
|
||||
+++ b/src/network/netdev/netdev.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
diff --git a/src/network/netdev/netdevsim.c b/src/network/netdev/netdevsim.c
|
||||
index 15d5c132f9..a3ffa48b15 100644
|
||||
--- a/src/network/netdev/netdevsim.c
|
||||
+++ b/src/network/netdev/netdevsim.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "netdevsim.h"
|
||||
|
||||
diff --git a/src/network/netdev/nlmon.c b/src/network/netdev/nlmon.c
|
||||
index ff372092e6..eef66811f4 100644
|
||||
--- a/src/network/netdev/nlmon.c
|
||||
+++ b/src/network/netdev/nlmon.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "nlmon.h"
|
||||
|
||||
diff --git a/src/network/netdev/tunnel.c b/src/network/netdev/tunnel.c
|
||||
index db84e7cf6e..93d5642962 100644
|
||||
--- a/src/network/netdev/tunnel.c
|
||||
+++ b/src/network/netdev/tunnel.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <linux/fou.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_tunnel.h>
|
||||
#include <linux/ip.h>
|
||||
#include <linux/ip6_tunnel.h>
|
||||
diff --git a/src/network/netdev/vcan.c b/src/network/netdev/vcan.c
|
||||
index 380547ee1e..137c1adf8a 100644
|
||||
--- a/src/network/netdev/vcan.c
|
||||
+++ b/src/network/netdev/vcan.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "vcan.h"
|
||||
|
||||
diff --git a/src/network/netdev/veth.c b/src/network/netdev/veth.c
|
||||
index e0f5b4ebb1..8a424ed03d 100644
|
||||
--- a/src/network/netdev/veth.c
|
||||
+++ b/src/network/netdev/veth.c
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <errno.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/veth.h>
|
||||
|
||||
#include "netlink-util.h"
|
||||
diff --git a/src/network/netdev/vlan.c b/src/network/netdev/vlan.c
|
||||
index 2390206993..efec630e30 100644
|
||||
--- a/src/network/netdev/vlan.c
|
||||
+++ b/src/network/netdev/vlan.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <errno.h>
|
||||
#include <net/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_vlan.h>
|
||||
|
||||
#include "parse-util.h"
|
||||
diff --git a/src/network/netdev/vrf.c b/src/network/netdev/vrf.c
|
||||
index b75ec2bcc6..6aeeea640b 100644
|
||||
--- a/src/network/netdev/vrf.c
|
||||
+++ b/src/network/netdev/vrf.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "vrf.h"
|
||||
|
||||
diff --git a/src/network/netdev/vxcan.c b/src/network/netdev/vxcan.c
|
||||
index c0343f45b6..f9e718f40b 100644
|
||||
--- a/src/network/netdev/vxcan.c
|
||||
+++ b/src/network/netdev/vxcan.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <linux/can/vxcan.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "vxcan.h"
|
||||
|
||||
diff --git a/src/network/netdev/vxlan.c b/src/network/netdev/vxlan.c
|
||||
index b11fdbbd0d..a971a917f0 100644
|
||||
--- a/src/network/netdev/vxlan.c
|
||||
+++ b/src/network/netdev/vxlan.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "conf-parser.h"
|
||||
#include "alloc-util.h"
|
||||
diff --git a/src/network/netdev/wireguard.c b/src/network/netdev/wireguard.c
|
||||
index 4c7d837c41..6df6dfb816 100644
|
||||
--- a/src/network/netdev/wireguard.c
|
||||
+++ b/src/network/netdev/wireguard.c
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/ipv6_route.h>
|
||||
|
||||
#include "sd-resolve.h"
|
||||
diff --git a/src/network/netdev/xfrm.c b/src/network/netdev/xfrm.c
|
||||
index 905bfc0bdf..39e34dbb3b 100644
|
||||
--- a/src/network/netdev/xfrm.c
|
||||
+++ b/src/network/netdev/xfrm.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "missing_network.h"
|
||||
#include "xfrm.h"
|
||||
diff --git a/src/network/networkd-bridge-mdb.c b/src/network/networkd-bridge-mdb.c
|
||||
index bd1a9745dc..949d3da029 100644
|
||||
--- a/src/network/networkd-bridge-mdb.c
|
||||
+++ b/src/network/networkd-bridge-mdb.c
|
||||
@@ -1,7 +1,5 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <net/if.h>
|
||||
-#include <linux/if_bridge.h>
|
||||
|
||||
#include "netlink-util.h"
|
||||
#include "networkd-bridge-mdb.h"
|
||||
@@ -11,6 +9,8 @@
|
||||
#include "networkd-queue.h"
|
||||
#include "string-util.h"
|
||||
#include "vlan-util.h"
|
||||
+#include <net/if.h>
|
||||
+#include <linux/if_bridge.h>
|
||||
|
||||
#define STATIC_BRIDGE_MDB_ENTRIES_PER_NETWORK_MAX 1024U
|
||||
|
||||
diff --git a/src/network/networkd-dhcp-common.c b/src/network/networkd-dhcp-common.c
|
||||
index 080b15387c..efe8283957 100644
|
||||
--- a/src/network/networkd-dhcp-common.c
|
||||
+++ b/src/network/networkd-dhcp-common.c
|
||||
@@ -1,7 +1,8 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
+#include <net/if.h>
|
||||
|
||||
#include "bus-error.h"
|
||||
#include "bus-locator.h"
|
||||
diff --git a/src/network/networkd-dhcp-prefix-delegation.c b/src/network/networkd-dhcp-prefix-delegation.c
|
||||
index af2fe9efcd..511565700f 100644
|
||||
--- a/src/network/networkd-dhcp-prefix-delegation.c
|
||||
+++ b/src/network/networkd-dhcp-prefix-delegation.c
|
||||
@@ -1,6 +1,5 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/ipv6_route.h>
|
||||
|
||||
#include "dhcp6-lease-internal.h"
|
||||
#include "hashmap.h"
|
||||
@@ -20,6 +19,8 @@
|
||||
#include "strv.h"
|
||||
#include "tunnel.h"
|
||||
|
||||
+#include <linux/ipv6_route.h>
|
||||
+
|
||||
bool link_dhcp_pd_is_enabled(Link *link) {
|
||||
assert(link);
|
||||
|
||||
diff --git a/src/network/networkd-dhcp-server.c b/src/network/networkd-dhcp-server.c
|
||||
index 607fe0053c..9ce4005874 100644
|
||||
--- a/src/network/networkd-dhcp-server.c
|
||||
+++ b/src/network/networkd-dhcp-server.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <netinet/in.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if.h>
|
||||
|
||||
#include "sd-dhcp-server.h"
|
||||
diff --git a/src/network/networkd-dhcp4.c b/src/network/networkd-dhcp4.c
|
||||
index efbae6d868..1ea2151d50 100644
|
||||
--- a/src/network/networkd-dhcp4.c
|
||||
+++ b/src/network/networkd-dhcp4.c
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <netinet/in.h>
|
||||
#include <netinet/ip.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "alloc-util.h"
|
||||
#include "dhcp-client-internal.h"
|
||||
diff --git a/src/network/networkd-ipv6ll.c b/src/network/networkd-ipv6ll.c
|
||||
index 32229a3fc7..662a345d6e 100644
|
||||
--- a/src/network/networkd-ipv6ll.c
|
||||
+++ b/src/network/networkd-ipv6ll.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "in-addr-util.h"
|
||||
#include "networkd-address.h"
|
||||
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c
|
||||
index ee5f0f2c0a..ea5269a2de 100644
|
||||
--- a/src/network/networkd-link.c
|
||||
+++ b/src/network/networkd-link.c
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <net/if.h>
|
||||
#include <netinet/in.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <sys/socket.h>
|
||||
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
|
||||
index ab9eeb13a5..dd96fe7483 100644
|
||||
--- a/src/network/networkd-ndisc.c
|
||||
+++ b/src/network/networkd-ndisc.c
|
||||
@@ -6,7 +6,7 @@
|
||||
#include <arpa/inet.h>
|
||||
#include <netinet/icmp6.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "sd-ndisc.h"
|
||||
|
||||
diff --git a/src/network/networkd-route.c b/src/network/networkd-route.c
|
||||
index 7218d799fc..30d5574eae 100644
|
||||
--- a/src/network/networkd-route.c
|
||||
+++ b/src/network/networkd-route.c
|
||||
@@ -1,9 +1,5 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
-#include <linux/icmpv6.h>
|
||||
-#include <linux/ipv6_route.h>
|
||||
-#include <linux/nexthop.h>
|
||||
-
|
||||
#include "alloc-util.h"
|
||||
#include "event-util.h"
|
||||
#include "netlink-util.h"
|
||||
@@ -21,6 +17,10 @@
|
||||
#include "vrf.h"
|
||||
#include "wireguard.h"
|
||||
|
||||
+#include <linux/icmpv6.h>
|
||||
+#include <linux/ipv6_route.h>
|
||||
+#include <linux/nexthop.h>
|
||||
+
|
||||
int route_new(Route **ret) {
|
||||
_cleanup_(route_freep) Route *route = NULL;
|
||||
|
||||
diff --git a/src/network/networkd-setlink.c b/src/network/networkd-setlink.c
|
||||
index 2298f9ea3a..7d5f87de53 100644
|
||||
--- a/src/network/networkd-setlink.c
|
||||
+++ b/src/network/networkd-setlink.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/if_bridge.h>
|
||||
|
||||
#include "missing_network.h"
|
||||
diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c
|
||||
index 2b226b2e2a..f12a474e2f 100644
|
||||
--- a/src/network/networkd-sysctl.c
|
||||
+++ b/src/network/networkd-sysctl.c
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
#include <netinet/in.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "missing_network.h"
|
||||
#include "networkd-link.h"
|
||||
diff --git a/src/shared/linux/ethtool.h b/src/shared/linux/ethtool.h
|
||||
index 3d1da515c0..3fca9a4faf 100644
|
||||
--- a/src/shared/linux/ethtool.h
|
||||
+++ b/src/shared/linux/ethtool.h
|
||||
@@ -16,7 +16,8 @@
|
||||
|
||||
#include <linux/const.h>
|
||||
#include <linux/types.h>
|
||||
-#include <linux/if_ether.h>
|
||||
+#include <netinet/if_ether.h>
|
||||
+//#include <linux/if_ether.h>
|
||||
|
||||
#include <limits.h> /* for INT_MAX */
|
||||
|
||||
diff --git a/src/shared/netif-util.c b/src/shared/netif-util.c
|
||||
index f56c5646c1..5af28ff119 100644
|
||||
--- a/src/shared/netif-util.c
|
||||
+++ b/src/shared/netif-util.c
|
||||
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: LGPL-2.1-or-later */
|
||||
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
|
||||
#include "arphrd-util.h"
|
||||
#include "device-util.h"
|
||||
diff --git a/src/udev/udev-builtin-net_id.c b/src/udev/udev-builtin-net_id.c
|
||||
index f528a46b8e..830318cda5 100644
|
||||
--- a/src/udev/udev-builtin-net_id.c
|
||||
+++ b/src/udev/udev-builtin-net_id.c
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <stdarg.h>
|
||||
#include <unistd.h>
|
||||
#include <linux/if.h>
|
||||
-#include <linux/if_arp.h>
|
||||
+//#include <linux/if_arp.h>
|
||||
#include <linux/netdevice.h>
|
||||
#include <linux/pci_regs.h>
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From be02bd0876a061728661535a709d313e39fe1ac3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 8 Nov 2022 13:31:34 -0800
|
||||
Subject: [PATCH 18/22] test-bus-error: strerror() is assumed to be GNU
|
||||
specific version mark it so
|
||||
|
||||
Upstream-Status: Inappropriate [Upstream systemd only supports glibc]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/libsystemd/sd-bus/test-bus-error.c | 2 ++
|
||||
src/test/test-errno-util.c | 3 ++-
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libsystemd/sd-bus/test-bus-error.c b/src/libsystemd/sd-bus/test-bus-error.c
|
||||
index a55f3f9856..4123bf3da0 100644
|
||||
--- a/src/libsystemd/sd-bus/test-bus-error.c
|
||||
+++ b/src/libsystemd/sd-bus/test-bus-error.c
|
||||
@@ -99,7 +99,9 @@ TEST(error) {
|
||||
assert_se(!sd_bus_error_is_set(&error));
|
||||
assert_se(sd_bus_error_set_errno(&error, EBUSY) == -EBUSY);
|
||||
assert_se(streq(error.name, "System.Error.EBUSY"));
|
||||
+#ifdef __GLIBC__
|
||||
assert_se(streq(error.message, STRERROR(EBUSY)));
|
||||
+#endif
|
||||
assert_se(sd_bus_error_has_name(&error, "System.Error.EBUSY"));
|
||||
assert_se(sd_bus_error_get_errno(&error) == EBUSY);
|
||||
assert_se(sd_bus_error_is_set(&error));
|
||||
diff --git a/src/test/test-errno-util.c b/src/test/test-errno-util.c
|
||||
index 376d532281..967cfd4d67 100644
|
||||
--- a/src/test/test-errno-util.c
|
||||
+++ b/src/test/test-errno-util.c
|
||||
@@ -4,7 +4,7 @@
|
||||
#include "stdio-util.h"
|
||||
#include "string-util.h"
|
||||
#include "tests.h"
|
||||
-
|
||||
+#ifdef __GLIBC__
|
||||
TEST(strerror_not_threadsafe) {
|
||||
/* Just check that strerror really is not thread-safe. */
|
||||
log_info("strerror(%d) → %s", 200, strerror(200));
|
||||
@@ -46,6 +46,7 @@ TEST(STRERROR_OR_ELSE) {
|
||||
log_info("STRERROR_OR_ELSE(EPERM, \"EOF\") → %s", STRERROR_OR_EOF(EPERM));
|
||||
log_info("STRERROR_OR_ELSE(-EPERM, \"EOF\") → %s", STRERROR_OR_EOF(-EPERM));
|
||||
}
|
||||
+#endif /* __GLIBC__ */
|
||||
|
||||
TEST(PROTECT_ERRNO) {
|
||||
errno = 12;
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From 46d80840bfe37e67d4f18c37a77751ea1fe63a07 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 23 Jan 2023 23:39:46 -0800
|
||||
Subject: [PATCH 19/22] errno-util: Make STRERROR portable for musl
|
||||
|
||||
Sadly, systemd has decided to use yet another GNU extention in a macro
|
||||
lets make this such that we can use XSI compliant strerror_r() for
|
||||
non-glibc hosts
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/basic/errno-util.h | 12 ++++++++++--
|
||||
1 file changed, 10 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
|
||||
index 27804e6382..274c1c6ef1 100644
|
||||
--- a/src/basic/errno-util.h
|
||||
+++ b/src/basic/errno-util.h
|
||||
@@ -15,8 +15,16 @@
|
||||
* https://stackoverflow.com/questions/34880638/compound-literal-lifetime-and-if-blocks
|
||||
*
|
||||
* Note that we use the GNU variant of strerror_r() here. */
|
||||
-#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
|
||||
-
|
||||
+static inline const char * STRERROR(int errnum);
|
||||
+
|
||||
+static inline const char * STRERROR(int errnum) {
|
||||
+#ifdef __GLIBC__
|
||||
+ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);
|
||||
+#else
|
||||
+ static __thread char buf[ERRNO_BUF_LEN];
|
||||
+ return strerror_r(abs(errnum), buf, ERRNO_BUF_LEN) ? "unknown error" : buf;
|
||||
+#endif
|
||||
+}
|
||||
/* A helper to print an error message or message for functions that return 0 on EOF.
|
||||
* Note that we can't use ({ … }) to define a temporary variable, so errnum is
|
||||
* evaluated twice. */
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
From 9eb4867b4e2dbdb2484ae854022aff97e2f0feb3 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 2 Aug 2023 12:06:27 -0700
|
||||
Subject: [PATCH 20/22] sd-event: Make malloc_trim() conditional on glibc
|
||||
|
||||
musl does not have this API
|
||||
|
||||
Upstream-Status: Inappropriate [musl-specific]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/libsystemd/sd-event/sd-event.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c
|
||||
index 288798a0dc..6419a7f216 100644
|
||||
--- a/src/libsystemd/sd-event/sd-event.c
|
||||
+++ b/src/libsystemd/sd-event/sd-event.c
|
||||
@@ -1874,7 +1874,7 @@ _public_ int sd_event_add_exit(
|
||||
}
|
||||
|
||||
_public_ int sd_event_trim_memory(void) {
|
||||
- int r;
|
||||
+ int r = 0;
|
||||
|
||||
/* A default implementation of a memory pressure callback. Simply releases our own allocation caches
|
||||
* and glibc's. This is automatically used when people call sd_event_add_memory_pressure() with a
|
||||
@@ -1888,7 +1888,9 @@ _public_ int sd_event_trim_memory(void) {
|
||||
|
||||
usec_t before_timestamp = now(CLOCK_MONOTONIC);
|
||||
hashmap_trim_pools();
|
||||
+#ifdef __GLIBC__
|
||||
r = malloc_trim(0);
|
||||
+#endif
|
||||
usec_t after_timestamp = now(CLOCK_MONOTONIC);
|
||||
|
||||
if (r > 0)
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 502597b9ddd6b145541b23fadca0b1d3ca9f6367 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 2 Aug 2023 12:20:40 -0700
|
||||
Subject: [PATCH 21/22] shared: Do not use malloc_info on musl
|
||||
|
||||
Upstream-Status: Inappropriate [musl-specific]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/shared/bus-util.c | 5 +++--
|
||||
src/shared/common-signal.c | 4 ++--
|
||||
2 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c
|
||||
index 74f148c8b4..2d862a123d 100644
|
||||
--- a/src/shared/bus-util.c
|
||||
+++ b/src/shared/bus-util.c
|
||||
@@ -611,15 +611,16 @@ static int method_dump_memory_state_by_fd(sd_bus_message *message, void *userdat
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
size_t dump_size;
|
||||
FILE *f;
|
||||
- int r;
|
||||
+ int r = 0;
|
||||
|
||||
assert(message);
|
||||
|
||||
f = memstream_init(&m);
|
||||
if (!f)
|
||||
return -ENOMEM;
|
||||
-
|
||||
+#ifdef __GLIBC__
|
||||
r = RET_NERRNO(malloc_info(/* options= */ 0, f));
|
||||
+#endif
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
diff --git a/src/shared/common-signal.c b/src/shared/common-signal.c
|
||||
index 8e70e365dd..9e782caec9 100644
|
||||
--- a/src/shared/common-signal.c
|
||||
+++ b/src/shared/common-signal.c
|
||||
@@ -65,12 +65,12 @@ int sigrtmin18_handler(sd_event_source *s, const struct signalfd_siginfo *si, vo
|
||||
log_oom();
|
||||
break;
|
||||
}
|
||||
-
|
||||
+#ifdef __GLIBC__
|
||||
if (malloc_info(0, f) < 0) {
|
||||
log_error_errno(errno, "Failed to invoke malloc_info(): %m");
|
||||
break;
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
(void) memstream_dump(LOG_INFO, &m);
|
||||
break;
|
||||
}
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From fd52f1764647e03a35e8f0ed0ef952049073ccbd Mon Sep 17 00:00:00 2001
|
||||
From: Chen Qi <Qi.Chen@windriver.com>
|
||||
Date: Tue, 2 Jan 2024 11:03:27 +0800
|
||||
Subject: [PATCH 22/22] avoid missing LOCK_EX declaration
|
||||
|
||||
This only happens on MUSL. Include sys/file.h to avoid compilation
|
||||
error about missing LOCK_EX declaration.
|
||||
|
||||
Upstream-Status: Inappropriate [musl specific]
|
||||
|
||||
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
|
||||
---
|
||||
src/core/exec-invoke.c | 1 +
|
||||
src/shared/dev-setup.h | 1 +
|
||||
2 files changed, 2 insertions(+)
|
||||
|
||||
diff --git a/src/core/exec-invoke.c b/src/core/exec-invoke.c
|
||||
index 70d963e269..7084811439 100644
|
||||
--- a/src/core/exec-invoke.c
|
||||
+++ b/src/core/exec-invoke.c
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mount.h>
|
||||
#include <sys/prctl.h>
|
||||
+#include <sys/file.h>
|
||||
|
||||
#if HAVE_PAM
|
||||
#include <security/pam_appl.h>
|
||||
diff --git a/src/shared/dev-setup.h b/src/shared/dev-setup.h
|
||||
index 5339bc4e5e..0697495f23 100644
|
||||
--- a/src/shared/dev-setup.h
|
||||
+++ b/src/shared/dev-setup.h
|
||||
@@ -2,6 +2,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <sys/types.h>
|
||||
+#include <sys/file.h>
|
||||
|
||||
int lock_dev_console(void);
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
--- a/src/libsystemd/libsystemd.pc.in
|
||||
+++ b/src/libsystemd/libsystemd.pc.in
|
||||
@@ -16,5 +16,5 @@ Name: systemd
|
||||
Description: systemd Library
|
||||
URL: {{PROJECT_URL}}
|
||||
Version: {{PROJECT_VERSION}}
|
||||
-Libs: -L${libdir} -lsystemd
|
||||
+Libs: -L${libdir} -lsystemd -lrt -lmount -lcap
|
||||
Cflags: -I${includedir}
|
||||
@@ -0,0 +1,77 @@
|
||||
SUMMARY = "libsystemd static library"
|
||||
DESCRIPTION = "libsystemd static library built specifically as an integral component of sdbus-c++"
|
||||
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "LGPL-2.1-or-later"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
|
||||
|
||||
inherit meson pkgconfig
|
||||
|
||||
DEPENDS += "gperf-native gettext-native util-linux libcap util-linux python3-jinja2-native"
|
||||
|
||||
SRCREV = "387a14a7b67b8b76adaed4175e14bb7e39b2f738"
|
||||
SRCBRANCH = "v255-stable"
|
||||
SRC_URI = "git://github.com/systemd/systemd-stable.git;protocol=https;branch=${SRCBRANCH} \
|
||||
file://static-libsystemd-pkgconfig.patch \
|
||||
"
|
||||
|
||||
# patches needed by musl
|
||||
SRC_URI:append:libc-musl = " ${SRC_URI_MUSL}"
|
||||
|
||||
SRC_URI_MUSL = "\
|
||||
file://0001-missing_type.h-add-comparison_fn_t.patch \
|
||||
file://0002-add-fallback-parse_printf_format-implementation.patch \
|
||||
file://0002-binfmt-Don-t-install-dependency-links-at-install-tim.patch \
|
||||
file://0003-src-basic-missing.h-check-for-missing-strndupa.patch \
|
||||
file://0004-don-t-fail-if-GLOB_BRACE-and-GLOB_ALTDIRFUNC-is-not-.patch \
|
||||
file://0005-add-missing-FTW_-macros-for-musl.patch \
|
||||
file://0006-Use-uintmax_t-for-handling-rlim_t.patch \
|
||||
file://0007-don-t-pass-AT_SYMLINK_NOFOLLOW-flag-to-faccessat.patch \
|
||||
file://0008-Define-glibc-compatible-basename-for-non-glibc-syste.patch \
|
||||
file://0008-implment-systemd-sysv-install-for-OE.patch \
|
||||
file://0009-Do-not-disable-buffering-when-writing-to-oom_score_a.patch \
|
||||
file://0010-distinguish-XSI-compliant-strerror_r-from-GNU-specif.patch \
|
||||
file://0011-avoid-redefinition-of-prctl_mm_map-structure.patch \
|
||||
file://0012-do-not-disable-buffer-in-writing-files.patch \
|
||||
file://0013-Handle-__cpu_mask-usage.patch \
|
||||
file://0014-Handle-missing-gshadow.patch \
|
||||
file://0015-missing_syscall.h-Define-MIPS-ABI-defines-for-musl.patch \
|
||||
file://0016-pass-correct-parameters-to-getdents64.patch \
|
||||
file://0017-Adjust-for-musl-headers.patch \
|
||||
file://0018-test-bus-error-strerror-is-assumed-to-be-GNU-specifi.patch \
|
||||
file://0019-errno-util-Make-STRERROR-portable-for-musl.patch \
|
||||
file://0020-sd-event-Make-malloc_trim-conditional-on-glibc.patch \
|
||||
file://0021-shared-Do-not-use-malloc_info-on-musl.patch \
|
||||
file://0022-avoid-missing-LOCK_EX-declaration.patch \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "gshadow idn"
|
||||
PACKAGECONFIG:remove:libc-musl = " gshadow idn"
|
||||
PACKAGECONFIG[gshadow] = "-Dgshadow=true,-Dgshadow=false"
|
||||
PACKAGECONFIG[idn] = "-Didn=true,-Didn=false"
|
||||
|
||||
CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
|
||||
|
||||
EXTRA_OEMESON += "-Dstatic-libsystemd=pic"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
RDEPENDS:${PN}-dev = ""
|
||||
|
||||
do_compile() {
|
||||
ninja -v ${PARALLEL_MAKE} version.h
|
||||
ninja -v ${PARALLEL_MAKE} libsystemd.a
|
||||
ninja -v ${PARALLEL_MAKE} src/libsystemd/libsystemd.pc
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${libdir}
|
||||
install ${B}/libsystemd.a ${D}${libdir}
|
||||
|
||||
install -d ${D}${includedir}/systemd
|
||||
install ${S}/src/systemd/*.h ${D}${includedir}/systemd
|
||||
|
||||
install -d ${D}${libdir}/pkgconfig
|
||||
install ${B}/src/libsystemd/libsystemd.pc ${D}${libdir}/pkgconfig
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
SUMMARY = "sdbus-c++ native tools"
|
||||
DESCRIPTION = "Native interface code generator for development with sdbus-c++"
|
||||
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
|
||||
|
||||
inherit cmake
|
||||
|
||||
DEPENDS += "expat"
|
||||
|
||||
SRCREV = "e62472b210d9e7f06a5e611c23471d414c99a99c"
|
||||
SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master;subpath=tools"
|
||||
|
||||
S = "${WORKDIR}/tools"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
./sdbus-c++-unit-tests 2>&1 && echo "PASS: sdbus-c++-unit-tests" || echo "FAIL: sdbus-c++-unit-tests"
|
||||
|
||||
./sdbus-c++-integration-tests 2>&1 && echo "PASS: sdbus-c++-integration-tests" || echo "FAIL: sdbus-c++-integration-tests"
|
||||
@@ -0,0 +1,51 @@
|
||||
SUMMARY = "sdbus-c++"
|
||||
DESCRIPTION = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API in modern C++"
|
||||
|
||||
SECTION = "libs"
|
||||
|
||||
LICENSE = "LGPL-2.1-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1803fa9c2c3ce8cb06b4861d75310742"
|
||||
|
||||
inherit cmake pkgconfig systemd ptest
|
||||
|
||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'with-external-libsystemd', 'with-builtin-libsystemd', d)} \
|
||||
${@bb.utils.contains('PTEST_ENABLED', '1', 'with-tests', '', d)}"
|
||||
PACKAGECONFIG[with-builtin-libsystemd] = ",,sdbus-c++-libsystemd,libcap,basu"
|
||||
PACKAGECONFIG[with-external-libsystemd] = ",,systemd,libsystemd"
|
||||
PACKAGECONFIG[with-tests] = "-DSDBUSCPP_BUILD_TESTS=ON -DSDBUSCPP_INSTALL_TESTS=ON -DSDBUSCPP_TESTS_INSTALL_PATH=${PTEST_PATH},-DSDBUSCPP_BUILD_TESTS=OFF,googletest gmock"
|
||||
|
||||
DEPENDS += "expat"
|
||||
|
||||
PV .= "+git"
|
||||
SRCREV = "e62472b210d9e7f06a5e611c23471d414c99a99c"
|
||||
SRC_URI = "git://github.com/Kistler-Group/sdbus-cpp.git;protocol=https;branch=master \
|
||||
file://run-ptest"
|
||||
|
||||
EXTRA_OECMAKE = "-DSDBUSCPP_BUILD_CODEGEN=OFF \
|
||||
-DSDBUSCPP_BUILD_DOCS=ON \
|
||||
-DSDBUSCPP_BUILD_DOXYGEN_DOCS=OFF"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# Link libatomic on architectures without 64bit atomics fixes
|
||||
# libsdbus-c++.so.1.1.0: undefined reference to `__atomic_load_8'
|
||||
LDFLAGS:append:mips = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
|
||||
LDFLAGS:append:powerpc = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
|
||||
LDFLAGS:append:riscv32 = " -Wl,--no-as-needed -latomic -Wl,--as-needed"
|
||||
|
||||
do_install:append() {
|
||||
if ! ${@bb.utils.contains('PTEST_ENABLED', '1', 'true', 'false', d)}; then
|
||||
rm -rf ${D}${sysconfdir}/dbus-1
|
||||
fi
|
||||
}
|
||||
|
||||
do_install_ptest() {
|
||||
DESTDIR='${D}' cmake_runcmake_build --target tests/install
|
||||
}
|
||||
|
||||
FILES:${PN}-ptest =+ "${sysconfdir}/dbus-1/system.d/"
|
||||
FILES:${PN}-dev += "${bindir}/sdbus-c++-xml2cpp"
|
||||
|
||||
RDEPENDS:${PN}-ptest += "dbus"
|
||||
# It adds -isystem which is spurious, no idea where it gets it from
|
||||
CCACHE_DISABLE = "1"
|
||||
@@ -0,0 +1,26 @@
|
||||
# STARTUP
|
||||
::sysinit:/bin/mount -t proc proc /proc
|
||||
::sysinit:/bin/mount -t sysfs sysfs /sys
|
||||
::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
|
||||
::sysinit:/bin/mount -o remount,rw /
|
||||
::sysinit:/bin/mkdir -p /dev/pts
|
||||
::sysinit:/bin/mount -t devpts devpts /dev/pts
|
||||
::sysinit:/bin/mount -a
|
||||
|
||||
::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
|
||||
::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
||||
::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
||||
::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
||||
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# REBOOT
|
||||
::ctrlaltdel:/sbin/reboot
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/bin/umount -a -r
|
||||
|
||||
# RESTART INIT
|
||||
::restart:/sbin/init
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Stop all init scripts in /etc/rc6.d
|
||||
# executing them in numerical order.
|
||||
#
|
||||
for i in /etc/rc6.d/K??*; do
|
||||
|
||||
# Ignore dangling symlinks (if any).
|
||||
[ ! -f "$i" ] && continue
|
||||
|
||||
case "$i" in
|
||||
*.sh)
|
||||
# Source shell script for speed.
|
||||
(
|
||||
trap - INT QUIT TSTP
|
||||
set stop
|
||||
. $i
|
||||
)
|
||||
;;
|
||||
*)
|
||||
# No sh extension, so fork subprocess.
|
||||
$i stop
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Start all init scripts in /etc/rcS.d and /etc/rc5.d
|
||||
# executing them in numerical order.
|
||||
#
|
||||
|
||||
for i in /etc/rcS.d/S??* /etc/rc5.d/S??* ;do
|
||||
|
||||
# Ignore dangling symlinks (if any).
|
||||
[ ! -f "$i" ] && continue
|
||||
|
||||
case "$i" in
|
||||
*.sh)
|
||||
# Source shell script for speed.
|
||||
(
|
||||
trap - INT QUIT TSTP
|
||||
set start
|
||||
. $i
|
||||
)
|
||||
;;
|
||||
*)
|
||||
# No sh extension, so fork subprocess.
|
||||
$i start
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
SUMMARY = "Toybox Inittab Configuration"
|
||||
LICENSE = "0BSD"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/0BSD;md5=f667a3c3830a55a17ec3067709f4526c"
|
||||
|
||||
# Unpack to ${S}/orig
|
||||
#
|
||||
SRC_URI = "\
|
||||
file://inittab;subdir=${BP}/orig \
|
||||
file://rcK;subdir=${BP}/orig \
|
||||
file://rcS;subdir=${BP}/orig \
|
||||
"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
RCONFLICTS:${PN} = "\
|
||||
busybox-inittab \
|
||||
sysvinit-inittab \
|
||||
"
|
||||
|
||||
# Just being sure.
|
||||
B = "${S}"
|
||||
|
||||
# most users may want to have getty enabled by default
|
||||
PACKAGECONFIG ??= "getty"
|
||||
|
||||
PACKAGECONFIG[getty] = "\
|
||||
enable_getty \
|
||||
"
|
||||
|
||||
do_patch[noexec] = "1"
|
||||
|
||||
do_configure() {
|
||||
# copy over files now to have a fresh start on each config
|
||||
cp orig/* .
|
||||
|
||||
for config in ${PACKAGECONFIG_CONFARGS}; do
|
||||
if [ "${config}" = "enable_getty" ]; then
|
||||
echo "# generated by bitbake recipe ${PN}" >> ${S}/inittab
|
||||
for console in "${SERIAL_CONSOLES}"; do
|
||||
param=$(echo ${console} | sed s/\;/\ /g)
|
||||
name=$(echo ${param} | cut -d' ' -f2)
|
||||
echo "$name::respawn:${base_sbindir}/getty ${param}" >> ${S}/inittab
|
||||
done
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
do_compile[noexec] = "1"
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${sysconfdir}
|
||||
install -D -m 0644 ${S}/inittab ${D}${sysconfdir}/inittab
|
||||
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -D -m 0744 ${S}/rcK ${D}${sysconfdir}/init.d/rcK
|
||||
install -D -m 0744 ${S}/rcS ${D}${sysconfdir}/init.d/rcS
|
||||
}
|
||||
|
||||
FILES:${PN} = "\
|
||||
${sysconfdir}/inittab \
|
||||
${sysconfdir}/init.d/rcK \
|
||||
${sysconfdir}/init.d/rcS \
|
||||
"
|
||||
|
||||
@@ -0,0 +1,113 @@
|
||||
SUMMARY = "Toybox combines common utilities together into a single executable."
|
||||
HOMEPAGE = "http://www.landley.net/toybox/"
|
||||
DEPENDS = "attr virtual/crypt"
|
||||
|
||||
LICENSE = "0BSD"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7"
|
||||
|
||||
inherit cml1 update-alternatives
|
||||
|
||||
SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz"
|
||||
SRC_URI[sha256sum] = "15aa3f832f4ec1874db761b9950617f99e1e38144c22da39a71311093bfe67dc"
|
||||
|
||||
SECTION = "base"
|
||||
|
||||
RDEPENDS:${PN} = "${@["", "toybox-inittab"][(d.getVar('VIRTUAL-RUNTIME_init_manager') == 'toybox')]}"
|
||||
|
||||
TOYBOX_BIN = "generated/unstripped/toybox"
|
||||
|
||||
# Toybox is strict on what CC, CFLAGS and CROSS_COMPILE variables should contain.
|
||||
# Fix CC, CFLAGS, CROSS_COMPILE to match expectations.
|
||||
# CC = compiler name
|
||||
# CFLAGS = only compiler flags
|
||||
# CROSS_COMPILE = compiler prefix
|
||||
CFLAGS += "${TOOLCHAIN_OPTIONS} ${TUNE_CCARGS}"
|
||||
|
||||
COMPILER:toolchain-clang = "clang"
|
||||
COMPILER ?= "gcc"
|
||||
|
||||
PACKAGECONFIG ??= "no-iconv no-getconf"
|
||||
|
||||
PACKAGECONFIG[no-iconv] = ",,"
|
||||
PACKAGECONFIG[no-getconf] = ",,"
|
||||
|
||||
EXTRA_OEMAKE = 'CROSS_COMPILE="${HOST_PREFIX}" \
|
||||
CC="${COMPILER}" \
|
||||
STRIP="strip" \
|
||||
CFLAGS="${CFLAGS}" \
|
||||
HOSTCC="${BUILD_CC}" CPUS=${@oe.utils.cpu_count()} V=1'
|
||||
|
||||
do_configure() {
|
||||
# allow user to define their own defconfig in bbappend, taken from kernel.bbclass
|
||||
if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
|
||||
mv "${S}/.config" "${B}/.config"
|
||||
fi
|
||||
|
||||
# Copy defconfig to .config if .config does not exist. This allows
|
||||
# recipes to manage the .config themselves in do_configure:prepend().
|
||||
if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
|
||||
cp "${WORKDIR}/defconfig" "${B}/.config"
|
||||
fi
|
||||
|
||||
oe_runmake oldconfig || oe_runmake defconfig
|
||||
|
||||
# Disable killall5 as it isn't managed by update-alternatives
|
||||
sed -e 's/CONFIG_KILLALL5=y/# CONFIG_KILLALL5 is not set/' -i .config
|
||||
|
||||
# Disable swapon as it doesn't handle the '-a' argument used during boot
|
||||
sed -e 's/CONFIG_SWAPON=y/# CONFIG_SWAPON is not set/' -i .config
|
||||
|
||||
# Enable init if toybox was set as init manager
|
||||
if ${@bb.utils.contains('VIRTUAL-RUNTIME_init_manager','toybox','true','false',d)}; then
|
||||
sed -e 's/# CONFIG_INIT is not set/CONFIG_INIT=y/' -i .config
|
||||
fi
|
||||
}
|
||||
|
||||
do_compile() {
|
||||
oe_runmake ${TOYBOX_BIN}
|
||||
|
||||
# Create a list of links needed
|
||||
${BUILD_CC} -I . scripts/install.c -o generated/instlist
|
||||
./generated/instlist long | sed -e 's#^#/#' > toybox.links
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','no-iconv','true','false',d)}; then
|
||||
sed -i -e '/iconv$/d' toybox.links
|
||||
fi
|
||||
if ${@bb.utils.contains('PACKAGECONFIG','no-getconf','true','false',d)}; then
|
||||
sed -i -e '/getconf$/d' toybox.links
|
||||
fi
|
||||
}
|
||||
|
||||
do_install() {
|
||||
# Install manually instead of using 'make install'
|
||||
install -d ${D}${base_bindir}
|
||||
if grep -q "CONFIG_TOYBOX_SUID=y" ${B}/.config; then
|
||||
install -m 4755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
|
||||
else
|
||||
install -m 0755 ${B}/${TOYBOX_BIN} ${D}${base_bindir}/toybox
|
||||
fi
|
||||
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 0644 ${B}/toybox.links ${D}${sysconfdir}
|
||||
}
|
||||
|
||||
# If you've chosen to install toybox you probably want it to take precedence
|
||||
# over busybox where possible but not over other packages
|
||||
ALTERNATIVE_PRIORITY = "60"
|
||||
|
||||
python do_package:prepend () {
|
||||
# Read links from /etc/toybox.links and create appropriate
|
||||
# update-alternatives variables
|
||||
|
||||
dvar = d.getVar('D')
|
||||
pn = d.getVar('PN')
|
||||
target = d.expand("${base_bindir}/toybox")
|
||||
|
||||
f = open('%s/etc/toybox.links' % (dvar), 'r')
|
||||
for alt_link_name in f:
|
||||
alt_link_name = alt_link_name.strip()
|
||||
alt_name = os.path.basename(alt_link_name)
|
||||
d.appendVar('ALTERNATIVE:%s' % (pn), ' ' + alt_name)
|
||||
d.setVarFlag('ALTERNATIVE_LINK_NAME', alt_name, alt_link_name)
|
||||
d.setVarFlag('ALTERNATIVE_TARGET', alt_name, target)
|
||||
f.close()
|
||||
}
|
||||
@@ -0,0 +1,347 @@
|
||||
Upstream-Status: Inappropriate [licensing]
|
||||
|
||||
diff --git a/COPYING b/COPYING
|
||||
new file mode 100644
|
||||
index 0000000..d511905
|
||||
--- /dev/null
|
||||
+++ b/COPYING
|
||||
@@ -0,0 +1,339 @@
|
||||
+ GNU GENERAL PUBLIC LICENSE
|
||||
+ Version 2, June 1991
|
||||
+
|
||||
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
+ Everyone is permitted to copy and distribute verbatim copies
|
||||
+ of this license document, but changing it is not allowed.
|
||||
+
|
||||
+ Preamble
|
||||
+
|
||||
+ The licenses for most software are designed to take away your
|
||||
+freedom to share and change it. By contrast, the GNU General Public
|
||||
+License is intended to guarantee your freedom to share and change free
|
||||
+software--to make sure the software is free for all its users. This
|
||||
+General Public License applies to most of the Free Software
|
||||
+Foundation's software and to any other program whose authors commit to
|
||||
+using it. (Some other Free Software Foundation software is covered by
|
||||
+the GNU Lesser General Public License instead.) You can apply it to
|
||||
+your programs, too.
|
||||
+
|
||||
+ When we speak of free software, we are referring to freedom, not
|
||||
+price. Our General Public Licenses are designed to make sure that you
|
||||
+have the freedom to distribute copies of free software (and charge for
|
||||
+this service if you wish), that you receive source code or can get it
|
||||
+if you want it, that you can change the software or use pieces of it
|
||||
+in new free programs; and that you know you can do these things.
|
||||
+
|
||||
+ To protect your rights, we need to make restrictions that forbid
|
||||
+anyone to deny you these rights or to ask you to surrender the rights.
|
||||
+These restrictions translate to certain responsibilities for you if you
|
||||
+distribute copies of the software, or if you modify it.
|
||||
+
|
||||
+ For example, if you distribute copies of such a program, whether
|
||||
+gratis or for a fee, you must give the recipients all the rights that
|
||||
+you have. You must make sure that they, too, receive or can get the
|
||||
+source code. And you must show them these terms so they know their
|
||||
+rights.
|
||||
+
|
||||
+ We protect your rights with two steps: (1) copyright the software, and
|
||||
+(2) offer you this license which gives you legal permission to copy,
|
||||
+distribute and/or modify the software.
|
||||
+
|
||||
+ Also, for each author's protection and ours, we want to make certain
|
||||
+that everyone understands that there is no warranty for this free
|
||||
+software. If the software is modified by someone else and passed on, we
|
||||
+want its recipients to know that what they have is not the original, so
|
||||
+that any problems introduced by others will not reflect on the original
|
||||
+authors' reputations.
|
||||
+
|
||||
+ Finally, any free program is threatened constantly by software
|
||||
+patents. We wish to avoid the danger that redistributors of a free
|
||||
+program will individually obtain patent licenses, in effect making the
|
||||
+program proprietary. To prevent this, we have made it clear that any
|
||||
+patent must be licensed for everyone's free use or not licensed at all.
|
||||
+
|
||||
+ The precise terms and conditions for copying, distribution and
|
||||
+modification follow.
|
||||
+
|
||||
+ GNU GENERAL PUBLIC LICENSE
|
||||
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
+
|
||||
+ 0. This License applies to any program or other work which contains
|
||||
+a notice placed by the copyright holder saying it may be distributed
|
||||
+under the terms of this General Public License. The "Program", below,
|
||||
+refers to any such program or work, and a "work based on the Program"
|
||||
+means either the Program or any derivative work under copyright law:
|
||||
+that is to say, a work containing the Program or a portion of it,
|
||||
+either verbatim or with modifications and/or translated into another
|
||||
+language. (Hereinafter, translation is included without limitation in
|
||||
+the term "modification".) Each licensee is addressed as "you".
|
||||
+
|
||||
+Activities other than copying, distribution and modification are not
|
||||
+covered by this License; they are outside its scope. The act of
|
||||
+running the Program is not restricted, and the output from the Program
|
||||
+is covered only if its contents constitute a work based on the
|
||||
+Program (independent of having been made by running the Program).
|
||||
+Whether that is true depends on what the Program does.
|
||||
+
|
||||
+ 1. You may copy and distribute verbatim copies of the Program's
|
||||
+source code as you receive it, in any medium, provided that you
|
||||
+conspicuously and appropriately publish on each copy an appropriate
|
||||
+copyright notice and disclaimer of warranty; keep intact all the
|
||||
+notices that refer to this License and to the absence of any warranty;
|
||||
+and give any other recipients of the Program a copy of this License
|
||||
+along with the Program.
|
||||
+
|
||||
+You may charge a fee for the physical act of transferring a copy, and
|
||||
+you may at your option offer warranty protection in exchange for a fee.
|
||||
+
|
||||
+ 2. You may modify your copy or copies of the Program or any portion
|
||||
+of it, thus forming a work based on the Program, and copy and
|
||||
+distribute such modifications or work under the terms of Section 1
|
||||
+above, provided that you also meet all of these conditions:
|
||||
+
|
||||
+ a) You must cause the modified files to carry prominent notices
|
||||
+ stating that you changed the files and the date of any change.
|
||||
+
|
||||
+ b) You must cause any work that you distribute or publish, that in
|
||||
+ whole or in part contains or is derived from the Program or any
|
||||
+ part thereof, to be licensed as a whole at no charge to all third
|
||||
+ parties under the terms of this License.
|
||||
+
|
||||
+ c) If the modified program normally reads commands interactively
|
||||
+ when run, you must cause it, when started running for such
|
||||
+ interactive use in the most ordinary way, to print or display an
|
||||
+ announcement including an appropriate copyright notice and a
|
||||
+ notice that there is no warranty (or else, saying that you provide
|
||||
+ a warranty) and that users may redistribute the program under
|
||||
+ these conditions, and telling the user how to view a copy of this
|
||||
+ License. (Exception: if the Program itself is interactive but
|
||||
+ does not normally print such an announcement, your work based on
|
||||
+ the Program is not required to print an announcement.)
|
||||
+
|
||||
+These requirements apply to the modified work as a whole. If
|
||||
+identifiable sections of that work are not derived from the Program,
|
||||
+and can be reasonably considered independent and separate works in
|
||||
+themselves, then this License, and its terms, do not apply to those
|
||||
+sections when you distribute them as separate works. But when you
|
||||
+distribute the same sections as part of a whole which is a work based
|
||||
+on the Program, the distribution of the whole must be on the terms of
|
||||
+this License, whose permissions for other licensees extend to the
|
||||
+entire whole, and thus to each and every part regardless of who wrote it.
|
||||
+
|
||||
+Thus, it is not the intent of this section to claim rights or contest
|
||||
+your rights to work written entirely by you; rather, the intent is to
|
||||
+exercise the right to control the distribution of derivative or
|
||||
+collective works based on the Program.
|
||||
+
|
||||
+In addition, mere aggregation of another work not based on the Program
|
||||
+with the Program (or with a work based on the Program) on a volume of
|
||||
+a storage or distribution medium does not bring the other work under
|
||||
+the scope of this License.
|
||||
+
|
||||
+ 3. You may copy and distribute the Program (or a work based on it,
|
||||
+under Section 2) in object code or executable form under the terms of
|
||||
+Sections 1 and 2 above provided that you also do one of the following:
|
||||
+
|
||||
+ a) Accompany it with the complete corresponding machine-readable
|
||||
+ source code, which must be distributed under the terms of Sections
|
||||
+ 1 and 2 above on a medium customarily used for software interchange; or,
|
||||
+
|
||||
+ b) Accompany it with a written offer, valid for at least three
|
||||
+ years, to give any third party, for a charge no more than your
|
||||
+ cost of physically performing source distribution, a complete
|
||||
+ machine-readable copy of the corresponding source code, to be
|
||||
+ distributed under the terms of Sections 1 and 2 above on a medium
|
||||
+ customarily used for software interchange; or,
|
||||
+
|
||||
+ c) Accompany it with the information you received as to the offer
|
||||
+ to distribute corresponding source code. (This alternative is
|
||||
+ allowed only for noncommercial distribution and only if you
|
||||
+ received the program in object code or executable form with such
|
||||
+ an offer, in accord with Subsection b above.)
|
||||
+
|
||||
+The source code for a work means the preferred form of the work for
|
||||
+making modifications to it. For an executable work, complete source
|
||||
+code means all the source code for all modules it contains, plus any
|
||||
+associated interface definition files, plus the scripts used to
|
||||
+control compilation and installation of the executable. However, as a
|
||||
+special exception, the source code distributed need not include
|
||||
+anything that is normally distributed (in either source or binary
|
||||
+form) with the major components (compiler, kernel, and so on) of the
|
||||
+operating system on which the executable runs, unless that component
|
||||
+itself accompanies the executable.
|
||||
+
|
||||
+If distribution of executable or object code is made by offering
|
||||
+access to copy from a designated place, then offering equivalent
|
||||
+access to copy the source code from the same place counts as
|
||||
+distribution of the source code, even though third parties are not
|
||||
+compelled to copy the source along with the object code.
|
||||
+
|
||||
+ 4. You may not copy, modify, sublicense, or distribute the Program
|
||||
+except as expressly provided under this License. Any attempt
|
||||
+otherwise to copy, modify, sublicense or distribute the Program is
|
||||
+void, and will automatically terminate your rights under this License.
|
||||
+However, parties who have received copies, or rights, from you under
|
||||
+this License will not have their licenses terminated so long as such
|
||||
+parties remain in full compliance.
|
||||
+
|
||||
+ 5. You are not required to accept this License, since you have not
|
||||
+signed it. However, nothing else grants you permission to modify or
|
||||
+distribute the Program or its derivative works. These actions are
|
||||
+prohibited by law if you do not accept this License. Therefore, by
|
||||
+modifying or distributing the Program (or any work based on the
|
||||
+Program), you indicate your acceptance of this License to do so, and
|
||||
+all its terms and conditions for copying, distributing or modifying
|
||||
+the Program or works based on it.
|
||||
+
|
||||
+ 6. Each time you redistribute the Program (or any work based on the
|
||||
+Program), the recipient automatically receives a license from the
|
||||
+original licensor to copy, distribute or modify the Program subject to
|
||||
+these terms and conditions. You may not impose any further
|
||||
+restrictions on the recipients' exercise of the rights granted herein.
|
||||
+You are not responsible for enforcing compliance by third parties to
|
||||
+this License.
|
||||
+
|
||||
+ 7. If, as a consequence of a court judgment or allegation of patent
|
||||
+infringement or for any other reason (not limited to patent issues),
|
||||
+conditions are imposed on you (whether by court order, agreement or
|
||||
+otherwise) that contradict the conditions of this License, they do not
|
||||
+excuse you from the conditions of this License. If you cannot
|
||||
+distribute so as to satisfy simultaneously your obligations under this
|
||||
+License and any other pertinent obligations, then as a consequence you
|
||||
+may not distribute the Program at all. For example, if a patent
|
||||
+license would not permit royalty-free redistribution of the Program by
|
||||
+all those who receive copies directly or indirectly through you, then
|
||||
+the only way you could satisfy both it and this License would be to
|
||||
+refrain entirely from distribution of the Program.
|
||||
+
|
||||
+If any portion of this section is held invalid or unenforceable under
|
||||
+any particular circumstance, the balance of the section is intended to
|
||||
+apply and the section as a whole is intended to apply in other
|
||||
+circumstances.
|
||||
+
|
||||
+It is not the purpose of this section to induce you to infringe any
|
||||
+patents or other property right claims or to contest validity of any
|
||||
+such claims; this section has the sole purpose of protecting the
|
||||
+integrity of the free software distribution system, which is
|
||||
+implemented by public license practices. Many people have made
|
||||
+generous contributions to the wide range of software distributed
|
||||
+through that system in reliance on consistent application of that
|
||||
+system; it is up to the author/donor to decide if he or she is willing
|
||||
+to distribute software through any other system and a licensee cannot
|
||||
+impose that choice.
|
||||
+
|
||||
+This section is intended to make thoroughly clear what is believed to
|
||||
+be a consequence of the rest of this License.
|
||||
+
|
||||
+ 8. If the distribution and/or use of the Program is restricted in
|
||||
+certain countries either by patents or by copyrighted interfaces, the
|
||||
+original copyright holder who places the Program under this License
|
||||
+may add an explicit geographical distribution limitation excluding
|
||||
+those countries, so that distribution is permitted only in or among
|
||||
+countries not thus excluded. In such case, this License incorporates
|
||||
+the limitation as if written in the body of this License.
|
||||
+
|
||||
+ 9. The Free Software Foundation may publish revised and/or new versions
|
||||
+of the General Public License from time to time. Such new versions will
|
||||
+be similar in spirit to the present version, but may differ in detail to
|
||||
+address new problems or concerns.
|
||||
+
|
||||
+Each version is given a distinguishing version number. If the Program
|
||||
+specifies a version number of this License which applies to it and "any
|
||||
+later version", you have the option of following the terms and conditions
|
||||
+either of that version or of any later version published by the Free
|
||||
+Software Foundation. If the Program does not specify a version number of
|
||||
+this License, you may choose any version ever published by the Free Software
|
||||
+Foundation.
|
||||
+
|
||||
+ 10. If you wish to incorporate parts of the Program into other free
|
||||
+programs whose distribution conditions are different, write to the author
|
||||
+to ask for permission. For software which is copyrighted by the Free
|
||||
+Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
+make exceptions for this. Our decision will be guided by the two goals
|
||||
+of preserving the free status of all derivatives of our free software and
|
||||
+of promoting the sharing and reuse of software generally.
|
||||
+
|
||||
+ NO WARRANTY
|
||||
+
|
||||
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
+REPAIR OR CORRECTION.
|
||||
+
|
||||
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
+POSSIBILITY OF SUCH DAMAGES.
|
||||
+
|
||||
+ END OF TERMS AND CONDITIONS
|
||||
+
|
||||
+ How to Apply These Terms to Your New Programs
|
||||
+
|
||||
+ If you develop a new program, and you want it to be of the greatest
|
||||
+possible use to the public, the best way to achieve this is to make it
|
||||
+free software which everyone can redistribute and change under these terms.
|
||||
+
|
||||
+ To do so, attach the following notices to the program. It is safest
|
||||
+to attach them to the start of each source file to most effectively
|
||||
+convey the exclusion of warranty; and each file should have at least
|
||||
+the "copyright" line and a pointer to where the full notice is found.
|
||||
+
|
||||
+ <one line to give the program's name and a brief idea of what it does.>
|
||||
+ Copyright (C) <year> <name of author>
|
||||
+
|
||||
+ This program is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 2 of the License, or
|
||||
+ (at your option) any later version.
|
||||
+
|
||||
+ This program is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License along
|
||||
+ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
+
|
||||
+Also add information on how to contact you by electronic and paper mail.
|
||||
+
|
||||
+If the program is interactive, make it output a short notice like this
|
||||
+when it starts in an interactive mode:
|
||||
+
|
||||
+ Gnomovision version 69, Copyright (C) year name of author
|
||||
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
+ This is free software, and you are welcome to redistribute it
|
||||
+ under certain conditions; type `show c' for details.
|
||||
+
|
||||
+The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
+parts of the General Public License. Of course, the commands you use may
|
||||
+be called something other than `show w' and `show c'; they could even be
|
||||
+mouse-clicks or menu items--whatever suits your program.
|
||||
+
|
||||
+You should also get your employer (if you work as a programmer) or your
|
||||
+school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
+necessary. Here is a sample; alter the names:
|
||||
+
|
||||
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
+
|
||||
+ <signature of Ty Coon>, 1 April 1989
|
||||
+ Ty Coon, President of Vice
|
||||
+
|
||||
+This General Public License does not permit incorporating your program into
|
||||
+proprietary programs. If your program is a subroutine library, you may
|
||||
+consider it more useful to permit linking proprietary applications with the
|
||||
+library. If this is what you want to do, use the GNU Lesser General
|
||||
+Public License instead of this License.
|
||||
@@ -0,0 +1,25 @@
|
||||
.TH USLEEP 1 "Red Hat, Inc" \" -*- nroff -*-
|
||||
.SH NAME
|
||||
usleep \- sleep some number of microseconds
|
||||
.SH SYNOPSIS
|
||||
.B usleep
|
||||
[\fInumber\fP]
|
||||
.SH DESCRIPTION
|
||||
.B usleep
|
||||
sleeps some number of microseconds. The default is 1.
|
||||
.SH OPTIONS
|
||||
\fI--usage\fP
|
||||
Show short usage message.
|
||||
.TP
|
||||
\fI--help, -?\fP
|
||||
Print help information.
|
||||
.TP
|
||||
\fI-v, --version\fP
|
||||
Print version information.
|
||||
.SH BUGS
|
||||
Probably not accurate on many machines down to the microsecond. Count
|
||||
on precision only to -4 or maybe -5.
|
||||
.SH AUTHOR
|
||||
Donald Barnes <djb@redhat.com>
|
||||
.br
|
||||
Erik Troan <ewt@redhat.com>
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* usleep
|
||||
*
|
||||
* Written by Donald Barnes <djb@redhat.com> for Red Hat, Inc.
|
||||
*
|
||||
* Copyright (c) 1997-2003 Red Hat, Inc. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License, version 2,
|
||||
* as published by the Free Software Foundation.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "popt.h"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
unsigned long count;
|
||||
poptContext optCon;
|
||||
int showVersion = 0;
|
||||
int showOot = 0;
|
||||
int rc;
|
||||
char * countStr = NULL;
|
||||
struct poptOption options[] = {
|
||||
{ "version", 'v', POPT_ARG_NONE, &showVersion, 0,
|
||||
"Display the version of this program, and exit" },
|
||||
{ "oot", 'o', POPT_ARG_NONE, &showOot, 0,
|
||||
"oot says hey!" },
|
||||
POPT_AUTOHELP
|
||||
{ 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
optCon = poptGetContext("usleep", argc, argv, options,0);
|
||||
/*poptReadDefaultConfig(optCon, 1);*/
|
||||
poptSetOtherOptionHelp(optCon, "[microseconds]");
|
||||
|
||||
if ((rc = poptGetNextOpt(optCon)) < -1) {
|
||||
fprintf(stderr, "usleep: bad argument %s: %s\n",
|
||||
poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
|
||||
poptStrerror(rc));
|
||||
return 2;
|
||||
}
|
||||
|
||||
if (showVersion) {
|
||||
printf("usleep version 1.2\n usleep --help for more info\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (showOot) {
|
||||
printf("oot says hey!\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
countStr = poptGetArg(optCon);
|
||||
|
||||
if (countStr == NULL) count = 1;
|
||||
|
||||
else if (countStr && poptGetArg(optCon)) {
|
||||
fprintf(stderr, "%s: exactly one argument (number of microseconds) "
|
||||
"must be used\n", argv[0]);
|
||||
return 2;
|
||||
}
|
||||
|
||||
else count = strtoul(countStr, NULL, 0);
|
||||
|
||||
usleep(count);
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
SUMMARY = "A user tool to support sleeping some number of microseconds"
|
||||
SECTION = "base"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
DEPENDS = "popt"
|
||||
|
||||
SRC_URI = "file://usleep.c \
|
||||
file://usleep.1 \
|
||||
file://GPLv2.patch \
|
||||
"
|
||||
|
||||
do_compile() {
|
||||
${CC} ${CFLAGS} ${LDFLAGS} usleep.c -o usleep -lpopt
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${base_bindir}
|
||||
install -d ${D}${mandir}/man1
|
||||
|
||||
install -m 0755 ${WORKDIR}/usleep ${D}${base_bindir}
|
||||
install -m 0644 ${WORKDIR}/usleep.1 ${D}${mandir}/man1
|
||||
}
|
||||
|
||||
inherit update-alternatives
|
||||
|
||||
ALTERNATIVE:${PN} = "usleep"
|
||||
ALTERNATIVE_PRIORITY = "80"
|
||||
ALTERNATIVE_LINK_NAME[usleep] = "${base_bindir}/usleep"
|
||||
|
||||
ALTERNATIVE:${PN}-doc = "usleep.1"
|
||||
ALTERNATIVE_LINK_NAME[usleep.1] = "${mandir}/man1/usleep.1"
|
||||
@@ -0,0 +1,178 @@
|
||||
From 2b578f1c2eee4e3552300d672eceea0804118896 Mon Sep 17 00:00:00 2001
|
||||
From: Etienne Cordonnier <ecordonnier@snap.com>
|
||||
Date: Mon, 10 Feb 2025 14:43:54 +0100
|
||||
Subject: [PATCH] Cargo.lock: revert to selinux-sys 0.6.9 and fts-sys 0.2.9
|
||||
|
||||
selinux-sys 0.6.12 and fts-sys 0.2.11 uses offset_of which requires Rust 1.77.
|
||||
selinux 0.6.9 and fts-sys 0.2.9 compile with Rust 1.70.
|
||||
|
||||
This fixes the compilation of uutils-coreutils when meta-selinux is included.
|
||||
|
||||
This reverts https://github.com/uutils/coreutils/commit/10d3e98eda9342cf8d5f56d5082e38096743eb80
|
||||
|
||||
Upstream-Status: Inappropriate [OE Specific]
|
||||
|
||||
Signed-off-by: Etienne Cordonnier <ecordonnier@snap.com>
|
||||
---
|
||||
Cargo.lock | 61 ++++++++++++++++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 50 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/Cargo.lock b/Cargo.lock
|
||||
index b59405071..5f7b420fc 100644
|
||||
--- a/Cargo.lock
|
||||
+++ b/Cargo.lock
|
||||
@@ -167,14 +167,16 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "bindgen"
|
||||
-version = "0.70.1"
|
||||
+version = "0.69.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f"
|
||||
+checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
- "itertools",
|
||||
+ "itertools 0.12.1",
|
||||
+ "lazy_static",
|
||||
+ "lazycell",
|
||||
"log",
|
||||
"prettyplease",
|
||||
"proc-macro2",
|
||||
@@ -183,6 +185,7 @@ dependencies = [
|
||||
"rustc-hash",
|
||||
"shlex",
|
||||
"syn 2.0.86",
|
||||
+ "which",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -961,9 +964,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "fts-sys"
|
||||
-version = "0.2.11"
|
||||
+version = "0.2.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "28ab6a6dfd9184fe8a5097924dea6e7648f499121b3e933bb8486a17f817122e"
|
||||
+checksum = "4e184d5f593d19793f26afb6f9a58d25f0bc755c4e48890ffcba6db416153ebb"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"libc",
|
||||
@@ -1156,6 +1159,15 @@ version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
|
||||
|
||||
+[[package]]
|
||||
+name = "home"
|
||||
+version = "0.5.9"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
|
||||
+dependencies = [
|
||||
+ "windows-sys 0.52.0",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "hostname"
|
||||
version = "0.4.0"
|
||||
@@ -1244,6 +1256,15 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "itertools"
|
||||
+version = "0.12.1"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
||||
+dependencies = [
|
||||
+ "either",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.13.0"
|
||||
@@ -1303,6 +1324,12 @@ version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
+[[package]]
|
||||
+name = "lazycell"
|
||||
+version = "1.3.0"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
+
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.161"
|
||||
@@ -2120,9 +2147,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "selinux-sys"
|
||||
-version = "0.6.12"
|
||||
+version = "0.6.9"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
-checksum = "8d557667087c5b4791e180b80979cd1a92fdb9bfd92cfd4b9ab199c4d7402423"
|
||||
+checksum = "89d45498373dc17ec8ebb72e1fd320c015647b0157fc81dddf678e2e00205fec"
|
||||
dependencies = [
|
||||
"bindgen",
|
||||
"cc",
|
||||
@@ -3100,7 +3127,7 @@ version = "0.0.28"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"clap",
|
||||
- "itertools",
|
||||
+ "itertools 0.13.0",
|
||||
"quick-error 2.0.1",
|
||||
"regex",
|
||||
"uucore",
|
||||
@@ -3236,7 +3263,7 @@ dependencies = [
|
||||
"compare",
|
||||
"ctrlc",
|
||||
"fnv",
|
||||
- "itertools",
|
||||
+ "itertools 0.13.0",
|
||||
"memchr",
|
||||
"nix",
|
||||
"rand",
|
||||
@@ -3520,7 +3547,7 @@ name = "uu_yes"
|
||||
version = "0.0.28"
|
||||
dependencies = [
|
||||
"clap",
|
||||
- "itertools",
|
||||
+ "itertools 0.13.0",
|
||||
"nix",
|
||||
"uucore",
|
||||
]
|
||||
@@ -3539,7 +3566,7 @@ dependencies = [
|
||||
"dunce",
|
||||
"glob",
|
||||
"hex",
|
||||
- "itertools",
|
||||
+ "itertools 0.13.0",
|
||||
"libc",
|
||||
"md-5",
|
||||
"memchr",
|
||||
@@ -3687,6 +3714,18 @@ dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
+[[package]]
|
||||
+name = "which"
|
||||
+version = "4.4.2"
|
||||
+source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
+checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
|
||||
+dependencies = [
|
||||
+ "either",
|
||||
+ "home",
|
||||
+ "once_cell",
|
||||
+ "rustix 0.38.37",
|
||||
+]
|
||||
+
|
||||
[[package]]
|
||||
name = "wild"
|
||||
version = "2.2.1"
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,910 @@
|
||||
# Autogenerated with 'bitbake -c update_crates uutils-coreutils'
|
||||
|
||||
# from Cargo.lock
|
||||
SRC_URI += " \
|
||||
crate://crates.io/adler/1.0.2 \
|
||||
crate://crates.io/ahash/0.8.11 \
|
||||
crate://crates.io/aho-corasick/1.1.3 \
|
||||
crate://crates.io/allocator-api2/0.2.18 \
|
||||
crate://crates.io/android-tzdata/0.1.1 \
|
||||
crate://crates.io/android_system_properties/0.1.5 \
|
||||
crate://crates.io/ansi-width/0.1.0 \
|
||||
crate://crates.io/anstream/0.5.0 \
|
||||
crate://crates.io/anstyle/1.0.0 \
|
||||
crate://crates.io/anstyle-parse/0.2.0 \
|
||||
crate://crates.io/anstyle-query/1.0.0 \
|
||||
crate://crates.io/anstyle-wincon/2.1.0 \
|
||||
crate://crates.io/arbitrary/1.3.2 \
|
||||
crate://crates.io/arrayref/0.3.6 \
|
||||
crate://crates.io/arrayvec/0.7.4 \
|
||||
crate://crates.io/autocfg/1.1.0 \
|
||||
crate://crates.io/bigdecimal/0.4.6 \
|
||||
crate://crates.io/binary-heap-plus/0.5.0 \
|
||||
crate://crates.io/bincode/1.3.3 \
|
||||
crate://crates.io/bindgen/0.69.5 \
|
||||
crate://crates.io/bit-set/0.5.3 \
|
||||
crate://crates.io/bit-vec/0.6.3 \
|
||||
crate://crates.io/bitflags/1.3.2 \
|
||||
crate://crates.io/bitflags/2.6.0 \
|
||||
crate://crates.io/bitvec/1.0.1 \
|
||||
crate://crates.io/blake2b_simd/1.0.2 \
|
||||
crate://crates.io/blake3/1.5.4 \
|
||||
crate://crates.io/block-buffer/0.10.3 \
|
||||
crate://crates.io/bstr/1.10.0 \
|
||||
crate://crates.io/bumpalo/3.11.1 \
|
||||
crate://crates.io/bytecount/0.6.8 \
|
||||
crate://crates.io/byteorder/1.5.0 \
|
||||
crate://crates.io/cc/1.1.13 \
|
||||
crate://crates.io/cexpr/0.6.0 \
|
||||
crate://crates.io/cfg-if/1.0.0 \
|
||||
crate://crates.io/cfg_aliases/0.2.1 \
|
||||
crate://crates.io/chrono/0.4.38 \
|
||||
crate://crates.io/clang-sys/1.4.0 \
|
||||
crate://crates.io/clap/4.4.2 \
|
||||
crate://crates.io/clap_builder/4.4.2 \
|
||||
crate://crates.io/clap_complete/4.4.0 \
|
||||
crate://crates.io/clap_lex/0.5.0 \
|
||||
crate://crates.io/clap_mangen/0.2.9 \
|
||||
crate://crates.io/colorchoice/1.0.0 \
|
||||
crate://crates.io/compare/0.1.0 \
|
||||
crate://crates.io/console/0.15.8 \
|
||||
crate://crates.io/const-random/0.1.16 \
|
||||
crate://crates.io/const-random-macro/0.1.16 \
|
||||
crate://crates.io/constant_time_eq/0.3.0 \
|
||||
crate://crates.io/core-foundation-sys/0.8.3 \
|
||||
crate://crates.io/coz/0.1.3 \
|
||||
crate://crates.io/cpp/0.5.9 \
|
||||
crate://crates.io/cpp_build/0.5.9 \
|
||||
crate://crates.io/cpp_common/0.5.9 \
|
||||
crate://crates.io/cpp_macros/0.5.9 \
|
||||
crate://crates.io/cpufeatures/0.2.5 \
|
||||
crate://crates.io/crc32fast/1.4.0 \
|
||||
crate://crates.io/crossbeam-channel/0.5.10 \
|
||||
crate://crates.io/crossbeam-deque/0.8.4 \
|
||||
crate://crates.io/crossbeam-epoch/0.9.17 \
|
||||
crate://crates.io/crossbeam-utils/0.8.19 \
|
||||
crate://crates.io/crossterm/0.27.0 \
|
||||
crate://crates.io/crossterm_winapi/0.9.1 \
|
||||
crate://crates.io/crunchy/0.2.2 \
|
||||
crate://crates.io/crypto-common/0.1.6 \
|
||||
crate://crates.io/ctrlc/3.4.5 \
|
||||
crate://crates.io/data-encoding/2.6.0 \
|
||||
crate://crates.io/data-encoding-macro/0.1.15 \
|
||||
crate://crates.io/data-encoding-macro-internal/0.1.13 \
|
||||
crate://crates.io/deranged/0.3.11 \
|
||||
crate://crates.io/derive_arbitrary/1.3.2 \
|
||||
crate://crates.io/diff/0.1.13 \
|
||||
crate://crates.io/digest/0.10.7 \
|
||||
crate://crates.io/displaydoc/0.2.4 \
|
||||
crate://crates.io/dlv-list/0.5.0 \
|
||||
crate://crates.io/dns-lookup/2.0.4 \
|
||||
crate://crates.io/dunce/1.0.5 \
|
||||
crate://crates.io/either/1.8.0 \
|
||||
crate://crates.io/encode_unicode/0.3.6 \
|
||||
crate://crates.io/equivalent/1.0.1 \
|
||||
crate://crates.io/errno/0.3.8 \
|
||||
crate://crates.io/exacl/0.12.0 \
|
||||
crate://crates.io/fastrand/2.1.1 \
|
||||
crate://crates.io/file_diff/1.0.0 \
|
||||
crate://crates.io/filedescriptor/0.8.2 \
|
||||
crate://crates.io/filetime/0.2.25 \
|
||||
crate://crates.io/flate2/1.0.28 \
|
||||
crate://crates.io/fnv/1.0.7 \
|
||||
crate://crates.io/fs_extra/1.3.0 \
|
||||
crate://crates.io/fsevent-sys/4.1.0 \
|
||||
crate://crates.io/fts-sys/0.2.9 \
|
||||
crate://crates.io/fundu/2.0.1 \
|
||||
crate://crates.io/fundu-core/0.3.1 \
|
||||
crate://crates.io/funty/2.0.0 \
|
||||
crate://crates.io/futures/0.3.30 \
|
||||
crate://crates.io/futures-channel/0.3.31 \
|
||||
crate://crates.io/futures-core/0.3.31 \
|
||||
crate://crates.io/futures-executor/0.3.30 \
|
||||
crate://crates.io/futures-io/0.3.31 \
|
||||
crate://crates.io/futures-macro/0.3.31 \
|
||||
crate://crates.io/futures-sink/0.3.31 \
|
||||
crate://crates.io/futures-task/0.3.31 \
|
||||
crate://crates.io/futures-timer/3.0.3 \
|
||||
crate://crates.io/futures-util/0.3.31 \
|
||||
crate://crates.io/gcd/2.3.0 \
|
||||
crate://crates.io/generic-array/0.14.6 \
|
||||
crate://crates.io/getrandom/0.2.9 \
|
||||
crate://crates.io/glob/0.3.1 \
|
||||
crate://crates.io/half/2.4.1 \
|
||||
crate://crates.io/hashbrown/0.14.3 \
|
||||
crate://crates.io/hermit-abi/0.3.2 \
|
||||
crate://crates.io/hex/0.4.3 \
|
||||
crate://crates.io/hex-literal/0.4.1 \
|
||||
crate://crates.io/home/0.5.9 \
|
||||
crate://crates.io/hostname/0.4.0 \
|
||||
crate://crates.io/iana-time-zone/0.1.53 \
|
||||
crate://crates.io/iana-time-zone-haiku/0.1.2 \
|
||||
crate://crates.io/indexmap/2.5.0 \
|
||||
crate://crates.io/indicatif/0.17.9 \
|
||||
crate://crates.io/inotify/0.9.6 \
|
||||
crate://crates.io/inotify-sys/0.1.5 \
|
||||
crate://crates.io/io-lifetimes/1.0.11 \
|
||||
crate://crates.io/itertools/0.12.1 \
|
||||
crate://crates.io/itertools/0.13.0 \
|
||||
crate://crates.io/itoa/1.0.4 \
|
||||
crate://crates.io/js-sys/0.3.64 \
|
||||
crate://crates.io/keccak/0.1.4 \
|
||||
crate://crates.io/kqueue/1.0.7 \
|
||||
crate://crates.io/kqueue-sys/1.0.3 \
|
||||
crate://crates.io/lazy_static/1.4.0 \
|
||||
crate://crates.io/lazycell/1.3.0 \
|
||||
crate://crates.io/libc/0.2.161 \
|
||||
crate://crates.io/libloading/0.7.4 \
|
||||
crate://crates.io/libm/0.2.7 \
|
||||
crate://crates.io/libredox/0.1.3 \
|
||||
crate://crates.io/linux-raw-sys/0.3.8 \
|
||||
crate://crates.io/linux-raw-sys/0.4.14 \
|
||||
crate://crates.io/lock_api/0.4.9 \
|
||||
crate://crates.io/log/0.4.20 \
|
||||
crate://crates.io/lru/0.12.3 \
|
||||
crate://crates.io/lscolors/0.20.0 \
|
||||
crate://crates.io/md-5/0.10.6 \
|
||||
crate://crates.io/memchr/2.7.4 \
|
||||
crate://crates.io/memmap2/0.9.5 \
|
||||
crate://crates.io/minimal-lexical/0.2.1 \
|
||||
crate://crates.io/miniz_oxide/0.7.2 \
|
||||
crate://crates.io/mio/0.8.11 \
|
||||
crate://crates.io/nix/0.29.0 \
|
||||
crate://crates.io/nom/7.1.3 \
|
||||
crate://crates.io/notify/6.0.1 \
|
||||
crate://crates.io/nu-ansi-term/0.50.0 \
|
||||
crate://crates.io/num-bigint/0.4.6 \
|
||||
crate://crates.io/num-conv/0.1.0 \
|
||||
crate://crates.io/num-integer/0.1.46 \
|
||||
crate://crates.io/num-modular/0.5.1 \
|
||||
crate://crates.io/num-prime/0.4.4 \
|
||||
crate://crates.io/num-traits/0.2.19 \
|
||||
crate://crates.io/num_enum/0.7.3 \
|
||||
crate://crates.io/num_enum_derive/0.7.3 \
|
||||
crate://crates.io/num_threads/0.1.6 \
|
||||
crate://crates.io/number_prefix/0.4.0 \
|
||||
crate://crates.io/once_cell/1.20.2 \
|
||||
crate://crates.io/onig/6.4.0 \
|
||||
crate://crates.io/onig_sys/69.8.1 \
|
||||
crate://crates.io/ordered-multimap/0.7.3 \
|
||||
crate://crates.io/os_display/0.1.3 \
|
||||
crate://crates.io/parking_lot/0.12.1 \
|
||||
crate://crates.io/parking_lot_core/0.9.10 \
|
||||
crate://crates.io/parse_datetime/0.6.0 \
|
||||
crate://crates.io/phf/0.11.2 \
|
||||
crate://crates.io/phf_codegen/0.11.2 \
|
||||
crate://crates.io/phf_generator/0.11.1 \
|
||||
crate://crates.io/phf_shared/0.11.2 \
|
||||
crate://crates.io/pin-project-lite/0.2.9 \
|
||||
crate://crates.io/pin-utils/0.1.0 \
|
||||
crate://crates.io/pkg-config/0.3.26 \
|
||||
crate://crates.io/platform-info/2.0.4 \
|
||||
crate://crates.io/portable-atomic/1.6.0 \
|
||||
crate://crates.io/powerfmt/0.2.0 \
|
||||
crate://crates.io/ppv-lite86/0.2.17 \
|
||||
crate://crates.io/pretty_assertions/1.4.1 \
|
||||
crate://crates.io/prettyplease/0.2.19 \
|
||||
crate://crates.io/proc-macro-crate/3.2.0 \
|
||||
crate://crates.io/proc-macro2/1.0.89 \
|
||||
crate://crates.io/procfs/0.17.0 \
|
||||
crate://crates.io/procfs-core/0.17.0 \
|
||||
crate://crates.io/proptest/1.5.0 \
|
||||
crate://crates.io/quick-error/1.2.3 \
|
||||
crate://crates.io/quick-error/2.0.1 \
|
||||
crate://crates.io/quote/1.0.37 \
|
||||
crate://crates.io/radium/0.7.0 \
|
||||
crate://crates.io/rand/0.8.5 \
|
||||
crate://crates.io/rand_chacha/0.3.1 \
|
||||
crate://crates.io/rand_core/0.6.4 \
|
||||
crate://crates.io/rand_pcg/0.3.1 \
|
||||
crate://crates.io/rand_xorshift/0.3.0 \
|
||||
crate://crates.io/rayon/1.10.0 \
|
||||
crate://crates.io/rayon-core/1.12.1 \
|
||||
crate://crates.io/redox_syscall/0.5.7 \
|
||||
crate://crates.io/reference-counted-singleton/0.1.2 \
|
||||
crate://crates.io/regex/1.11.1 \
|
||||
crate://crates.io/regex-automata/0.4.8 \
|
||||
crate://crates.io/regex-syntax/0.8.5 \
|
||||
crate://crates.io/relative-path/1.9.3 \
|
||||
crate://crates.io/rlimit/0.10.2 \
|
||||
crate://crates.io/roff/0.2.1 \
|
||||
crate://crates.io/rstest/0.23.0 \
|
||||
crate://crates.io/rstest_macros/0.23.0 \
|
||||
crate://crates.io/rust-ini/0.21.1 \
|
||||
crate://crates.io/rustc-hash/1.1.0 \
|
||||
crate://crates.io/rustc_version/0.4.1 \
|
||||
crate://crates.io/rustix/0.37.26 \
|
||||
crate://crates.io/rustix/0.38.37 \
|
||||
crate://crates.io/rusty-fork/0.3.0 \
|
||||
crate://crates.io/same-file/1.0.6 \
|
||||
crate://crates.io/scopeguard/1.2.0 \
|
||||
crate://crates.io/self_cell/1.0.4 \
|
||||
crate://crates.io/selinux/0.4.6 \
|
||||
crate://crates.io/selinux-sys/0.6.9 \
|
||||
crate://crates.io/semver/1.0.14 \
|
||||
crate://crates.io/serde/1.0.214 \
|
||||
crate://crates.io/serde-big-array/0.5.1 \
|
||||
crate://crates.io/serde_derive/1.0.214 \
|
||||
crate://crates.io/sha1/0.10.6 \
|
||||
crate://crates.io/sha2/0.10.8 \
|
||||
crate://crates.io/sha3/0.10.8 \
|
||||
crate://crates.io/shlex/1.3.0 \
|
||||
crate://crates.io/signal-hook/0.3.17 \
|
||||
crate://crates.io/signal-hook-mio/0.2.3 \
|
||||
crate://crates.io/signal-hook-registry/1.4.1 \
|
||||
crate://crates.io/siphasher/0.3.10 \
|
||||
crate://crates.io/slab/0.4.7 \
|
||||
crate://crates.io/sm3/0.4.2 \
|
||||
crate://crates.io/smallvec/1.13.2 \
|
||||
crate://crates.io/smawk/0.3.1 \
|
||||
crate://crates.io/socket2/0.5.3 \
|
||||
crate://crates.io/strsim/0.10.0 \
|
||||
crate://crates.io/syn/1.0.109 \
|
||||
crate://crates.io/syn/2.0.86 \
|
||||
crate://crates.io/tap/1.0.1 \
|
||||
crate://crates.io/tempfile/3.13.0 \
|
||||
crate://crates.io/terminal_size/0.2.6 \
|
||||
crate://crates.io/terminal_size/0.4.0 \
|
||||
crate://crates.io/textwrap/0.16.1 \
|
||||
crate://crates.io/thiserror/1.0.66 \
|
||||
crate://crates.io/thiserror-impl/1.0.66 \
|
||||
crate://crates.io/time/0.3.36 \
|
||||
crate://crates.io/time-core/0.1.2 \
|
||||
crate://crates.io/time-macros/0.2.18 \
|
||||
crate://crates.io/tiny-keccak/2.0.2 \
|
||||
crate://crates.io/toml_datetime/0.6.8 \
|
||||
crate://crates.io/toml_edit/0.22.22 \
|
||||
crate://crates.io/trim-in-place/0.1.7 \
|
||||
crate://crates.io/typenum/1.15.0 \
|
||||
crate://crates.io/unarray/0.1.4 \
|
||||
crate://crates.io/unicode-ident/1.0.13 \
|
||||
crate://crates.io/unicode-linebreak/0.1.5 \
|
||||
crate://crates.io/unicode-segmentation/1.12.0 \
|
||||
crate://crates.io/unicode-width/0.1.13 \
|
||||
crate://crates.io/unicode-width/0.2.0 \
|
||||
crate://crates.io/unicode-xid/0.2.4 \
|
||||
crate://crates.io/unindent/0.2.3 \
|
||||
crate://crates.io/utf8parse/0.2.1 \
|
||||
crate://crates.io/utmp-classic/0.1.6 \
|
||||
crate://crates.io/utmp-classic-raw/0.1.3 \
|
||||
crate://crates.io/uuid/1.7.0 \
|
||||
crate://crates.io/uutils_term_grid/0.6.0 \
|
||||
crate://crates.io/version_check/0.9.4 \
|
||||
crate://crates.io/wait-timeout/0.2.0 \
|
||||
crate://crates.io/walkdir/2.5.0 \
|
||||
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
|
||||
crate://crates.io/wasm-bindgen/0.2.87 \
|
||||
crate://crates.io/wasm-bindgen-backend/0.2.87 \
|
||||
crate://crates.io/wasm-bindgen-macro/0.2.87 \
|
||||
crate://crates.io/wasm-bindgen-macro-support/0.2.87 \
|
||||
crate://crates.io/wasm-bindgen-shared/0.2.87 \
|
||||
crate://crates.io/web-time/1.1.0 \
|
||||
crate://crates.io/which/4.4.2 \
|
||||
crate://crates.io/wild/2.2.1 \
|
||||
crate://crates.io/winapi/0.3.9 \
|
||||
crate://crates.io/winapi-i686-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/winapi-util/0.1.9 \
|
||||
crate://crates.io/winapi-x86_64-pc-windows-gnu/0.4.0 \
|
||||
crate://crates.io/windows/0.52.0 \
|
||||
crate://crates.io/windows-core/0.52.0 \
|
||||
crate://crates.io/windows-sys/0.45.0 \
|
||||
crate://crates.io/windows-sys/0.48.0 \
|
||||
crate://crates.io/windows-sys/0.52.0 \
|
||||
crate://crates.io/windows-sys/0.59.0 \
|
||||
crate://crates.io/windows-targets/0.42.2 \
|
||||
crate://crates.io/windows-targets/0.48.5 \
|
||||
crate://crates.io/windows-targets/0.52.6 \
|
||||
crate://crates.io/windows_aarch64_gnullvm/0.42.2 \
|
||||
crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
|
||||
crate://crates.io/windows_aarch64_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_aarch64_msvc/0.42.2 \
|
||||
crate://crates.io/windows_aarch64_msvc/0.48.5 \
|
||||
crate://crates.io/windows_aarch64_msvc/0.52.6 \
|
||||
crate://crates.io/windows_i686_gnu/0.42.2 \
|
||||
crate://crates.io/windows_i686_gnu/0.48.5 \
|
||||
crate://crates.io/windows_i686_gnu/0.52.6 \
|
||||
crate://crates.io/windows_i686_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_i686_msvc/0.42.2 \
|
||||
crate://crates.io/windows_i686_msvc/0.48.5 \
|
||||
crate://crates.io/windows_i686_msvc/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_gnu/0.42.2 \
|
||||
crate://crates.io/windows_x86_64_gnu/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_gnu/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_gnullvm/0.42.2 \
|
||||
crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_msvc/0.42.2 \
|
||||
crate://crates.io/windows_x86_64_msvc/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_msvc/0.52.6 \
|
||||
crate://crates.io/winnow/0.6.20 \
|
||||
crate://crates.io/wyz/0.5.1 \
|
||||
crate://crates.io/xattr/1.3.1 \
|
||||
crate://crates.io/yansi/1.0.1 \
|
||||
crate://crates.io/z85/3.0.5 \
|
||||
crate://crates.io/zerocopy/0.7.34 \
|
||||
crate://crates.io/zerocopy-derive/0.7.34 \
|
||||
crate://crates.io/zip/1.1.4 \
|
||||
"
|
||||
|
||||
SRC_URI[adler-1.0.2.sha256sum] = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
SRC_URI[ahash-0.8.11.sha256sum] = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
|
||||
SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
SRC_URI[allocator-api2-0.2.18.sha256sum] = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
|
||||
SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||
SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||
SRC_URI[ansi-width-0.1.0.sha256sum] = "219e3ce6f2611d83b51ec2098a12702112c29e57203a6b0a0929b2cddb486608"
|
||||
SRC_URI[anstream-0.5.0.sha256sum] = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c"
|
||||
SRC_URI[anstyle-1.0.0.sha256sum] = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d"
|
||||
SRC_URI[anstyle-parse-0.2.0.sha256sum] = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee"
|
||||
SRC_URI[anstyle-query-1.0.0.sha256sum] = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b"
|
||||
SRC_URI[anstyle-wincon-2.1.0.sha256sum] = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd"
|
||||
SRC_URI[arbitrary-1.3.2.sha256sum] = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
|
||||
SRC_URI[arrayref-0.3.6.sha256sum] = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
|
||||
SRC_URI[arrayvec-0.7.4.sha256sum] = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
|
||||
SRC_URI[autocfg-1.1.0.sha256sum] = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
|
||||
SRC_URI[bigdecimal-0.4.6.sha256sum] = "8f850665a0385e070b64c38d2354e6c104c8479c59868d1e48a0c13ee2c7a1c1"
|
||||
SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296"
|
||||
SRC_URI[bincode-1.3.3.sha256sum] = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
|
||||
SRC_URI[bindgen-0.69.5.sha256sum] = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088"
|
||||
SRC_URI[bit-set-0.5.3.sha256sum] = "0700ddab506f33b20a03b13996eccd309a48e5ff77d0d95926aa0210fb4e95f1"
|
||||
SRC_URI[bit-vec-0.6.3.sha256sum] = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
|
||||
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
SRC_URI[bitflags-2.6.0.sha256sum] = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
SRC_URI[bitvec-1.0.1.sha256sum] = "1bc2832c24239b0141d5674bb9174f9d68a8b5b3f2753311927c172ca46f7e9c"
|
||||
SRC_URI[blake2b_simd-1.0.2.sha256sum] = "23285ad32269793932e830392f2fe2f83e26488fd3ec778883a93c8323735780"
|
||||
SRC_URI[blake3-1.5.4.sha256sum] = "d82033247fd8e890df8f740e407ad4d038debb9eb1f40533fffb32e7d17dc6f7"
|
||||
SRC_URI[block-buffer-0.10.3.sha256sum] = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
|
||||
SRC_URI[bstr-1.10.0.sha256sum] = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
|
||||
SRC_URI[bumpalo-3.11.1.sha256sum] = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
|
||||
SRC_URI[bytecount-0.6.8.sha256sum] = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
|
||||
SRC_URI[byteorder-1.5.0.sha256sum] = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
|
||||
SRC_URI[cc-1.1.13.sha256sum] = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48"
|
||||
SRC_URI[cexpr-0.6.0.sha256sum] = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766"
|
||||
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
SRC_URI[chrono-0.4.38.sha256sum] = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
|
||||
SRC_URI[clang-sys-1.4.0.sha256sum] = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
|
||||
SRC_URI[clap-4.4.2.sha256sum] = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6"
|
||||
SRC_URI[clap_builder-4.4.2.sha256sum] = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08"
|
||||
SRC_URI[clap_complete-4.4.0.sha256sum] = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5"
|
||||
SRC_URI[clap_lex-0.5.0.sha256sum] = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
|
||||
SRC_URI[clap_mangen-0.2.9.sha256sum] = "bb0f09a0ca8f0dd8ac92c546b426f466ef19828185c6d504c80c48c9c2768ed9"
|
||||
SRC_URI[colorchoice-1.0.0.sha256sum] = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
|
||||
SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3"
|
||||
SRC_URI[console-0.15.8.sha256sum] = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb"
|
||||
SRC_URI[const-random-0.1.16.sha256sum] = "11df32a13d7892ec42d51d3d175faba5211ffe13ed25d4fb348ac9e9ce835593"
|
||||
SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
|
||||
SRC_URI[constant_time_eq-0.3.0.sha256sum] = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
|
||||
SRC_URI[core-foundation-sys-0.8.3.sha256sum] = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
|
||||
SRC_URI[coz-0.1.3.sha256sum] = "cef55b3fe2f5477d59e12bc792e8b3c95a25bd099eadcfae006ecea136de76e2"
|
||||
SRC_URI[cpp-0.5.9.sha256sum] = "bfa65869ef853e45c60e9828aa08cdd1398cb6e13f3911d9cb2a079b144fcd64"
|
||||
SRC_URI[cpp_build-0.5.9.sha256sum] = "0e361fae2caf9758164b24da3eedd7f7d7451be30d90d8e7b5d2be29a2f0cf5b"
|
||||
SRC_URI[cpp_common-0.5.9.sha256sum] = "3e1a2532e4ed4ea13031c13bc7bc0dbca4aae32df48e9d77f0d1e743179f2ea1"
|
||||
SRC_URI[cpp_macros-0.5.9.sha256sum] = "47ec9cc90633446f779ef481a9ce5a0077107dd5b87016440448d908625a83fd"
|
||||
SRC_URI[cpufeatures-0.2.5.sha256sum] = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
|
||||
SRC_URI[crc32fast-1.4.0.sha256sum] = "b3855a8a784b474f333699ef2bbca9db2c4a1f6d9088a90a2d25b1eb53111eaa"
|
||||
SRC_URI[crossbeam-channel-0.5.10.sha256sum] = "82a9b73a36529d9c47029b9fb3a6f0ea3cc916a261195352ba19e770fc1748b2"
|
||||
SRC_URI[crossbeam-deque-0.8.4.sha256sum] = "fca89a0e215bab21874660c67903c5f143333cab1da83d041c7ded6053774751"
|
||||
SRC_URI[crossbeam-epoch-0.9.17.sha256sum] = "0e3681d554572a651dda4186cd47240627c3d0114d45a95f6ad27f2f22e7548d"
|
||||
SRC_URI[crossbeam-utils-0.8.19.sha256sum] = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345"
|
||||
SRC_URI[crossterm-0.27.0.sha256sum] = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
|
||||
SRC_URI[crossterm_winapi-0.9.1.sha256sum] = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
|
||||
SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
||||
SRC_URI[crypto-common-0.1.6.sha256sum] = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
|
||||
SRC_URI[ctrlc-3.4.5.sha256sum] = "90eeab0aa92f3f9b4e87f258c72b139c207d251f9cbc1080a0086b86a8870dd3"
|
||||
SRC_URI[data-encoding-2.6.0.sha256sum] = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2"
|
||||
SRC_URI[data-encoding-macro-0.1.15.sha256sum] = "f1559b6cba622276d6d63706db152618eeb15b89b3e4041446b05876e352e639"
|
||||
SRC_URI[data-encoding-macro-internal-0.1.13.sha256sum] = "332d754c0af53bc87c108fed664d121ecf59207ec4196041f04d6ab9002ad33f"
|
||||
SRC_URI[deranged-0.3.11.sha256sum] = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4"
|
||||
SRC_URI[derive_arbitrary-1.3.2.sha256sum] = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611"
|
||||
SRC_URI[diff-0.1.13.sha256sum] = "56254986775e3233ffa9c4d7d3faaf6d36a2c09d30b20687e9f88bc8bafc16c8"
|
||||
SRC_URI[digest-0.10.7.sha256sum] = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
|
||||
SRC_URI[displaydoc-0.2.4.sha256sum] = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
|
||||
SRC_URI[dlv-list-0.5.0.sha256sum] = "d529fd73d344663edfd598ccb3f344e46034db51ebd103518eae34338248ad73"
|
||||
SRC_URI[dns-lookup-2.0.4.sha256sum] = "e5766087c2235fec47fafa4cfecc81e494ee679d0fd4a59887ea0919bfb0e4fc"
|
||||
SRC_URI[dunce-1.0.5.sha256sum] = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813"
|
||||
SRC_URI[either-1.8.0.sha256sum] = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
|
||||
SRC_URI[encode_unicode-0.3.6.sha256sum] = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
|
||||
SRC_URI[equivalent-1.0.1.sha256sum] = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
|
||||
SRC_URI[errno-0.3.8.sha256sum] = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
|
||||
SRC_URI[exacl-0.12.0.sha256sum] = "22be12de19decddab85d09f251ec8363f060ccb22ec9c81bc157c0c8433946d8"
|
||||
SRC_URI[fastrand-2.1.1.sha256sum] = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
|
||||
SRC_URI[file_diff-1.0.0.sha256sum] = "31a7a908b8f32538a2143e59a6e4e2508988832d5d4d6f7c156b3cbc762643a5"
|
||||
SRC_URI[filedescriptor-0.8.2.sha256sum] = "7199d965852c3bac31f779ef99cbb4537f80e952e2d6aa0ffeb30cce00f4f46e"
|
||||
SRC_URI[filetime-0.2.25.sha256sum] = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586"
|
||||
SRC_URI[flate2-1.0.28.sha256sum] = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
|
||||
SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
||||
SRC_URI[fs_extra-1.3.0.sha256sum] = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
|
||||
SRC_URI[fsevent-sys-4.1.0.sha256sum] = "76ee7a02da4d231650c7cea31349b889be2f45ddb3ef3032d2ec8185f6313fd2"
|
||||
SRC_URI[fts-sys-0.2.9.sha256sum] = "4e184d5f593d19793f26afb6f9a58d25f0bc755c4e48890ffcba6db416153ebb"
|
||||
SRC_URI[fundu-2.0.1.sha256sum] = "2ce12752fc64f35be3d53e0a57017cd30970f0cffd73f62c791837d8845badbd"
|
||||
SRC_URI[fundu-core-0.3.1.sha256sum] = "e463452e2d8b7600d38dcea1ed819773a57f0d710691bfc78db3961bd3f4c3ba"
|
||||
SRC_URI[funty-2.0.0.sha256sum] = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
|
||||
SRC_URI[futures-0.3.30.sha256sum] = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0"
|
||||
SRC_URI[futures-channel-0.3.31.sha256sum] = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
|
||||
SRC_URI[futures-core-0.3.31.sha256sum] = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
|
||||
SRC_URI[futures-executor-0.3.30.sha256sum] = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
|
||||
SRC_URI[futures-io-0.3.31.sha256sum] = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
|
||||
SRC_URI[futures-macro-0.3.31.sha256sum] = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650"
|
||||
SRC_URI[futures-sink-0.3.31.sha256sum] = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
|
||||
SRC_URI[futures-task-0.3.31.sha256sum] = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
|
||||
SRC_URI[futures-timer-3.0.3.sha256sum] = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24"
|
||||
SRC_URI[futures-util-0.3.31.sha256sum] = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
|
||||
SRC_URI[gcd-2.3.0.sha256sum] = "1d758ba1b47b00caf47f24925c0074ecb20d6dfcffe7f6d53395c0465674841a"
|
||||
SRC_URI[generic-array-0.14.6.sha256sum] = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
|
||||
SRC_URI[getrandom-0.2.9.sha256sum] = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
|
||||
SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||
SRC_URI[half-2.4.1.sha256sum] = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888"
|
||||
SRC_URI[hashbrown-0.14.3.sha256sum] = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
|
||||
SRC_URI[hermit-abi-0.3.2.sha256sum] = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b"
|
||||
SRC_URI[hex-0.4.3.sha256sum] = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
||||
SRC_URI[hex-literal-0.4.1.sha256sum] = "6fe2267d4ed49bc07b63801559be28c718ea06c4738b7a03c94df7386d2cde46"
|
||||
SRC_URI[home-0.5.9.sha256sum] = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
|
||||
SRC_URI[hostname-0.4.0.sha256sum] = "f9c7c7c8ac16c798734b8a24560c1362120597c40d5e1459f09498f8f6c8f2ba"
|
||||
SRC_URI[iana-time-zone-0.1.53.sha256sum] = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765"
|
||||
SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||
SRC_URI[indexmap-2.5.0.sha256sum] = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
|
||||
SRC_URI[indicatif-0.17.9.sha256sum] = "cbf675b85ed934d3c67b5c5469701eec7db22689d0a2139d856e0925fa28b281"
|
||||
SRC_URI[inotify-0.9.6.sha256sum] = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff"
|
||||
SRC_URI[inotify-sys-0.1.5.sha256sum] = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
|
||||
SRC_URI[io-lifetimes-1.0.11.sha256sum] = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2"
|
||||
SRC_URI[itertools-0.12.1.sha256sum] = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
||||
SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
|
||||
SRC_URI[itoa-1.0.4.sha256sum] = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
|
||||
SRC_URI[js-sys-0.3.64.sha256sum] = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a"
|
||||
SRC_URI[keccak-0.1.4.sha256sum] = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940"
|
||||
SRC_URI[kqueue-1.0.7.sha256sum] = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
|
||||
SRC_URI[kqueue-sys-1.0.3.sha256sum] = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
|
||||
SRC_URI[lazy_static-1.4.0.sha256sum] = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
SRC_URI[lazycell-1.3.0.sha256sum] = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
|
||||
SRC_URI[libc-0.2.161.sha256sum] = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
|
||||
SRC_URI[libloading-0.7.4.sha256sum] = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f"
|
||||
SRC_URI[libm-0.2.7.sha256sum] = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4"
|
||||
SRC_URI[libredox-0.1.3.sha256sum] = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
|
||||
SRC_URI[linux-raw-sys-0.3.8.sha256sum] = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
|
||||
SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
|
||||
SRC_URI[lock_api-0.4.9.sha256sum] = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
|
||||
SRC_URI[log-0.4.20.sha256sum] = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
|
||||
SRC_URI[lru-0.12.3.sha256sum] = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
|
||||
SRC_URI[lscolors-0.20.0.sha256sum] = "61183da5de8ba09a58e330d55e5ea796539d8443bd00fdeb863eac39724aa4ab"
|
||||
SRC_URI[md-5-0.10.6.sha256sum] = "d89e7ee0cfbedfc4da3340218492196241d89eefb6dab27de5df917a6d2e78cf"
|
||||
SRC_URI[memchr-2.7.4.sha256sum] = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3"
|
||||
SRC_URI[memmap2-0.9.5.sha256sum] = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f"
|
||||
SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
SRC_URI[miniz_oxide-0.7.2.sha256sum] = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7"
|
||||
SRC_URI[mio-0.8.11.sha256sum] = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
|
||||
SRC_URI[nix-0.29.0.sha256sum] = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
|
||||
SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
||||
SRC_URI[notify-6.0.1.sha256sum] = "5738a2795d57ea20abec2d6d76c6081186709c0024187cd5977265eda6598b51"
|
||||
SRC_URI[nu-ansi-term-0.50.0.sha256sum] = "dd2800e1520bdc966782168a627aa5d1ad92e33b984bf7c7615d31280c83ff14"
|
||||
SRC_URI[num-bigint-0.4.6.sha256sum] = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9"
|
||||
SRC_URI[num-conv-0.1.0.sha256sum] = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
|
||||
SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
|
||||
SRC_URI[num-modular-0.5.1.sha256sum] = "64a5fe11d4135c3bcdf3a95b18b194afa9608a5f6ff034f5d857bc9a27fb0119"
|
||||
SRC_URI[num-prime-0.4.4.sha256sum] = "e238432a7881ec7164503ccc516c014bf009be7984cde1ba56837862543bdec3"
|
||||
SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
SRC_URI[num_enum-0.7.3.sha256sum] = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179"
|
||||
SRC_URI[num_enum_derive-0.7.3.sha256sum] = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56"
|
||||
SRC_URI[num_threads-0.1.6.sha256sum] = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44"
|
||||
SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
|
||||
SRC_URI[once_cell-1.20.2.sha256sum] = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
|
||||
SRC_URI[onig-6.4.0.sha256sum] = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
|
||||
SRC_URI[onig_sys-69.8.1.sha256sum] = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
|
||||
SRC_URI[ordered-multimap-0.7.3.sha256sum] = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
|
||||
SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75"
|
||||
SRC_URI[parking_lot-0.12.1.sha256sum] = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
|
||||
SRC_URI[parking_lot_core-0.9.10.sha256sum] = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8"
|
||||
SRC_URI[parse_datetime-0.6.0.sha256sum] = "a8720474e3dd4af20cea8716703498b9f3b690f318fa9d9d9e2e38eaf44b96d0"
|
||||
SRC_URI[phf-0.11.2.sha256sum] = "ade2d8b8f33c7333b51bcf0428d37e217e9f32192ae4772156f65063b8ce03dc"
|
||||
SRC_URI[phf_codegen-0.11.2.sha256sum] = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a"
|
||||
SRC_URI[phf_generator-0.11.1.sha256sum] = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf"
|
||||
SRC_URI[phf_shared-0.11.2.sha256sum] = "90fcb95eef784c2ac79119d1dd819e162b5da872ce6f3c3abe1e8ca1c082f72b"
|
||||
SRC_URI[pin-project-lite-0.2.9.sha256sum] = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
|
||||
SRC_URI[pin-utils-0.1.0.sha256sum] = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
|
||||
SRC_URI[pkg-config-0.3.26.sha256sum] = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
|
||||
SRC_URI[platform-info-2.0.4.sha256sum] = "91077ffd05d058d70d79eefcd7d7f6aac34980860a7519960f7913b6563a8c3a"
|
||||
SRC_URI[portable-atomic-1.6.0.sha256sum] = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0"
|
||||
SRC_URI[powerfmt-0.2.0.sha256sum] = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
|
||||
SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
SRC_URI[pretty_assertions-1.4.1.sha256sum] = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d"
|
||||
SRC_URI[prettyplease-0.2.19.sha256sum] = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550"
|
||||
SRC_URI[proc-macro-crate-3.2.0.sha256sum] = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b"
|
||||
SRC_URI[proc-macro2-1.0.89.sha256sum] = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
|
||||
SRC_URI[procfs-0.17.0.sha256sum] = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f"
|
||||
SRC_URI[procfs-core-0.17.0.sha256sum] = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec"
|
||||
SRC_URI[proptest-1.5.0.sha256sum] = "b4c2511913b88df1637da85cc8d96ec8e43a3f8bb8ccb71ee1ac240d6f3df58d"
|
||||
SRC_URI[quick-error-1.2.3.sha256sum] = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
|
||||
SRC_URI[quick-error-2.0.1.sha256sum] = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
|
||||
SRC_URI[quote-1.0.37.sha256sum] = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
SRC_URI[radium-0.7.0.sha256sum] = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
|
||||
SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||
SRC_URI[rand_pcg-0.3.1.sha256sum] = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
|
||||
SRC_URI[rand_xorshift-0.3.0.sha256sum] = "d25bf25ec5ae4a3f1b92f929810509a2f53d7dca2f50b794ff57e3face536c8f"
|
||||
SRC_URI[rayon-1.10.0.sha256sum] = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||
SRC_URI[rayon-core-1.12.1.sha256sum] = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
|
||||
SRC_URI[redox_syscall-0.5.7.sha256sum] = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f"
|
||||
SRC_URI[reference-counted-singleton-0.1.2.sha256sum] = "f1bfbf25d7eb88ddcbb1ec3d755d0634da8f7657b2cb8b74089121409ab8228f"
|
||||
SRC_URI[regex-1.11.1.sha256sum] = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191"
|
||||
SRC_URI[regex-automata-0.4.8.sha256sum] = "368758f23274712b504848e9d5a6f010445cc8b87a7cdb4d7cbee666c1288da3"
|
||||
SRC_URI[regex-syntax-0.8.5.sha256sum] = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c"
|
||||
SRC_URI[relative-path-1.9.3.sha256sum] = "ba39f3699c378cd8970968dcbff9c43159ea4cfbd88d43c00b22f2ef10a435d2"
|
||||
SRC_URI[rlimit-0.10.2.sha256sum] = "7043b63bd0cd1aaa628e476b80e6d4023a3b50eb32789f2728908107bd0c793a"
|
||||
SRC_URI[roff-0.2.1.sha256sum] = "b833d8d034ea094b1ea68aa6d5c740e0d04bad9d16568d08ba6f76823a114316"
|
||||
SRC_URI[rstest-0.23.0.sha256sum] = "0a2c585be59b6b5dd66a9d2084aa1d8bd52fbdb806eafdeffb52791147862035"
|
||||
SRC_URI[rstest_macros-0.23.0.sha256sum] = "825ea780781b15345a146be27eaefb05085e337e869bff01b4306a4fd4a9ad5a"
|
||||
SRC_URI[rust-ini-0.21.1.sha256sum] = "4e310ef0e1b6eeb79169a1171daf9abcb87a2e17c03bee2c4bb100b55c75409f"
|
||||
SRC_URI[rustc-hash-1.1.0.sha256sum] = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
||||
SRC_URI[rustc_version-0.4.1.sha256sum] = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
|
||||
SRC_URI[rustix-0.37.26.sha256sum] = "84f3f8f960ed3b5a59055428714943298bf3fa2d4a1d53135084e0544829d995"
|
||||
SRC_URI[rustix-0.38.37.sha256sum] = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
|
||||
SRC_URI[rusty-fork-0.3.0.sha256sum] = "cb3dcc6e454c328bb824492db107ab7c0ae8fcffe4ad210136ef014458c1bc4f"
|
||||
SRC_URI[same-file-1.0.6.sha256sum] = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
|
||||
SRC_URI[scopeguard-1.2.0.sha256sum] = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||
SRC_URI[self_cell-1.0.4.sha256sum] = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
|
||||
SRC_URI[selinux-0.4.6.sha256sum] = "0139b2436c81305eb6bda33af151851f75bd62783817b25f44daa371119c30b5"
|
||||
SRC_URI[selinux-sys-0.6.9.sha256sum] = "89d45498373dc17ec8ebb72e1fd320c015647b0157fc81dddf678e2e00205fec"
|
||||
SRC_URI[semver-1.0.14.sha256sum] = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
|
||||
SRC_URI[serde-1.0.214.sha256sum] = "f55c3193aca71c12ad7890f1785d2b73e1b9f63a0bbc353c08ef26fe03fc56b5"
|
||||
SRC_URI[serde-big-array-0.5.1.sha256sum] = "11fc7cc2c76d73e0f27ee52abbd64eec84d46f370c88371120433196934e4b7f"
|
||||
SRC_URI[serde_derive-1.0.214.sha256sum] = "de523f781f095e28fa605cdce0f8307e451cc0fd14e2eb4cd2e98a355b147766"
|
||||
SRC_URI[sha1-0.10.6.sha256sum] = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba"
|
||||
SRC_URI[sha2-0.10.8.sha256sum] = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8"
|
||||
SRC_URI[sha3-0.10.8.sha256sum] = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60"
|
||||
SRC_URI[shlex-1.3.0.sha256sum] = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
SRC_URI[signal-hook-0.3.17.sha256sum] = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
|
||||
SRC_URI[signal-hook-mio-0.2.3.sha256sum] = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
|
||||
SRC_URI[signal-hook-registry-1.4.1.sha256sum] = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
|
||||
SRC_URI[siphasher-0.3.10.sha256sum] = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
|
||||
SRC_URI[slab-0.4.7.sha256sum] = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
|
||||
SRC_URI[sm3-0.4.2.sha256sum] = "ebb9a3b702d0a7e33bc4d85a14456633d2b165c2ad839c5fd9a8417c1ab15860"
|
||||
SRC_URI[smallvec-1.13.2.sha256sum] = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
|
||||
SRC_URI[smawk-0.3.1.sha256sum] = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043"
|
||||
SRC_URI[socket2-0.5.3.sha256sum] = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877"
|
||||
SRC_URI[strsim-0.10.0.sha256sum] = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
|
||||
SRC_URI[syn-1.0.109.sha256sum] = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
|
||||
SRC_URI[syn-2.0.86.sha256sum] = "e89275301d38033efb81a6e60e3497e734dfcc62571f2854bf4b16690398824c"
|
||||
SRC_URI[tap-1.0.1.sha256sum] = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
|
||||
SRC_URI[tempfile-3.13.0.sha256sum] = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
|
||||
SRC_URI[terminal_size-0.2.6.sha256sum] = "8e6bf6f19e9f8ed8d4048dc22981458ebcf406d67e94cd422e5ecd73d63b3237"
|
||||
SRC_URI[terminal_size-0.4.0.sha256sum] = "4f599bd7ca042cfdf8f4512b277c02ba102247820f9d9d4a9f521f496751a6ef"
|
||||
SRC_URI[textwrap-0.16.1.sha256sum] = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9"
|
||||
SRC_URI[thiserror-1.0.66.sha256sum] = "5d171f59dbaa811dbbb1aee1e73db92ec2b122911a48e1390dfe327a821ddede"
|
||||
SRC_URI[thiserror-impl-1.0.66.sha256sum] = "b08be0f17bd307950653ce45db00cd31200d82b624b36e181337d9c7d92765b5"
|
||||
SRC_URI[time-0.3.36.sha256sum] = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
|
||||
SRC_URI[time-core-0.1.2.sha256sum] = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
|
||||
SRC_URI[time-macros-0.2.18.sha256sum] = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
|
||||
SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
|
||||
SRC_URI[toml_datetime-0.6.8.sha256sum] = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
|
||||
SRC_URI[toml_edit-0.22.22.sha256sum] = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5"
|
||||
SRC_URI[trim-in-place-0.1.7.sha256sum] = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc"
|
||||
SRC_URI[typenum-1.15.0.sha256sum] = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
|
||||
SRC_URI[unarray-0.1.4.sha256sum] = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94"
|
||||
SRC_URI[unicode-ident-1.0.13.sha256sum] = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
|
||||
SRC_URI[unicode-linebreak-0.1.5.sha256sum] = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
|
||||
SRC_URI[unicode-segmentation-1.12.0.sha256sum] = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
|
||||
SRC_URI[unicode-width-0.1.13.sha256sum] = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d"
|
||||
SRC_URI[unicode-width-0.2.0.sha256sum] = "1fc81956842c57dac11422a97c3b8195a1ff727f06e85c84ed2e8aa277c9a0fd"
|
||||
SRC_URI[unicode-xid-0.2.4.sha256sum] = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
|
||||
SRC_URI[unindent-0.2.3.sha256sum] = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
|
||||
SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
|
||||
SRC_URI[utmp-classic-0.1.6.sha256sum] = "e24c654e19afaa6b8f3877ece5d3bed849c2719c56f6752b18ca7da4fcc6e85a"
|
||||
SRC_URI[utmp-classic-raw-0.1.3.sha256sum] = "22c226537a3d6e01c440c1926ca0256dbee2d19b2229ede6fc4863a6493dd831"
|
||||
SRC_URI[uuid-1.7.0.sha256sum] = "f00cc9702ca12d3c81455259621e676d0f7251cec66a21e98fe2e9a37db93b2a"
|
||||
SRC_URI[uutils_term_grid-0.6.0.sha256sum] = "f89defb4adb4ba5703a57abc879f96ddd6263a444cacc446db90bf2617f141fb"
|
||||
SRC_URI[version_check-0.9.4.sha256sum] = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
|
||||
SRC_URI[wait-timeout-0.2.0.sha256sum] = "9f200f5b12eb75f8c1ed65abd4b2db8a6e1b138a20de009dacee265a2498f3f6"
|
||||
SRC_URI[walkdir-2.5.0.sha256sum] = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b"
|
||||
SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
SRC_URI[wasm-bindgen-0.2.87.sha256sum] = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342"
|
||||
SRC_URI[wasm-bindgen-backend-0.2.87.sha256sum] = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd"
|
||||
SRC_URI[wasm-bindgen-macro-0.2.87.sha256sum] = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d"
|
||||
SRC_URI[wasm-bindgen-macro-support-0.2.87.sha256sum] = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
|
||||
SRC_URI[wasm-bindgen-shared-0.2.87.sha256sum] = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1"
|
||||
SRC_URI[web-time-1.1.0.sha256sum] = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
|
||||
SRC_URI[which-4.4.2.sha256sum] = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7"
|
||||
SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1"
|
||||
SRC_URI[winapi-0.3.9.sha256sum] = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
||||
SRC_URI[winapi-i686-pc-windows-gnu-0.4.0.sha256sum] = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
||||
SRC_URI[winapi-util-0.1.9.sha256sum] = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
|
||||
SRC_URI[winapi-x86_64-pc-windows-gnu-0.4.0.sha256sum] = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
SRC_URI[windows-0.52.0.sha256sum] = "e48a53791691ab099e5e2ad123536d0fff50652600abaf43bbf952894110d0be"
|
||||
SRC_URI[windows-core-0.52.0.sha256sum] = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||
SRC_URI[windows-sys-0.45.0.sha256sum] = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
|
||||
SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||
SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
SRC_URI[windows-targets-0.42.2.sha256sum] = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
|
||||
SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
||||
SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
SRC_URI[windows_aarch64_gnullvm-0.42.2.sha256sum] = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
|
||||
SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
||||
SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
SRC_URI[windows_aarch64_msvc-0.42.2.sha256sum] = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
|
||||
SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
||||
SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
SRC_URI[windows_i686_gnu-0.42.2.sha256sum] = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
|
||||
SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
||||
SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
SRC_URI[windows_i686_msvc-0.42.2.sha256sum] = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
|
||||
SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
||||
SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
SRC_URI[windows_x86_64_gnu-0.42.2.sha256sum] = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
|
||||
SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
||||
SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
SRC_URI[windows_x86_64_gnullvm-0.42.2.sha256sum] = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
|
||||
SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
||||
SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
SRC_URI[windows_x86_64_msvc-0.42.2.sha256sum] = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
|
||||
SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
SRC_URI[winnow-0.6.20.sha256sum] = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b"
|
||||
SRC_URI[wyz-0.5.1.sha256sum] = "05f360fc0b24296329c78fda852a1e9ae82de9cf7b27dae4b7f62f118f77b9ed"
|
||||
SRC_URI[xattr-1.3.1.sha256sum] = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f"
|
||||
SRC_URI[yansi-1.0.1.sha256sum] = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
|
||||
SRC_URI[z85-3.0.5.sha256sum] = "2a599daf1b507819c1121f0bf87fa37eb19daac6aff3aefefd4e6e2e0f2020fc"
|
||||
SRC_URI[zerocopy-0.7.34.sha256sum] = "ae87e3fcd617500e5d106f0380cf7b77f3c6092aae37191433159dda23cfb087"
|
||||
SRC_URI[zerocopy-derive-0.7.34.sha256sum] = "15e934569e47891f7d9411f1a451d947a60e000ab3bd24fbb970f000387d1b3b"
|
||||
SRC_URI[zip-1.1.4.sha256sum] = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164"
|
||||
# from fuzz/Cargo.lock
|
||||
SRC_URI += " \
|
||||
crate://crates.io/aho-corasick/1.1.3 \
|
||||
crate://crates.io/android-tzdata/0.1.1 \
|
||||
crate://crates.io/android_system_properties/0.1.5 \
|
||||
crate://crates.io/anstream/0.6.14 \
|
||||
crate://crates.io/anstyle/1.0.7 \
|
||||
crate://crates.io/anstyle-parse/0.2.4 \
|
||||
crate://crates.io/anstyle-query/1.0.3 \
|
||||
crate://crates.io/anstyle-wincon/3.0.3 \
|
||||
crate://crates.io/arbitrary/1.3.2 \
|
||||
crate://crates.io/autocfg/1.3.0 \
|
||||
crate://crates.io/bigdecimal/0.4.3 \
|
||||
crate://crates.io/binary-heap-plus/0.5.0 \
|
||||
crate://crates.io/bitflags/1.3.2 \
|
||||
crate://crates.io/bitflags/2.5.0 \
|
||||
crate://crates.io/bstr/1.9.1 \
|
||||
crate://crates.io/bumpalo/3.16.0 \
|
||||
crate://crates.io/bytecount/0.6.8 \
|
||||
crate://crates.io/cc/1.0.98 \
|
||||
crate://crates.io/cfg-if/1.0.0 \
|
||||
crate://crates.io/cfg_aliases/0.1.1 \
|
||||
crate://crates.io/cfg_aliases/0.2.1 \
|
||||
crate://crates.io/chrono/0.4.38 \
|
||||
crate://crates.io/clap/4.5.4 \
|
||||
crate://crates.io/clap_builder/4.5.2 \
|
||||
crate://crates.io/clap_lex/0.7.0 \
|
||||
crate://crates.io/colorchoice/1.0.1 \
|
||||
crate://crates.io/compare/0.1.0 \
|
||||
crate://crates.io/const-random/0.1.18 \
|
||||
crate://crates.io/const-random-macro/0.1.16 \
|
||||
crate://crates.io/core-foundation-sys/0.8.6 \
|
||||
crate://crates.io/crossbeam-deque/0.8.5 \
|
||||
crate://crates.io/crossbeam-epoch/0.9.18 \
|
||||
crate://crates.io/crossbeam-utils/0.8.20 \
|
||||
crate://crates.io/crunchy/0.2.2 \
|
||||
crate://crates.io/ctrlc/3.4.4 \
|
||||
crate://crates.io/dlv-list/0.5.2 \
|
||||
crate://crates.io/dunce/1.0.4 \
|
||||
crate://crates.io/either/1.12.0 \
|
||||
crate://crates.io/errno/0.3.9 \
|
||||
crate://crates.io/fastrand/2.1.1 \
|
||||
crate://crates.io/fnv/1.0.7 \
|
||||
crate://crates.io/getrandom/0.2.15 \
|
||||
crate://crates.io/glob/0.3.1 \
|
||||
crate://crates.io/hashbrown/0.14.5 \
|
||||
crate://crates.io/iana-time-zone/0.1.60 \
|
||||
crate://crates.io/iana-time-zone-haiku/0.1.2 \
|
||||
crate://crates.io/is_terminal_polyfill/1.70.0 \
|
||||
crate://crates.io/itertools/0.13.0 \
|
||||
crate://crates.io/jobserver/0.1.31 \
|
||||
crate://crates.io/js-sys/0.3.69 \
|
||||
crate://crates.io/libc/0.2.161 \
|
||||
crate://crates.io/libfuzzer-sys/0.4.7 \
|
||||
crate://crates.io/libm/0.2.8 \
|
||||
crate://crates.io/linux-raw-sys/0.4.14 \
|
||||
crate://crates.io/log/0.4.21 \
|
||||
crate://crates.io/memchr/2.7.2 \
|
||||
crate://crates.io/minimal-lexical/0.2.1 \
|
||||
crate://crates.io/nix/0.28.0 \
|
||||
crate://crates.io/nix/0.29.0 \
|
||||
crate://crates.io/nom/7.1.3 \
|
||||
crate://crates.io/num-bigint/0.4.5 \
|
||||
crate://crates.io/num-integer/0.1.46 \
|
||||
crate://crates.io/num-traits/0.2.19 \
|
||||
crate://crates.io/number_prefix/0.4.0 \
|
||||
crate://crates.io/once_cell/1.19.0 \
|
||||
crate://crates.io/onig/6.4.0 \
|
||||
crate://crates.io/onig_sys/69.8.1 \
|
||||
crate://crates.io/ordered-multimap/0.7.3 \
|
||||
crate://crates.io/os_display/0.1.3 \
|
||||
crate://crates.io/parse_datetime/0.6.0 \
|
||||
crate://crates.io/pkg-config/0.3.30 \
|
||||
crate://crates.io/ppv-lite86/0.2.17 \
|
||||
crate://crates.io/proc-macro2/1.0.83 \
|
||||
crate://crates.io/quote/1.0.36 \
|
||||
crate://crates.io/rand/0.8.5 \
|
||||
crate://crates.io/rand_chacha/0.3.1 \
|
||||
crate://crates.io/rand_core/0.6.4 \
|
||||
crate://crates.io/rayon/1.10.0 \
|
||||
crate://crates.io/rayon-core/1.12.1 \
|
||||
crate://crates.io/regex/1.10.4 \
|
||||
crate://crates.io/regex-automata/0.4.6 \
|
||||
crate://crates.io/regex-syntax/0.8.3 \
|
||||
crate://crates.io/rust-ini/0.21.0 \
|
||||
crate://crates.io/rustix/0.38.37 \
|
||||
crate://crates.io/self_cell/1.0.4 \
|
||||
crate://crates.io/serde/1.0.202 \
|
||||
crate://crates.io/serde_derive/1.0.202 \
|
||||
crate://crates.io/similar/2.6.0 \
|
||||
crate://crates.io/strsim/0.11.1 \
|
||||
crate://crates.io/syn/2.0.65 \
|
||||
crate://crates.io/tempfile/3.13.0 \
|
||||
crate://crates.io/terminal_size/0.3.0 \
|
||||
crate://crates.io/thiserror/1.0.61 \
|
||||
crate://crates.io/thiserror-impl/1.0.61 \
|
||||
crate://crates.io/tiny-keccak/2.0.2 \
|
||||
crate://crates.io/trim-in-place/0.1.7 \
|
||||
crate://crates.io/unicode-ident/1.0.12 \
|
||||
crate://crates.io/unicode-width/0.1.12 \
|
||||
crate://crates.io/utf8parse/0.2.1 \
|
||||
crate://crates.io/wasi/0.11.0+wasi-snapshot-preview1 \
|
||||
crate://crates.io/wasm-bindgen/0.2.92 \
|
||||
crate://crates.io/wasm-bindgen-backend/0.2.92 \
|
||||
crate://crates.io/wasm-bindgen-macro/0.2.92 \
|
||||
crate://crates.io/wasm-bindgen-macro-support/0.2.92 \
|
||||
crate://crates.io/wasm-bindgen-shared/0.2.92 \
|
||||
crate://crates.io/wild/2.2.1 \
|
||||
crate://crates.io/winapi-util/0.1.8 \
|
||||
crate://crates.io/windows-core/0.52.0 \
|
||||
crate://crates.io/windows-sys/0.48.0 \
|
||||
crate://crates.io/windows-sys/0.52.0 \
|
||||
crate://crates.io/windows-sys/0.59.0 \
|
||||
crate://crates.io/windows-targets/0.48.5 \
|
||||
crate://crates.io/windows-targets/0.52.6 \
|
||||
crate://crates.io/windows_aarch64_gnullvm/0.48.5 \
|
||||
crate://crates.io/windows_aarch64_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_aarch64_msvc/0.48.5 \
|
||||
crate://crates.io/windows_aarch64_msvc/0.52.6 \
|
||||
crate://crates.io/windows_i686_gnu/0.48.5 \
|
||||
crate://crates.io/windows_i686_gnu/0.52.6 \
|
||||
crate://crates.io/windows_i686_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_i686_msvc/0.48.5 \
|
||||
crate://crates.io/windows_i686_msvc/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_gnu/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_gnu/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_gnullvm/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_gnullvm/0.52.6 \
|
||||
crate://crates.io/windows_x86_64_msvc/0.48.5 \
|
||||
crate://crates.io/windows_x86_64_msvc/0.52.6 \
|
||||
"
|
||||
|
||||
SRC_URI[aho-corasick-1.1.3.sha256sum] = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
|
||||
SRC_URI[android-tzdata-0.1.1.sha256sum] = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
|
||||
SRC_URI[android_system_properties-0.1.5.sha256sum] = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
|
||||
SRC_URI[anstream-0.6.14.sha256sum] = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b"
|
||||
SRC_URI[anstyle-1.0.7.sha256sum] = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
|
||||
SRC_URI[anstyle-parse-0.2.4.sha256sum] = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4"
|
||||
SRC_URI[anstyle-query-1.0.3.sha256sum] = "a64c907d4e79225ac72e2a354c9ce84d50ebb4586dee56c82b3ee73004f537f5"
|
||||
SRC_URI[anstyle-wincon-3.0.3.sha256sum] = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19"
|
||||
SRC_URI[arbitrary-1.3.2.sha256sum] = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110"
|
||||
SRC_URI[autocfg-1.3.0.sha256sum] = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
|
||||
SRC_URI[bigdecimal-0.4.3.sha256sum] = "9324c8014cd04590682b34f1e9448d38f0674d0f7b2dc553331016ef0e4e9ebc"
|
||||
SRC_URI[binary-heap-plus-0.5.0.sha256sum] = "e4551d8382e911ecc0d0f0ffb602777988669be09447d536ff4388d1def11296"
|
||||
SRC_URI[bitflags-1.3.2.sha256sum] = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||
SRC_URI[bitflags-2.5.0.sha256sum] = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
|
||||
SRC_URI[bstr-1.9.1.sha256sum] = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
|
||||
SRC_URI[bumpalo-3.16.0.sha256sum] = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
|
||||
SRC_URI[bytecount-0.6.8.sha256sum] = "5ce89b21cab1437276d2650d57e971f9d548a2d9037cc231abdc0562b97498ce"
|
||||
SRC_URI[cc-1.0.98.sha256sum] = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f"
|
||||
SRC_URI[cfg-if-1.0.0.sha256sum] = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
SRC_URI[cfg_aliases-0.1.1.sha256sum] = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
|
||||
SRC_URI[cfg_aliases-0.2.1.sha256sum] = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
SRC_URI[chrono-0.4.38.sha256sum] = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
|
||||
SRC_URI[clap-4.5.4.sha256sum] = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
|
||||
SRC_URI[clap_builder-4.5.2.sha256sum] = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
|
||||
SRC_URI[clap_lex-0.7.0.sha256sum] = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
|
||||
SRC_URI[colorchoice-1.0.1.sha256sum] = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422"
|
||||
SRC_URI[compare-0.1.0.sha256sum] = "120133d4db2ec47efe2e26502ee984747630c67f51974fca0b6c1340cf2368d3"
|
||||
SRC_URI[const-random-0.1.18.sha256sum] = "87e00182fe74b066627d63b85fd550ac2998d4b0bd86bfed477a0ae4c7c71359"
|
||||
SRC_URI[const-random-macro-0.1.16.sha256sum] = "f9d839f2a20b0aee515dc581a6172f2321f96cab76c1a38a4c584a194955390e"
|
||||
SRC_URI[core-foundation-sys-0.8.6.sha256sum] = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
||||
SRC_URI[crossbeam-deque-0.8.5.sha256sum] = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d"
|
||||
SRC_URI[crossbeam-epoch-0.9.18.sha256sum] = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e"
|
||||
SRC_URI[crossbeam-utils-0.8.20.sha256sum] = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80"
|
||||
SRC_URI[crunchy-0.2.2.sha256sum] = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
|
||||
SRC_URI[ctrlc-3.4.4.sha256sum] = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
|
||||
SRC_URI[dlv-list-0.5.2.sha256sum] = "442039f5147480ba31067cb00ada1adae6892028e40e45fc5de7b7df6dcc1b5f"
|
||||
SRC_URI[dunce-1.0.4.sha256sum] = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b"
|
||||
SRC_URI[either-1.12.0.sha256sum] = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b"
|
||||
SRC_URI[errno-0.3.9.sha256sum] = "534c5cf6194dfab3db3242765c03bbe257cf92f22b38f6bc0c58d59108a820ba"
|
||||
SRC_URI[fastrand-2.1.1.sha256sum] = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6"
|
||||
SRC_URI[fnv-1.0.7.sha256sum] = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
|
||||
SRC_URI[getrandom-0.2.15.sha256sum] = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
|
||||
SRC_URI[glob-0.3.1.sha256sum] = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
|
||||
SRC_URI[hashbrown-0.14.5.sha256sum] = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
|
||||
SRC_URI[iana-time-zone-0.1.60.sha256sum] = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
|
||||
SRC_URI[iana-time-zone-haiku-0.1.2.sha256sum] = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
|
||||
SRC_URI[is_terminal_polyfill-1.70.0.sha256sum] = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800"
|
||||
SRC_URI[itertools-0.13.0.sha256sum] = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
|
||||
SRC_URI[jobserver-0.1.31.sha256sum] = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
|
||||
SRC_URI[js-sys-0.3.69.sha256sum] = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
|
||||
SRC_URI[libc-0.2.161.sha256sum] = "8e9489c2807c139ffd9c1794f4af0ebe86a828db53ecdc7fea2111d0fed085d1"
|
||||
SRC_URI[libfuzzer-sys-0.4.7.sha256sum] = "a96cfd5557eb82f2b83fed4955246c988d331975a002961b07c81584d107e7f7"
|
||||
SRC_URI[libm-0.2.8.sha256sum] = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
|
||||
SRC_URI[linux-raw-sys-0.4.14.sha256sum] = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89"
|
||||
SRC_URI[log-0.4.21.sha256sum] = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
|
||||
SRC_URI[memchr-2.7.2.sha256sum] = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
|
||||
SRC_URI[minimal-lexical-0.2.1.sha256sum] = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
||||
SRC_URI[nix-0.28.0.sha256sum] = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
|
||||
SRC_URI[nix-0.29.0.sha256sum] = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
|
||||
SRC_URI[nom-7.1.3.sha256sum] = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
|
||||
SRC_URI[num-bigint-0.4.5.sha256sum] = "c165a9ab64cf766f73521c0dd2cfdff64f488b8f0b3e621face3462d3db536d7"
|
||||
SRC_URI[num-integer-0.1.46.sha256sum] = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f"
|
||||
SRC_URI[num-traits-0.2.19.sha256sum] = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841"
|
||||
SRC_URI[number_prefix-0.4.0.sha256sum] = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
|
||||
SRC_URI[once_cell-1.19.0.sha256sum] = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
|
||||
SRC_URI[onig-6.4.0.sha256sum] = "8c4b31c8722ad9171c6d77d3557db078cab2bd50afcc9d09c8b315c59df8ca4f"
|
||||
SRC_URI[onig_sys-69.8.1.sha256sum] = "7b829e3d7e9cc74c7e315ee8edb185bf4190da5acde74afd7fc59c35b1f086e7"
|
||||
SRC_URI[ordered-multimap-0.7.3.sha256sum] = "49203cdcae0030493bad186b28da2fa25645fa276a51b6fec8010d281e02ef79"
|
||||
SRC_URI[os_display-0.1.3.sha256sum] = "7a6229bad892b46b0dcfaaeb18ad0d2e56400f5aaea05b768bde96e73676cf75"
|
||||
SRC_URI[parse_datetime-0.6.0.sha256sum] = "a8720474e3dd4af20cea8716703498b9f3b690f318fa9d9d9e2e38eaf44b96d0"
|
||||
SRC_URI[pkg-config-0.3.30.sha256sum] = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
|
||||
SRC_URI[ppv-lite86-0.2.17.sha256sum] = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
|
||||
SRC_URI[proc-macro2-1.0.83.sha256sum] = "0b33eb56c327dec362a9e55b3ad14f9d2f0904fb5a5b03b513ab5465399e9f43"
|
||||
SRC_URI[quote-1.0.36.sha256sum] = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
|
||||
SRC_URI[rand-0.8.5.sha256sum] = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
|
||||
SRC_URI[rand_chacha-0.3.1.sha256sum] = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
|
||||
SRC_URI[rand_core-0.6.4.sha256sum] = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
|
||||
SRC_URI[rayon-1.10.0.sha256sum] = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa"
|
||||
SRC_URI[rayon-core-1.12.1.sha256sum] = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2"
|
||||
SRC_URI[regex-1.10.4.sha256sum] = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
|
||||
SRC_URI[regex-automata-0.4.6.sha256sum] = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
|
||||
SRC_URI[regex-syntax-0.8.3.sha256sum] = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
|
||||
SRC_URI[rust-ini-0.21.0.sha256sum] = "0d625ed57d8f49af6cfa514c42e1a71fadcff60eb0b1c517ff82fe41aa025b41"
|
||||
SRC_URI[rustix-0.38.37.sha256sum] = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
|
||||
SRC_URI[self_cell-1.0.4.sha256sum] = "d369a96f978623eb3dc28807c4852d6cc617fed53da5d3c400feff1ef34a714a"
|
||||
SRC_URI[serde-1.0.202.sha256sum] = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395"
|
||||
SRC_URI[serde_derive-1.0.202.sha256sum] = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838"
|
||||
SRC_URI[similar-2.6.0.sha256sum] = "1de1d4f81173b03af4c0cbed3c898f6bff5b870e4a7f5d6f4057d62a7a4b686e"
|
||||
SRC_URI[strsim-0.11.1.sha256sum] = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
|
||||
SRC_URI[syn-2.0.65.sha256sum] = "d2863d96a84c6439701d7a38f9de935ec562c8832cc55d1dde0f513b52fad106"
|
||||
SRC_URI[tempfile-3.13.0.sha256sum] = "f0f2c9fc62d0beef6951ccffd757e241266a2c833136efbe35af6cd2567dca5b"
|
||||
SRC_URI[terminal_size-0.3.0.sha256sum] = "21bebf2b7c9e0a515f6e0f8c51dc0f8e4696391e6f1ff30379559f8365fb0df7"
|
||||
SRC_URI[thiserror-1.0.61.sha256sum] = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709"
|
||||
SRC_URI[thiserror-impl-1.0.61.sha256sum] = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533"
|
||||
SRC_URI[tiny-keccak-2.0.2.sha256sum] = "2c9d3793400a45f954c52e73d068316d76b6f4e36977e3fcebb13a2721e80237"
|
||||
SRC_URI[trim-in-place-0.1.7.sha256sum] = "343e926fc669bc8cde4fa3129ab681c63671bae288b1f1081ceee6d9d37904fc"
|
||||
SRC_URI[unicode-ident-1.0.12.sha256sum] = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
SRC_URI[unicode-width-0.1.12.sha256sum] = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6"
|
||||
SRC_URI[utf8parse-0.2.1.sha256sum] = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
|
||||
SRC_URI[wasi-0.11.0+wasi-snapshot-preview1.sha256sum] = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
SRC_URI[wasm-bindgen-0.2.92.sha256sum] = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
|
||||
SRC_URI[wasm-bindgen-backend-0.2.92.sha256sum] = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
|
||||
SRC_URI[wasm-bindgen-macro-0.2.92.sha256sum] = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
|
||||
SRC_URI[wasm-bindgen-macro-support-0.2.92.sha256sum] = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
||||
SRC_URI[wasm-bindgen-shared-0.2.92.sha256sum] = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
|
||||
SRC_URI[wild-2.2.1.sha256sum] = "a3131afc8c575281e1e80f36ed6a092aa502c08b18ed7524e86fbbb12bb410e1"
|
||||
SRC_URI[winapi-util-0.1.8.sha256sum] = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
|
||||
SRC_URI[windows-core-0.52.0.sha256sum] = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
|
||||
SRC_URI[windows-sys-0.48.0.sha256sum] = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
|
||||
SRC_URI[windows-sys-0.52.0.sha256sum] = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
||||
SRC_URI[windows-sys-0.59.0.sha256sum] = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
|
||||
SRC_URI[windows-targets-0.48.5.sha256sum] = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
||||
SRC_URI[windows-targets-0.52.6.sha256sum] = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
||||
SRC_URI[windows_aarch64_gnullvm-0.48.5.sha256sum] = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
||||
SRC_URI[windows_aarch64_gnullvm-0.52.6.sha256sum] = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
||||
SRC_URI[windows_aarch64_msvc-0.48.5.sha256sum] = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
||||
SRC_URI[windows_aarch64_msvc-0.52.6.sha256sum] = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
||||
SRC_URI[windows_i686_gnu-0.48.5.sha256sum] = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
||||
SRC_URI[windows_i686_gnu-0.52.6.sha256sum] = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
|
||||
SRC_URI[windows_i686_gnullvm-0.52.6.sha256sum] = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
||||
SRC_URI[windows_i686_msvc-0.48.5.sha256sum] = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
||||
SRC_URI[windows_i686_msvc-0.52.6.sha256sum] = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
||||
SRC_URI[windows_x86_64_gnu-0.48.5.sha256sum] = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
||||
SRC_URI[windows_x86_64_gnu-0.52.6.sha256sum] = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
||||
SRC_URI[windows_x86_64_gnullvm-0.48.5.sha256sum] = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
||||
SRC_URI[windows_x86_64_gnullvm-0.52.6.sha256sum] = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
||||
SRC_URI[windows_x86_64_msvc-0.48.5.sha256sum] = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
||||
SRC_URI[windows_x86_64_msvc-0.52.6.sha256sum] = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
|
||||
@@ -0,0 +1,74 @@
|
||||
# Copyright (c) 2022, Snap Inc.
|
||||
# Released under the MIT license (see COPYING.MIT for the terms)
|
||||
SUMMARY = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust"
|
||||
HOMEPAGE = "https://github.com/uutils/coreutils"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e74349878141b240070458d414ab3b64"
|
||||
|
||||
inherit cargo cargo-update-recipe-crates
|
||||
|
||||
SRC_URI += "git://github.com/uutils/coreutils.git;protocol=https;branch=main \
|
||||
file://0001-Cargo.lock-revert-to-selinux-sys-0.6.9-and-fts-sys-0.patch"
|
||||
|
||||
# musl not supported because the libc crate does not support functions like "endutxent" at the moment,
|
||||
# so src/uucore/src/lib/features.rs disables utmpx when targetting musl.
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
SRCREV = "1d9e1626377cbaea3b21842a3525a62ba60f905f"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
require ${BPN}-crates.inc
|
||||
|
||||
PROVIDES = "coreutils"
|
||||
RPROVIDES:${PN} = "coreutils"
|
||||
|
||||
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)}"
|
||||
|
||||
PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
|
||||
|
||||
CARGO_BUILD_FLAGS += "--features unix"
|
||||
CARGO_BUILD_FLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', '--features feat_selinux', '', d)}"
|
||||
|
||||
DEPENDS += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'clang-native libselinux-native', '', d)}"
|
||||
|
||||
export LIBCLANG_PATH = "${WORKDIR}/recipe-sysroot-native${libdir}"
|
||||
export SELINUX_LIB_DIR = "${WORKDIR}/recipe-sysroot-native${libdir}"
|
||||
export SELINUX_INCLUDE_DIR = "${WORKDIR}/recipe-sysroot-native${includedir}"
|
||||
|
||||
# The code which follows is strongly inspired from the GNU coreutils bitbake recipe:
|
||||
|
||||
# [ df mktemp nice printenv base64 gets a special treatment and is not included in this
|
||||
bindir_progs = "[ arch basename cksum comm csplit cut dir dircolors dirname du \
|
||||
env expand expr factor fmt fold groups head hostid id install \
|
||||
join link logname md5sum mkfifo nl nohup nproc od paste pathchk \
|
||||
pinky pr printf ptx readlink realpath seq sha1sum sha224sum sha256sum \
|
||||
sha384sum sha512sum shred shuf sort split sum tac tail tee test timeout \
|
||||
tr truncate tsort tty unexpand uniq unlink uptime users vdir wc who whoami yes"
|
||||
|
||||
bindir_progs += "${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'chcon runcon', '', d)}"
|
||||
|
||||
base_bindir_progs = "cat chgrp chmod chown cp date dd echo false hostname kill ln ls mkdir \
|
||||
mknod mv pwd rm rmdir sleep stty sync touch true uname stat"
|
||||
|
||||
sbindir_progs= "chroot"
|
||||
|
||||
inherit update-alternatives
|
||||
|
||||
# Higher than busybox (which uses 50)
|
||||
ALTERNATIVE_PRIORITY = "100"
|
||||
|
||||
# Higher than net-tools (which uses 100)
|
||||
ALTERNATIVE_PRIORITY[hostname] = "110"
|
||||
|
||||
ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${sbindir_progs} base32 base64 nice printenv mktemp df"
|
||||
|
||||
# Use the multicall binary named "coreutils" for symlinks
|
||||
ALTERNATIVE_TARGET = "${bindir}/coreutils"
|
||||
|
||||
python __anonymous() {
|
||||
for prog in d.getVar('base_bindir_progs').split():
|
||||
d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
|
||||
|
||||
for prog in d.getVar('sbindir_progs').split():
|
||||
d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('sbindir'), prog))
|
||||
}
|
||||
Reference in New Issue
Block a user