| 13 Oct 2025 |
Marie | nix-build --expr 'let pkgs = import ./nixpkgs.nix; in derivation { name = "resolvconf"; builder = pkgs.lib.getExe pkgs.bash; args = [ "-c" "${pkgs.coreutils}/bin/cat /etc/resolv.conf > $out" ]; system = "powerpc-linux"; outputHashAlgo = "sha256"; outputHashMode = "flat"; outputHash = "sha256-699WAnKnc1cZXDnpg0C3fhjIqM4gJe6VDp4MewFGerg="; }'
I think this should be correct? results in | 19:04:23 |
Marie | nameserver 127.0.0.53
options edns0 trust-ad
search .
| 19:04:36 |
Marie | and the usual resolved comment | 19:04:49 |
aloisw | In reply to @raitobezarius:matrix.org this should be a release blocker because everyone is running into it Release blocker for what? 2.93.3 already has pasta. | 19:07:24 |
raitobezarius | for 2.94.0 | 19:07:34 |
raitobezarius | 2.93.3 doesn't enable pasta outside of unstable, no? | 19:07:44 |
raitobezarius | (ideally, we should fix it for 2.93.4 as well) | 19:07:51 |
aloisw | In reply to @raitobezarius:matrix.org 2.93.3 doesn't enable pasta outside of unstable, no? No, the in-tree packaging always enables pasta on Linux. | 19:09:56 |
raitobezarius | including on 25.05? | 19:10:07 |
raitobezarius | spicy, if so | 19:10:21 |
aloisw | It ships its own pasta. | 19:10:32 |
raitobezarius | doesn't change much to what we should do anyway | 19:10:32 |
raitobezarius | i have it on my list to squash the final usability bugs of pasta | 19:10:52 |
Marie | anything else i could show to debug this? | 19:11:05 |
raitobezarius | the FOD result | 19:11:28 |
raitobezarius | if you can construct it somehow in another way, great | 19:11:36 |
Marie | i did | 19:11:41 |
raitobezarius | i'm so dumb | 19:11:47 |
raitobezarius | it'swrong | 19:11:55 |
raitobezarius | ok cool | 19:12:02 |
raitobezarius | it should be an easy fix | 19:12:05 |
raitobezarius | something very going is happening with regexes | 19:12:10 |
raitobezarius | std::string LinuxLocalDerivationGoal::rewriteResolvConf(std::string fromHost)
{
if (!runPasta) {
return fromHost;
}
static constexpr auto flags = std::regex::ECMAScript | std::regex::multiline;
static auto lineRegex = regex::parse("^nameserver\\s.*$", flags);
static auto v4Regex = regex::parse("^nameserver\\s+\\d{1,3}\\.", flags);
static auto v6Regex = regex::parse("^nameserver.*:", flags);
std::string nsInSandbox = "\n";
if (std::regex_search(fromHost, v4Regex)) {
nsInSandbox += fmt("nameserver %s\n", PASTA_HOST_IPV4);
}
if (std::regex_search(fromHost, v6Regex)) {
nsInSandbox += fmt("nameserver %s\n", PASTA_HOST_IPV6);
}
return std::regex_replace(fromHost, lineRegex, "") + nsInSandbox;
}
| 19:12:22 |
raitobezarius | this is how the rewrites should take place | 19:12:26 |
raitobezarius | if anyfew has some time to stare at this and find the bug, it'd be greatly appreciated | 19:12:45 |
raitobezarius | (as I'm wrangling with profiling stuff rn) | 19:12:49 |
Marie | I'll have a look | 19:15:03 |
hexa | uhh, I don't know pasta, but how does it map from PASTA_HOST_IPV4 to the host resolver or wherever? | 19:28:57 |
hexa | especially if the host resolver points to loopback | 19:29:09 |
hexa | this only substitutes nameservers from the host resolv.conf from what I see | 19:35:43 |