jiebi/CodeConvo huggingface dataset:
Change:
gitlab.systemctl("start gitlab-backup.service") gitlab.wait_for_unit("gitlab-backup.service") gitlab.wait_for_file("${nodes.gitlab.services.gitlab.statePath}/backup/dump_gitlab_backup.tar") <del> gitlab.systemctl("stop postgresql.service gitlab.target") </del> <ins> gitlab.systemctl("stop postgresql.service gitlab-config.service gitlab.target") </ins> gitlab.succeed( "find ${nodes.gitlab.services.gitlab.statePath} -mindepth 1 -maxdepth 1 -not -name backup -execdir rm -r {} +" )

Discussion:
In the NixOS gitlab module, the fleet of Gitlab component services is strongly coupled to the (local) postgresql and – via sidekiq – to Redis. On a systemd unit dependency level, this happens via a relationship and causes the other services to be stopped and (re)started when just one of them is instructed to do so. Unfortunately, there can be several edge cases where the system ends up with not all of the components being in the desired state (mostly up). Steps to reproduce the behavior: This issue is a subtle race condition, so I choose to describe the general problematic setup instead of trying to engineer a reproducer: I've encountered a situation where both and where restarted (stop and start) at system switch time due to changed configuration. This triggered Gitlab to be stopped as well. Unfortunately the service(s) was in its startup (Activating) phase and stayed inactive. The expectation is that Gitlab comes back after the dependency restart. Instead of continuing to tune the strongly-tied, evermore complex inter-service dependencies I propose to decouple postgresql and redis from the rest of the gitlab services. I'll open a WIP pr on this. <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Here's my proposal on reducing the coupling between DBs and the rest of gitlab, currently with failing tests unfortunately:
Change:
"testEigvalsGrad_shape" ]; <ins> # See https://github.com/google/jax/issues/11722. This is a temporary fix in # order to unblock etils, and upgrading jax/jaxlib to the latest version. See # https://github.com/NixOS/nixpkgs/issues/183173#issuecomment-1204074993. disabledTestPaths = [ "tests/api_test.py" "tests/core_test.py" "tests/lax_numpy_indexing_test.py" "tests/lax_numpy_test.py" "tests/nn_test.py" "tests/random_test.py" "tests/sparse_test.py" ]; </ins> pythonImportsCheck = [ "jax" ];

Discussion:
Build of failed on x86_64-linux as of . This is currently breaking . maintainers cc: maintainers cc: Other cc: n/a nixpkgs at commit This issue was automatically generated by . that created this issue. Internal tags: -
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
latest release appears to be I'll try upgrading jax/jaxlib to that to see if that fixes this. o/w we should file an upstream bug report
in case it's useful, I'd started to work on upgrading to 0.3.15 in , but ran into issues I haven't been able to resolve with the darwin builds (linux build is working)
Unfortunately it seems there's a bit of a chicken-and-egg problem because v0.3.15 depends on , which in turn depends on jax. There's a PR adding (), but we can't merge it without jax building (unless we're willing to merge it in a broken state).
for the darwin builds take a look at , if you have enough context you can review it, if not you can pick out some of the changes and add them to your own PR and see if they help.
Oh sorry, just realised this is for jax, and my fix is for jaxlib, maybe you can find something useful but maybe not.
I'm working on a temporary fix to jax atm that just disables the failing tests (created upstream issue ). Then I say we merge the etils PR, and then attempt a jax/jaxlib upgrade and try un-disabling the tests.
Created to fix the current jax version. Hoping to get that merged by tomorrow.
Change:
<del> {stdenv, fetchurl, apacheAnt, unzip, sharutils, lib}: </del> <ins> {stdenv, fetchurl, apacheAnt, unzip, sharutils, lib, jdk}: </ins> stdenv.mkDerivation { name = "freetts-1.2.2";

Discussion:
freetts won't compile, since ant is missing a jdk/jre nix-env -iA nixos.freetts (on NixOS) System: 16.09pre90254. (Flounder) Nix version: nix-env (Nix) 1.11.3 Nixpkgs version: "16.09pre90254."
/cc maintainer
Seems this was fixed by a PR last September.
Change:
depsBuildBuild = [ buildPackages.stdenv.cc ]; nativeBuildInputs = [ <ins> autoconf autoconf-archive automake </ins> gettext <ins> libtool </ins> pkg-config python3 ];

Discussion:
My Canon CanoScan LiDE 20 does not work on NixOS. I wrote a minimal SANE config dir to reproduce: Invocation: ` Reveals: <details</detailsImportant part: It's failing because it's trying to write a lock file into .
I suspect the code involved is this: Looks like the packaging overrode the string, putting the nix output store path prefix in front; that seems wrong.
Grepping further: Indeed, the build logs show the wrong path:
Probably the nix build sets to a store path. Fixing it via: Other nixpkgs packages also set . Maybe nixpkgs should do this automatically for all packages? Probably is what puts the nix store path in. However, trying the workaround fails the build at step:
In PR I made an option to set the package without mass rebuilds. With that, the following workarounds make the scanner work: Now I can scan.
I'd be happy if somebody could pick up the task to pass a proper lock dir and ensure it exists in NixOS.
Another option is to disable locking entirely. Putting this in my nixos config is working for me:
Yes, that's what's mentioned in the comment just above:
It seems only scanners covered by SANE's driver are affected by this, as only those use locks as per : Note this driver, even though called , handles also many other vendors' scanners, including some Canon, Epson, HP, and others.
I think that's the reason it isn't being done by default, because upstream build systems try to create directories inside the runtime state directory at install time. So we're trading build time successes for runtime failures. A similar situation exists with /etc (sysconfdir), where I think the default should be /etc, but nixpkgs uses $prefix/etc because it has a higher success rate at build time.
With the workaround mentioned in I'm able to scan on a CanonScan Lide 25 using the sane-plustek backend. Would be great to have this properly fixed.
Using a Canon N670U (also covered by ) I ran into the same issue and resolved it with workaround Proper fix would be highly appreciated though.
Please give a try, it should fix the issue
Change:
hash = "sha256-+RCg2XZv0AJnexi7vnQhEXB1qSoKBN1yKWm3etdys1s="; }; <ins> patches = [ # fix build with Python 3.12 # https://github.com/tobi-wan-kenobi/bumblebee-status/pull/1019 (fetchpatch { url = "https://github.com/tobi-wan-kenobi/bumblebee-status/commit/2fe8f1ff1444daf155b18318005f33a76a5d64b4.patch"; hash = "sha256-BC1cgQDMJkhuEgq8NJ28521CHbEfqIMueHkFXXlZz2w="; }) ]; </ins> buildInputs = lib.concatMap (p: p.buildInputs or [ ]) selectedPlugins; propagatedBuildInputs = lib.concatMap (p: p.propagatedBuildInputs or [ ]) selectedPlugins;

Discussion:
Steps to reproduce the behavior: bumblebee-status <!-- Please @ people who are in the list of the offending package or module. If in doubt, check for whoever last touched something. -- Please run and paste the result. Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
Upstream issue with python 3.12: Needs patch or version after this (there are no version tags with it atm):
Change:
chmod +x "$out"/bin/wsrep_sst_common rm "$out"/bin/{mysql_client_test,mysqltest} rm -r "$out"/data # Don't need testing data <del> '' + optionalString withoutClient '' ${ # We don't build with GSSAPI on Darwin optionalString (!stdenv.hostPlatform.isDarwin) '' rm "$out"/lib/mysql/plugin/auth_gssapi_client.so '' } rm "$out"/lib/mysql/plugin/client_ed25519.so rm "$out"/lib/{libmysqlclient${libExt},libmysqlclient_r${libExt}} </del> '' + optionalString withStorageMroonga '' mv "$out"/share/{groonga,groonga-normalizer-mysql} "$out"/share/doc/mysql '' + optionalString (!stdenv.hostPlatform.isDarwin) ''

Discussion:
Describe the bug Erorr first init mysql databases if use package builded To Reproduce Steps to reproduce the behavior: this patch command Expected behavior Error running this command Metadata system: host os: multi-user?: sandbox: version: channels(root): nixpkgs: cc
Thanks for reporting Any of the , , , options require a client so I'm guessing the best we can do is document this. Any other ideas
is an argument that is only available for the derivation, and is not exposed in - so it's hard people stumble over this by accident. They need to explicitly set a global package override. Also, as error message by itself should already be clear enough, especially when looking at the system configuration. I don't consider this a bug. It works as intended - if you override mysql globally to not contain the client components, you'd have to expect client operations to fail. given you by yourself in , and it doesn't really work properly anyways, what about removing that argument?
When I made this parameter, I did not test database creation on first run. I wanted to split mariadb into components - server and client. Example in another distribution: But due to the different file locations, occur such errors. Is this variant bad? (Not worked witn MySQL 8.0)
If you use then there no reason to split package because you install both anyways. Arch Linux probably doesn't offer option so it makes sense.
What was the initial idea of having a server without the client binaries? Closure size reduction? In that case pulling in the client anyways in a separate derivation doesn't make much sense. I understand we want to have a separate client without pulling in server components (and we have that for mariadb), but I having the server without client isn't much of use. There's usually enough storage space on the database server to also ship the client binaries, and they are needed for most options in the mysql module, as well as for local administration / backups anyways. I'm pretty much for removing the argument. It causes a lot of confusion when uses for arguable benefit.
Change:
<ins> --- ghc/compiler/main/SysTools.hs	2016-11-09 14:03:05.304528147 -0500 +++ ghc2/compiler/main/SysTools.hs	2016-11-09 14:00:19.712934686 -0500 @@ -421,7 +421,7 @@ args1 = map Option (getOpts dflags opt_c) args2 = args0 ++ args1 ++ args mb_env <- getGccEnv args2 -  runSomethingResponseFile dflags cc_filter "C Compiler" p args2 mb_env +  runSomethingFiltered dflags cc_filter "C Compiler" p args2 mb_env where -- discard some harmless warnings from gcc that we can't turn off cc_filter = unlines . doFilter . lines @@ -911,7 +911,7 @@ args1     = map Option (getOpts dflags opt_l) args2     = args0 ++ linkargs ++ args1 ++ args mb_env <- getGccEnv args2 -  runSomethingResponseFile dflags ld_filter "Linker" p args2 mb_env +  runSomethingFiltered dflags ld_filter "Linker" p args2 mb_env where ld_filter = case (platformOS (targetPlatform dflags)) of OSSolaris2 -> sunos_ld_filter </ins>

Discussion:
The package is currently pinned at a commit from 2015-08-28. I attempted to update it to a commit dated 2015-10-30 using the below patch to nixpkgs commit : But with this and other more recent versions of GHC HEAD, I'm getting: This happens when using the command Versions:
Have you reported this issue to the developers?
I haven't yet, since I don't know whether this is a GHC bug. It would be useful to a bisect to a specific commit. What's the best way to do that ( throws away build artifacts at each invocation)?
If you have a local checkout of the repository, then you can enter a build environment () and compile in there manually. Those builds would be incremental. From the looks of it, it appears to me that GHC tries to link without , which fails. But I haven't investigated it much either.
I get Do I need to write a special ? If so, what should I write? (still a beginner with nix...)
Ah! I think I got it...
So the issue I have is that and are local shell functions, not commands, so I can't include them in a script to be run by . Is there any way I can wrap those?
Seems to me like this is the offending GHC commit: I'll investigate a bit more and try to file a GHC ticket.
I created a GHC ticket:
ghc 7.10.3 has the same issue:
Change:
</listitem> <listitem> <para> <ins> The setting <xref linkend="opt-services.redis.bind" /> defaults to <literal>127.0.0.1</literal> now, making Redis listen on the loopback interface only, and not all public network interfaces. </para> </listitem> <listitem> <para> </ins> NixOS now emits a deprecation warning if systemd's <literal>StartLimitInterval</literal> setting is used in a <literal>serviceConfig</literal> section instead of in a <literal>unitConfig</literal>; that setting is deprecated and now undocumented for the service section by systemd upstream, but still effective and somewhat buggy there, which can be confusing. See <link xlink:href="https://github.com/NixOS/nixpkgs/issues/45785">#45785</link> for details. </para> <para>

Discussion:
The redis service module listens on all interfaces by default (I found it via which inherits nixpkgs' default): I think that is bad, because that is an insecure configuration. Because many people get owned by that, Redis has a protection against it; without further configuration, connecting to the listening port via TCP, it outputs: But it's still listening on the port. This has been that way for 7 yeas since the module was in by I think many NixOS modules that define services which are usually used unauthenticated by now make them only listen to by default. So I think we should do that with the module as well. CC recent service module committers CC contributors
Evindence that pretty much all other DB servers listen to by default in NixOS:
Fix in PR .
Change:
<del> { qtModule }: </del> <ins> { qtModule, speechd, pkg-config }: </ins> qtModule { pname = "qtspeech"; qtInputs = [ ]; <ins> buildInputs = [ speechd ]; nativeBuildInputs = [ pkg-config ]; </ins> outputs = [ "out" "dev" ]; }

Discussion:
Qgroundcontrol is not able to find a TTS plugin, so the TTS feature doesn't work. from NixOS/nixpkgs/ (probably also from stable and unstable) "No text-to-speech plug-ins were found." and the missing speech output I would expect that Qgroundcontrol can find a usable TTS module. I already tried adding speechd and espeak to the of , but that didn't fix anything. Also the command from works fine.
This is an issue with qtspeech, see:
Change:
bs-platform = callPackage ../development/compilers/bs-platform {}; <ins> ciano = callPackage ../applications/graphics/ciano { inherit (pantheon) granite; python = python3; gtk = gtk3; }; </ins> c3d = callPackage ../applications/graphics/c3d { inherit (darwin.apple_sdk.frameworks) Cocoa; };

Discussion:
Project description A multimedia file converter, focused on the simplicity of experience. Metadata homepage URL: source URL: releases URL: license: GNU General Public License v3.0 platforms: Linux
Change:
stdenv.mkDerivation { pname = "rtl88x2bu"; <del> version = "${kernel.version}-unstable-2023-07-20"; </del> <ins> version = "${kernel.version}-unstable-2023-07-23"; </ins> src = fetchFromGitHub { owner = "morrownr"; repo = "88x2bu-20210702"; <del> rev = "28bcb8b3eb4a531727c7a48001fa91903492fd1a"; sha256 = "sha256-LeCPu9ypJUdKV4lwJIy934g+VqD1S6P0fgnczTI3z7c="; </del> <ins> rev = "83db18e610845df9434a628ca3feb9004296b307"; sha256 = "sha256-as3S7WQkug3suJ5ovUbRu/UzO5GDrGLdgkiWrCrvztk="; </ins> }; hardeningDisable = [ "pic" ];

Discussion:
Steps to reproduce the behavior: nixos-unstable (tested with ) for full log Add any other context about the problem here. Please run and paste the result.
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
Change:
enableParallelBuilding = true; <del> postInstall = '' mv -v $out/sbin/unix_chkpwd{,.orig} ln -sv /run/wrappers/bin/unix_chkpwd $out/sbin/unix_chkpwd ''; /* rm -rf $out/etc mkdir -p $modules/lib mv $out/lib/security $modules/lib/ '';*/ # don't move modules, because libpam needs to (be able to) find them, # which is done by dlopening $out/lib/security/pam_foo.so # $out/etc was also missed: pam_env(login:session): Unable to open config file </del> preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") '' # export ac_cv_search_crypt=no # (taken from Alpine linux, apparently insecure but also doesn't build O:))

Discussion:
The package seems to have dangling symlinks created for in system-path. Steps to reproduce the behavior: a NixOS system For dangling symlinks not to be created. Build logs: n/a Please run and paste the result.
Change:
<ins> diff -urN old/src/library/trackcollection.h mixxx-2.0.0/src/library/trackcollection.h --- old/src/library/trackcollection.h	2017-07-30 00:04:48.511029517 -0400 +++ mixxx-2.0.0/src/library/trackcollection.h	2017-07-30 00:05:03.378699826 -0400 @@ -34,8 +34,7 @@ #include "library/dao/libraryhashdao.h" #ifdef __SQLITE3__ -typedef struct sqlite3_context sqlite3_context; -typedef struct Mem sqlite3_value; +#include <sqlite3.h> #endif class TrackInfoObject; </ins>

Discussion:
When I try to build , I get: System: (NixOS: , Ubuntu/Fedora: , ...) 09pre111447. (Hummingbird) Nix version: (run ) nix-env (Nix) 1.11.13 Nixpkgs version: (run ) "17.09pre111447." Sandboxing enabled: (run ) build-use-sandbox = true Any ideas?
fixed by
It's still not working.
it builds here on unstable. Travis seems to . Which error are you getting?
Got the same error while trying to install sqlite. Unstable works fine now. Thank you!
Change:
buildPythonApplication rec { pname = "FlexGet"; <del> version = "2.20.22"; </del> <ins> version = "2.21.2"; </ins> src = fetchPypi { inherit pname version; <del> sha256 = "1bk1ab7ivb6fikqw4v1f9df6brplgg4ybbn8d3vzgjabm5ic21nd"; </del> <ins> sha256 = "3c11fd7c4bb7e1e9203acd4d452ae51d34843e65066a18c7c72445d7db28122a"; </ins> }; postPatch = '' # remove dependency constraints sed 's/==([0-9].?)+//' -i requirements.txt <ins> # "zxcvbn-python" was renamed to "zxcvbn", and we don't have the former in # nixpkgs. See: https://github.com/NixOS/nixpkgs/issues/62110 substituteInPlace requirements.txt --replace "zxcvbn-python" "zxcvbn" </ins> ''; # ~400 failures

Discussion:
Tried to update my server but it refuses to build because of flexget. Nixos Unstable flexget as service Please run and paste the results. system: host os: multi-user?: sandbox: version: channels(hyper): channels(root): nixpkgs:
flexget works for you?
r-ryantm is my bot. Anyway, it looks like it successfully built it in It looks like it was merged on May 1st, and continued to build on Hydra after May 1st: Probably some dependency change messed it up. You could do some kind of binary bisection to figure out what commit broke it, or try to track down the error message, maybe zxcvbn-python is what broke it? cc because it's python related.
I don't know what a binary disection is.
No, this is simply flexget again that pins dependencies while it shouldn't. this has happened many times before so surely you know how to solve it by now.
I don't know what binary disection is.
this happened because , and landed in nixpkgs in the . I'm going to make a PR for this
Change:
(builtins.map (l: (replaceStrings [ "utf8" "utf-8" "UTF8" ] [ "UTF-8" "UTF-8" "UTF-8" ] l) + "/UTF-8") ( [ "C.UTF-8" <ins> "en_US.UTF-8" </ins> config.i18n.defaultLocale ] ++ (attrValues (filterAttrs (n: v: n != "LANGUAGE") config.i18n.extraLocaleSettings)) ));

Discussion:
The postgres service fails to start after rebuilding my system with the following error: Upon further investigation I noticed that setting explicitely resolves the problem. Adding this to my configuration results in postgres running without errors as it did before: I am running postgres 11 and my default locale is set to This might be related to Steps to reproduce the behavior: Postgres works with the default setting If applicable, add screenshots to help explain your problem. Add any other context about the problem here. Please run and paste the result.
I think this is by design now so. Also read the changelog:
Yes, I am not sure how to programmatically fix this but we could append that information to the changelog.
Can we get the locale from postgres somehow and append it to ?
Or maybe include as it seems to be the default for various applications
That is on a database level, so I don't think so.
Change:
local dst="${debug:-$out}" if [ "$prefix" = "$dst" ]; then return 0; fi <ins> # in case there is nothing to strip, don't fail the build mkdir -p "$dst" </ins> dst="$dst/lib/debug/.build-id" # Find executables and dynamic libraries.

Discussion:
If a derivation only outputs non-elf files and static libraries (which is often the case on libraries in pkgsStatic) then setting separateDebugInfo to true will break the build with: because no elf files were stripped to debug was not created at all. Steps to reproduce the behavior: unibilium to have separateDebugInfo set to true pkgsStatic.unibilium it builds See I think this only comes up now because for example glib has a bin output, and this is enough to create a debug output even in pkgsStatic. Reproduced on (current nixos-unstable-small)
Honestly I'm not even sure what would be the desired result of separate debug info for static libs.
I expect a behavior like on darwin where separate debug info is unsupported: setting separateDebugInfo is a noop: no debug info but the build succeeds. This way we can set separateDebugInfo to true without having to think about darwin/static, and we won't have to edit the set of exceptions in dozens of derivations when the next corner case is discovered. I see two possibilities: have the hook unconditionally . This has the downside of succeeding on wrappers or derivations without compiled stuff where separateDebugInfo makes no sense on any platform have the hook detect the presence of a static lib and in this case. What do you think?
for solution 2
Related:
Change:
, bzip2, lz4, lzo, snappy, xz, zlib, zstd , cracklib, judy, libevent, libxml2 , linux-pam, numactl, pmdk <del> , fmt_8 </del> , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq , withStorageRocks ? true }:

Discussion:
MariaDB 10.6.6 does not seem to exist at the given source.
Yeah, they unpublished those releases. I'd suggest just reverting the updates for now
Change:
systemd.services.check-flush = { requiredBy = ["multi-user.target"]; before = ["network-pre.target" "multi-user.target"]; <ins> wants = ["network-pre.target"]; </ins> unitConfig.DefaultDependencies = false; serviceConfig.Type = "oneshot"; path = [ pkgs.iproute2 pkgs.iputils pkgs.gnugrep ];

Discussion:
When using systemd-networkd to manage network devices together with stage1 systemd, the networkd daemon doesn't survive switching to stage2 if . Specifically, should be enabled and some other networking devices should be configured. I've included a patch for the test below that formalizes this. Apply this patch to the nixpkgs tests and run : systemd-network lives even if is false. CC
So the daemon isn't actually supposed to survive across switch-root. It just leaves the interfaces intact when it's stopped. Then when it starts up again in stage 2 it picks back up managing things. And your test is missing a few things. doesn't actually enable systemd stage 1. needs to inherit the netdev from . needs to include in . think needs to add , since that's not enabled by default. With those changes, the test passes as expected for me.
(Update from discussion over on matrix) systemd-networkd.service is not correctly stopped before switch-root It's currently unclear why this happens on some systems and not on others Related systemd issue: , temporary workaround: Temporary workaround:
btw I only asked you to add to make sure you were testing another thing I wanted tested :) The solution to this issue appears to be adding those and bits, which I will open a PR for.