!lymvtcwDJ7ZA9Npq:lix.systems

Lix Development

397 Members
(Technical) development of Lix, the package manager, a Nix implementation. Please be mindful of ongoing technical conversations in this channel.135 Servers

Load older messages


SenderMessageTime
25 Oct 2025
@raitobezarius:matrix.orgraitobezarius(alerting shows me nothing for today for Gerrit)16:04:45
@emilazy:matrix.orgemily it was some text/plain page when bouncing out of Keycloak 17:49:08
@emilazy:matrix.orgemilyI forget the exact wording but it was literally just "Server Error" or something with nothing else17:49:18
@raitobezarius:matrix.orgraitobezariusyeah, indeed21:18:16
@raitobezarius:matrix.orgraitobezariusi can confirm it21:18:24
28 Oct 2025
@lillecarl:matrix.orglillecarl
diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
     SQLiteStmt QueryDerivationOutputs;
     SQLiteStmt QueryPathFromHashPart;
     SQLiteStmt QueryValidPaths;
+    SQLiteStmt UpdateRegTime;
 };
 
 int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->RegisterValidPath = state.db.create(
         "insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
     state.stmts->UpdatePathInfo = state.db.create(
-        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
     state.stmts->AddReference = state.db.create(
         "insert or replace into Refs (referrer, reference) values (?, ?);");
     state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->QueryPathFromHashPart = state.db.create(
         "select path from ValidPaths where path >= ? limit 1;");
     state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+    state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
 }
 
 
@@ -715,6 +717,7 @@ try {
 
 std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     /* Get the path info. */
     auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
 
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
 
 uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
     if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
         throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 
 bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
 }
 

How on earth does this not update registrationTime on a package when I build it? πŸ€”

01:56:19
@lillecarl:matrix.orglillecarl *
diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
     SQLiteStmt QueryDerivationOutputs;
     SQLiteStmt QueryPathFromHashPart;
     SQLiteStmt QueryValidPaths;
+    SQLiteStmt UpdateRegTime;
 };
 
 int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->RegisterValidPath = state.db.create(
         "insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
     state.stmts->UpdatePathInfo = state.db.create(
-        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
     state.stmts->AddReference = state.db.create(
         "insert or replace into Refs (referrer, reference) values (?, ?);");
     state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->QueryPathFromHashPart = state.db.create(
         "select path from ValidPaths where path >= ? limit 1;");
     state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+    state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
 }
 
 
@@ -715,6 +717,7 @@ try {
 
 std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     /* Get the path info. */
     auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
 
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
 
 uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
     if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
         throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 
 bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
 }
 

~~How on earth does this not update registrationTime on a package when I build it?~~ AAaaaaaaa I'm running the Nixpkgs daemon. It's getting too late πŸ€”

01:57:59
@lillecarl:matrix.orglillecarl *
diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
     SQLiteStmt QueryDerivationOutputs;
     SQLiteStmt QueryPathFromHashPart;
     SQLiteStmt QueryValidPaths;
+    SQLiteStmt UpdateRegTime;
 };
 
 int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->RegisterValidPath = state.db.create(
         "insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
     state.stmts->UpdatePathInfo = state.db.create(
-        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+        "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
     state.stmts->AddReference = state.db.create(
         "insert or replace into Refs (referrer, reference) values (?, ?);");
     state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
     state.stmts->QueryPathFromHashPart = state.db.create(
         "select path from ValidPaths where path >= ? limit 1;");
     state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+    state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
 }
 
 
@@ -715,6 +717,7 @@ try {
 
 std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     /* Get the path info. */
     auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
 
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
 
 uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
     if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
         throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
 
 bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
 {
+    state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
     return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
 }
 

How on earth does this not update registrationTime on a package when I build it? Edit: AAaaaaaaa I'm running the Nixpkgs daemon. It's getting too late πŸ€”

01:58:34
@lillecarl:matrix.orglillecarl
[lillecarl@shitbox] in [☸ kubernetes-admin@shitbox (nix-csi)]~/C/lix [πŸŽ‹ main][!][πŸ¦€ v1.86.0][❄️  impure (lix-shell-env-env)][πŸ—€ loaded/allowed][🐚fish][asπŸ§™]
[03:00:38]❯ sudo -E ./build/lix/nix/nix path-info --store local /nix/store/0fc5496qwndd1m5lhxk58alv28ga0dn4-manifest.json --json | jq '.[0].registrationTime'
warning: $HOME ('/home/lillecarl') is not owned by you, falling back to the one defined in the 'passwd' file ('/root')
1761616839
[lillecarl@shitbox] in [☸ kubernetes-admin@shitbox (nix-csi)]~/C/lix [πŸŽ‹ main][!][πŸ¦€ v1.86.0][❄️  impure (lix-shell-env-env)][πŸ—€ loaded/allowed][🐚fish][asπŸ§™]
[03:00:39]❯ sudo -E ./build/lix/nix/nix path-info --store local /nix/store/0fc5496qwndd1m5lhxk58alv28ga0dn4-manifest.json --json | jq '.[0].registrationTime'
warning: $HOME ('/home/lillecarl') is not owned by you, falling back to the one defined in the 'passwd' file ('/root')
1761616840

That's more like it, thanks!

02:01:13
@shine:proqqul.netTaeer Bar-Yam joined the room.22:47:00

There are no newer messages yet.


Back to Room ListRoom Version: 10