Initial commit: OCI image mounting via containers-storage

slocker-lite validates an OCI Image Layout tar, imports its layers into
containers-storage's layer store in order, and mounts the assembled image
using fuse-overlayfs, printing the resulting merged path.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-10 08:12:50 +00:00
commit a301dfb44f
16 changed files with 1141 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
project('slocker-lite', 'cpp',
version : '0.0.1',
default_options : ['warning_level=3', 'cpp_std=c++20'])
fmt_dep = dependency('fmt')
catch2_dep = dependency('catch2', required : get_option('enable_tests'))
yaml_dep = dependency('yaml-0.1')
archive_dep = dependency('libarchive')
json_dep = dependency('nlohmann_json')
spdlog_dep = dependency('spdlog')
conf_data = configuration_data()
conf_data.set_quoted('PACKAGE', meson.project_name())
conf_data.set_quoted('VERSION', meson.project_version())
conf_data.set10('ENABLE_TESTS', get_option('enable_tests'))
configure_file(output : 'config.h', configuration : conf_data)
slocker_lite = executable('slocker_lite',
['src/main.cpp', 'src/process.cpp', 'src/oci_image.cpp', 'src/containers_storage.cpp'],
include_directories : include_directories('.'),
dependencies : [fmt_dep, catch2_dep, yaml_dep, archive_dep, json_dep, spdlog_dep],
install : true)
fixture_tar = custom_target('oci-fixture',
output : 'fixture.tar',
command : [find_program('python3'), files('tests/gen_fixture.py'), '@OUTPUT@'])
test('test', slocker_lite, args : [fixture_tar])