Merge pull request #111786 from flokli/systemd-247.3
systemd: 247.2 -> 247.3
This commit is contained in:
commit
53a0c2878b
@ -93,17 +93,7 @@ in
|
|||||||
(if i.useDHCP != null then i.useDHCP else false));
|
(if i.useDHCP != null then i.useDHCP else false));
|
||||||
address = forEach (interfaceIps i)
|
address = forEach (interfaceIps i)
|
||||||
(ip: "${ip.address}/${toString ip.prefixLength}");
|
(ip: "${ip.address}/${toString ip.prefixLength}");
|
||||||
# IPv6PrivacyExtensions=kernel seems to be broken with networkd.
|
networkConfig.IPv6PrivacyExtensions = "kernel";
|
||||||
# Instead of using IPv6PrivacyExtensions=kernel, configure it according to the value of
|
|
||||||
# `tempAddress`:
|
|
||||||
networkConfig.IPv6PrivacyExtensions = {
|
|
||||||
# generate temporary addresses and use them by default
|
|
||||||
"default" = true;
|
|
||||||
# generate temporary addresses but keep using the standard EUI-64 ones by default
|
|
||||||
"enabled" = "prefer-public";
|
|
||||||
# completely disable temporary addresses
|
|
||||||
"disabled" = false;
|
|
||||||
}.${i.tempAddress};
|
|
||||||
linkConfig = optionalAttrs (i.macAddress != null) {
|
linkConfig = optionalAttrs (i.macAddress != null) {
|
||||||
MACAddress = i.macAddress;
|
MACAddress = i.macAddress;
|
||||||
} // optionalAttrs (i.mtu != null) {
|
} // optionalAttrs (i.mtu != null) {
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# NOTE: Make sure to (re-)format this file on changes with `nixpkgs-fmt`!
|
||||||
|
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, lib
|
, lib
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
@ -111,7 +113,7 @@ assert withCryptsetup ->
|
|||||||
let
|
let
|
||||||
wantCurl = withRemote || withImportd;
|
wantCurl = withRemote || withImportd;
|
||||||
|
|
||||||
version = "247.2";
|
version = "247.3";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
inherit version pname;
|
inherit version pname;
|
||||||
@ -122,7 +124,7 @@ stdenv.mkDerivation {
|
|||||||
owner = "systemd";
|
owner = "systemd";
|
||||||
repo = "systemd-stable";
|
repo = "systemd-stable";
|
||||||
rev = "v${version}";
|
rev = "v${version}";
|
||||||
sha256 = "091pwrvxz3gcf80shlp28d6l4gvjzc6pb61v4mwxmk9d71qaq7ry";
|
sha256 = "0zn0b74iwz3vxabqsk4yydwpgky3c5z4dl83wxbs1qi5d2dnbqa7";
|
||||||
};
|
};
|
||||||
|
|
||||||
# If these need to be regenerated, `git am path/to/00*.patch` them into a
|
# If these need to be regenerated, `git am path/to/00*.patch` them into a
|
||||||
@ -160,8 +162,8 @@ stdenv.mkDerivation {
|
|||||||
--replace \
|
--replace \
|
||||||
"find_program('objcopy'" \
|
"find_program('objcopy'" \
|
||||||
"find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
|
"find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
|
||||||
'' + (let
|
'' + (
|
||||||
|
let
|
||||||
# The folllowing dlopen patches ensure that all the features that are
|
# The folllowing dlopen patches ensure that all the features that are
|
||||||
# implemented via dlopen(3) are available (or explicitly deactivated) by
|
# implemented via dlopen(3) are available (or explicitly deactivated) by
|
||||||
# pointing dlopen to the absolute store path instead of relying on the
|
# pointing dlopen to the absolute store path instead of relying on the
|
||||||
@ -215,9 +217,11 @@ stdenv.mkDerivation {
|
|||||||
{ name = "libpcre2-8.so.0"; pkg = pcre2; }
|
{ name = "libpcre2-8.so.0"; pkg = pcre2; }
|
||||||
];
|
];
|
||||||
|
|
||||||
patchDlOpen = dl: let
|
patchDlOpen = dl:
|
||||||
|
let
|
||||||
library = "${lib.makeLibraryPath [ dl.pkg ]}/${dl.name}";
|
library = "${lib.makeLibraryPath [ dl.pkg ]}/${dl.name}";
|
||||||
in if dl.pkg == null then ''
|
in
|
||||||
|
if dl.pkg == null then ''
|
||||||
# remove the dependency on the library by replacing it with an invalid path
|
# remove the dependency on the library by replacing it with an invalid path
|
||||||
for file in $(grep -lr 'dlopen("${dl.name}"' src); do
|
for file in $(grep -lr 'dlopen("${dl.name}"' src); do
|
||||||
echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…"
|
echo "patching dlopen(\"${dl.name}\", …) in $file to an invalid store path ("/nix/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-not-implemented/${dl.name}")…"
|
||||||
@ -235,8 +239,10 @@ stdenv.mkDerivation {
|
|||||||
substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"'
|
substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"'
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
in # patch all the dlopen calls to contain absolute paths to the libraries
|
in
|
||||||
lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs)
|
# patch all the dlopen calls to contain absolute paths to the libraries
|
||||||
|
lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs
|
||||||
|
)
|
||||||
# finally ensure that there are no left-over dlopen calls that we didn't handle
|
# finally ensure that there are no left-over dlopen calls that we didn't handle
|
||||||
+ ''
|
+ ''
|
||||||
if grep -qr 'dlopen("[^/]' src; then
|
if grep -qr 'dlopen("[^/]' src; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user