Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make initLibStore a viable alternative #7732

Merged

Commits on Apr 7, 2023

  1. Move OpenSSL init to initLibUtil

    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    6e0b710 View commit details
    Browse the repository at this point in the history
  2. Move loadConfFile() to initLibStore

    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    
    Using libstore without loading the config file is risky, as sqlite
    may then be misconfigured. See cachix/cachix#475
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    a692c43 View commit details
    Browse the repository at this point in the history
  3. Move initLibStore() immediately after initLibUtil()

    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    
    The goal of this reordering is to make initLibStore self-sufficient
    in a following commit.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    9693076 View commit details
    Browse the repository at this point in the history
  4. Move sodium_init() to initLibStore()

    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    a58be39 View commit details
    Browse the repository at this point in the history
  5. Move preloadNSS() from initNix to initLibStore

    It is required for the sandbox, which is a libstore responsibility;
    not just libmain.
    
    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    e706ffa View commit details
    Browse the repository at this point in the history
  6. Move macOS TMPDIR hack from initNix to initLibStore

    This code is bad. We shouldn't unset variables in programs whose
    children may need them. Fixing one issue at a time, so postponing.
    See NixOS#7731
    
    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    52d6ce6 View commit details
    Browse the repository at this point in the history
  7. libmain: Clarify the lack of initLibExpr()

    Quote
    
        Why not initLibExpr()? initGC() is essentially that, but
        detectStackOverflow is not an instance of the init function concept, as
        it may have to be invoked more than once per process.
    
    Furthermore, renaming initGC to initLibExpr is more trouble than it's
    worth at this time.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    1107ea3 View commit details
    Browse the repository at this point in the history
  8. Move initLibUtil() from initNix to initLibStore

    libutil is a dependency of libstore, so it should always be
    initialized as such.
    libutil is also a dependency of libmain. Being explicit about this
    dependency might be good, but not worth the slight code complexity
    until the library structure gets more advanced.
    
    Part of an effort to make it easier to initialize the right things,
    by moving code into the appropriate libraries.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    781d3dc View commit details
    Browse the repository at this point in the history
  9. libutil: Provide alternatives to startSignalHandlerThread

    How signals should be handled depends on what kind of process Nix
    is integrated into. The signal handler thread used by the stand-alone
    Nix commands / processes may not work well in the context of other
    runtime systems, such as those of Python, Perl, or Haskell.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    2196fd1 View commit details
    Browse the repository at this point in the history
  10. Require openssl >= 1.1.1

    Versions older this are sufficiently old that we don't want to support
    them, and they require extra support code.
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    2445afd View commit details
    Browse the repository at this point in the history
  11. libstore: Remove lockCPU dead code

    Left over from 9747ea8, NixOS#5821
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    1c0b680 View commit details
    Browse the repository at this point in the history
  12. libstore: Remove lockCPU dead code

    Left over from 9747ea8, NixOS#5821
    roberth committed Apr 7, 2023
    Configuration menu
    Copy the full SHA
    ddebeb9 View commit details
    Browse the repository at this point in the history