Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
base: 0649757570e8
Choose a base ref
...
head repository: NixOS/nixpkgs
compare: 4d36ba1d4391
Choose a head ref
  • 3 commits
  • 2 files changed
  • 2 contributors

Commits on Jan 3, 2021

  1. systemd: patch runtime dlopen calls

    This ensures 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 linkers runtime lookup
    code.
    
    All of the dlopen calls have to be handled. When new ones are introduced
    by upstream (or one of our patches) those must be explicitly declared,
    otherwise the build will fail.
    
    As of systemd version 247 we've seen a few errors like `libpcre2.… not
    found` when using e.g. --grep with journalctl. Those errors should
    become less unexpected now.
    
    There are generally two classes of dlopen calls. Those that we want to
    support and those that should be deactivated / unsupported. This change
    enforces that we handle all dlopen calls explicitly. Meaning: There is
    not a single dlopen call in the code source tree that we did not
    explicitly handle.
    
    In order to do this I introduced a list of attributes that maps from
    shared object name to the package that contains them. The package can be
    null meaning the reference should be nuked and the shared object will
    never be loadable during runtime (because it points at an invalid store
    path location).
    andir committed Jan 3, 2021
    Copy the full SHA
    494ed4d View commit details
    Browse the repository at this point in the history
  2. nixos/tests/systemd-journal: ensure that --grep works

    Previously, after the version bump to v247, we broke journalctl --grep
    as libpcre2 was lazily loaded during runtime using dlopen(3). This
    ensures that we have a test case that alerts us when it fails again.
    andir committed Jan 3, 2021
    Copy the full SHA
    37539e7 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #108032 from andir/systemd-dlopen

    systemd: patch runtime dlopen calls
    flokli committed Jan 3, 2021
    Copy the full SHA
    4d36ba1 View commit details
    Browse the repository at this point in the history