diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-01 01:02:29 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-01 01:02:29 +0000 |
| commit | 8effedb35bb873a1278776721a0d650c665efaa7 (patch) | |
| tree | 6833ace13f8c5eee4254fdd41cb6391a01394c98 | |
| parent | 04186b51dfcada174b5372aab0c7e423a4ed3244 (diff) | |
| download | s6-rc-8effedb35bb873a1278776721a0d650c665efaa7.tar.gz | |
Add stores, edit init and sync
| -rw-r--r-- | package/deps.mak | 9 | ||||
| -rw-r--r-- | src/include/s6-rc/repo.h | 2 | ||||
| -rw-r--r-- | src/libs6rc/deps-lib/s6rc | 1 | ||||
| -rw-r--r-- | src/libs6rc/s6rc_repo_makestores.c | 68 | ||||
| -rw-r--r-- | src/libs6rc/s6rc_repo_sync.c | 18 | ||||
| -rw-r--r-- | src/repo/s6-rc-repo-init.c | 177 | ||||
| -rw-r--r-- | src/repo/s6-rc-repo-sync.c | 8 | ||||
| -rw-r--r-- | src/repo/s6-rc-set-changestate.c | 2 | ||||
| -rw-r--r-- | src/repo/s6-rc-set-commit.c | 4 | ||||
| -rw-r--r-- | src/repo/s6-rc-set-copy.c | 2 | ||||
| -rw-r--r-- | src/repo/s6-rc-set-delete.c | 2 | ||||
| -rw-r--r-- | src/repo/s6-rc-set-new.c | 2 |
12 files changed, 181 insertions, 114 deletions
diff --git a/package/deps.mak b/package/deps.mak index 2f362ea..180e311 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -37,6 +37,7 @@ src/libs6rc/s6rc_repo_listsub.o src/libs6rc/s6rc_repo_listsub.lo: src/libs6rc/s6 src/libs6rc/s6rc_repo_lock.o src/libs6rc/s6rc_repo_lock.lo: src/libs6rc/s6rc_repo_lock.c src/include/s6-rc/repo.h src/libs6rc/s6rc_repo_makedefbundle.o src/libs6rc/s6rc_repo_makedefbundle.lo: src/libs6rc/s6rc_repo_makedefbundle.c src/include/s6-rc/repo.h src/libs6rc/s6rc_repo_makesetbundles.o src/libs6rc/s6rc_repo_makesetbundles.lo: src/libs6rc/s6rc_repo_makesetbundles.c src/include/s6-rc/repo.h src/include/s6-rc/s6rc-utils.h +src/libs6rc/s6rc_repo_makestores.o src/libs6rc/s6rc_repo_makestores.lo: src/libs6rc/s6rc_repo_makestores.c src/include/s6-rc/repo.h src/libs6rc/s6rc_repo_makesvlist.o src/libs6rc/s6rc_repo_makesvlist.lo: src/libs6rc/s6rc_repo_makesvlist.c src/include/s6-rc/repo.h src/libs6rc/s6rc_repo_makesvlist_byname.o src/libs6rc/s6rc_repo_makesvlist_byname.lo: src/libs6rc/s6rc_repo_makesvlist_byname.c src/include/s6-rc/repo.h src/libs6rc/s6rc_repo_moveservices.o src/libs6rc/s6rc_repo_moveservices.lo: src/libs6rc/s6rc_repo_moveservices.c src/include/s6-rc/repo.h @@ -77,15 +78,15 @@ src/s6-rc/s6-rc-update.o src/s6-rc/s6-rc-update.lo: src/s6-rc/s6-rc-update.c src src/s6-rc/s6-rc.o src/s6-rc/s6-rc.lo: src/s6-rc/s6-rc.c src/include/s6-rc/config.h src/include/s6-rc/s6rc.h ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),) -libs6rc.a.xyzzy: src/libs6rc/s6rc_db_check_depcycles.o src/libs6rc/s6rc_db_check_pipelines.o src/libs6rc/s6rc_db_check_revdeps.o src/libs6rc/s6rc_db_read.o src/libs6rc/s6rc_db_read_sizes.o src/libs6rc/s6rc_db_read_uint32.o src/libs6rc/s6rc_graph_closure.o src/libs6rc/s6rc_live_state_size.o src/libs6rc/s6rc_live_state_read.o src/libs6rc/s6rc_livedir_canon.o src/libs6rc/s6rc_livedir_create.o src/libs6rc/s6rc_livedir_prefix.o src/libs6rc/s6rc_livedir_prefixsize.o src/libs6rc/s6rc_lock.o src/libs6rc/s6rc_ls.o src/libs6rc/s6rc_nlto0.o src/libs6rc/s6rc_read_uint.o src/libs6rc/s6rc_repo_badsub.o src/libs6rc/s6rc_repo_cleanup.o src/libs6rc/s6rc_repo_compile.o src/libs6rc/s6rc_repo_fillset.o src/libs6rc/s6rc_repo_fixset.o src/libs6rc/s6rc_repo_flattenservices.o src/libs6rc/s6rc_repo_list_sets.o src/libs6rc/s6rc_repo_listalldeps.o src/libs6rc/s6rc_repo_listcontents.o src/libs6rc/s6rc_repo_listdeps.o src/libs6rc/s6rc_repo_listdeps_internal.o src/libs6rc/s6rc_repo_listsub.o src/libs6rc/s6rc_repo_lock.o src/libs6rc/s6rc_repo_makedefbundle.o src/libs6rc/s6rc_repo_makesetbundles.o src/libs6rc/s6rc_repo_makesvlist.o src/libs6rc/s6rc_repo_makesvlist_byname.o src/libs6rc/s6rc_repo_moveservices.o src/libs6rc/s6rc_repo_refcompile.o src/libs6rc/s6rc_repo_setcompile.o src/libs6rc/s6rc_repo_subnames.o src/libs6rc/s6rc_repo_sv_bcmpr.o src/libs6rc/s6rc_repo_sv_cmpr.o src/libs6rc/s6rc_repo_sync.o src/libs6rc/s6rc_repo_syncset.o src/libs6rc/s6rc_repo_syncset_tmp.o src/libs6rc/s6rc_sanitize_dir.o src/libs6rc/s6rc_servicedir_internal.o src/libs6rc/s6rc_servicedir_block.o src/libs6rc/s6rc_servicedir_unblock.o src/libs6rc/s6rc_servicedir_copy_offline.o src/libs6rc/s6rc_servicedir_copy_online.o src/libs6rc/s6rc_servicedir_manage.o src/libs6rc/s6rc_servicedir_unsupervise.o src/libs6rc/s6rc_strrefcmp.o src/libs6rc/s6rc_type_check.o +libs6rc.a.xyzzy: src/libs6rc/s6rc_db_check_depcycles.o src/libs6rc/s6rc_db_check_pipelines.o src/libs6rc/s6rc_db_check_revdeps.o src/libs6rc/s6rc_db_read.o src/libs6rc/s6rc_db_read_sizes.o src/libs6rc/s6rc_db_read_uint32.o src/libs6rc/s6rc_graph_closure.o src/libs6rc/s6rc_live_state_size.o src/libs6rc/s6rc_live_state_read.o src/libs6rc/s6rc_livedir_canon.o src/libs6rc/s6rc_livedir_create.o src/libs6rc/s6rc_livedir_prefix.o src/libs6rc/s6rc_livedir_prefixsize.o src/libs6rc/s6rc_lock.o src/libs6rc/s6rc_ls.o src/libs6rc/s6rc_nlto0.o src/libs6rc/s6rc_read_uint.o src/libs6rc/s6rc_repo_badsub.o src/libs6rc/s6rc_repo_cleanup.o src/libs6rc/s6rc_repo_compile.o src/libs6rc/s6rc_repo_fillset.o src/libs6rc/s6rc_repo_fixset.o src/libs6rc/s6rc_repo_flattenservices.o src/libs6rc/s6rc_repo_list_sets.o src/libs6rc/s6rc_repo_listalldeps.o src/libs6rc/s6rc_repo_listcontents.o src/libs6rc/s6rc_repo_listdeps.o src/libs6rc/s6rc_repo_listdeps_internal.o src/libs6rc/s6rc_repo_listsub.o src/libs6rc/s6rc_repo_lock.o src/libs6rc/s6rc_repo_makedefbundle.o src/libs6rc/s6rc_repo_makesetbundles.o src/libs6rc/s6rc_repo_makestores.o src/libs6rc/s6rc_repo_makesvlist.o src/libs6rc/s6rc_repo_makesvlist_byname.o src/libs6rc/s6rc_repo_moveservices.o src/libs6rc/s6rc_repo_refcompile.o src/libs6rc/s6rc_repo_setcompile.o src/libs6rc/s6rc_repo_subnames.o src/libs6rc/s6rc_repo_sv_bcmpr.o src/libs6rc/s6rc_repo_sv_cmpr.o src/libs6rc/s6rc_repo_sync.o src/libs6rc/s6rc_repo_syncset.o src/libs6rc/s6rc_repo_syncset_tmp.o src/libs6rc/s6rc_sanitize_dir.o src/libs6rc/s6rc_servicedir_internal.o src/libs6rc/s6rc_servicedir_block.o src/libs6rc/s6rc_servicedir_unblock.o src/libs6rc/s6rc_servicedir_copy_offline.o src/libs6rc/s6rc_servicedir_copy_online.o src/libs6rc/s6rc_servicedir_manage.o src/libs6rc/s6rc_servicedir_unsupervise.o src/libs6rc/s6rc_strrefcmp.o src/libs6rc/s6rc_type_check.o else -libs6rc.a.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo +libs6rc.a.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makestores.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo endif libs6rc.pc: EXTRA_LIBS := -ls6 -lskarnet ${SPAWN_LIB} libs6rc.so.xyzzy: EXTRA_LIBS := -ls6 -lskarnet ${SPAWN_LIB} -libs6rc.so.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo +libs6rc.so.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makestores.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo libs6rc.dylib.xyzzy: EXTRA_LIBS := -ls6 -lskarnet ${SPAWN_LIB} -libs6rc.dylib.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo +libs6rc.dylib.xyzzy:src/libs6rc/s6rc_db_check_depcycles.lo src/libs6rc/s6rc_db_check_pipelines.lo src/libs6rc/s6rc_db_check_revdeps.lo src/libs6rc/s6rc_db_read.lo src/libs6rc/s6rc_db_read_sizes.lo src/libs6rc/s6rc_db_read_uint32.lo src/libs6rc/s6rc_graph_closure.lo src/libs6rc/s6rc_live_state_size.lo src/libs6rc/s6rc_live_state_read.lo src/libs6rc/s6rc_livedir_canon.lo src/libs6rc/s6rc_livedir_create.lo src/libs6rc/s6rc_livedir_prefix.lo src/libs6rc/s6rc_livedir_prefixsize.lo src/libs6rc/s6rc_lock.lo src/libs6rc/s6rc_ls.lo src/libs6rc/s6rc_nlto0.lo src/libs6rc/s6rc_read_uint.lo src/libs6rc/s6rc_repo_badsub.lo src/libs6rc/s6rc_repo_cleanup.lo src/libs6rc/s6rc_repo_compile.lo src/libs6rc/s6rc_repo_fillset.lo src/libs6rc/s6rc_repo_fixset.lo src/libs6rc/s6rc_repo_flattenservices.lo src/libs6rc/s6rc_repo_list_sets.lo src/libs6rc/s6rc_repo_listalldeps.lo src/libs6rc/s6rc_repo_listcontents.lo src/libs6rc/s6rc_repo_listdeps.lo src/libs6rc/s6rc_repo_listdeps_internal.lo src/libs6rc/s6rc_repo_listsub.lo src/libs6rc/s6rc_repo_lock.lo src/libs6rc/s6rc_repo_makedefbundle.lo src/libs6rc/s6rc_repo_makesetbundles.lo src/libs6rc/s6rc_repo_makestores.lo src/libs6rc/s6rc_repo_makesvlist.lo src/libs6rc/s6rc_repo_makesvlist_byname.lo src/libs6rc/s6rc_repo_moveservices.lo src/libs6rc/s6rc_repo_refcompile.lo src/libs6rc/s6rc_repo_setcompile.lo src/libs6rc/s6rc_repo_subnames.lo src/libs6rc/s6rc_repo_sv_bcmpr.lo src/libs6rc/s6rc_repo_sv_cmpr.lo src/libs6rc/s6rc_repo_sync.lo src/libs6rc/s6rc_repo_syncset.lo src/libs6rc/s6rc_repo_syncset_tmp.lo src/libs6rc/s6rc_sanitize_dir.lo src/libs6rc/s6rc_servicedir_internal.lo src/libs6rc/s6rc_servicedir_block.lo src/libs6rc/s6rc_servicedir_unblock.lo src/libs6rc/s6rc_servicedir_copy_offline.lo src/libs6rc/s6rc_servicedir_copy_online.lo src/libs6rc/s6rc_servicedir_manage.lo src/libs6rc/s6rc_servicedir_unsupervise.lo src/libs6rc/s6rc_strrefcmp.lo src/libs6rc/s6rc_type_check.lo s6-rc-repo-init: EXTRA_LIBS := ${SYSCLOCK_LIB} s6-rc-repo-init: src/repo/s6-rc-repo-init.o ${LIBS6RC} -lskarnet s6-rc-repo-sync: EXTRA_LIBS := ${SYSCLOCK_LIB} diff --git a/src/include/s6-rc/repo.h b/src/include/s6-rc/repo.h index 61a479f..2253984 100644 --- a/src/include/s6-rc/repo.h +++ b/src/include/s6-rc/repo.h @@ -21,6 +21,8 @@ extern int s6rc_repo_sv_bcmpr (void const *a, void const *b, void *aux) ; extern char const s6rc_repo_subnames[4][7] ; +extern int s6rc_repo_makestores (char const *, char const *const *, uint16_t) ; + extern int s6rc_repo_fillset (char const *, char const *, char const *const *, uint32_t) ; extern int s6rc_repo_cleanup (char const *) ; diff --git a/src/libs6rc/deps-lib/s6rc b/src/libs6rc/deps-lib/s6rc index 87feaee..d847297 100644 --- a/src/libs6rc/deps-lib/s6rc +++ b/src/libs6rc/deps-lib/s6rc @@ -30,6 +30,7 @@ s6rc_repo_listsub.o s6rc_repo_lock.o s6rc_repo_makedefbundle.o s6rc_repo_makesetbundles.o +s6rc_repo_makestores.o s6rc_repo_makesvlist.o s6rc_repo_makesvlist_byname.o s6rc_repo_moveservices.o diff --git a/src/libs6rc/s6rc_repo_makestores.c b/src/libs6rc/s6rc_repo_makestores.c new file mode 100644 index 0000000..5568ec5 --- /dev/null +++ b/src/libs6rc/s6rc_repo_makestores.c @@ -0,0 +1,68 @@ +/* ISC license. */ + +#include <string.h> +#include <stdint.h> +#include <unistd.h> +#include <stdlib.h> +#include <errno.h> + +#include <skalibs/uint16.h> +#include <skalibs/posixplz.h> +#include <skalibs/stat.h> +#include <skalibs/strerr.h> +#include <skalibs/djbunix.h> +#include <skalibs/unix-transactional.h> + +#include <s6-rc/repo.h> + +int s6rc_repo_makestores (char const *repo, char const *const *stores, uint16_t n) +{ + size_t repolen = strlen(repo) ; + mode_t m = umask(0) ; + char slink[repolen + 8] ; + char sdir[repolen + 21] ; + char sold[repolen + 16] ; + + memcpy(slink, repo, repolen) ; + memcpy(slink + repolen, "/stores", 8) ; + memcpy(sdir, slink, repolen + 1) ; + memcpy(sdir + repolen + 1, ".stores:XXXXXX", 15) ; + memcpy(sold, slink, repolen + 1) ; + + 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 + repolen + 1, 15)) + { + strerr_warnfu4sys("atomically symlink ", sdir + repolen + 1, " to ", slink) ; + goto err ; + } + rm_rf(sold) ; + return 1 ; + + err: + rm_rf(sdir) ; + return 0 ; +} diff --git a/src/libs6rc/s6rc_repo_sync.c b/src/libs6rc/s6rc_repo_sync.c index 8e5956b..df462ad 100644 --- a/src/libs6rc/s6rc_repo_sync.c +++ b/src/libs6rc/s6rc_repo_sync.c @@ -8,7 +8,7 @@ #include <stdlib.h> #include <errno.h> -#include <skalibs/uint32.h> +#include <skalibs/uint16.h> #include <skalibs/direntry.h> #include <skalibs/posixplz.h> #include <skalibs/strerr.h> @@ -31,13 +31,13 @@ static inline void cleanup (char const *ato, char const *bun) int s6rc_repo_sync (char const *repo, unsigned int verbosity, char const *fdhuser) { size_t repolen = strlen(repo) ; - char store[repolen + 17] ; + char store[repolen + 13] ; char ato[repolen + 26] ; char bun[repolen + 26] ; memcpy(store, repo, repolen) ; memcpy(store + repolen, "/stores/", 8) ; - store[repolen + 16] = 0 ; + store[repolen + 12] = 0 ; /* Fill new .atomics/ and .bundles/ with symlinks to real stores */ @@ -69,10 +69,10 @@ int s6rc_repo_sync (char const *repo, unsigned int verbosity, char const *fdhuse return 0 ; } - for (uint32_t istore = 0 ;; istore++) + for (uint16_t istore = 0 ;; istore++) { DIR *dir ; - uint320_xfmt(store + repolen + 8, istore, 8) ; + uint160_xfmt(store + repolen + 8, istore, 4) ; dir = opendir(store) ; if (!dir) { @@ -92,11 +92,11 @@ int s6rc_repo_sync (char const *repo, unsigned int verbosity, char const *fdhuse { char const *x ; char dst[repolen + 28 + len] ; - char src[26 + len] ; + char src[22 + len] ; memcpy(src, "../../../stores/", 16) ; - memcpy(src + 16, store + repolen + 8, 8) ; - src[24] = '/' ; - memcpy(src + 25, d->d_name, len+1) ; + memcpy(src + 16, store + repolen + 8, 4) ; + src[20] = '/' ; + memcpy(src + 21, d->d_name, len+1) ; switch (s6rc_type_check(-1, src)) { case 1 : diff --git a/src/repo/s6-rc-repo-init.c b/src/repo/s6-rc-repo-init.c index 8c65203..b105200 100644 --- a/src/repo/s6-rc-repo-init.c +++ b/src/repo/s6-rc-repo-init.c @@ -4,6 +4,7 @@ #include <skalibs/nonposix.h> /* mkdtemp */ #include <string.h> +#include <stdint.h> #include <stdlib.h> #include <unistd.h> #include <stdio.h> /* rename */ @@ -13,7 +14,6 @@ #include <skalibs/stat.h> #include <skalibs/posixplz.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/prog.h> #include <skalibs/strerr.h> #include <skalibs/djbunix.h> @@ -22,7 +22,7 @@ #include <s6-rc/config.h> #include <s6-rc/s6rc.h> -#define USAGE "s6-rc-repo-init [ -v verbosity ] [ -r repo ] [ -h fdhuser ] [ -B ] [ -f ] stores..." +#define USAGE "s6-rc-repo-init [ -v verbosity ] [ -r repo ] [ -h fdhuser ] [ -f ] [ -U ] [ -B ] stores..." #define dieusage() strerr_dieusage(100, USAGE) static void cleanup (char const *fn) @@ -35,13 +35,15 @@ static void cleanup (char const *fn) enum golb_e { GOLB_FORCE = 0x01, - GOLB_BARE = 0x02 + GOLB_UPDATE = 0x02, + GOLB_BARE = 0x04 } ; static gol_bool const rgolb[] = { { .so = 'f', .lo = "force", .clear = 0, .set = GOLB_FORCE }, - { .so = 'S', .lo = "bare", .clear = 0, .set = GOLB_BARE } + { .so = 'U', .lo = "update-stores", .clear = 0, .set = GOLB_UPDATE }, + { .so = 'B', .lo = "bare", .clear = 0, .set = GOLB_BARE } } ; enum gola_e @@ -56,17 +58,17 @@ static gol_arg const rgola[] = { { .so = 'v', .lo = "verbosity", .i = GOLA_VERBOSITY }, { .so = 'r', .lo = "repodir", .i = GOLA_REPODIR }, - { .so = 'h', .lo = "fd-holder-user", .i = GOLA_FDHUSER } + { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER } } ; int main (int argc, char const *const *argv) { - size_t repolen ; unsigned int verbosity = 1 ; - mode_t m ; char const *wgola[GOLA_N] = { 0 } ; uint64_t wgolb = 0 ; unsigned int golc ; + size_t repolen ; + int lockfd ; PROG = "s6-rc-repo-init" ; wgola[GOLA_REPODIR] = S6RC_REPO_BASE ; @@ -74,116 +76,117 @@ int main (int argc, char const *const *argv) golc = GOL_main(argc, argv, rgolb, rgola, &wgolb, wgola) ; argc -= golc ; argv += golc ; if (!argc) dieusage() ; + if (argc > UINT16_MAX) strerr_dief1x(100, "too many stores specified") ; if (wgola[GOLA_VERBOSITY] && !uint0_scan(wgola[GOLA_VERBOSITY], &verbosity)) strerr_dief1x(100, "verbosity needs to be an unsigned integer") ; - for (unsigned int i = 0 ; i < argc ; i++) + for (uint16_t i = 0 ; i < argc ; i++) { if (argv[i][0] != '/') strerr_dief2x(100, argv[i], " is not an absolute path") ; if (strchr(argv[i], '\n')) strerr_dief1x(100, "stores cannot contain newlines in their path") ; } - tain_now_g() ; repolen = strlen(wgola[GOLA_REPODIR]) ; - char repotmp[repolen + 12] ; - char tmp[repolen + 29] ; - memcpy(repotmp, wgola[GOLA_REPODIR], repolen) ; - memcpy(repotmp + repolen, ":new:XXXXXX", 12) ; - m = umask(0) ; - if (!mkdtemp(repotmp)) + + if (!(wgolb & GOLB_UPDATE)) { - size_t i = repolen ; - if (errno != ENOENT) - strerr_diefu2sys(111, "mkdtemp ", repotmp) ; - while (i && repotmp[i] != '/') i-- ; - repotmp[i] = 0 ; - if (mkdirp2(repotmp, 02755) == -1) - strerr_diefu2sys(111, "mkdir ", repotmp) ; - repotmp[i] = '/' ; + mode_t m ; + char repotmp[repolen + 12] ; + char tmp[repolen + 29] ; + memcpy(repotmp, wgola[GOLA_REPODIR], repolen) ; memcpy(repotmp + repolen, ":new:XXXXXX", 12) ; + m = umask(0) ; if (!mkdtemp(repotmp)) - strerr_diefu2sys(111, "mkdtemp ", repotmp) ; - } - memcpy(tmp, repotmp, repolen + 11) ; - tmp[repolen + 11] = '/' ; - - memcpy(tmp + repolen + 12, "compiled", 9) ; - if (mkdir(tmp, 02755) == -1) - { - cleanup(repotmp) ; - strerr_diefu2sys(111, "mkdir ", tmp) ; - } - - memcpy(tmp + repolen + 12, "sources", 8) ; - if (mkdir(tmp, 02755) == -1) - { - cleanup(repotmp) ; - strerr_diefu2sys(111, "mkdir ", tmp) ; - } + { + size_t i = repolen ; + if (errno != ENOENT) + strerr_diefu2sys(111, "mkdtemp ", repotmp) ; + while (i && repotmp[i] != '/') i-- ; + repotmp[i] = 0 ; + if (mkdirp2(repotmp, 02755) == -1) + strerr_diefu2sys(111, "mkdir ", repotmp) ; + repotmp[i] = '/' ; + memcpy(repotmp + repolen, ":new:XXXXXX", 12) ; + if (!mkdtemp(repotmp)) + strerr_diefu2sys(111, "mkdtemp ", repotmp) ; + } + memcpy(tmp, repotmp, repolen + 11) ; + tmp[repolen + 11] = '/' ; - memcpy(tmp + repolen + 12, "stores", 7) ; - if (mkdir(tmp, 02755) == -1) - { - cleanup(repotmp) ; - strerr_diefu2sys(111, "mkdir ", tmp) ; - } - umask(m) ; - tmp[repolen + 19] = '/' ; - for (unsigned int i = 0 ; i < argc ; i++) - { - uint320_xfmt(tmp + repolen + 20, i, 8) ; - tmp[repolen + 28] = 0 ; - if (symlink(argv[i], tmp) == -1) + memcpy(tmp + repolen + 12, "compiled", 9) ; + if (mkdir(tmp, 02755) == -1) { cleanup(repotmp) ; - strerr_diefu4sys(111, "make a symlink from ", tmp, " to ", argv[i]) ; + strerr_diefu2sys(111, "mkdir ", tmp) ; } - } - memcpy(tmp + repolen + 12, "lock", 5) ; - if (!openwritenclose_unsafe5(tmp, "", 0, 0, 0)) - { - cleanup(repotmp) ; - strerr_diefu2sys(111, "create ", tmp) ; - } + memcpy(tmp + repolen + 12, "sources", 8) ; + if (mkdir(tmp, 02755) == -1) + { + cleanup(repotmp) ; + strerr_diefu2sys(111, "mkdir ", tmp) ; + } - if (!(wgolb & GOLB_BARE) && !s6rc_repo_sync(repotmp, verbosity, wgola[GOLA_FDHUSER])) - { - cleanup(repotmp) ; - _exit(111) ; - } + memcpy(tmp + repolen + 12, "stores", 7) ; + if (mkdir(tmp, 02755) == -1) + { + cleanup(repotmp) ; + strerr_diefu2sys(111, "mkdir ", tmp) ; + } + umask(m) ; - if (chmod(repotmp, 02755) == -1) - strerr_diefu2sys(111, "chmod ", repotmp) ; - if (rename(repotmp, wgola[GOLA_REPODIR]) == -1) - { - if (errno != EEXIST || !(wgolb & GOLB_FORCE)) + memcpy(tmp + repolen + 12, "lock", 5) ; + if (!openwritenclose_unsafe5(tmp, "", 0, 0, 0)) { cleanup(repotmp) ; - strerr_diefu4sys(111, "rename ", repotmp, " to ", wgola[GOLA_REPODIR]) ; + strerr_diefu2sys(111, "create ", tmp) ; } - else + + if (chmod(repotmp, 02755) == -1) + strerr_diefu2sys(111, "chmod ", repotmp) ; + + if (rename(repotmp, wgola[GOLA_REPODIR]) == -1) { - memcpy(tmp, wgola[GOLA_REPODIR], repolen) ; - memcpy(tmp + repolen, ":old:", 5) ; - random_name(tmp + repolen + 5, 15) ; - tmp[repolen + 20] = 0 ; - if (rename(wgola[GOLA_REPODIR], tmp) == -1) + if (errno != EEXIST || !(wgolb & GOLB_FORCE)) { cleanup(repotmp) ; - strerr_diefu4sys(111, "rename ", wgola[GOLA_REPODIR], " to ", tmp) ; + strerr_diefu4sys(111, "rename ", repotmp, " to ", wgola[GOLA_REPODIR]) ; } - if (rename(repotmp, wgola[GOLA_REPODIR]) == -1) + else { - int e = errno ; - if (rename(tmp, wgola[GOLA_REPODIR]) == -1) - strerr_diefu7sys(111, "rename directories to ", wgola[GOLA_REPODIR], ": weird race happened. New repository is at ", repotmp, " and old repository is at ", tmp, " - reported error was") ; - errno = e ; - cleanup(repotmp) ; - strerr_diefu4sys(111, "rename ", repotmp, " to ", wgola[GOLA_REPODIR]) ; + memcpy(tmp, wgola[GOLA_REPODIR], repolen) ; + memcpy(tmp + repolen, ":old:", 5) ; + random_name(tmp + repolen + 5, 15) ; + tmp[repolen + 20] = 0 ; + if (rename(wgola[GOLA_REPODIR], tmp) == -1) + { + cleanup(repotmp) ; + strerr_diefu4sys(111, "rename ", wgola[GOLA_REPODIR], " to ", tmp) ; + } + if (rename(repotmp, wgola[GOLA_REPODIR]) == -1) + { + int e = errno ; + if (rename(tmp, wgola[GOLA_REPODIR]) == -1) + strerr_diefu7sys(111, "rename directories to ", wgola[GOLA_REPODIR], ": weird race happened. New repository is at ", repotmp, " and old repository is at ", tmp, " - reported error was") ; + errno = e ; + cleanup(repotmp) ; + strerr_diefu4sys(111, "rename ", repotmp, " to ", wgola[GOLA_REPODIR]) ; + } } } } + lockfd = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; + if (lockfd == -1) + strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; + + if (!s6rc_repo_makestores(wgola[GOLA_REPODIR], argv, argc)) _exit(111) ; + + if (!(wgolb & GOLB_BARE)) + { + if (!s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER])) + _exit(111) ; + } + _exit(0) ; } diff --git a/src/repo/s6-rc-repo-sync.c b/src/repo/s6-rc-repo-sync.c index f3768f7..751037c 100644 --- a/src/repo/s6-rc-repo-sync.c +++ b/src/repo/s6-rc-repo-sync.c @@ -3,7 +3,6 @@ #include <unistd.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/prog.h> #include <skalibs/strerr.h> @@ -25,7 +24,7 @@ static gol_arg const rgola[] = { { .so = 'v', .lo = "verbosity", .i = GOLA_VERBOSITY }, { .so = 'r', .lo = "repodir", .i = GOLA_REPODIR }, - { .so = 'h', .lo = "fd-holder-user", .i = GOLA_FDHUSER } + { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER } } ; int main (int argc, char const *const *argv) @@ -33,6 +32,7 @@ int main (int argc, char const *const *argv) char const *wgola[GOLA_N] = { 0 } ; unsigned int verbosity = 1 ; unsigned int golc ; + int fdlock ; PROG = "s6-rc-repo-sync" ; wgola[GOLA_REPODIR] = S6RC_REPO_BASE ; @@ -41,7 +41,9 @@ int main (int argc, char const *const *argv) argc -= golc ; argv += golc ; if (wgola[GOLA_VERBOSITY] && !uint0_scan(wgola[GOLA_VERBOSITY], &verbosity)) strerr_dief1x(100, "verbosity needs to be an unsigned integer") ; - tain_now_g() ; + + fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; + if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; if (!s6rc_repo_sync(wgola[GOLA_REPODIR], verbosity, wgola[GOLA_FDHUSER])) _exit(111) ; diff --git a/src/repo/s6-rc-set-changestate.c b/src/repo/s6-rc-set-changestate.c index 54aefd2..1064051 100644 --- a/src/repo/s6-rc-set-changestate.c +++ b/src/repo/s6-rc-set-changestate.c @@ -10,7 +10,6 @@ #include <skalibs/prog.h> #include <skalibs/strerr.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/stralloc.h> #include <skalibs/genalloc.h> #include <skalibs/djbunix.h> @@ -126,7 +125,6 @@ int main (int argc, char const *const *argv) fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; - tain_now_g() ; if (!s6rc_repo_makesvlist_byname(wgola[GOLA_REPODIR], argv[0], &storage, &svlist)) _exit(111) ; list = genalloc_s(s6rc_repo_sv, &svlist) ; diff --git a/src/repo/s6-rc-set-commit.c b/src/repo/s6-rc-set-commit.c index 07ddbfb..9676f68 100644 --- a/src/repo/s6-rc-set-commit.c +++ b/src/repo/s6-rc-set-commit.c @@ -12,7 +12,6 @@ #include <skalibs/allreadwrite.h> #include <skalibs/strerr.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/stralloc.h> #include <skalibs/genalloc.h> #include <skalibs/djbunix.h> @@ -47,7 +46,7 @@ static gol_arg const rgola[] = { .so = 'v', .lo = "verbosity", .i = GOLA_VERBOSITY }, { .so = 'r', .lo = "repodir", .i = GOLA_REPODIR }, { .so = 'D', .lo = "default-bundle", .i = GOLA_DEFBUNDLE }, - { .so = 'h', .lo = "fd-holder-user", .i = GOLA_FDHUSER } + { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER } } ; static uint64_t wgolb = 0 ; @@ -94,7 +93,6 @@ int main (int argc, char const *const *argv) fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; check_set(wgola[GOLA_REPODIR], argv[0]) ; - tain_now_g() ; size_t oldclen = S6RC_REPO_COMPILE_BUFLEN(strlen(wgola[GOLA_REPODIR]), strlen(argv[0])) ; char oldc[oldclen] ; diff --git a/src/repo/s6-rc-set-copy.c b/src/repo/s6-rc-set-copy.c index 7961ca0..372a23c 100644 --- a/src/repo/s6-rc-set-copy.c +++ b/src/repo/s6-rc-set-copy.c @@ -9,7 +9,6 @@ #include <skalibs/prog.h> #include <skalibs/strerr.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/djbunix.h> #include <skalibs/unix-transactional.h> @@ -125,7 +124,6 @@ int main (int argc, char const *const *argv) fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; - tain_now_g() ; docopy(wgola[GOLA_REPODIR], argv[0], argv[1]) ; _exit(0) ; } diff --git a/src/repo/s6-rc-set-delete.c b/src/repo/s6-rc-set-delete.c index 48a81f0..d0d0f96 100644 --- a/src/repo/s6-rc-set-delete.c +++ b/src/repo/s6-rc-set-delete.c @@ -8,7 +8,6 @@ #include <skalibs/prog.h> #include <skalibs/strerr.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/direntry.h> #include <skalibs/djbunix.h> @@ -110,7 +109,6 @@ int main (int argc, char const *const *argv) fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; - tain_now_g() ; for (unsigned int i = 0 ; i < argc ; i++) dodelete(wgola[GOLA_REPODIR], argv[i]) ; diff --git a/src/repo/s6-rc-set-new.c b/src/repo/s6-rc-set-new.c index bc72f92..04be39d 100644 --- a/src/repo/s6-rc-set-new.c +++ b/src/repo/s6-rc-set-new.c @@ -12,7 +12,6 @@ #include <skalibs/stat.h> #include <skalibs/posixplz.h> #include <skalibs/gol.h> -#include <skalibs/tai.h> #include <skalibs/prog.h> #include <skalibs/strerr.h> #include <skalibs/direntry.h> @@ -121,7 +120,6 @@ int main (int argc, char const *const *argv) } fdlock = s6rc_repo_lock(wgola[GOLA_REPODIR], 1) ; if (fdlock == -1) strerr_diefu2sys(111, "lock ", wgola[GOLA_REPODIR]) ; - tain_now_g() ; for (unsigned int i = 0 ; i < argc ; i++) newset(wgola[GOLA_REPODIR], argv[i]) ; |
