From e0bcc0ef3466b7b5fc776d2e78d7e7ec027810c0 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 22 Oct 2025 22:05:56 +0000 Subject: Separate libs6rcrepo --- src/libs6rc/s6rc_repo_makestores.c | 65 -------------------------------------- 1 file changed, 65 deletions(-) delete mode 100644 src/libs6rc/s6rc_repo_makestores.c (limited to 'src/libs6rc/s6rc_repo_makestores.c') diff --git a/src/libs6rc/s6rc_repo_makestores.c b/src/libs6rc/s6rc_repo_makestores.c deleted file mode 100644 index f61f94c..0000000 --- a/src/libs6rc/s6rc_repo_makestores.c +++ /dev/null @@ -1,65 +0,0 @@ -/* ISC license. */ - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -int s6rc_repo_makestores (char const *repo, char const *const *stores, uint16_t n, char *sold) -{ - size_t repolen = strlen(repo) ; - mode_t m = umask(0) ; - char slink[repolen + 8] ; - char sdir[repolen + 21] ; - - memcpy(slink, repo, repolen) ; - memcpy(slink + repolen, "/stores", 8) ; - memcpy(sdir, slink, repolen + 1) ; - memcpy(sdir + repolen + 1, ".stores:XXXXXX", 15) ; - - if (!mkdtemp(sdir)) - { - umask(m) ; - strerr_warnfu2sys("mkdtemp ", sdir) ; - return 0 ; - } - umask(m) ; - sdir[repolen + 15] = '/' ; - sdir[repolen + 20] = 0 ; - for (uint16_t i = 0 ; i < n ; i++) - { - uint160_xfmt(sdir + repolen + 16, i, 4) ; - if (symlink(stores[i], sdir) == -1) - { - strerr_warnfu4sys("symlink ", stores[i], " to ", sdir) ; - sdir[repolen + 15] = 0 ; - goto err ; - } - } - sdir[repolen + 15] = 0 ; - if (chmod(sdir, 02755) == -1) - { - strerr_warnfu2sys("chmod ", sdir) ; - goto err ; - } - if (!atomic_symlink4(sdir + repolen + 1, slink, sold, 15)) - { - strerr_warnfu4sys("atomically symlink ", sdir + repolen + 1, " to ", slink) ; - goto err ; - } - return 1 ; - - err: - rm_rf(sdir) ; - return 0 ; -} -- cgit v1.3.1