From 55850e313752497880ffde33870540b0b57814c1 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 5 Oct 2026 18:16:38 +0000 Subject: Propagate -L catchall changes to s6-rc-set-commit s6-rc-set-install is undergoing changes, it might not work properly. The rest is coming this week. --- src/repo/s6rc_repo_setuptodate.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/repo/s6rc_repo_setuptodate.c') diff --git a/src/repo/s6rc_repo_setuptodate.c b/src/repo/s6rc_repo_setuptodate.c index 83e208e..b6bd35d 100644 --- a/src/repo/s6rc_repo_setuptodate.c +++ b/src/repo/s6rc_repo_setuptodate.c @@ -4,11 +4,14 @@ #include #include +#include #include #include #include +#include +#include #include int s6rc_repo_setuptodate (char const *repo, char const *set) @@ -28,15 +31,24 @@ int s6rc_repo_setuptodate (char const *repo, char const *set) memcpy(dstfn + repolen + 10, set, setlen + 1) ; if (stat(srcfn, &stsource) == -1) { - strerr_warnfu2sys("stat ", srcfn) ; + strerr_warnfusys("stat ", srcfn) ; return -1 ; } if (stat(dstfn, &stcompiled) == -1) { if (errno == ENOENT) return 0 ; - strerr_warnfu2sys("stat ", dstfn) ; + strerr_warnfusys("stat ", dstfn) ; return -1 ; } + { + uint32_t version = s6rc_read_major(dstfn) ; + if (!version) + { + strerr_warnfusys("read major version from ", dstfn) ; + return -1 ; + } + if (version < s6rc_get_major(S6RC_VERSION)) return 0 ; + } return stsource.st_mtim.tv_sec < stcompiled.st_mtim.tv_sec ? 1 : stsource.st_mtim.tv_sec > stcompiled.st_mtim.tv_sec ? 0 : -- cgit v1.3.1