Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
22 lines
840 B
Diff
22 lines
840 B
Diff
The clean command line compiler clm uses timestamps of dcl, icl, abc and o files
|
|
to decide what must be rebuild. However as for chroot builds, all of the
|
|
library files will have equal timestamps, this leads to clm trying to rebuild
|
|
the library modules distributed with the Clean installation every time a user
|
|
compiles any file, which fails ue to the absence of write permission on the Nix
|
|
store.
|
|
|
|
This patch changes the freshness check to use less than instead of less than or
|
|
equal to in order to avoid this.
|
|
|
|
--- b/src/clm/clm.c
|
|
+++ a/src/clm/clm.c
|
|
@@ -250,7 +250,7 @@
|
|
|| (t1.dwHighDateTime==t2.dwHighDateTime && (unsigned)(t1.dwLowDateTime)<=(unsigned)(t2.dwLowDateTime)))
|
|
#else
|
|
typedef unsigned long FileTime;
|
|
-# define FILE_TIME_LE(t1,t2) (t1<=t2)
|
|
+# define FILE_TIME_LE(t1,t2) (t1<t2)
|
|
#endif
|
|
|
|
typedef struct project_node {
|