repo: Add ostree_repo_write_symlink
Continuation of the addition of `ostree_repo_write_regfile_inline()`. This will be helpful for ostree-rs-ext and importing from tar, it's quite inefficient and awkward for small files to end up creating a whole `GInputStream` and `GFileInfo` and etc. for small files.
This commit is contained in:
1 parent
9332955b5f
commit
fce69cdf70
6 files changed
+66
No files matched your search
@@ -56,6 +56,7 @@ let inline_checksum = repo.write_regfile_inline(null, 0, 0, regfile_mode, null,
|
||||
assertEquals(inline_checksum, "8aaa9dc13a0c5839fe4a277756798c609c53fac6fa2290314ecfef9041065873");
|
||||
let written = false;
|
||||
try {
|
||||
// Changed an a to b from above to make the checksum not match
|
||||
repo.write_regfile_inline("8baa9dc13a0c5839fe4a277756798c609c53fac6fa2290314ecfef9041065873", 0, 0, regfile_mode, null, inline_content, null);
|
||||
written = true;
|
||||
} catch (e) {
|
||||
|
||||
@@ -236,6 +236,18 @@ test_write_regfile_api (Fixture *fixture,
|
||||
g_assert_no_error (error);
|
||||
g_assert_cmpstr (checksum, ==, "4f600d252338f93279c51c964915cb2c26f0d09082164c54890d1a3c78cdeb1e");
|
||||
g_clear_pointer (&checksum, g_free);
|
||||
|
||||
// Test symlinks
|
||||
g_clear_pointer (&xattrs, g_variant_unref);
|
||||
g_variant_builder_init (&xattrs_builder, (GVariantType*)"a(ayay)");
|
||||
g_variant_builder_add (&xattrs_builder, "(^ay^ay)", "security.selinux", "system_u:object_r:bin_t:s0");
|
||||
g_clear_pointer (&xattrs, g_variant_unref);
|
||||
xattrs = g_variant_ref_sink (g_variant_builder_end (&xattrs_builder));
|
||||
|
||||
g_clear_pointer (&checksum, g_free);
|
||||
checksum = ostree_repo_write_symlink (repo, NULL, 0, 0, xattrs, "bash", NULL, &error);
|
||||
g_assert_no_error (error);
|
||||
g_assert_cmpstr (checksum, ==, "23a2e97d21d960ac7a4e39a8721b1baff7b213e00e5e5641334f50506012fcff");
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
Reference in new issue
Block a user