diff options
Diffstat (limited to 'pkgs/os-specific')
33 files changed, 213 insertions, 331 deletions
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix index 48c423c989299..0c959695d7795 100644 --- a/pkgs/os-specific/darwin/apple-sdk/default.nix +++ b/pkgs/os-specific/darwin/apple-sdk/default.nix @@ -1,6 +1,9 @@ -{ stdenv, fetchurl, xar, cpio, pkgs, python3, pbzx, lib, darwin-stubs, print-reexports }: +{ stdenv, fetchurl, libxml2, xar, cpio, pkgs, python3Minimal, pbzx, lib, darwin-stubs, print-reexports }: let + xarMinimal = xar.override { + libxml2 = libxml2.override { pythonSupport = false; }; + }; # sadly needs to be exported because security_tool needs it sdk = stdenv.mkDerivation rec { pname = "MacOS_SDK"; @@ -16,7 +19,7 @@ let sha256 = "13xq34sb7383b37hwy076gnhf96prpk1b4087p87xnwswxbrisih"; }; - nativeBuildInputs = [ xar cpio python3 pbzx ]; + nativeBuildInputs = [ xarMinimal cpio python3Minimal pbzx ]; outputs = [ "out" "dev" "man" ]; diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix index 37830c0665e12..d17db5a345a89 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix @@ -1,67 +1,32 @@ -{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security +{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, xpc, ppp, IOKit, eap8021x, Security , headersOnly ? false }: appleDerivation' stdenv { meta.broken = stdenv.cc.nativeLibc; nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ]; - buildInputs = lib.optionals (!headersOnly) [ launchd ppp IOKit eap8021x ]; + buildInputs = lib.optionals (!headersOnly) [ launchd ppp xpc IOKit eap8021x ]; propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ]; - patchPhase = lib.optionalString (!headersOnly) '' - HACK=$PWD/hack - mkdir $HACK - cp -r ${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/net $HACK - + env = lib.optionalAttrs (!headersOnly) { + NIX_CFLAGS_COMPILE = toString [ + "-ISystemConfiguration.framework/Headers" + "-I${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders" + ]; + }; - substituteInPlace SystemConfiguration.fproj/SCNetworkReachabilityInternal.h \ - --replace '#include <xpc/xpc.h>' "" + patchPhase = lib.optionalString (!headersOnly) '' + substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \ + --replace '#include <xpc/private.h>' "" substituteInPlace SystemConfiguration.fproj/SCNetworkReachability.c \ --replace ''$'#define\tHAVE_VPN_STATUS' "" - substituteInPlace SystemConfiguration.fproj/reachability/SCNetworkReachabilityServer_client.c \ - --replace '#include <xpc/xpc.h>' '#include "fake_xpc.h"' \ - --replace '#include <xpc/private.h>' "" \ - # Our neutered CoreFoundation doesn't have this function, but I think we'll live... substituteInPlace SystemConfiguration.fproj/SCNetworkConnectionPrivate.c \ --replace 'CFPreferencesAppValueIsForced(serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' \ --replace 'CFPreferencesAppValueIsForced(userPrivate->serviceID, USER_PREFERENCES_APPLICATION_ID)' 'FALSE' - - cat >SystemConfiguration.fproj/fake_xpc.h <<EOF - typedef void *xpc_type_t; - typedef void *xpc_object_t; - typedef void *xpc_connection_t; - - xpc_type_t xpc_get_type(xpc_object_t object); - xpc_object_t xpc_dictionary_create(const char * const *keys, const xpc_object_t *values, size_t count); - char *xpc_copy_description(xpc_object_t object); - int64_t xpc_dictionary_get_int64(xpc_object_t xdict, const char *key); - uint64_t xpc_dictionary_get_uint64(xpc_object_t xdict, const char *key); - void xpc_connection_set_event_handler(xpc_connection_t connection, void *handler); - - extern const struct _xpc_type_s _xpc_type_error; - #define XPC_TYPE_ERROR (&_xpc_type_error) - - extern const struct _xpc_type_s _xpc_type_dictionary; - #define XPC_TYPE_DICTIONARY (&_xpc_type_dictionary) - - extern const struct _xpc_type_s _xpc_type_array; - #define XPC_TYPE_ARRAY (&_xpc_type_array) - - extern const struct _xpc_dictionary_s _xpc_error_connection_interrupted; - #define XPC_ERROR_CONNECTION_INTERRUPTED (&_xpc_error_connection_interrupted) - - extern const struct _xpc_dictionary_s _xpc_error_connection_invalid; - #define XPC_ERROR_CONNECTION_INVALID (&_xpc_error_connection_invalid) - - extern const char *const _xpc_error_key_description; - #define XPC_ERROR_KEY_DESCRIPTION _xpc_error_key_description - - #define XPC_CONNECTION_MACH_SERVICE_PRIVILEGED (1 << 1) - EOF ''; dontBuild = headersOnly; @@ -177,9 +142,9 @@ appleDerivation' stdenv { $CC -I. -Ihelper -Iderived -F. -c DHCP.c -o DHCP.o $CC -I. -Ihelper -Iderived -F. -c moh.c -o moh.o $CC -I. -Ihelper -Iderived -F. -c DeviceOnHold.c -o DeviceOnHold.o - $CC -I. -Ihelper -Iderived -I $HACK -F. -c LinkConfiguration.c -o LinkConfiguration.o + $CC -I. -Ihelper -Iderived -F. -c LinkConfiguration.c -o LinkConfiguration.o $CC -I. -Ihelper -Iderived -F. -c dy_framework.c -o dy_framework.o - $CC -I. -Ihelper -Iderived -I $HACK -F. -c VLANConfiguration.c -o VLANConfiguration.o + $CC -I. -Ihelper -Iderived -F. -c VLANConfiguration.c -o VLANConfiguration.o $CC -I. -Ihelper -Iderived -F. -c derived/configUser.c -o configUser.o $CC -I. -Ihelper -Iderived -F. -c SCPreferencesPathKey.c -o SCPreferencesPathKey.o $CC -I. -Ihelper -Iderived -I../dnsinfo -F. -c derived/shared_dns_infoUser.c -o shared_dns_infoUser.o @@ -188,8 +153,8 @@ appleDerivation' stdenv { $CC -I. -Ihelper -Iderived -F. -c SCNetworkProtocol.c -o SCNetworkProtocol.o $CC -I. -Ihelper -Iderived -F. -c SCNetworkService.c -o SCNetworkService.o $CC -I. -Ihelper -Iderived -F. -c SCNetworkSet.c -o SCNetworkSet.o - $CC -I. -Ihelper -Iderived -I $HACK -F. -c BondConfiguration.c -o BondConfiguration.o - $CC -I. -Ihelper -Iderived -I $HACK -F. -c BridgeConfiguration.c -o BridgeConfiguration.o + $CC -I. -Ihelper -Iderived -F. -c BondConfiguration.c -o BondConfiguration.o + $CC -I. -Ihelper -Iderived -F. -c BridgeConfiguration.c -o BridgeConfiguration.o $CC -I. -Ihelper -Iderived -F. -c helper/SCHelper_client.c -o SCHelper_client.o $CC -I. -Ihelper -Iderived -F. -c SCPreferencesKeychainPrivate.c -o SCPreferencesKeychainPrivate.o $CC -I. -Ihelper -Iderived -F. -c SCNetworkSignature.c -o SCNetworkSignature.o diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix index ba0e5b3b78b9c..40f3fd2478a56 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix @@ -248,6 +248,7 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // { CommonCrypto = applePackage "CommonCrypto" "osx-10.12.6" "sha256-FLgODBrfv+XsGaAjddncYAm/BIJJYw6LcwX/z7ncKFM=" {}; configd = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" { Security = applePackage "Security/boot.nix" "osx-10.9.5" "sha256-7qr0IamjCXCobIJ6V9KtvbMBkJDfRCy4C5eqpHJlQLI=" {}; + inherit (pkgs.darwin.apple_sdk.libs) xpc; }; copyfile = applePackage "copyfile" "osx-10.12.6" "sha256-uHqLFOIpXK+n0RHyOZzVsP2DDZcFDivKCnqHBaXvHns=" {}; Csu = applePackage "Csu" "osx-10.11.6" "sha256-h6a/sQMEVeFxKNWAPgKBXjWhyL2L2nvX9BQUMaTQ6sY=" {}; @@ -310,6 +311,7 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // { configdHeaders = applePackage "configd" "osx-10.8.5" "sha256-6I3FWNjTgds5abEcZrD++s9b+P9a2+qUf8KFAb72DwI=" { headersOnly = true; Security = null; + xpc = null; }; libutilHeaders = pkgs.darwin.libutil.override { headersOnly = true; }; hfsHeaders = pkgs.darwin.hfs.override { headersOnly = true; }; diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix index 0c40bc3b18688..f708d77409007 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/default.nix @@ -30,7 +30,12 @@ appleDerivation { "-DAU_SESSION_FLAG_HAS_AUTHENTICATED=0x4000" ] ++ lib.optional (!stdenv.isLinux) " -D__FreeBSD__ "); - patchPhase = '' + patches = [ + # Fix implicit declarations that cause builds to fail when built with clang 16. + ./fix-implicit-declarations.patch + ]; + + postPatch = '' substituteInPlace login.tproj/login.c \ --replace bsm/audit_session.h bsm/audit.h substituteInPlace login.tproj/login_audit.c \ diff --git a/pkgs/os-specific/darwin/apple-source-releases/system_cmds/fix-implicit-declarations.patch b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/fix-implicit-declarations.patch new file mode 100644 index 0000000000000..b08f54045724f --- /dev/null +++ b/pkgs/os-specific/darwin/apple-source-releases/system_cmds/fix-implicit-declarations.patch @@ -0,0 +1,48 @@ +diff -ur a/getty.tproj/main.c b/getty.tproj/main.c +--- a/getty.tproj/main.c 2008-06-10 14:50:19.000000000 -0400 ++++ b/getty.tproj/main.c 2023-05-31 18:06:40.121028558 -0400 +@@ -67,6 +67,7 @@ + #include <syslog.h> + #include <termios.h> + #include <time.h> ++#include <util.h> + #include <unistd.h> + + #ifdef __APPLE__ +@@ -152,7 +153,7 @@ + static void putpad(const char *); + static void puts(const char *); + static void timeoverrun(int); +-static char *getline(int); ++static char *get_line(int); + static void setttymode(int); + static int opentty(const char *, int); + +@@ -352,7 +353,7 @@ + if ((fd = open(IF, O_RDONLY)) != -1) { + char * cp; + +- while ((cp = getline(fd)) != NULL) { ++ while ((cp = get_line(fd)) != NULL) { + putf(cp); + } + close(fd); +@@ -744,7 +745,7 @@ + + + static char * +-getline(int fd) ++get_line(int fd) + { + int i = 0; + static char linebuf[512]; +--- a/newgrp.tproj/newgrp.c 2021-10-06 01:38:52.000000000 -0400 ++++ b/newgrp.tproj/newgrp.c 2023-05-31 22:26:50.656157841 -0400 +@@ -47,6 +47,7 @@ + #include <string.h> + #include <unistd.h> + #ifdef __APPLE__ ++#include <membership.h> + #include <paths.h> + #endif /* __APPLE__ */ + static void addgroup(const char *grpname); diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix index 7c48d695e11d1..1e7aeb3689ea9 100644 --- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix +++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix @@ -1,4 +1,4 @@ -{ lib, stdenv, fetchFromGitHub, fetchurl, ninja, python3, curl, libxml2, objc4, ICU }: +{ lib, stdenv, fetchFromGitHub, fetchurl, makeSetupHook, ninja, python3, curl, libxml2, objc4, ICU }: let # 10.12 adds a new sysdir.h that our version of CF in the main derivation depends on, but @@ -104,4 +104,6 @@ stdenv.mkDerivation { ln -s Versions/Current/$i $base/$i done ''; + + darwinEnvHook = makeSetupHook { name = "darwin-env-hook"; } ./pure-corefoundation-hook.sh; } diff --git a/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh b/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh new file mode 100644 index 0000000000000..d5539f50861a4 --- /dev/null +++ b/pkgs/os-specific/darwin/swift-corelibs/pure-corefoundation-hook.sh @@ -0,0 +1,7 @@ +usePureCoreFoundation() { +# Avoid overriding value set by the impure CF + if [ -z "${NIX_COREFOUNDATION_RPATH:-}" ]; then + export NIX_COREFOUNDATION_RPATH=@out@/Library/Frameworks + fi +} +addEnvHooks "$hostOffset" usePureCoreFoundation diff --git a/pkgs/os-specific/linux/cpuid/default.nix b/pkgs/os-specific/linux/cpuid/default.nix index 381576492af46..396baa4b98c18 100644 --- a/pkgs/os-specific/linux/cpuid/default.nix +++ b/pkgs/os-specific/linux/cpuid/default.nix @@ -6,11 +6,11 @@ stdenv.mkDerivation rec { pname = "cpuid"; - version = "20230505"; + version = "20230614"; src = fetchurl { url = "http://etallen.com/cpuid/${pname}-${version}.src.tar.gz"; - sha256 = "sha256-VdMEAM1rq5rPNZft/JpSeiWOOntcQMzJuLMrENPimzA="; + sha256 = "sha256-scgwRe/CYHYwd1HgZi1YAnf1+b+JzwJyMaeBIAPDpOg="; }; # For pod2man during the build process. diff --git a/pkgs/os-specific/linux/digimend/default.nix b/pkgs/os-specific/linux/digimend/default.nix index 8a4a852a47327..11756dcbe85cd 100644 --- a/pkgs/os-specific/linux/digimend/default.nix +++ b/pkgs/os-specific/linux/digimend/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "digimend"; - version = "10"; + version = "unstable-2023-05-03"; src = fetchFromGitHub { owner = "digimend"; repo = "digimend-kernel-drivers"; - rev = "v${version}"; - sha256 = "0lifd6cx6aa6hcms4zn4hlla3alra08r0svj5x1l8nlsv0ydnl6i"; + rev = "eca6e1b701bffb80a293234a485ebf6b4bc85562"; + hash = "sha256-0mjIUgHvbNcVQVzU3xzaloe5R41a4eknDhdhruJH+6c="; }; postPatch = '' diff --git a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch index cb33eb1c214cc..c5c0ebb00021e 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch +++ b/pkgs/os-specific/linux/firmware/fwupd/add-option-for-installation-sysconfdir.patch @@ -1,5 +1,5 @@ diff --git a/data/bios-settings.d/meson.build b/data/bios-settings.d/meson.build -index b0ff5b106..13ac380d0 100644 +index b0ff5b10..13ac380d 100644 --- a/data/bios-settings.d/meson.build +++ b/data/bios-settings.d/meson.build @@ -1,5 +1,5 @@ @@ -10,20 +10,20 @@ index b0ff5b106..13ac380d0 100644 ) endif diff --git a/data/meson.build b/data/meson.build -index 865b20e26..ff1c2657b 100644 +index 8999ee57..b57174dc 100644 --- a/data/meson.build +++ b/data/meson.build @@ -26,7 +26,7 @@ endif - + if build_standalone - install_data(['daemon.conf'], -- install_dir: join_paths(sysconfdir, 'fwupd') -+ install_dir: join_paths(sysconfdir_install, 'fwupd') + install_data(['fwupd.conf'], +- install_dir: join_paths(sysconfdir, 'fwupd'), ++ install_dir: join_paths(sysconfdir_install, 'fwupd'), + install_mode: 'rw-r-----', ) plugin_quirks += files([ - 'power.quirk', diff --git a/data/pki/meson.build b/data/pki/meson.build -index 3649fecea..c3462744b 100644 +index 3649fece..c3462744 100644 --- a/data/pki/meson.build +++ b/data/pki/meson.build @@ -12,13 +12,13 @@ install_data([ @@ -41,7 +41,7 @@ index 3649fecea..c3462744b 100644 + install_dir: join_paths(sysconfdir_install, 'pki', 'fwupd-metadata') ) endif - + @@ -26,11 +26,11 @@ if supported_pkcs7 install_data([ 'LVFS-CA.pem', @@ -57,7 +57,7 @@ index 3649fecea..c3462744b 100644 ) endif diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build -index c20a1a05e..87b1fa930 100644 +index c20a1a05..5354bac7 100644 --- a/data/remotes.d/meson.build +++ b/data/remotes.d/meson.build @@ -15,14 +15,14 @@ if build_standalone and get_option('lvfs') != 'false' @@ -77,7 +77,7 @@ index c20a1a05e..87b1fa930 100644 ) i18n.merge_file( input: 'lvfs.metainfo.xml', -@@ -54,12 +54,12 @@ configure_file( +@@ -56,12 +56,12 @@ configure_file( output: 'vendor.conf', configuration: con2, install: true, @@ -93,13 +93,13 @@ index c20a1a05e..87b1fa930 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) diff --git a/meson.build b/meson.build -index d3e08af43..30011f548 100644 +index fa7a5599..5b53a407 100644 --- a/meson.build +++ b/meson.build -@@ -193,6 +193,12 @@ endif +@@ -191,6 +191,12 @@ endif mandir = join_paths(prefix, get_option('mandir')) localedir = join_paths(prefix, get_option('localedir')) - + +if get_option('sysconfdir_install') != '' + sysconfdir_install = join_paths(prefix, get_option('sysconfdir_install')) +else @@ -109,8 +109,9 @@ index d3e08af43..30011f548 100644 diffcmd = find_program('diff') gio = dependency('gio-2.0', version: '>= 2.45.8') giounix = dependency('gio-unix-2.0', version: '>= 2.45.8', required: false) + diff --git a/meson_options.txt b/meson_options.txt -index 204690640..6fc7e8437 100644 +index 81d373f8..d214cf64 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,3 +1,4 @@ @@ -119,7 +120,7 @@ index 204690640..6fc7e8437 100644 option('consolekit', type : 'feature', description : 'ConsoleKit support', deprecated: {'true': 'enabled', 'false': 'disabled'}) option('static_analysis', type : 'boolean', value : false, description : 'enable GCC static analysis support') diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build -index 88c039f85..62a7691f3 100644 +index 88c039f8..62a7691f 100644 --- a/plugins/dell-esrt/meson.build +++ b/plugins/dell-esrt/meson.build @@ -27,6 +27,6 @@ configure_file( @@ -130,47 +131,8 @@ index 88c039f85..62a7691f3 100644 + install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'), ) endif -diff --git a/plugins/msr/meson.build b/plugins/msr/meson.build -index 23ec5ec82..b03826fc0 100644 ---- a/plugins/msr/meson.build -+++ b/plugins/msr/meson.build -@@ -10,7 +10,7 @@ install_data(['fwupd-msr.conf'], - endif - - install_data(['msr.conf'], -- install_dir: join_paths(sysconfdir, 'fwupd') -+ install_dir: join_paths(sysconfdir_install, 'fwupd') - ) - plugin_builtins += static_library('fu_plugin_msr', - sources: [ -diff --git a/plugins/redfish/meson.build b/plugins/redfish/meson.build -index 1e35b6ce9..33ca1447f 100644 ---- a/plugins/redfish/meson.build -+++ b/plugins/redfish/meson.build -@@ -35,7 +35,7 @@ plugin_builtin_redfish = static_library('fu_plugin_redfish', - plugin_builtins += plugin_builtin_redfish - - install_data(['redfish.conf'], -- install_dir: join_paths(sysconfdir, 'fwupd'), -+ install_dir: join_paths(sysconfdir_install, 'fwupd'), - install_mode: 'rw-r-----', - ) - -diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build -index 71d930e62..399fb5781 100644 ---- a/plugins/thunderbolt/meson.build -+++ b/plugins/thunderbolt/meson.build -@@ -19,7 +19,7 @@ plugin_builtin_thunderbolt = static_library('fu_plugin_thunderbolt', - plugin_builtins += plugin_builtin_thunderbolt - - install_data(['thunderbolt.conf'], -- install_dir: join_paths(sysconfdir, 'fwupd') -+ install_dir: join_paths(sysconfdir_install, 'fwupd') - ) - # we use functions from 2.52 in the tests - if get_option('tests') and run_sanitize_unsafe_tests and umockdev.found() and gio.version().version_compare('>= 2.52') diff --git a/plugins/uefi-capsule/meson.build b/plugins/uefi-capsule/meson.build -index b4b038313..9c5407c3f 100644 +index f4657a6a..28ca0653 100644 --- a/plugins/uefi-capsule/meson.build +++ b/plugins/uefi-capsule/meson.build @@ -20,7 +20,7 @@ if host_machine.system() == 'linux' @@ -182,12 +144,5 @@ index b4b038313..9c5407c3f 100644 ) elif host_machine.system() == 'freebsd' backend_srcs += 'fu-uefi-backend-freebsd.c' -@@ -87,7 +87,7 @@ if get_option('compat_cli') and get_option('man') - endif - - install_data(['uefi_capsule.conf'], -- install_dir: join_paths(sysconfdir, 'fwupd') -+ install_dir: join_paths(sysconfdir_install, 'fwupd') - ) - - # add all the .po files as inputs to watch +-- +2.40.1 diff --git a/pkgs/os-specific/linux/firmware/fwupd/default.nix b/pkgs/os-specific/linux/firmware/fwupd/default.nix index 6ad4928cd8d00..dafde7d7cac1a 100644 --- a/pkgs/os-specific/linux/firmware/fwupd/default.nix +++ b/pkgs/os-specific/linux/firmware/fwupd/default.nix @@ -58,6 +58,7 @@ let python = python3.withPackages (p: with p; [ + jinja2 pygobject3 setuptools ]); @@ -122,7 +123,7 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "fwupd"; - version = "1.8.15"; + version = "1.9.2"; # libfwupd goes to lib # daemon, plug-ins and libfwupdplugin go to out @@ -133,7 +134,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "fwupd"; repo = "fwupd"; rev = finalAttrs.version; - hash = "sha256-M7uCT8xJ6ym0X6iAgT3rM2ki0T6QgLJWlFU39aC64o4="; + hash = "sha256-ESBTT7KO4WZKS5ArXZI0pxQpfFK4h4HbClaITm5bxfU="; }; patches = [ @@ -261,6 +262,7 @@ stdenv.mkDerivation (finalAttrs: { postPatch = '' patchShebangs \ contrib/generate-version-script.py \ + contrib/generate-man.py \ po/test-deps substituteInPlace data/installed-tests/fwupdmgr-p2p.sh \ @@ -337,12 +339,11 @@ stdenv.mkDerivation (finalAttrs: { passthru = { filesInstalledToEtc = [ "fwupd/bios-settings.d/README.md" - "fwupd/daemon.conf" + "fwupd/fwupd.conf" "fwupd/remotes.d/lvfs-testing.conf" "fwupd/remotes.d/lvfs.conf" "fwupd/remotes.d/vendor.conf" "fwupd/remotes.d/vendor-directory.conf" - "fwupd/uefi_capsule.conf" "pki/fwupd/GPG-KEY-Linux-Foundation-Firmware" "pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service" "pki/fwupd/LVFS-CA.pem" @@ -352,12 +353,6 @@ stdenv.mkDerivation (finalAttrs: { "grub.d/35_fwupd" ] ++ lib.optionals haveDell [ "fwupd/remotes.d/dell-esrt.conf" - ] ++ lib.optionals haveRedfish [ - "fwupd/redfish.conf" - ] ++ lib.optionals haveMSR [ - "fwupd/msr.conf" - ] ++ lib.optionals isx86 [ - "fwupd/thunderbolt.conf" ]; # DisabledPlugins key in fwupd/daemon.conf @@ -392,7 +387,7 @@ stdenv.mkDerivation (finalAttrs: { assert len(passthru_etc - package_etc) == 0, f'fwupd package lists the following paths in passthru.filesInstalledToEtc that are not contained in /etc: {passthru_etc - package_etc}' config = configparser.RawConfigParser() - config.read('${finalAttrs.finalPackage}/etc/fwupd/daemon.conf') + config.read('${finalAttrs.finalPackage}/etc/fwupd/fwupd.conf') package_disabled_plugins = config.get('fwupd', 'DisabledPlugins').rstrip(';').split(';') passthru_disabled_plugins = ${listToPy finalAttrs.passthru.defaultDisabledPlugins} assert package_disabled_plugins == passthru_disabled_plugins, f'Default disabled plug-ins in the package {package_disabled_plugins} do not match those listed in passthru.defaultDisabledPlugins {passthru_disabled_plugins}' diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index f4290352c93da..fc7da8fe9baa5 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -23,7 +23,9 @@ stdenv.mkDerivation rec { sha256 = "sha256-zN9FI4emOAlz0pJzY+nLuTn6IGiRWm+Tf/nSRSICRoM="; }; - outputs = [ "out" "dev" ]; + # vlock is moved into its own output, since it depends on pam. This + # reduces closure size for most use cases. + outputs = [ "out" "vlock" "dev" ]; configureFlags = [ "--enable-optional-progs" @@ -55,6 +57,12 @@ stdenv.mkDerivation rec { --replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \ --replace 'xz ' '${xz.bin}/bin/xz ' \ --replace 'zstd ' '${zstd.bin}/bin/zstd ' + + sed -i ' + 1i prefix:=$(vlock) + 1i bindir := $(vlock)/bin' \ + src/vlock/Makefile.in \ + src/vlock/Makefile.am ''; postInstall = '' diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 04f6cfc70ad33..6605213490539 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -130,8 +130,6 @@ let # e.g. "defconfig" kernelBaseConfig = if defconfig != null then defconfig else stdenv.hostPlatform.linux-kernel.baseConfig or "defconfig"; - # e.g. "bzImage" - kernelTarget = stdenv.hostPlatform.linux-kernel.target or "vmlinux"; makeFlags = lib.optionals (stdenv.hostPlatform.linux-kernel ? makeFlags) stdenv.hostPlatform.linux-kernel.makeFlags ++ extraMakeFlags; diff --git a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch index c0d38c60202c2..08499a228344c 100644 --- a/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch +++ b/pkgs/os-specific/linux/systemd/0003-Fix-NixOS-containers.patch @@ -10,10 +10,10 @@ container, so checking early whether it exists will fail. 1 file changed, 2 insertions(+) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index a697ea5cb9..65d9e7e398 100644 +index 3dabe12672..e5aa4feb1e 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -5635,6 +5635,7 @@ static int run(int argc, char *argv[]) { +@@ -5638,6 +5638,7 @@ static int run(int argc, char *argv[]) { goto finish; } } else { @@ -21,7 +21,7 @@ index a697ea5cb9..65d9e7e398 100644 _cleanup_free_ char *p = NULL; if (arg_pivot_root_new) -@@ -5649,6 +5650,7 @@ static int run(int argc, char *argv[]) { +@@ -5652,6 +5653,7 @@ static int run(int argc, char *argv[]) { "Directory %s doesn't look like it has an OS tree (/usr/ directory is missing). Refusing.", arg_directory); goto finish; } diff --git a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch b/pkgs/os-specific/linux/systemd/0004-Add-some-NixOS-specific-unit-directories.patch index b4a0da30c8f61..b4a0da30c8f61 100644 --- a/pkgs/os-specific/linux/systemd/0005-Add-some-NixOS-specific-unit-directories.patch +++ b/pkgs/os-specific/linux/systemd/0004-Add-some-NixOS-specific-unit-directories.patch diff --git a/pkgs/os-specific/linux/systemd/0004-fsck-look-for-fsck-binary-not-just-in-sbin.patch b/pkgs/os-specific/linux/systemd/0004-fsck-look-for-fsck-binary-not-just-in-sbin.patch deleted file mode 100644 index 617cef50cc3c6..0000000000000 --- a/pkgs/os-specific/linux/systemd/0004-fsck-look-for-fsck-binary-not-just-in-sbin.patch +++ /dev/null @@ -1,152 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Florian Klink <flokli@flokli.de> -Date: Thu, 13 Apr 2023 22:54:54 +0200 -Subject: [PATCH] fsck: look for fsck binary not just in /sbin - -This removes remaining hardcoded occurences of `/sbin/fsck`, and instead -uses `find_executable` to find `fsck`. - -We also use `fsck_exists_for_fstype` to check for the `fsck.*` -executable, which also checks in `$PATH`, so it's fair to assume fsck -itself is also available. ---- - man/systemd-fsck@.service.xml | 8 ++++---- - src/fsck/fsck.c | 9 ++++++++- - src/home/homework-luks.c | 11 ++++++++++- - src/shared/dissect-image.c | 13 +++++++++++-- - 4 files changed, 33 insertions(+), 8 deletions(-) - -diff --git a/man/systemd-fsck@.service.xml b/man/systemd-fsck@.service.xml -index e928aebdb3..403286829e 100644 ---- a/man/systemd-fsck@.service.xml -+++ b/man/systemd-fsck@.service.xml -@@ -51,17 +51,17 @@ - <para><filename>systemd-fsck</filename> does not know any details - about specific filesystems, and simply executes file system - checkers specific to each filesystem type -- (<filename>/sbin/fsck.<replaceable>type</replaceable></filename>). These checkers will decide if -+ (<filename>fsck.<replaceable>type</replaceable></filename>). These checkers will decide if - the filesystem should actually be checked based on the time since - last check, number of mounts, unclean unmount, etc.</para> - - <para><filename>systemd-fsck-root.service</filename> and <filename>systemd-fsck-usr.service</filename> -- will activate <filename>reboot.target</filename> if <filename>/sbin/fsck</filename> returns the "System -- should reboot" condition, or <filename>emergency.target</filename> if <filename>/sbin/fsck</filename> -+ will activate <filename>reboot.target</filename> if <filename>fsck</filename> returns the "System -+ should reboot" condition, or <filename>emergency.target</filename> if <filename>fsck</filename> - returns the "Filesystem errors left uncorrected" condition.</para> - - <para><filename>systemd-fsck@.service</filename> will fail if -- <filename>/sbin/fsck</filename> returns with either "System should reboot" -+ <filename>fsck</filename> returns with either "System should reboot" - or "Filesystem errors left uncorrected" conditions. For filesystems - listed in <filename>/etc/fstab</filename> without <literal>nofail</literal> - or <literal>noauto</literal> options, <literal>local-fs.target</literal> -diff --git a/src/fsck/fsck.c b/src/fsck/fsck.c -index e25c5d5efa..0e0e73c9ac 100644 ---- a/src/fsck/fsck.c -+++ b/src/fsck/fsck.c -@@ -351,6 +351,7 @@ static int run(int argc, char *argv[]) { - if (r == 0) { - char dash_c[STRLEN("-C") + DECIMAL_STR_MAX(int) + 1]; - int progress_socket = -1; -+ _cleanup_free_ char *fsck_path = NULL; - const char *cmdline[9]; - int i = 0; - -@@ -371,7 +372,13 @@ static int run(int argc, char *argv[]) { - } else - dash_c[0] = 0; - -- cmdline[i++] = "/sbin/fsck"; -+ r = find_executable("fsck", &fsck_path); -+ if (r < 0) { -+ log_error_errno(r, "Cannot find fsck binary: %m"); -+ _exit(FSCK_OPERATIONAL_ERROR); -+ } -+ -+ cmdline[i++] = fsck_path; - cmdline[i++] = arg_repair; - cmdline[i++] = "-T"; - -diff --git a/src/home/homework-luks.c b/src/home/homework-luks.c -index 2ea9887853..e267457b8e 100644 ---- a/src/home/homework-luks.c -+++ b/src/home/homework-luks.c -@@ -215,6 +215,7 @@ static int block_get_size_by_path(const char *path, uint64_t *ret) { - static int run_fsck(const char *node, const char *fstype) { - int r, exit_status; - pid_t fsck_pid; -+ _cleanup_free_ char *fsck_path = NULL; - - assert(node); - assert(fstype); -@@ -227,6 +228,14 @@ static int run_fsck(const char *node, const char *fstype) { - return 0; - } - -+ r = find_executable("fsck", &fsck_path); -+ /* We proceed anyway if we can't determine whether the fsck -+ * binary for some specific fstype exists, -+ * but the lack of the main fsck binary should be considered -+ * an error. */ -+ if (r < 0) -+ return log_error_errno(r, "Cannot find fsck binary: %m"); -+ - r = safe_fork("(fsck)", - FORK_RESET_SIGNALS|FORK_RLIMIT_NOFILE_SAFE|FORK_DEATHSIG|FORK_LOG|FORK_STDOUT_TO_STDERR|FORK_CLOSE_ALL_FDS, - &fsck_pid); -@@ -234,7 +243,7 @@ static int run_fsck(const char *node, const char *fstype) { - return r; - if (r == 0) { - /* Child */ -- execl("/sbin/fsck", "/sbin/fsck", "-aTl", node, NULL); -+ execl(fsck_path, fsck_path, "-aTl", node, NULL); - log_open(); - log_error_errno(errno, "Failed to execute fsck: %m"); - _exit(FSCK_OPERATIONAL_ERROR); -diff --git a/src/shared/dissect-image.c b/src/shared/dissect-image.c -index 4749bdd230..2b6e1418dd 100644 ---- a/src/shared/dissect-image.c -+++ b/src/shared/dissect-image.c -@@ -1423,6 +1423,7 @@ static int is_loop_device(const char *path) { - static int run_fsck(int node_fd, const char *fstype) { - int r, exit_status; - pid_t pid; -+ _cleanup_free_ char *fsck_path = NULL; - - assert(node_fd >= 0); - assert(fstype); -@@ -1437,6 +1438,14 @@ static int run_fsck(int node_fd, const char *fstype) { - return 0; - } - -+ r = find_executable("fsck", &fsck_path); -+ /* We proceed anyway if we can't determine whether the fsck -+ * binary for some specific fstype exists, -+ * but the lack of the main fsck binary should be considered -+ * an error. */ -+ if (r < 0) -+ return log_error_errno(r, "Cannot find fsck binary: %m"); -+ - r = safe_fork_full( - "(fsck)", - &node_fd, 1, /* Leave the node fd open */ -@@ -1446,7 +1455,7 @@ static int run_fsck(int node_fd, const char *fstype) { - return log_debug_errno(r, "Failed to fork off fsck: %m"); - if (r == 0) { - /* Child */ -- execl("/sbin/fsck", "/sbin/fsck", "-aT", FORMAT_PROC_FD_PATH(node_fd), NULL); -+ execl(fsck_path, fsck_path, "-aT", FORMAT_PROC_FD_PATH(node_fd), NULL); - log_open(); - log_debug_errno(errno, "Failed to execl() fsck: %m"); - _exit(FSCK_OPERATIONAL_ERROR); -@@ -1454,7 +1463,7 @@ static int run_fsck(int node_fd, const char *fstype) { - - exit_status = wait_for_terminate_and_check("fsck", pid, 0); - if (exit_status < 0) -- return log_debug_errno(exit_status, "Failed to fork off /sbin/fsck: %m"); -+ return log_debug_errno(exit_status, "Failed to fork off %s: %m", fsck_path); - - if ((exit_status & ~FSCK_ERROR_CORRECTED) != FSCK_SUCCESS) { - log_debug("fsck failed with exit status %i.", exit_status); diff --git a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch index 0a638dfbf0ea3..e9f73d7c7726b 100644 --- a/pkgs/os-specific/linux/systemd/0006-Get-rid-of-a-useless-message-in-user-sessions.patch +++ b/pkgs/os-specific/linux/systemd/0005-Get-rid-of-a-useless-message-in-user-sessions.patch @@ -13,10 +13,10 @@ in containers. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 380a4e30d7..817acb87b8 100644 +index 4bc8a06bd2..342892490e 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -1437,7 +1437,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { +@@ -1486,7 +1486,8 @@ static unsigned manager_dispatch_stop_when_bound_queue(Manager *m) { if (!unit_is_bound_by_inactive(u, &culprit)) continue; diff --git a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch b/pkgs/os-specific/linux/systemd/0006-hostnamed-localed-timedated-disable-methods-that-cha.patch index 2c4c3f6564e1b..2c4c3f6564e1b 100644 --- a/pkgs/os-specific/linux/systemd/0007-hostnamed-localed-timedated-disable-methods-that-cha.patch +++ b/pkgs/os-specific/linux/systemd/0006-hostnamed-localed-timedated-disable-methods-that-cha.patch diff --git a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch b/pkgs/os-specific/linux/systemd/0007-Fix-hwdb-paths.patch index 7777ba7e42593..7777ba7e42593 100644 --- a/pkgs/os-specific/linux/systemd/0008-Fix-hwdb-paths.patch +++ b/pkgs/os-specific/linux/systemd/0007-Fix-hwdb-paths.patch diff --git a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch b/pkgs/os-specific/linux/systemd/0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch index 52733a4c49209..300906be04d97 100644 --- a/pkgs/os-specific/linux/systemd/0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch +++ b/pkgs/os-specific/linux/systemd/0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch @@ -88,10 +88,10 @@ index 9e79f84691..1a1c75718c 100644 (void) mkdir_parents(etc_localtime, 0755); r = symlink_atomic(e, etc_localtime); diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c -index 65d9e7e398..dd44d529ca 100644 +index e5aa4feb1e..a7a8fae860 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c -@@ -1915,8 +1915,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid +@@ -1918,8 +1918,8 @@ int userns_mkdir(const char *root, const char *path, mode_t mode, uid_t uid, gid static const char *timezone_from_path(const char *path) { return PATH_STARTSWITH_SET( path, diff --git a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch b/pkgs/os-specific/linux/systemd/0009-localectl-use-etc-X11-xkb-for-list-x11.patch index fac9916cf3b4d..fac9916cf3b4d 100644 --- a/pkgs/os-specific/linux/systemd/0010-localectl-use-etc-X11-xkb-for-list-x11.patch +++ b/pkgs/os-specific/linux/systemd/0009-localectl-use-etc-X11-xkb-for-list-x11.patch diff --git a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch b/pkgs/os-specific/linux/systemd/0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch index eec57111b9132..eec57111b9132 100644 --- a/pkgs/os-specific/linux/systemd/0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch +++ b/pkgs/os-specific/linux/systemd/0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch diff --git a/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch b/pkgs/os-specific/linux/systemd/0011-add-rootprefix-to-lookup-dir-paths.patch index 6e07928d5fbd8..6e07928d5fbd8 100644 --- a/pkgs/os-specific/linux/systemd/0012-add-rootprefix-to-lookup-dir-paths.patch +++ b/pkgs/os-specific/linux/systemd/0011-add-rootprefix-to-lookup-dir-paths.patch diff --git a/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch b/pkgs/os-specific/linux/systemd/0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch index 84ac0d882d6d0..9d0565a6e7672 100644 --- a/pkgs/os-specific/linux/systemd/0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch +++ b/pkgs/os-specific/linux/systemd/0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch @@ -10,10 +10,10 @@ This is needed for NixOS to use such scripts as systemd directory is immutable. 1 file changed, 1 insertion(+) diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c -index 42111d2772..53467ac229 100644 +index 5dee1b3a92..c08cf80548 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c -@@ -335,6 +335,7 @@ static void init_watchdog(void) { +@@ -339,6 +339,7 @@ static void init_watchdog(void) { int main(int argc, char *argv[]) { static const char* const dirs[] = { SYSTEM_SHUTDOWN_PATH, diff --git a/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch b/pkgs/os-specific/linux/systemd/0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch index 5fa3fb14f1ff9..5fa3fb14f1ff9 100644 --- a/pkgs/os-specific/linux/systemd/0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch +++ b/pkgs/os-specific/linux/systemd/0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch diff --git a/pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch b/pkgs/os-specific/linux/systemd/0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch index b3d1db340ef8c..b3d1db340ef8c 100644 --- a/pkgs/os-specific/linux/systemd/0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch +++ b/pkgs/os-specific/linux/systemd/0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch diff --git a/pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch b/pkgs/os-specific/linux/systemd/0015-pkg-config-derive-prefix-from-prefix.patch index 3fbfd7f10ab49..3fbfd7f10ab49 100644 --- a/pkgs/os-specific/linux/systemd/0016-pkg-config-derive-prefix-from-prefix.patch +++ b/pkgs/os-specific/linux/systemd/0015-pkg-config-derive-prefix-from-prefix.patch diff --git a/pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch b/pkgs/os-specific/linux/systemd/0016-inherit-systemd-environment-when-calling-generators.patch index 236af4b2c97ba..0f67abe795c31 100644 --- a/pkgs/os-specific/linux/systemd/0017-inherit-systemd-environment-when-calling-generators.patch +++ b/pkgs/os-specific/linux/systemd/0016-inherit-systemd-environment-when-calling-generators.patch @@ -16,10 +16,10 @@ executables that are being called from managers. 1 file changed, 8 insertions(+) diff --git a/src/core/manager.c b/src/core/manager.c -index 817acb87b8..3f31359f8a 100644 +index 342892490e..1117251fe0 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -3714,9 +3714,17 @@ static int build_generator_environment(Manager *m, char ***ret) { +@@ -3771,9 +3771,17 @@ static int build_generator_environment(Manager *m, char ***ret) { * adjust generated units to that. Let's pass down some bits of information that are easy for us to * determine (but a bit harder for generator scripts to determine), as environment variables. */ diff --git a/pkgs/os-specific/linux/systemd/0018-core-don-t-taint-on-unmerged-usr.patch b/pkgs/os-specific/linux/systemd/0017-core-don-t-taint-on-unmerged-usr.patch index 18982ecd04bd1..f509eb39ece53 100644 --- a/pkgs/os-specific/linux/systemd/0018-core-don-t-taint-on-unmerged-usr.patch +++ b/pkgs/os-specific/linux/systemd/0017-core-don-t-taint-on-unmerged-usr.patch @@ -17,10 +17,10 @@ See also: https://github.com/systemd/systemd/issues/24191 1 file changed, 4 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c -index 3f31359f8a..0c4ec0b4fb 100644 +index 1117251fe0..bf5600a6cf 100644 --- a/src/core/manager.c +++ b/src/core/manager.c -@@ -4556,10 +4556,6 @@ char* manager_taint_string(const Manager *m) { +@@ -4617,10 +4617,6 @@ char* manager_taint_string(const Manager *m) { if (m->taint_usr) stage[n++] = "split-usr"; diff --git a/pkgs/os-specific/linux/systemd/0019-tpm2_context_init-fix-driver-name-checking.patch b/pkgs/os-specific/linux/systemd/0018-tpm2_context_init-fix-driver-name-checking.patch index 8d6eab5ed847d..8d6eab5ed847d 100644 --- a/pkgs/os-specific/linux/systemd/0019-tpm2_context_init-fix-driver-name-checking.patch +++ b/pkgs/os-specific/linux/systemd/0018-tpm2_context_init-fix-driver-name-checking.patch diff --git a/pkgs/os-specific/linux/systemd/0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch b/pkgs/os-specific/linux/systemd/0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch new file mode 100644 index 0000000000000..84fc6528b9847 --- /dev/null +++ b/pkgs/os-specific/linux/systemd/0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch @@ -0,0 +1,46 @@ +From bc0f378a1149b59e88e9345e579d62fec7f50cdf Mon Sep 17 00:00:00 2001 +From: Arian van Putten <arian.vanputten@gmail.com> +Date: Wed, 31 May 2023 13:27:13 +0200 +Subject: [PATCH] bootctl: also print efi files not owned by systemd in status + +We should not skip over unknown entries in EFI/BOOT/ but +also print them out in status so people are aware that they are there. + +(cherry picked from commit a680d4fb87bad829989949e5ea4fc6db90453456) +--- + src/boot/bootctl-status.c | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/src/boot/bootctl-status.c b/src/boot/bootctl-status.c +index 2e2bf1f7e1..f1ac4a9c8a 100644 +--- a/src/boot/bootctl-status.c ++++ b/src/boot/bootctl-status.c +@@ -225,9 +225,8 @@ static int enumerate_binaries( + return log_error_errno(errno, "Failed to open file '%s' for reading: %m", filename); + + r = get_file_version(fd, &v); +- if (r == -ESRCH) /* Not the file we are looking for. */ +- continue; +- if (r < 0) ++ ++ if (r < 0 && r != -ESRCH) + return r; + + if (*previous) { /* Let's output the previous entry now, since now we know that there will be +@@ -242,10 +241,10 @@ static int enumerate_binaries( + /* Do not output this entry immediately, but store what should be printed in a state + * variable, because we only will know the tree glyph to print (branch or final edge) once we + * read one more entry */ +- if (r > 0) +- r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); +- else ++ if (r == -ESRCH) /* No systemd-owned file but still interesting to print */ + r = asprintf(previous, "/%s/%s", path, de->d_name); ++ else /* if (r >= 0) */ ++ r = asprintf(previous, "/%s/%s (%s%s%s)", path, de->d_name, ansi_highlight(), v, ansi_normal()); + if (r < 0) + return log_oom(); + +-- +2.39.2 (Apple Git-143) + diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix index 7275d275f74bb..fd5ca2df5a94a 100644 --- a/pkgs/os-specific/linux/systemd/default.nix +++ b/pkgs/os-specific/linux/systemd/default.nix @@ -145,7 +145,7 @@ assert withUkify -> withEfi; let wantCurl = withRemote || withImportd; wantGcrypt = withResolved || withImportd; - version = "253.3"; + version = "253.5"; # Bump this variable on every (major) version change. See below (in the meson options list) for why. # command: @@ -162,7 +162,7 @@ stdenv.mkDerivation (finalAttrs: { owner = "systemd"; repo = "systemd-stable"; rev = "v${version}"; - hash = "sha256-iy1kyqiVeXIhFJAQ+nYorrXm/xb2gfakyrEfMyNR5l8="; + hash = "sha256-B3A9AvpfZ8SYsiZvHnWO4RHs1/6EdczWF2NmrSqxQ7c="; }; # On major changes, or when otherwise required, you *must* reformat the patches, @@ -174,32 +174,22 @@ stdenv.mkDerivation (finalAttrs: { ./0001-Start-device-units-for-uninitialised-encrypted-devic.patch ./0002-Don-t-try-to-unmount-nix-or-nix-store.patch ./0003-Fix-NixOS-containers.patch - ./0004-fsck-look-for-fsck-binary-not-just-in-sbin.patch - ./0005-Add-some-NixOS-specific-unit-directories.patch - ./0006-Get-rid-of-a-useless-message-in-user-sessions.patch - ./0007-hostnamed-localed-timedated-disable-methods-that-cha.patch - ./0008-Fix-hwdb-paths.patch - ./0009-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch - ./0010-localectl-use-etc-X11-xkb-for-list-x11.patch - ./0011-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch - ./0012-add-rootprefix-to-lookup-dir-paths.patch - ./0013-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch - ./0014-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch - ./0015-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch - ./0016-pkg-config-derive-prefix-from-prefix.patch - ./0017-inherit-systemd-environment-when-calling-generators.patch - ./0018-core-don-t-taint-on-unmerged-usr.patch - ./0019-tpm2_context_init-fix-driver-name-checking.patch - - (fetchpatch { - # https://github.com/systemd/systemd/pull/25948 - # - # [Firmware file size bug]: Some UEFI firmwares fail on large - # reads. Now that systemd-boot loads initrd itself, systems with - # such firmware won't boot without this fix - url = "https://github.com/systemd/systemd/commit/3ed1d966f00b002ed822ca9de116252bd91fe6c3.patch"; - hash = "sha256-pwXrLTScqgnvfddlzUBZpwsoMrvRLcZPp6e4whMcyL4="; - }) + ./0004-Add-some-NixOS-specific-unit-directories.patch + ./0005-Get-rid-of-a-useless-message-in-user-sessions.patch + ./0006-hostnamed-localed-timedated-disable-methods-that-cha.patch + ./0007-Fix-hwdb-paths.patch + ./0008-Change-usr-share-zoneinfo-to-etc-zoneinfo.patch + ./0009-localectl-use-etc-X11-xkb-for-list-x11.patch + ./0010-build-don-t-create-statedir-and-don-t-touch-prefixdi.patch + ./0011-add-rootprefix-to-lookup-dir-paths.patch + ./0012-systemd-shutdown-execute-scripts-in-etc-systemd-syst.patch + ./0013-systemd-sleep-execute-scripts-in-etc-systemd-system-.patch + ./0014-path-util.h-add-placeholder-for-DEFAULT_PATH_NORMAL.patch + ./0015-pkg-config-derive-prefix-from-prefix.patch + ./0016-inherit-systemd-environment-when-calling-generators.patch + ./0017-core-don-t-taint-on-unmerged-usr.patch + ./0018-tpm2_context_init-fix-driver-name-checking.patch + ./0019-bootctl-also-print-efi-files-not-owned-by-systemd-in.patch ] ++ lib.optional stdenv.hostPlatform.isMusl ( let oe-core = fetchzip { diff --git a/pkgs/os-specific/linux/util-linux/default.nix b/pkgs/os-specific/linux/util-linux/default.nix index 7b98c6bcd9d2a..7b4ef6ed01433 100644 --- a/pkgs/os-specific/linux/util-linux/default.nix +++ b/pkgs/os-specific/linux/util-linux/default.nix @@ -38,6 +38,16 @@ stdenv.mkDerivation rec { url = "https://github.com/util-linux/util-linux/commit/1bd85b64632280d6bf0e86b4ff29da8b19321c5f.diff"; hash = "sha256-dgu4de5ul/si7Vzwe8lr9NvsdI1CWfDQKuqvARaY6sE="; }) + + # FIXME: backport bcache detection fixes, remove in next release + (fetchpatch { + url = "https://github.com/util-linux/util-linux/commit/158639a2a4c6e646fd4fa0acb5f4743e65daa415.diff"; + hash = "sha256-9F1OQFxKuI383u6MVy/UM15B6B+tkZFRwuDbgoZrWME="; + }) + (fetchpatch { + url = "https://github.com/util-linux/util-linux/commit/00a19fb8cdfeeae30a6688ac6b490e80371b2257.diff"; + hash = "sha256-w1S6IKSoL6JhVew9t6EemNRc/nrJQ5oMqFekcx0kno8="; + }) ]; outputs = [ "bin" "dev" "out" "lib" "man" ]; |