mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
Merge pull request #111786 from flokli/systemd-247.3
systemd: 247.2 -> 247.3
This commit is contained in:
commit
53a0c2878b
2 changed files with 81 additions and 85 deletions
|
@ -93,17 +93,7 @@ in
|
|||
(if i.useDHCP != null then i.useDHCP else false));
|
||||
address = forEach (interfaceIps i)
|
||||
(ip: "${ip.address}/${toString ip.prefixLength}");
|
||||
# IPv6PrivacyExtensions=kernel seems to be broken with networkd.
|
||||
# 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};
|
||||
networkConfig.IPv6PrivacyExtensions = "kernel";
|
||||
linkConfig = optionalAttrs (i.macAddress != null) {
|
||||
MACAddress = i.macAddress;
|
||||
} // optionalAttrs (i.mtu != null) {
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# NOTE: Make sure to (re-)format this file on changes with `nixpkgs-fmt`!
|
||||
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitHub
|
||||
|
@ -111,7 +113,7 @@ assert withCryptsetup ->
|
|||
let
|
||||
wantCurl = withRemote || withImportd;
|
||||
|
||||
version = "247.2";
|
||||
version = "247.3";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
inherit version pname;
|
||||
|
@ -122,7 +124,7 @@ stdenv.mkDerivation {
|
|||
owner = "systemd";
|
||||
repo = "systemd-stable";
|
||||
rev = "v${version}";
|
||||
sha256 = "091pwrvxz3gcf80shlp28d6l4gvjzc6pb61v4mwxmk9d71qaq7ry";
|
||||
sha256 = "0zn0b74iwz3vxabqsk4yydwpgky3c5z4dl83wxbs1qi5d2dnbqa7";
|
||||
};
|
||||
|
||||
# If these need to be regenerated, `git am path/to/00*.patch` them into a
|
||||
|
@ -160,8 +162,8 @@ stdenv.mkDerivation {
|
|||
--replace \
|
||||
"find_program('objcopy'" \
|
||||
"find_program('${stdenv.cc.bintools.targetPrefix}objcopy'"
|
||||
'' + (let
|
||||
|
||||
'' + (
|
||||
let
|
||||
# The folllowing dlopen patches ensure that all the features that are
|
||||
# implemented via dlopen(3) are available (or explicitly deactivated) by
|
||||
# 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; }
|
||||
];
|
||||
|
||||
patchDlOpen = dl: let
|
||||
patchDlOpen = dl:
|
||||
let
|
||||
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
|
||||
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}")…"
|
||||
|
@ -235,8 +239,10 @@ stdenv.mkDerivation {
|
|||
substituteInPlace "$file" --replace 'dlopen("${dl.name}"' 'dlopen("${library}"'
|
||||
done
|
||||
'';
|
||||
in # patch all the dlopen calls to contain absolute paths to the libraries
|
||||
lib.concatMapStringsSep "\n" patchDlOpen dlopenLibs)
|
||||
in
|
||||
# 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
|
||||
+ ''
|
||||
if grep -qr 'dlopen("[^/]' src; then
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue