repo+tests: Add [core]disable-xattrs=true, use it on overlayfs

There are a lot of things suboptimal about this approach, but
on the other hand we need to get our CI back up and running.

The basic approach is to - in the test suite, detect if we're on overlayfs. If
so, set a flag in the repo, which gets picked up by a few strategic places in
the core to turn on "ignore xattrs".

I also had to add a variant of this for the sysroot work.

The core problem here is while overlayfs will let us read and
see the SELinux labels, it won't let us write them.

Down the line, we should improve this so that we can selectively ignore e.g.
`security.*` attributes but not `user.*` say.

Closes: https://github.com/ostreedev/ostree/issues/758

Closes: #759
Approved by: jlebon
This commit is contained in:
Colin Walters 2017-03-24 10:35:59 -04:00 committed by Atomic Bot
parent 4d873389f0
commit 455cc5e892
40 changed files with 208 additions and 122 deletions

View File

@ -43,7 +43,7 @@ assert_streq() {
validate_delta_options() { validate_delta_options() {
mkdir testrepo mkdir testrepo
ostree --repo=testrepo init --mode=bare-user ostree_repo_init testrepo --mode=bare-user
ostree --repo=testrepo remote add --set=gpg-verify=false local file://${repo} ostree --repo=testrepo remote add --set=gpg-verify=false local file://${repo}
ostree --repo=${repo} static-delta generate $@ --from=${from} --to=${to} ostree --repo=${repo} static-delta generate $@ --from=${from} --to=${to}
ostree --repo=testrepo pull --require-static-deltas local ${branch}@${from} ostree --repo=testrepo pull --require-static-deltas local ${branch}@${from}

View File

@ -24,6 +24,7 @@
#include "libglnx.h" #include "libglnx.h"
#include "ostree.h" #include "ostree.h"
#include "ostree-repo-private.h"
#include "otutil.h" #include "otutil.h"
static gboolean static gboolean
@ -269,6 +270,19 @@ ostree_diff_dirs_with_options (OstreeDiffFlags flags,
if (!options) if (!options)
options = &default_opts; options = &default_opts;
/* If we're diffing versus a repo, and either of them have xattrs disabled,
* then disable for both.
*/
OstreeRepo *repo;
if (OSTREE_IS_REPO_FILE (a))
repo = ostree_repo_file_get_repo ((OstreeRepoFile*)a);
else if (OSTREE_IS_REPO_FILE (b))
repo = ostree_repo_file_get_repo ((OstreeRepoFile*)b);
else
repo = NULL;
if (repo != NULL && repo->disable_xattrs)
flags |= OSTREE_DIFF_FLAGS_IGNORE_XATTRS;
if (a == NULL) if (a == NULL)
{ {
if (!diff_add_dir_recurse (b, added, cancellable, error)) if (!diff_add_dir_recurse (b, added, cancellable, error))

View File

@ -2304,7 +2304,8 @@ get_modified_xattrs (OstreeRepo *self,
ret_xattrs = modifier->xattr_callback (self, relpath, file_info, ret_xattrs = modifier->xattr_callback (self, relpath, file_info,
modifier->xattr_user_data); modifier->xattr_user_data);
} }
else if (!(modifier && (modifier->flags & OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS) > 0)) else if (!(modifier && (modifier->flags & OSTREE_REPO_COMMIT_MODIFIER_FLAGS_SKIP_XATTRS) > 0)
&& !self->disable_xattrs)
{ {
if (path && OSTREE_IS_REPO_FILE (path)) if (path && OSTREE_IS_REPO_FILE (path))
{ {

View File

@ -100,6 +100,7 @@ struct OstreeRepo {
GError *writable_error; GError *writable_error;
gboolean in_transaction; gboolean in_transaction;
gboolean disable_fsync; gboolean disable_fsync;
gboolean disable_xattrs;
guint zlib_compression_level; guint zlib_compression_level;
GHashTable *loose_object_devino_hash; GHashTable *loose_object_devino_hash;
GHashTable *updated_uncompressed_dirs; GHashTable *updated_uncompressed_dirs;

View File

@ -1584,8 +1584,9 @@ ostree_repo_remote_gpg_import (OstreeRepo *self,
if (fstatat (self->repo_dir_fd, remote->keyring, &stbuf, AT_SYMLINK_NOFOLLOW) == 0) if (fstatat (self->repo_dir_fd, remote->keyring, &stbuf, AT_SYMLINK_NOFOLLOW) == 0)
{ {
GLnxFileCopyFlags copyflags = self->disable_xattrs ? GLNX_FILE_COPY_NOXATTRS : 0;
if (!glnx_file_copy_at (self->repo_dir_fd, remote->keyring, if (!glnx_file_copy_at (self->repo_dir_fd, remote->keyring,
&stbuf, target_temp_fd, "pubring.gpg", 0, &stbuf, target_temp_fd, "pubring.gpg", copyflags,
cancellable, error)) cancellable, error))
{ {
g_prefix_error (error, "Unable to copy remote's keyring: "); g_prefix_error (error, "Unable to copy remote's keyring: ");
@ -2067,6 +2068,11 @@ reload_core_config (OstreeRepo *self,
ostree_repo_set_disable_fsync (self, TRUE); ostree_repo_set_disable_fsync (self, TRUE);
} }
/* See https://github.com/ostreedev/ostree/issues/758 */
if (!ot_keyfile_get_boolean_with_default (self->config, "core", "disable-xattrs",
TRUE, &self->disable_xattrs, error))
return FALSE;
{ g_autofree char *tmp_expiry_seconds = NULL; { g_autofree char *tmp_expiry_seconds = NULL;
/* 86400 secs = one day */ /* 86400 secs = one day */
@ -2920,8 +2926,10 @@ ostree_repo_load_file (OstreeRepo *self,
if (out_xattrs) if (out_xattrs)
{ {
if (!glnx_fd_get_all_xattrs (fd, &ret_xattrs, if (self->disable_xattrs)
cancellable, error)) ret_xattrs = g_variant_ref_sink (g_variant_new_array (G_VARIANT_TYPE ("(ayay)"), NULL, 0));
else if (!glnx_fd_get_all_xattrs (fd, &ret_xattrs,
cancellable, error))
goto out; goto out;
} }
@ -2934,15 +2942,17 @@ ostree_repo_load_file (OstreeRepo *self,
else if (g_file_info_get_file_type (ret_file_info) == G_FILE_TYPE_SYMBOLIC_LINK else if (g_file_info_get_file_type (ret_file_info) == G_FILE_TYPE_SYMBOLIC_LINK
&& out_xattrs) && out_xattrs)
{ {
if (!glnx_dfd_name_get_all_xattrs (self->objects_dir_fd, loose_path_buf, if (self->disable_xattrs)
&ret_xattrs, ret_xattrs = g_variant_ref_sink (g_variant_new_array (G_VARIANT_TYPE ("(ayay)"), NULL, 0));
cancellable, error)) else if (!glnx_dfd_name_get_all_xattrs (self->objects_dir_fd, loose_path_buf,
&ret_xattrs,
cancellable, error))
goto out; goto out;
} }
} }
} }
} }
if (!found) if (!found)
{ {
if (self->parent_repo) if (self->parent_repo)

View File

@ -88,6 +88,15 @@ symlink_at_replace (const char *oldpath,
return ret; return ret;
} }
static GLnxFileCopyFlags
sysroot_flags_to_copy_flags (GLnxFileCopyFlags defaults,
OstreeSysrootDebugFlags sysrootflags)
{
if (sysrootflags & OSTREE_SYSROOT_DEBUG_NO_XATTRS)
defaults |= GLNX_FILE_COPY_NOXATTRS;
return defaults;
}
/* Try a hardlink if we can, otherwise fall back to copying. Used /* Try a hardlink if we can, otherwise fall back to copying. Used
* right now for kernels/initramfs in /boot, where we can just * right now for kernels/initramfs in /boot, where we can just
* hardlink if we're on the same partition. * hardlink if we're on the same partition.
@ -97,6 +106,7 @@ hardlink_or_copy_at (int src_dfd,
const char *src_subpath, const char *src_subpath,
int dest_dfd, int dest_dfd,
const char *dest_subpath, const char *dest_subpath,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -106,7 +116,8 @@ hardlink_or_copy_at (int src_dfd,
{ {
if (errno == EMLINK || errno == EXDEV) if (errno == EMLINK || errno == EXDEV)
{ {
return glnx_file_copy_at (src_dfd, src_subpath, NULL, dest_dfd, dest_subpath, 0, return glnx_file_copy_at (src_dfd, src_subpath, NULL, dest_dfd, dest_subpath,
sysroot_flags_to_copy_flags (0, flags),
cancellable, error); cancellable, error);
} }
else else
@ -126,6 +137,7 @@ dirfd_copy_attributes_and_xattrs (int src_parent_dfd,
const char *src_name, const char *src_name,
int src_dfd, int src_dfd,
int dest_dfd, int dest_dfd,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -136,13 +148,16 @@ dirfd_copy_attributes_and_xattrs (int src_parent_dfd,
/* Clone all xattrs first, so we get the SELinux security context /* Clone all xattrs first, so we get the SELinux security context
* right. This will allow other users access if they have ACLs, but * right. This will allow other users access if they have ACLs, but
* oh well. * oh well.
*/ */
if (!glnx_dfd_name_get_all_xattrs (src_parent_dfd, src_name, if (!(flags & OSTREE_SYSROOT_DEBUG_NO_XATTRS))
&xattrs, cancellable, error)) {
goto out; if (!glnx_dfd_name_get_all_xattrs (src_parent_dfd, src_name,
if (!glnx_fd_set_all_xattrs (dest_dfd, xattrs, &xattrs, cancellable, error))
cancellable, error)) goto out;
goto out; if (!glnx_fd_set_all_xattrs (dest_dfd, xattrs,
cancellable, error))
goto out;
}
if (fstat (src_dfd, &src_stbuf) != 0) if (fstat (src_dfd, &src_stbuf) != 0)
{ {
@ -169,6 +184,7 @@ static gboolean
copy_dir_recurse (int src_parent_dfd, copy_dir_recurse (int src_parent_dfd,
int dest_parent_dfd, int dest_parent_dfd,
const char *name, const char *name,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -190,7 +206,7 @@ copy_dir_recurse (int src_parent_dfd,
return FALSE; return FALSE;
if (!dirfd_copy_attributes_and_xattrs (src_parent_dfd, name, src_dfd_iter.fd, dest_dfd, if (!dirfd_copy_attributes_and_xattrs (src_parent_dfd, name, src_dfd_iter.fd, dest_dfd,
cancellable, error)) flags, cancellable, error))
return FALSE; return FALSE;
while (TRUE) while (TRUE)
@ -212,14 +228,14 @@ copy_dir_recurse (int src_parent_dfd,
if (S_ISDIR (child_stbuf.st_mode)) if (S_ISDIR (child_stbuf.st_mode))
{ {
if (!copy_dir_recurse (src_dfd_iter.fd, dest_dfd, dent->d_name, if (!copy_dir_recurse (src_dfd_iter.fd, dest_dfd, dent->d_name,
cancellable, error)) flags, cancellable, error))
return FALSE; return FALSE;
} }
else else
{ {
if (!glnx_file_copy_at (src_dfd_iter.fd, dent->d_name, &child_stbuf, if (!glnx_file_copy_at (src_dfd_iter.fd, dent->d_name, &child_stbuf,
dest_dfd, dent->d_name, dest_dfd, dent->d_name,
GLNX_FILE_COPY_OVERWRITE, sysroot_flags_to_copy_flags (GLNX_FILE_COPY_OVERWRITE, flags),
cancellable, error)) cancellable, error))
return FALSE; return FALSE;
} }
@ -234,6 +250,7 @@ ensure_directory_from_template (int orig_etc_fd,
int new_etc_fd, int new_etc_fd,
const char *path, const char *path,
int *out_dfd, int *out_dfd,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -262,7 +279,7 @@ ensure_directory_from_template (int orig_etc_fd,
if (strcmp (parent_path, ".") != 0) if (strcmp (parent_path, ".") != 0)
{ {
if (!ensure_directory_from_template (orig_etc_fd, modified_etc_fd, new_etc_fd, if (!ensure_directory_from_template (orig_etc_fd, modified_etc_fd, new_etc_fd,
parent_path, NULL, cancellable, error)) parent_path, NULL, flags, cancellable, error))
goto out; goto out;
/* Loop */ /* Loop */
@ -286,7 +303,7 @@ ensure_directory_from_template (int orig_etc_fd,
goto out; goto out;
if (!dirfd_copy_attributes_and_xattrs (modified_etc_fd, path, src_dfd, target_dfd, if (!dirfd_copy_attributes_and_xattrs (modified_etc_fd, path, src_dfd, target_dfd,
cancellable, error)) flags, cancellable, error))
goto out; goto out;
ret = TRUE; ret = TRUE;
@ -312,6 +329,7 @@ copy_modified_config_file (int orig_etc_fd,
int modified_etc_fd, int modified_etc_fd,
int new_etc_fd, int new_etc_fd,
const char *path, const char *path,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -332,7 +350,7 @@ copy_modified_config_file (int orig_etc_fd,
g_autofree char *parent = g_path_get_dirname (path); g_autofree char *parent = g_path_get_dirname (path);
if (!ensure_directory_from_template (orig_etc_fd, modified_etc_fd, new_etc_fd, if (!ensure_directory_from_template (orig_etc_fd, modified_etc_fd, new_etc_fd,
parent, &dest_parent_dfd, cancellable, error)) parent, &dest_parent_dfd, flags, cancellable, error))
goto out; goto out;
} }
else else
@ -386,7 +404,7 @@ copy_modified_config_file (int orig_etc_fd,
if (S_ISDIR (modified_stbuf.st_mode)) if (S_ISDIR (modified_stbuf.st_mode))
{ {
if (!copy_dir_recurse (modified_etc_fd, new_etc_fd, path, if (!copy_dir_recurse (modified_etc_fd, new_etc_fd, path, flags,
cancellable, error)) cancellable, error))
goto out; goto out;
} }
@ -394,7 +412,7 @@ copy_modified_config_file (int orig_etc_fd,
{ {
if (!glnx_file_copy_at (modified_etc_fd, path, &modified_stbuf, if (!glnx_file_copy_at (modified_etc_fd, path, &modified_stbuf,
new_etc_fd, path, new_etc_fd, path,
GLNX_FILE_COPY_OVERWRITE, sysroot_flags_to_copy_flags (GLNX_FILE_COPY_OVERWRITE, flags),
cancellable, error)) cancellable, error))
goto out; goto out;
} }
@ -426,6 +444,7 @@ static gboolean
merge_etc_changes (GFile *orig_etc, merge_etc_changes (GFile *orig_etc,
GFile *modified_etc, GFile *modified_etc,
GFile *new_etc, GFile *new_etc,
OstreeSysrootDebugFlags flags,
GCancellable *cancellable, GCancellable *cancellable,
GError **error) GError **error)
{ {
@ -496,7 +515,7 @@ merge_etc_changes (GFile *orig_etc,
g_assert (path); g_assert (path);
if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path, if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path,
cancellable, error)) flags, cancellable, error))
goto out; goto out;
} }
for (i = 0; i < added->len; i++) for (i = 0; i < added->len; i++)
@ -507,7 +526,7 @@ merge_etc_changes (GFile *orig_etc,
g_assert (path); g_assert (path);
if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path, if (!copy_modified_config_file (orig_etc_fd, modified_etc_fd, new_etc_fd, path,
cancellable, error)) flags, cancellable, error))
goto out; goto out;
} }
@ -827,7 +846,7 @@ merge_configuration (OstreeSysroot *sysroot,
/* TODO - set out labels as we copy files */ /* TODO - set out labels as we copy files */
g_assert (!etc_exists); g_assert (!etc_exists);
if (!copy_dir_recurse (deployment_usr_dfd, deployment_dfd, "etc", if (!copy_dir_recurse (deployment_usr_dfd, deployment_dfd, "etc",
cancellable, error)) sysroot->debug_flags, cancellable, error))
goto out; goto out;
/* Here, we initialize SELinux policy from the /usr/etc inside /* Here, we initialize SELinux policy from the /usr/etc inside
@ -847,8 +866,8 @@ merge_configuration (OstreeSysroot *sysroot,
if (source_etc_path) if (source_etc_path)
{ {
if (!merge_etc_changes (source_etc_pristine_path, source_etc_path, deployment_etc_path, if (!merge_etc_changes (source_etc_pristine_path, source_etc_path, deployment_etc_path,
cancellable, error)) sysroot->debug_flags, cancellable, error))
goto out; goto out;
} }
@ -1319,6 +1338,7 @@ install_deployment_kernel (OstreeSysroot *sysroot,
} }
if (!hardlink_or_copy_at (tree_boot_dfd, tree_kernel_name, if (!hardlink_or_copy_at (tree_boot_dfd, tree_kernel_name,
bootcsum_dfd, dest_kernel_name, bootcsum_dfd, dest_kernel_name,
sysroot->debug_flags,
cancellable, error)) cancellable, error))
goto out; goto out;
} }
@ -1336,6 +1356,7 @@ install_deployment_kernel (OstreeSysroot *sysroot,
} }
if (!hardlink_or_copy_at (tree_boot_dfd, tree_initramfs_name, if (!hardlink_or_copy_at (tree_boot_dfd, tree_initramfs_name,
bootcsum_dfd, dest_initramfs_name, bootcsum_dfd, dest_initramfs_name,
sysroot->debug_flags,
cancellable, error)) cancellable, error))
goto out; goto out;
} }

View File

@ -30,7 +30,9 @@ G_BEGIN_DECLS
typedef enum { typedef enum {
/* Don't flag deployments as immutable. */ /* Don't flag deployments as immutable. */
OSTREE_SYSROOT_DEBUG_MUTABLE_DEPLOYMENTS = 1 << 0 OSTREE_SYSROOT_DEBUG_MUTABLE_DEPLOYMENTS = 1 << 0,
/* See https://github.com/ostreedev/ostree/pull/759 */
OSTREE_SYSROOT_DEBUG_NO_XATTRS = 1 << 1,
} OstreeSysrootDebugFlags; } OstreeSysrootDebugFlags;

View File

@ -161,9 +161,10 @@ ostree_sysroot_init (OstreeSysroot *self)
{ {
const GDebugKey keys[] = { const GDebugKey keys[] = {
{ "mutable-deployments", OSTREE_SYSROOT_DEBUG_MUTABLE_DEPLOYMENTS }, { "mutable-deployments", OSTREE_SYSROOT_DEBUG_MUTABLE_DEPLOYMENTS },
{ "no-xattrs", OSTREE_SYSROOT_DEBUG_NO_XATTRS },
}; };
self->debug_flags = g_parse_debug_string (g_getenv("OSTREE_SYSROOT_DEBUG"), self->debug_flags = g_parse_debug_string (g_getenv ("OSTREE_SYSROOT_DEBUG"),
keys, G_N_ELEMENTS (keys)); keys, G_N_ELEMENTS (keys));
self->sysroot_fd = -1; self->sysroot_fd = -1;

View File

@ -31,7 +31,7 @@ echo "ok content"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init ostree_repo_init repo2
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
echo "ok local clone" echo "ok local clone"

View File

@ -46,8 +46,8 @@ echo "ok shortened checksum"
echo "ok repo-in-cwd" echo "ok repo-in-cwd"
rm test-repo -rf rm test-repo -rf
$OSTREE --repo=test-repo init --mode=bare-user ostree_repo_init test-repo --mode=bare-user
$OSTREE --repo=test-repo init --mode=bare-user ostree_repo_init test-repo --mode=bare-user
rm test-repo -rf rm test-repo -rf
echo "ok repo-init on existing repo" echo "ok repo-init on existing repo"
@ -197,7 +197,7 @@ echo "ok diff file changing type"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init ostree_repo_init repo2
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
echo "ok pull-local" echo "ok pull-local"
@ -315,7 +315,7 @@ echo "ok checkout union add"
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf shadow-repo rm -rf shadow-repo
mkdir shadow-repo mkdir shadow-repo
${CMD_PREFIX} ostree --repo=shadow-repo init ostree_repo_init shadow-repo
${CMD_PREFIX} ostree --repo=shadow-repo config set core.parent $(pwd)/repo ${CMD_PREFIX} ostree --repo=shadow-repo config set core.parent $(pwd)/repo
rm -rf test2-checkout rm -rf test2-checkout
parent_rev_test2=$(${CMD_PREFIX} ostree --repo=repo rev-parse test2) parent_rev_test2=$(${CMD_PREFIX} ostree --repo=repo rev-parse test2)
@ -335,7 +335,7 @@ echo "ok subdir noent"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo3 mkdir repo3
${CMD_PREFIX} ostree --repo=repo3 init ostree_repo_init repo3
${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2 ${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2
${CMD_PREFIX} ostree --repo=repo3 rev-parse aremote/test2 ${CMD_PREFIX} ostree --repo=repo3 rev-parse aremote/test2
echo "ok pull-local with --remote arg" echo "ok pull-local with --remote arg"
@ -354,7 +354,7 @@ echo "ok prune"
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo3 -rf rm repo3 -rf
${CMD_PREFIX} ostree --repo=repo3 init --mode=archive ostree_repo_init repo3 --mode=archive
${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2 ${CMD_PREFIX} ostree --repo=repo3 pull-local --remote=aremote repo test2
rm repo3/refs/remotes -rf rm repo3/refs/remotes -rf
mkdir repo3/refs/remotes mkdir repo3/refs/remotes
@ -437,7 +437,7 @@ echo "ok metadata commit with strings"
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo2 -rf rm repo2 -rf
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init ostree_repo_init repo2
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
${CMD_PREFIX} ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 > test2-meta ${CMD_PREFIX} ostree --repo=repo2 show --print-detached-metadata-key=SIGNATURE test2 > test2-meta
assert_file_has_content test2-meta "HANCOCK" assert_file_has_content test2-meta "HANCOCK"
@ -481,7 +481,7 @@ echo "ok commit of fifo was rejected"
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo2 -rf rm repo2 -rf
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode=archive ostree_repo_init repo2 --mode=archive
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
rm -rf test2-checkout rm -rf test2-checkout
${CMD_PREFIX} ostree --repo=repo2 checkout -U --disable-cache test2 test2-checkout ${CMD_PREFIX} ostree --repo=repo2 checkout -U --disable-cache test2 test2-checkout

View File

@ -21,6 +21,8 @@
#include "config.h" #include "config.h"
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <linux/magic.h>
#include <sys/vfs.h>
#include "libglnx.h" #include "libglnx.h"
#include "libostreetest.h" #include "libostreetest.h"
@ -90,12 +92,26 @@ ot_test_setup_sysroot (GCancellable *cancellable,
gboolean ret = FALSE; gboolean ret = FALSE;
g_autoptr(GFile) sysroot_path = g_file_new_for_path ("sysroot"); g_autoptr(GFile) sysroot_path = g_file_new_for_path ("sysroot");
glnx_unref_object OstreeSysroot *ret_sysroot = NULL; glnx_unref_object OstreeSysroot *ret_sysroot = NULL;
struct statfs stbuf;
if (!ot_test_run_libtest ("setup_os_repository \"archive-z2\" \"syslinux\"", error)) if (!ot_test_run_libtest ("setup_os_repository \"archive-z2\" \"syslinux\"", error))
goto out; goto out;
/* Make sure deployments are mutable */ { g_autoptr(GString) buf = g_string_new ("mutable-deployments");
g_setenv ("OSTREE_SYSROOT_DEBUG", "mutable-deployments", TRUE); if (statfs ("/", &stbuf) < 0)
return glnx_throw_errno (error), NULL;
/* Keep this in sync with the overlayfs bits in libtest.sh */
#ifndef OVERLAYFS_SUPER_MAGIC
#define OVERLAYFS_SUPER_MAGIC 0x794c7630
#endif
if (stbuf.f_type == OVERLAYFS_SUPER_MAGIC)
{
g_print ("libostreetest: detected overlayfs\n");
g_string_append (buf, ",no-xattrs");
}
/* Make sure deployments are mutable */
g_setenv ("OSTREE_SYSROOT_DEBUG", buf->str, TRUE);
}
ret_sysroot = ostree_sysroot_new (sysroot_path); ret_sysroot = ostree_sysroot_new (sysroot_path);

View File

@ -86,6 +86,18 @@ chmod -R u+w "${test_tmpdir}"
export TEST_GPG_KEYHOME=${test_tmpdir}/gpghome export TEST_GPG_KEYHOME=${test_tmpdir}/gpghome
export OSTREE_GPG_HOME=${test_tmpdir}/gpghome/trusted export OSTREE_GPG_HOME=${test_tmpdir}/gpghome/trusted
# See comment in ot-builtin-commit.c and https://github.com/ostreedev/ostree/issues/758
# Also keep this in sync with the bits in libostreetest.c
echo evaluating for overlayfs...
case $(stat -f --printf '%T' /) in
overlayfs)
echo "overlayfs found; enabling OSTREE_NO_XATTRS"
export OSTREE_SYSROOT_DEBUG="${OSTREE_SYSROOT_DEBUG},no-xattrs"
export OSTREE_NO_XATTRS=1 ;;
*) ;;
esac
echo done
if test -n "${OT_TESTS_DEBUG:-}"; then if test -n "${OT_TESTS_DEBUG:-}"; then
set -x set -x
fi fi
@ -195,15 +207,13 @@ setup_test_repository () {
oldpwd=`pwd` oldpwd=`pwd`
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo if test -n "${mode}"; then
cd repo ostree_repo_init repo --mode=${mode}
ot_repo="--repo=`pwd`"
export OSTREE="${CMD_PREFIX} ostree ${ot_repo}"
if test -n "$mode"; then
$OSTREE init --mode=${mode}
else else
$OSTREE init ostree_repo_init repo
fi fi
ot_repo="--repo=$(pwd)/repo"
export OSTREE="${CMD_PREFIX} ostree ${ot_repo}"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir files mkdir files
@ -232,6 +242,16 @@ setup_test_repository () {
cd $oldpwd cd $oldpwd
} }
# A wrapper which also possibly disables xattrs for CI testing
ostree_repo_init() {
repo=$1
shift
${CMD_PREFIX} ostree --repo=${repo} init "$@"
if test -n "${OSTREE_NO_XATTRS:-}"; then
echo -e 'disable-xattrs=true\n' >> ${repo}/config
fi
}
setup_fake_remote_repo1() { setup_fake_remote_repo1() {
mode=$1 mode=$1
commit_opts=${2:-} commit_opts=${2:-}
@ -241,7 +261,7 @@ setup_fake_remote_repo1() {
mkdir ostree-srv mkdir ostree-srv
cd ostree-srv cd ostree-srv
mkdir gnomerepo mkdir gnomerepo
${CMD_PREFIX} ostree --repo=gnomerepo init --mode=$mode ostree_repo_init gnomerepo --mode=$mode
mkdir gnomerepo-files mkdir gnomerepo-files
cd gnomerepo-files cd gnomerepo-files
echo first > firstfile echo first > firstfile
@ -284,8 +304,8 @@ setup_exampleos_repo() {
mkdir -p ostree-srv/exampleos/{repo,build-repo} mkdir -p ostree-srv/exampleos/{repo,build-repo}
export ORIGIN_REPO=ostree-srv/exampleos/repo export ORIGIN_REPO=ostree-srv/exampleos/repo
export ORIGIN_BUILD_REPO=ostree-srv/exampleos/build-repo export ORIGIN_BUILD_REPO=ostree-srv/exampleos/build-repo
${CMD_PREFIX} ostree --repo=${ORIGIN_REPO} init --mode=archive ostree_repo_init ${ORIGIN_REPO} --mode=archive
${CMD_PREFIX} ostree --repo=${ORIGIN_BUILD_REPO} init --mode=bare-user ostree_repo_init ${ORIGIN_BUILD_REPO} --mode=bare-user
cd ${test_tmpdir} cd ${test_tmpdir}
rm main -rf rm main -rf
mkdir main mkdir main
@ -365,7 +385,7 @@ setup_exampleos_repo() {
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
${CMD_PREFIX} ostree --repo=repo init --mode=bare-user ostree_repo_init repo --mode=bare-user
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat ostree-srv/httpd/address)/exampleos/repo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat ostree-srv/httpd/address)/exampleos/repo
export OSTREE="${CMD_PREFIX} ostree --repo=repo" export OSTREE="${CMD_PREFIX} ostree --repo=repo"
} }
@ -413,9 +433,9 @@ setup_os_repository () {
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir testos-repo mkdir testos-repo
if test -n "$mode"; then if test -n "$mode"; then
${CMD_PREFIX} ostree --repo=testos-repo init --mode=${mode} ostree_repo_init testos-repo --mode=${mode}
else else
${CMD_PREFIX} ostree --repo=testos-repo init ostree_repo_init testos-repo
fi fi
cd ${test_tmpdir} cd ${test_tmpdir}

View File

@ -23,7 +23,7 @@ function repo_init() {
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
} }
@ -50,7 +50,7 @@ echo "ok pull contents"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir mirrorrepo mkdir mirrorrepo
${CMD_PREFIX} ostree --repo=mirrorrepo init --mode=archive-z2 ostree_repo_init mirrorrepo --mode=archive-z2
${CMD_PREFIX} ostree --repo=mirrorrepo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=mirrorrepo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=mirrorrepo pull --mirror origin main ${CMD_PREFIX} ostree --repo=mirrorrepo pull --mirror origin main
${CMD_PREFIX} ostree --repo=mirrorrepo fsck ${CMD_PREFIX} ostree --repo=mirrorrepo fsck
@ -96,7 +96,7 @@ echo "ok pull commit metadata only (should not apply deltas)"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir mirrorrepo-local mkdir mirrorrepo-local
${CMD_PREFIX} ostree --repo=mirrorrepo-local init --mode=archive-z2 ostree_repo_init mirrorrepo-local --mode=archive-z2
${CMD_PREFIX} ostree --repo=mirrorrepo-local remote add --set=gpg-verify=false origin file://$(pwd)/ostree-srv/gnomerepo ${CMD_PREFIX} ostree --repo=mirrorrepo-local remote add --set=gpg-verify=false origin file://$(pwd)/ostree-srv/gnomerepo
${CMD_PREFIX} ostree --repo=mirrorrepo-local pull --mirror origin main ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull --mirror origin main
${CMD_PREFIX} ostree --repo=mirrorrepo-local fsck ${CMD_PREFIX} ostree --repo=mirrorrepo-local fsck
@ -114,7 +114,7 @@ echo "ok pull detached metadata"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir parentpullrepo mkdir parentpullrepo
${CMD_PREFIX} ostree --repo=parentpullrepo init --mode=archive-z2 ostree_repo_init parentpullrepo --mode=archive-z2
${CMD_PREFIX} ostree --repo=parentpullrepo remote add --set=gpg-verify=false origin file://$(pwd)/ostree-srv/gnomerepo ${CMD_PREFIX} ostree --repo=parentpullrepo remote add --set=gpg-verify=false origin file://$(pwd)/ostree-srv/gnomerepo
parent_rev=$(ostree --repo=ostree-srv/gnomerepo rev-parse main^) parent_rev=$(ostree --repo=ostree-srv/gnomerepo rev-parse main^)
rev=$(ostree --repo=ostree-srv/gnomerepo rev-parse main) rev=$(ostree --repo=ostree-srv/gnomerepo rev-parse main)

View File

@ -29,7 +29,7 @@ setup_test_repository "archive-z2"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init ostree_repo_init repo2
${CMD_PREFIX} ostree --repo=repo2 remote add --set=gpg-verify=false aremote file://$(pwd)/repo test2 ${CMD_PREFIX} ostree --repo=repo2 remote add --set=gpg-verify=false aremote file://$(pwd)/repo test2
${CMD_PREFIX} ostree --repo=repo2 pull aremote ${CMD_PREFIX} ostree --repo=repo2 pull aremote
${CMD_PREFIX} ostree --repo=repo2 rev-parse aremote/test2 ${CMD_PREFIX} ostree --repo=repo2 rev-parse aremote/test2

View File

@ -33,7 +33,7 @@ oldpwd=`pwd`
mkdir ostree-srv mkdir ostree-srv
cd ostree-srv cd ostree-srv
mkdir gnomerepo mkdir gnomerepo
${CMD_PREFIX} ostree --repo=gnomerepo init --mode="archive-z2" ostree_repo_init gnomerepo --mode="archive-z2"
mkdir gnomerepo-files mkdir gnomerepo-files
cd gnomerepo-files cd gnomerepo-files
echo first > firstfile echo first > firstfile
@ -67,7 +67,7 @@ cp -a ${repopath} ${repopath}.orig
# Set OSTREE_GPG_HOME to a place with no keyrings, we shouldn't trust the signature # Set OSTREE_GPG_HOME to a place with no keyrings, we shouldn't trust the signature
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
if env OSTREE_GPG_HOME=${test_tmpdir} ${CMD_PREFIX} ostree --repo=repo pull origin main; then if env OSTREE_GPG_HOME=${test_tmpdir} ${CMD_PREFIX} ostree --repo=repo pull origin main; then
assert_not_reached "pull with no trusted GPG keys unexpectedly succeeded!" assert_not_reached "pull with no trusted GPG keys unexpectedly succeeded!"
@ -77,7 +77,7 @@ rm repo -rf
# And a test case with valid signature # And a test case with valid signature
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull origin main ${CMD_PREFIX} ostree --repo=repo pull origin main
${CMD_PREFIX} ostree --repo=repo show --gpg-verify-remote=origin main | grep -o 'Found [[:digit:]] signature' > show-verify-remote ${CMD_PREFIX} ostree --repo=repo show --gpg-verify-remote=origin main | grep -o 'Found [[:digit:]] signature' > show-verify-remote
@ -90,7 +90,7 @@ find ${test_tmpdir}/ostree-srv/gnomerepo -name '*.commitmeta' | while read fname
echo borkborkbork > ${fname}; echo borkborkbork > ${fname};
done done
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
if ${CMD_PREFIX} ostree --repo=repo pull origin main; then if ${CMD_PREFIX} ostree --repo=repo pull origin main; then
assert_not_reached "pull with corrupted signature unexpectedly succeeded!" assert_not_reached "pull with corrupted signature unexpectedly succeeded!"
@ -101,7 +101,7 @@ rm repo -rf
# verification off # verification off
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull origin main ${CMD_PREFIX} ostree --repo=repo pull origin main
rm repo -rf rm repo -rf
@ -114,7 +114,7 @@ echo secret > signme
${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -s "Don't forget to sign me!" ${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo commit -b main -s "Don't forget to sign me!"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull origin main ${CMD_PREFIX} ostree --repo=repo pull origin main
if ${CMD_PREFIX} ostree --repo=repo show main | grep -o 'Found [[:digit:]] signature'; then if ${CMD_PREFIX} ostree --repo=repo show main | grep -o 'Found [[:digit:]] signature'; then

View File

@ -29,7 +29,7 @@ morebindatafiles="false ls"
echo '1..12' echo '1..12'
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
mkdir files mkdir files
for bin in ${bindatafiles}; do for bin in ${bindatafiles}; do
@ -121,7 +121,7 @@ if ${CMD_PREFIX} ostree --repo=repo static-delta generate --from=${origrev} --to
assert_not_reached "static-delta generate --from=${origrev} --empty unexpectedly succeeded" assert_not_reached "static-delta generate --from=${origrev} --empty unexpectedly succeeded"
fi fi
${CMD_PREFIX} ostree --repo=temp-repo init --mode=archive ostree_repo_init temp-repo --mode=archive
${CMD_PREFIX} ostree --repo=temp-repo pull-local repo ${CMD_PREFIX} ostree --repo=temp-repo pull-local repo
${CMD_PREFIX} ostree --repo=temp-repo static-delta generate --empty --to=${newrev} --filename=some.delta ${CMD_PREFIX} ostree --repo=temp-repo static-delta generate --empty --to=${newrev} --filename=some.delta
assert_has_file some.delta assert_has_file some.delta
@ -168,7 +168,7 @@ echo 'ok heuristic endian detection'
${CMD_PREFIX} ostree --repo=repo summary -u ${CMD_PREFIX} ostree --repo=repo summary -u
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=bare-user mkdir repo2 && ostree_repo_init repo2 --mode=bare-user
${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${newrev} ${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${newrev}
${CMD_PREFIX} ostree --repo=repo2 fsck ${CMD_PREFIX} ostree --repo=repo2 fsck
${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null ${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null
@ -176,7 +176,7 @@ ${CMD_PREFIX} ostree --repo=repo2 ls ${newrev} >/dev/null
echo 'ok pull delta' echo 'ok pull delta'
rm repo2 -rf rm repo2 -rf
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=bare-user mkdir repo2 && ostree_repo_init repo2 --mode=bare-user
mkdir deltadir mkdir deltadir
deltaprefix=$(get_assert_one_direntry_matching repo/deltas '.') deltaprefix=$(get_assert_one_direntry_matching repo/deltas '.')
@ -194,7 +194,7 @@ ${CMD_PREFIX} ostree --repo=repo static-delta generate --from=${origrev} --to=${
assert_not_has_file repo/deltas/${deltaprefix}/${deltadir}/0 assert_not_has_file repo/deltas/${deltaprefix}/${deltadir}/0
rm repo2 -rf rm repo2 -rf
mkdir repo2 && ostree --repo=repo2 init --mode=bare-user ostree_repo_init repo2 --mode=bare-user
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${origrev} ${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${origrev}
${CMD_PREFIX} ostree --repo=repo2 ls ${origrev} >/dev/null ${CMD_PREFIX} ostree --repo=repo2 ls ${origrev} >/dev/null
@ -236,7 +236,7 @@ echo 'ok generate + show empty delta part'
${CMD_PREFIX} ostree --repo=repo summary -u ${CMD_PREFIX} ostree --repo=repo summary -u
rm -rf repo2 rm -rf repo2
mkdir repo2 && ${CMD_PREFIX} ostree --repo=repo2 init --mode=bare-user mkdir repo2 && ostree_repo_init repo2 --mode=bare-user
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${newrev} ${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${newrev}
${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${samerev} ${CMD_PREFIX} ostree --repo=repo2 pull-local --require-static-deltas repo ${samerev}
${CMD_PREFIX} ostree --repo=repo2 fsck ${CMD_PREFIX} ostree --repo=repo2 fsck

View File

@ -66,9 +66,9 @@ exampleos_recompose() {
packages="bash systemd" packages="bash systemd"
mkdir build-repo mkdir build-repo
${CMD_PREFIX} ostree --repo=build-repo init --mode=bare-user ostree_repo_init build-repo --mode=bare-user
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
# Our FUSE mount point # Our FUSE mount point
mkdir mnt mkdir mnt

View File

@ -27,7 +27,7 @@ echo "1..1"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode="archive-z2" ostree_repo_init repo2 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
find repo2/objects -name '*.commit' | wc -l > commitcount find repo2/objects -name '*.commit' | wc -l > commitcount

View File

@ -33,14 +33,14 @@ echo "ok setup"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode="bare-user" ostree_repo_init repo2 --mode="bare-user"
${CMD_PREFIX} ostree --repo=repo2 pull-local repo ${CMD_PREFIX} ostree --repo=repo2 pull-local repo
${CMD_PREFIX} ostree --repo=repo2 fsck ${CMD_PREFIX} ostree --repo=repo2 fsck
echo "ok pull-local z2 to bare-user" echo "ok pull-local z2 to bare-user"
mkdir repo3 mkdir repo3
${CMD_PREFIX} ostree --repo=repo3 init --mode="archive-z2" ostree_repo_init repo3 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo3 pull-local repo2 ${CMD_PREFIX} ostree --repo=repo3 pull-local repo2
${CMD_PREFIX} ostree --repo=repo3 fsck ${CMD_PREFIX} ostree --repo=repo3 fsck
echo "ok pull-local bare-user to z2" echo "ok pull-local bare-user to z2"
@ -62,7 +62,7 @@ cmp checkout1.files checkout3.files
echo "ok checkouts same" echo "ok checkouts same"
mkdir repo4 mkdir repo4
${CMD_PREFIX} ostree --repo=repo4 init --mode="archive-z2" ostree_repo_init repo4 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo4 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo ${CMD_PREFIX} ostree --repo=repo4 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo
if ${CMD_PREFIX} ostree --repo=repo4 pull-local --remote=origin --gpg-verify repo test2 2>&1; then if ${CMD_PREFIX} ostree --repo=repo4 pull-local --remote=origin --gpg-verify repo test2 2>&1; then
assert_not_reached "GPG verification unexpectedly succeeded" assert_not_reached "GPG verification unexpectedly succeeded"
@ -72,13 +72,13 @@ echo "ok --gpg-verify with no signature"
${OSTREE} gpg-sign --gpg-homedir=${TEST_GPG_KEYHOME} test2 ${TEST_GPG_KEYID_1} ${OSTREE} gpg-sign --gpg-homedir=${TEST_GPG_KEYHOME} test2 ${TEST_GPG_KEYID_1}
mkdir repo5 mkdir repo5
${CMD_PREFIX} ostree --repo=repo5 init --mode="archive-z2" ostree_repo_init repo5 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo5 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo ${CMD_PREFIX} ostree --repo=repo5 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo
${CMD_PREFIX} ostree --repo=repo5 pull-local --remote=origin --gpg-verify repo test2 ${CMD_PREFIX} ostree --repo=repo5 pull-local --remote=origin --gpg-verify repo test2
echo "ok --gpg-verify" echo "ok --gpg-verify"
mkdir repo6 mkdir repo6
${CMD_PREFIX} ostree --repo=repo6 init --mode="archive-z2" ostree_repo_init repo6 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo6 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo ${CMD_PREFIX} ostree --repo=repo6 remote add --gpg-import ${test_tmpdir}/gpghome/key1.asc origin repo
if ${CMD_PREFIX} ostree --repo=repo6 pull-local --remote=origin --gpg-verify-summary repo test2 2>&1; then if ${CMD_PREFIX} ostree --repo=repo6 pull-local --remote=origin --gpg-verify-summary repo test2 2>&1; then
assert_not_reached "GPG summary verification with no summary unexpectedly succeeded" assert_not_reached "GPG summary verification with no summary unexpectedly succeeded"
@ -97,7 +97,7 @@ ${CMD_PREFIX} ostree --repo=repo6 pull-local --remote=origin --gpg-verify-summar
echo "ok --gpg-verify-summary" echo "ok --gpg-verify-summary"
mkdir repo7 mkdir repo7
${CMD_PREFIX} ostree --repo=repo7 init --mode="archive-z2" ostree_repo_init repo7 --mode="archive-z2"
${CMD_PREFIX} ostree --repo=repo7 pull-local repo ${CMD_PREFIX} ostree --repo=repo7 pull-local repo
${CMD_PREFIX} ostree --repo=repo7 fsck ${CMD_PREFIX} ostree --repo=repo7 fsck
for src_object in `find repo/objects -name '*.filez'`; do for src_object in `find repo/objects -name '*.filez'`; do

View File

@ -28,7 +28,7 @@ echo '1..1'
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull origin main --subpath /baz ${CMD_PREFIX} ostree --repo=repo pull origin main --subpath /baz

View File

@ -32,7 +32,7 @@ export OSTREE_GPG_SIGN="${OSTREE} gpg-sign --gpg-homedir=${TEST_GPG_KEYHOME}"
cd ${test_tmpdir} cd ${test_tmpdir}
# Create a repo # Create a repo
${CMD_PREFIX} ostree --repo=repo2 init ostree_repo_init repo2
${CMD_PREFIX} ostree --repo=repo2 remote add --gpg-import=${test_tmpdir}/gpghome/trusted/pubring.gpg --set=gpg-verify=true aremote file://$(pwd)/repo test2 ${CMD_PREFIX} ostree --repo=repo2 remote add --gpg-import=${test_tmpdir}/gpghome/trusted/pubring.gpg --set=gpg-verify=true aremote file://$(pwd)/repo test2
# Create a repo with repo2 as parent # Create a repo with repo2 as parent

View File

@ -29,7 +29,7 @@ echo '1..5'
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
mkdir -p tree/root mkdir -p tree/root
@ -142,7 +142,7 @@ assert_file_has_content deltascount "^1$"
echo "ok prune" echo "ok prune"
rm repo -rf rm repo -rf
${CMD_PREFIX} ostree --repo=repo init --mode=bare-user ostree_repo_init repo --mode=bare-user
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull --depth=-1 --commit-metadata-only origin test ${CMD_PREFIX} ostree --repo=repo pull --depth=-1 --commit-metadata-only origin test
${CMD_PREFIX} ostree --repo=repo prune ${CMD_PREFIX} ostree --repo=repo prune
@ -158,7 +158,7 @@ assert_has_n_objects() {
cd ${test_tmpdir} cd ${test_tmpdir}
for repo in repo child-repo tmp-repo; do for repo in repo child-repo tmp-repo; do
rm ${repo} -rf rm ${repo} -rf
${CMD_PREFIX} ostree --repo=${repo} init --mode=archive ostree_repo_init ${repo} --mode=archive
done done
echo parent=${test_tmpdir}/repo >> child-repo/config echo parent=${test_tmpdir}/repo >> child-repo/config
mkdir files mkdir files
@ -189,7 +189,7 @@ echo "ok prune with parent repo"
# would interact. We make a new repo test suite, then clone it # would interact. We make a new repo test suite, then clone it
# for "subtests" below with reinitialize_datesnap_repo() # for "subtests" below with reinitialize_datesnap_repo()
rm repo datetest-snapshot-repo -rf rm repo datetest-snapshot-repo -rf
${CMD_PREFIX} ostree --repo=datetest-snapshot-repo init --mode=archive ostree_repo_init datetest-snapshot-repo --mode=archive
# Some ancient commits on the both a stable/dev branch # Some ancient commits on the both a stable/dev branch
for day in $(seq 5); do for day in $(seq 5); do
${CMD_PREFIX} ostree --repo=datetest-snapshot-repo commit --branch=stable -m test -s "old stable build $day" tree --timestamp="October $day 1985" ${CMD_PREFIX} ostree --repo=datetest-snapshot-repo commit --branch=stable -m test -s "old stable build $day" tree --timestamp="October $day 1985"
@ -206,7 +206,7 @@ assert_file_has_content commitcount "^16$"
# Snapshot the above # Snapshot the above
reinitialize_datesnap_repo() { reinitialize_datesnap_repo() {
rm repo -rf rm repo -rf
${CMD_PREFIX} ostree --repo=repo init --mode=archive ostree_repo_init repo --mode=archive
${CMD_PREFIX} ostree --repo=repo pull-local --depth=-1 datetest-snapshot-repo ${CMD_PREFIX} ostree --repo=repo pull-local --depth=-1 datetest-snapshot-repo
} }

View File

@ -27,7 +27,7 @@ echo '1..1'
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull --commit-metadata-only origin main ${CMD_PREFIX} ostree --repo=repo pull --commit-metadata-only origin main

View File

@ -57,7 +57,7 @@ echo "http://127.0.0.1:${content_port}" > ${test_tmpdir}/httpd-content-address
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
if has_gpgme; then VERIFY=true; else VERIFY=false; fi if has_gpgme; then VERIFY=true; else VERIFY=false; fi
${CMD_PREFIX} ostree --repo=repo remote add origin \ ${CMD_PREFIX} ostree --repo=repo remote add origin \
--set=gpg-verify=$VERIFY --set=gpg-verify-summary=$VERIFY \ --set=gpg-verify=$VERIFY --set=gpg-verify-summary=$VERIFY \

View File

@ -38,7 +38,7 @@ do_corrupt_pull_test() {
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
if ${CMD_PREFIX} ostree --repo=repo pull origin main; then if ${CMD_PREFIX} ostree --repo=repo pull origin main; then
assert_not_reached "pull unexpectedly succeeded!" assert_not_reached "pull unexpectedly succeeded!"

View File

@ -27,7 +27,7 @@ echo '1..1'
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull --depth=0 origin main ${CMD_PREFIX} ostree --repo=repo pull --depth=0 origin main

View File

@ -32,7 +32,7 @@ dd if=/dev/zero bs=1M count=20 of=ostree-srv/gnomerepo/objects/$(echo $rev | cut
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
if ${CMD_PREFIX} ostree --repo=repo pull origin main 2>pulllog.txt 1>&2; then if ${CMD_PREFIX} ostree --repo=repo pull origin main 2>pulllog.txt 1>&2; then

View File

@ -68,7 +68,7 @@ EOF
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml
${CMD_PREFIX} ostree --repo=repo pull origin:main ${CMD_PREFIX} ostree --repo=repo pull origin:main
${CMD_PREFIX} ostree --repo=repo rev-parse origin:main ${CMD_PREFIX} ostree --repo=repo rev-parse origin:main
@ -87,7 +87,7 @@ test_metalink_pull_error() {
msg=$1 msg=$1
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml
if ${CMD_PREFIX} ostree --repo=repo pull origin:main 2>err.txt; then if ${CMD_PREFIX} ostree --repo=repo pull origin:main 2>err.txt; then
assert_not_reached "pull unexpectedly succeeded" assert_not_reached "pull unexpectedly succeeded"
@ -157,7 +157,7 @@ EOF
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin metalink=$(cat metalink-httpd-address)/metalink.xml
${CMD_PREFIX} ostree --repo=repo pull origin:main ${CMD_PREFIX} ostree --repo=repo pull origin:main
${CMD_PREFIX} ostree --repo=repo rev-parse origin:main ${CMD_PREFIX} ostree --repo=repo rev-parse origin:main

View File

@ -41,7 +41,7 @@ ${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u
prev_dir=`pwd` prev_dir=`pwd`
cd ${test_tmpdir} cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull --mirror origin ${CMD_PREFIX} ostree --repo=repo pull --mirror origin
assert_has_file repo/summary assert_has_file repo/summary
@ -69,15 +69,13 @@ cd $prev_dir
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo ostree_repo_init repo --mode=archive-z2
${OSTREE} --repo=repo init --mode=archive-z2
${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo ${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
echo "ok pull mirror without checking signed summary" echo "ok pull mirror without checking signed summary"
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo ostree_repo_init repo --mode=archive-z2
${OSTREE} --repo=repo init --mode=archive-z2
${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo ${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo
if ${OSTREE} --repo=repo pull --mirror origin 2>err.txt; then if ${OSTREE} --repo=repo pull --mirror origin 2>err.txt; then
assert_not_reached "Mirroring unexpectedly succeeded" assert_not_reached "Mirroring unexpectedly succeeded"
@ -88,8 +86,7 @@ ${OSTREE} --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u ${COMMIT_SIGN}
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo ostree_repo_init repo --mode=archive-z2
${OSTREE} --repo=repo init --mode=archive-z2
${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo ${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo
${OSTREE} --repo=repo pull --mirror origin ${OSTREE} --repo=repo pull --mirror origin
assert_has_file repo/summary assert_has_file repo/summary
@ -102,7 +99,7 @@ truncate --size=1 ${test_tmpdir}/ostree-srv/gnomerepo/summary.sig
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo mkdir repo
${OSTREE} --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo ${OSTREE} --repo=repo remote add origin $(cat httpd-address)/ostree/gnomerepo
${OSTREE} --repo=repo pull --mirror origin ${OSTREE} --repo=repo pull --mirror origin
assert_has_file repo/summary assert_has_file repo/summary

View File

@ -72,7 +72,7 @@ EOF
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \ ${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \
mirrorlist=$(cat httpd-address)/ostree/mirrorlist mirrorlist=$(cat httpd-address)/ostree/mirrorlist
${CMD_PREFIX} ostree --repo=repo pull origin:main ${CMD_PREFIX} ostree --repo=repo pull origin:main
@ -84,7 +84,7 @@ echo "ok pull objects from mirrorlist"
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \ ${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \
--contenturl=mirrorlist=$(cat httpd-address)/ostree/mirrorlist \ --contenturl=mirrorlist=$(cat httpd-address)/ostree/mirrorlist \
$(cat httpd-address)/ostree/gnomerepo $(cat httpd-address)/ostree/gnomerepo
@ -97,7 +97,7 @@ echo "ok pull objects from contenturl mirrorlist"
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \ ${CMD_PREFIX} ostree --repo=repo remote add origin --no-gpg-verify \
--contenturl=mirrorlist=$(cat httpd-address)/ostree/mirrorlist \ --contenturl=mirrorlist=$(cat httpd-address)/ostree/mirrorlist \
mirrorlist=$(cat httpd-address)/ostree/mirrorlist mirrorlist=$(cat httpd-address)/ostree/mirrorlist

View File

@ -34,7 +34,7 @@ gnomerepo_url="$(cat httpd-address)/ostree/gnomerepo"
mkdir mirror-srv mkdir mirror-srv
cd mirror-srv cd mirror-srv
mkdir gnomerepo mkdir gnomerepo
${CMD_PREFIX} ostree --repo=gnomerepo init --mode "archive-z2" ostree_repo_init gnomerepo --mode "archive-z2"
${CMD_PREFIX} ostree --repo=gnomerepo remote add --set=gpg-verify=false origin ${gnomerepo_url} ${CMD_PREFIX} ostree --repo=gnomerepo remote add --set=gpg-verify=false origin ${gnomerepo_url}
${CMD_PREFIX} ostree --repo=gnomerepo pull --mirror --depth=-1 origin main ${CMD_PREFIX} ostree --repo=gnomerepo pull --mirror --depth=-1 origin main
@ -57,7 +57,7 @@ echo "http://127.0.0.1:${port}" > ${test_tmpdir}/mirror-httpd-address
cd ${test_tmpdir} cd ${test_tmpdir}
mirrorrepo_url="$(cat mirror-httpd-address)/ostree/gnomerepo" mirrorrepo_url="$(cat mirror-httpd-address)/ostree/gnomerepo"
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${gnomerepo_url} ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${gnomerepo_url}
rm -rf ${test_tmpdir}/ostree-srv/gnomerepo rm -rf ${test_tmpdir}/ostree-srv/gnomerepo
if ${CMD_PREFIX} ostree --repo=repo pull --depth=-1 origin main if ${CMD_PREFIX} ostree --repo=repo pull --depth=-1 origin main

View File

@ -27,7 +27,7 @@ COMMIT_SIGN="--gpg-homedir=${TEST_GPG_KEYHOME} --gpg-sign=${TEST_GPG_KEYID_1}"
setup_fake_remote_repo1 "archive-z2" "${COMMIT_SIGN}" --random-500s=50 setup_fake_remote_repo1 "archive-z2" "${COMMIT_SIGN}" --random-500s=50
cd ${test_tmpdir} cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
for x in $(seq 200); do for x in $(seq 200); do
if ${CMD_PREFIX} ostree --repo=repo pull --mirror origin main 2>err.txt; then if ${CMD_PREFIX} ostree --repo=repo pull --mirror origin main 2>err.txt; then

View File

@ -31,7 +31,7 @@ cp -a ${repopath} ${repopath}.orig
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
maxtries=`find ${repopath}/objects | wc -l` maxtries=`find ${repopath}/objects | wc -l`

View File

@ -33,7 +33,7 @@ for remoteurl in $(cat httpd-address)/ostree/gnomerepo \
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${remoteurl} ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${remoteurl}
${CMD_PREFIX} ostree --repo=repo pull --subpath=/baz/deeper --subpath=/baz/another origin main ${CMD_PREFIX} ostree --repo=repo pull --subpath=/baz/deeper --subpath=/baz/another origin main
@ -58,7 +58,7 @@ echo "ok subpaths"
rm -rf repo rm -rf repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${remoteurl} ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin ${remoteurl}
# Pull a directory which is not the first in the commit (/baz/another is before) # Pull a directory which is not the first in the commit (/baz/another is before)

View File

@ -41,7 +41,7 @@ ${CMD_PREFIX} ostree --repo=${test_tmpdir}/ostree-srv/gnomerepo summary -u
prev_dir=`pwd` prev_dir=`pwd`
cd ${test_tmpdir} cd ${test_tmpdir}
${CMD_PREFIX} ostree --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
${CMD_PREFIX} ostree --repo=repo pull --mirror origin ${CMD_PREFIX} ostree --repo=repo pull --mirror origin
assert_has_file repo/summary assert_has_file repo/summary
@ -66,7 +66,7 @@ repo_reinit () {
cd ${test_tmpdir} cd ${test_tmpdir}
rm -rf repo rm -rf repo
mkdir repo mkdir repo
${OSTREE} --repo=repo init --mode=archive-z2 ostree_repo_init repo --mode=archive-z2
${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo ${OSTREE} --repo=repo remote add --set=gpg-verify-summary=true origin $(cat httpd-address)/ostree/gnomerepo
} }

View File

@ -28,7 +28,7 @@ setup_test_repository "bare"
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode="bare" ostree_repo_init repo2 --mode="bare"
${CMD_PREFIX} ostree --repo=repo2 --untrusted pull-local repo ${CMD_PREFIX} ostree --repo=repo2 --untrusted pull-local repo
@ -52,7 +52,7 @@ done
rm -rf repo2 rm -rf repo2
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode="bare" ostree_repo_init repo2 --mode="bare"
if ${CMD_PREFIX} ostree --repo=repo2 pull-local repo; then if ${CMD_PREFIX} ostree --repo=repo2 pull-local repo; then
echo "ok trusted pull with corruption succeeded" echo "ok trusted pull with corruption succeeded"
else else
@ -61,7 +61,7 @@ fi
rm -rf repo2 rm -rf repo2
mkdir repo2 mkdir repo2
${CMD_PREFIX} ostree --repo=repo2 init --mode="bare" ostree_repo_init repo2 --mode="bare"
if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted repo; then if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted repo; then
assert_not_reached "corrupted untrusted pull unexpectedly failed!" assert_not_reached "corrupted untrusted pull unexpectedly failed!"
else else

View File

@ -27,7 +27,7 @@ echo '1..1'
cd ${test_tmpdir} cd ${test_tmpdir}
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
mkdir -p tree/root mkdir -p tree/root
touch tree/root/a touch tree/root/a

View File

@ -36,7 +36,7 @@ assert_fail (){
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
# Sanity check the setup, without cookies the pull should fail # Sanity check the setup, without cookies the pull should fail

View File

@ -38,7 +38,7 @@ assert_fail (){
cd ${test_tmpdir} cd ${test_tmpdir}
rm repo -rf rm repo -rf
mkdir repo mkdir repo
${CMD_PREFIX} ostree --repo=repo init ostree_repo_init repo
${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo ${CMD_PREFIX} ostree --repo=repo remote add --set=gpg-verify=false origin $(cat httpd-address)/ostree/gnomerepo
# Sanity check the setup, without headers the pull should fail # Sanity check the setup, without headers the pull should fail

View File

@ -21,6 +21,9 @@ set -euo pipefail
. $(dirname $0)/libtest.sh . $(dirname $0)/libtest.sh
skip "We don't really have a use case for committing user. xattrs right now. See also https://github.com/ostreedev/ostree/issues/758"
# Dead code below
skip_without_user_xattrs skip_without_user_xattrs
echo "1..2" echo "1..2"