ostree: 2019.1 -> 2019.2

All patches synced.
fix-1592.patch needed some new additions since that
issue affects more test cases.

https://github.com/ostreedev/ostree/releases/tag/v2019.2

Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
This commit is contained in:
worldofpeace 2019-07-30 18:47:09 -04:00
parent 46d0ebb144
commit dca61d854f
4 changed files with 344 additions and 35 deletions

View File

@ -0,0 +1,271 @@
From a9a62d7c7adf6fc0237c7d04937b538a4cea87ad Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Tue, 19 Jun 2018 09:34:18 -0400
Subject: [PATCH] Drop "ostree trivial-httpd" CLI, move to tests directory
See https://github.com/ostreedev/ostree/issues/1593
Basically this makes it easier for people packaging, as the trivial-httpd
is only for tests, and this way the binary will live with the tests.
Also at this point nothing should depend on `ostree trivial-httpd`.
---
Makefile-man.am | 6 --
Makefile-ostree.am | 7 ---
Makefile-tests.am | 7 +++
configure.ac | 10 ---
man/ostree-trivial-httpd.xml | 118 -----------------------------------
src/ostree/main.c | 5 --
tests/libtest.sh | 13 ++--
7 files changed, 12 insertions(+), 154 deletions(-)
delete mode 100644 man/ostree-trivial-httpd.xml
diff --git a/Makefile-man.am b/Makefile-man.am
index 8ccbba8c..d204aa3e 100644
--- a/Makefile-man.am
+++ b/Makefile-man.am
@@ -34,12 +34,6 @@ ostree-init.1 ostree-log.1 ostree-ls.1 ostree-prune.1 ostree-pull-local.1 \
ostree-pull.1 ostree-refs.1 ostree-remote.1 ostree-reset.1 \
ostree-rev-parse.1 ostree-show.1 ostree-summary.1 \
ostree-static-delta.1
-if BUILDOPT_TRIVIAL_HTTPD
-man1_files += ostree-trivial-httpd.1
-else
-# We still want to distribute the source, even if we are not building it
-EXTRA_DIST += man/ostree-trivial-httpd.xml
-endif
if BUILDOPT_FUSE
man1_files += rofiles-fuse.1
diff --git a/Makefile-ostree.am b/Makefile-ostree.am
index 8d352e38..1471b3e5 100644
--- a/Makefile-ostree.am
+++ b/Makefile-ostree.am
@@ -133,13 +133,6 @@ ostree_SOURCES += src/ostree/ot-builtin-pull.c
endif
if USE_LIBSOUP
-# Eventually once we stop things from using this, we should support disabling this
-ostree_SOURCES += src/ostree/ot-builtin-trivial-httpd.c
-pkglibexec_PROGRAMS += ostree-trivial-httpd
-ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c
-ostree_trivial_httpd_CFLAGS = $(ostree_bin_shared_cflags) $(OT_INTERNAL_SOUP_CFLAGS)
-ostree_trivial_httpd_LDADD = $(ostree_bin_shared_ldadd) $(OT_INTERNAL_SOUP_LIBS)
-
if !USE_CURL
# This is necessary for the cookie jar bits
ostree_CFLAGS += $(OT_INTERNAL_SOUP_CFLAGS)
diff --git a/Makefile-tests.am b/Makefile-tests.am
index 2c0916f6..b11fde89 100644
--- a/Makefile-tests.am
+++ b/Makefile-tests.am
@@ -248,6 +248,13 @@ _installed_or_uninstalled_test_programs = tests/test-varint tests/test-ot-unix-u
tests/test-gpg-verify-result tests/test-checksum tests/test-lzma tests/test-rollsum \
tests/test-basic-c tests/test-sysroot-c tests/test-pull-c tests/test-repo tests/test-include-ostree-h
+if USE_LIBSOUP
+test_extra_programs += ostree-trivial-httpd
+ostree_trivial_httpd_SOURCES = src/ostree/ostree-trivial-httpd.c
+ostree_trivial_httpd_CFLAGS = $(common_tests_cflags) $(OT_INTERNAL_SOUP_CFLAGS)
+ostree_trivial_httpd_LDADD = $(common_tests_ldadd) $(OT_INTERNAL_SOUP_LIBS)
+endif
+
if USE_AVAHI
test_programs += tests/test-repo-finder-avahi
endif
diff --git a/configure.ac b/configure.ac
index e6e145db..1e36e6a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -187,15 +187,6 @@ if test x$with_soup != xno; then OSTREE_FEATURES="$OSTREE_FEATURES libsoup"; fi
AM_CONDITIONAL(USE_LIBSOUP, test x$with_soup != xno)
AM_CONDITIONAL(HAVE_LIBSOUP_CLIENT_CERTS, test x$have_libsoup_client_certs = xyes)
-AC_ARG_ENABLE(trivial-httpd-cmdline,
- [AS_HELP_STRING([--enable-trivial-httpd-cmdline],
- [Continue to support "ostree trivial-httpd" [default=no]])],,
- enable_trivial_httpd_cmdline=no)
-AM_CONDITIONAL(BUILDOPT_TRIVIAL_HTTPD, test x$enable_trivial_httpd_cmdline = xyes)
-AM_COND_IF(BUILDOPT_TRIVIAL_HTTPD,
- [AC_DEFINE([BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE], 1, [Define if we are enabling ostree trivial-httpd entrypoint])]
-)
-
AS_IF([test x$with_curl = xyes && test x$with_soup = xno], [
AC_MSG_WARN([Curl enabled, but libsoup is not; libsoup is needed for tests (make check, etc.)])
])
@@ -602,7 +593,6 @@ echo "
Rust (internal oxidation): $rust_debug_release
rofiles-fuse: $enable_rofiles_fuse
HTTP backend: $fetcher_backend
- \"ostree trivial-httpd\": $enable_trivial_httpd_cmdline
SELinux: $with_selinux
cryptographic checksums: $with_crypto
systemd: $have_libsystemd
diff --git a/man/ostree-trivial-httpd.xml b/man/ostree-trivial-httpd.xml
deleted file mode 100644
index d03c12be..00000000
--- a/man/ostree-trivial-httpd.xml
+++ /dev/null
@@ -1,118 +0,0 @@
-<?xml version='1.0'?> <!--*-nxml-*-->
-<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
- "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<!--
-Copyright 2011,2013 Colin Walters <walters@verbum.org>
-
-SPDX-License-Identifier: LGPL-2.0+
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the
-Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
--->
-
-<refentry id="ostree">
-
- <refentryinfo>
- <title>ostree trivial-httpd</title>
- <productname>OSTree</productname>
-
- <authorgroup>
- <author>
- <contrib>Developer</contrib>
- <firstname>Colin</firstname>
- <surname>Walters</surname>
- <email>walters@verbum.org</email>
- </author>
- </authorgroup>
- </refentryinfo>
-
- <refmeta>
- <refentrytitle>ostree trivial-httpd</refentrytitle>
- <manvolnum>1</manvolnum>
- </refmeta>
-
- <refnamediv>
- <refname>ostree-trivial-httpd</refname>
- <refpurpose>Simple webserver</refpurpose>
- </refnamediv>
-
- <refsynopsisdiv>
- <cmdsynopsis>
- <command>ostree trivial-httpd</command> <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="opt">DIR</arg>
- </cmdsynopsis>
- </refsynopsisdiv>
-
-<!-- Don't entirely understand this command. Needs details, better content-->
- <refsect1>
- <title>Description</title>
-
- <para>
- This runs a simple webserver and keeps it running until killed. If DIR is not specified, it defaults to the current directory.
- </para>
- </refsect1>
-
- <refsect1>
- <title>Options</title>
-
- <variablelist>
- <varlistentry>
- <term><option>--daemonize</option>,<option>-d</option></term>
-
- <listitem><para>
- Fork into background when ready.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--autoexit</option></term>
-
- <listitem><para>
- Automatically exit when directory is deleted.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--port-file</option>,<option>-p</option>="PATH"</term>
-
- <listitem><para>
- Write port number to PATH (- for standard output).
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--port</option>,<option>-P</option></term>
-
- <listitem><para>
- Use the specified TCP port to listen on.
- </para></listitem>
- </varlistentry>
-
- <varlistentry>
- <term><option>--force-range-requests</option></term>
-
- <listitem><para>
- Force range requests by only serving half of files.
- </para></listitem>
- </varlistentry>
- </variablelist>
- </refsect1>
-
-<!-- NEED EXAMPLE OUTPUT HERE!-->
- <refsect1>
- <title>Example</title>
- <para><command>$ ostree trivial-httpd</command></para>
- </refsect1>
-</refentry>
diff --git a/src/ostree/main.c b/src/ostree/main.c
index c5b45012..6478a62b 100644
--- a/src/ostree/main.c
+++ b/src/ostree/main.c
@@ -116,11 +116,6 @@ static OstreeCommand commands[] = {
{ "summary", OSTREE_BUILTIN_FLAG_NONE,
ostree_builtin_summary,
"Manage summary metadata" },
-#if defined(HAVE_LIBSOUP) && defined(BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE)
- { "trivial-httpd", OSTREE_BUILTIN_FLAG_NONE,
- ostree_builtin_trivial_httpd,
- NULL },
-#endif
{ NULL }
};
diff --git a/tests/libtest.sh b/tests/libtest.sh
index e0022512..b07dc962 100755
--- a/tests/libtest.sh
+++ b/tests/libtest.sh
@@ -149,15 +149,12 @@ fi
if test -n "${OSTREE_UNINSTALLED:-}"; then
OSTREE_HTTPD=${OSTREE_UNINSTALLED}/ostree-trivial-httpd
else
- # trivial-httpd is now in $libexecdir by default, which we don't
- # know at this point. Fortunately, libtest.sh is also in
- # $libexecdir, so make an educated guess. If it's not found, assume
- # it's still runnable as "ostree trivial-httpd".
- if [ -x "${test_srcdir}/../../libostree/ostree-trivial-httpd" ]; then
- OSTREE_HTTPD="${CMD_PREFIX} ${test_srcdir}/../../libostree/ostree-trivial-httpd"
- else
- OSTREE_HTTPD="${CMD_PREFIX} ostree trivial-httpd"
+ # trivial-httpd is now the test directory.
+ OSTREE_HTTPD="${G_TEST_BUILDDIR}/ostree-trivial-httpd"
+ if ! [ -x "${OSTREE_HTTPD}" ]; then
+ fatal "Failed to find ${OSTREE_HTTPD}"
fi
+ OSTREE_HTTPD="${CMD_PREFIX} ${OSTREE_HTTPD}"
fi
files_are_hardlinked() {
--
2.22.0

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "ostree";
version = "2019.1";
version = "2019.2";
outputs = [ "out" "dev" "man" "installedTests" ];
src = fetchurl {
url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
sha256 = "08y7nsxl305dnlfak4kyj88lld848y4kg6bvjqngcxaqqvkk9xqm";
sha256 = "0nbbrz3p4ms6vpl272q6fimqvizryw2a8mnfqcn69xf03sz5204y";
};
patches = [
@ -22,10 +22,7 @@ stdenv.mkDerivation rec {
./disable-test-gpg-verify-result.patch
# Tests access the helper using relative path
# https://github.com/ostreedev/ostree/issues/1593
(fetchpatch {
url = https://github.com/ostreedev/ostree/pull/1633.patch;
sha256 = "07xiw1dr7j4yw3w92qhw37f9crlglibflcqj2kf0v5gfrl9i6g4j";
})
./01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch
];
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
diff -aur --no-dereference a/Makefile-tests.am b/Makefile-tests.am
--- a/Makefile-tests.am 1970-01-01 01:00:01.000000000 +0100
+++ b/Makefile-tests.am 2018-09-17 00:24:11.977841113 +0200
@@ -243,7 +243,7 @@
diff --git a/Makefile-tests.am b/Makefile-tests.am
index b11fde89..82937a67 100644
--- a/Makefile-tests.am
+++ b/Makefile-tests.am
@@ -245,7 +245,6 @@ endif
_installed_or_uninstalled_test_programs = tests/test-varint tests/test-ot-unix-utils tests/test-bsdiff tests/test-mutable-tree \
tests/test-keyfile-utils tests/test-ot-opt-utils tests/test-ot-tool-util \
- tests/test-gpg-verify-result tests/test-checksum tests/test-lzma tests/test-rollsum \
+ tests/test-checksum tests/test-lzma tests/test-rollsum \
tests/test-basic-c tests/test-sysroot-c tests/test-pull-c tests/test-repo tests/test-include-ostree-h
if USE_AVAHI
if USE_LIBSOUP

View File

@ -1,6 +1,7 @@
diff -aur --no-dereference a/tests/pull-test.sh b/tests/pull-test.sh
--- a/tests/pull-test.sh 1970-01-01 01:00:01.000000000 +0100
+++ b/tests/pull-test.sh 2018-09-16 23:55:44.214593856 +0200
diff --git a/tests/pull-test.sh b/tests/pull-test.sh
index a8bc49a9..4a08ebb5 100644
--- a/tests/pull-test.sh
+++ b/tests/pull-test.sh
@@ -275,7 +275,7 @@
if ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo 2>err.txt; then
fatal "pull with mixed refs succeeded?"
@ -19,23 +20,62 @@ diff -aur --no-dereference a/tests/pull-test.sh b/tests/pull-test.sh
echo "ok pull-local nonexistent branch"
cd ${test_tmpdir}
@@ -587,5 +587,5 @@
@@ -593,5 +593,5 @@
if ${CMD_PREFIX} ostree --repo=repo pull origin main 2>err.txt; then
fatal "pull of invalid ref succeeded"
fi
-assert_file_has_content_literal err.txt 'error: Fetching checksum for ref ((empty), main): Invalid rev lots of html here lots of html here lots of html here lots of'
+assert_file_has_content_literal err.txt 'Fetching checksum for ref ((empty), main): Invalid rev lots of html here lots of html here lots of html here lots of'
echo "ok pull got HTML for a ref"
diff -aur --no-dereference a/tests/test-fsck-collections.sh b/tests/test-fsck-collections.sh
--- a/tests/test-fsck-collections.sh 1970-01-01 01:00:01.000000000 +0100
+++ b/tests/test-fsck-collections.sh 2018-09-17 02:22:48.922502037 +0200
diff --git a/tests/test-config.sh b/tests/test-config.sh
index 7e913d32..69d1675d 100755
--- a/tests/test-config.sh
+++ b/tests/test-config.sh
@@ -46,7 +46,7 @@
if ${CMD_PREFIX} ostree config --repo=repo get --group=core lock-timeout-secs extra 2>err.txt; then
assert_not_reached "ostree config get should error out if too many arguments are given"
fi
-assert_file_has_content err.txt "error: Too many arguments given"
+assert_file_has_content err.txt "Too many arguments given"
echo "ok config get"
${CMD_PREFIX} ostree config --repo=repo set core.mode bare-user-only
@@ -63,7 +63,7 @@
if ${CMD_PREFIX} ostree config --repo=repo set --group=core lock-timeout-secs 120 extra 2>err.txt; then
assert_not_reached "ostree config set should error out if too many arguments are given"
fi
-assert_file_has_content err.txt "error: Too many arguments given"
+assert_file_has_content err.txt "Too many arguments given"
echo "ok config set"
# Check that "ostree config unset" works
@@ -78,7 +78,7 @@
fi
# Check for any character where quotation marks would be as they appear differently in the Fedora and Debian
# test suites (“” and '' respectively). See: https://github.com/ostreedev/ostree/pull/1839
-assert_file_has_content err.txt "error: Key file does not have key .lock-timeout-secs. in group .core."
+assert_file_has_content err.txt "Key file does not have key .lock-timeout-secs. in group .core."
# Check that it's idempotent
${CMD_PREFIX} ostree config --repo=repo unset core.lock-timeout-secs
@@ -95,5 +95,5 @@
if ${CMD_PREFIX} ostree config --repo=repo unset core.lock-timeout-secs extra 2>err.txt; then
assert_not_reached "ostree config unset should error out if too many arguments are given"
fi
-assert_file_has_content err.txt "error: Too many arguments given"
+assert_file_has_content err.txt "Too many arguments given"
echo "ok config unset"
diff --git a/tests/test-fsck-collections.sh b/tests/test-fsck-collections.sh
index dc6bcfeb..4a5eef55 100755
--- a/tests/test-fsck-collections.sh
+++ b/tests/test-fsck-collections.sh
@@ -100,7 +100,7 @@
if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
fi
-assert_file_has_content fsck-error "Commit has no requested ref new-ref in ref binding metadata (ref1)"
+assert_file_has_content fsck-error "Commit has no requested ref .new-ref. in ref binding metadata (.ref1.)"
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs\.\.\.$"
echo "ok 3 fsck detects missing ref bindings"
@@ -113,7 +113,7 @@
@ -44,26 +84,26 @@ diff -aur --no-dereference a/tests/test-fsck-collections.sh b/tests/test-fsck-co
fi
-assert_file_has_content fsck-error "Commit has no requested ref new-ref in ref binding metadata (ref1)"
+assert_file_has_content fsck-error "Commit has no requested ref .new-ref. in ref binding metadata (.ref1.)"
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs in collections...$"
assert_file_has_content fsck "^Validating refs\.\.\.$"
assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
@@ -127,7 +127,7 @@
if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
fi
-assert_file_has_content fsck-error "Commit has collection ID org.example.Collection in collection binding metadata, while the remote it came from has collection ID org.example.Collection2"
+assert_file_has_content fsck-error "Commit has collection ID .org.example.Collection. in collection binding metadata, while the remote it came from has collection ID .org.example.Collection2."
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs in collections...$"
-assert_file_has_content fsck-error "Commit has collection ID org\.example\.Collection in collection binding metadata, while the remote it came from has collection ID org\.example\.Collection2"
+assert_file_has_content fsck-error "Commit has collection ID .org\.example\.Collection. in collection binding metadata, while the remote it came from has collection ID .org\.example\.Collection2."
assert_file_has_content fsck "^Validating refs\.\.\.$"
assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
@@ -147,7 +147,7 @@
if ${CMD_PREFIX} ostree fsck --repo=repo --verify-back-refs > fsck 2> fsck-error; then
assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
fi
-assert_file_has_content fsck-error "Collectionref (org.example.Collection, ref1) in bindings for commit .* does not exist"
+assert_file_has_content fsck-error 'Collection.ref (org.example.Collection, ref1) in bindings for commit .* does not exist'
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs in collections...$"
-assert_file_has_content fsck-error "Collectionref (org\.example\.Collection, ref1) in bindings for commit .* does not exist"
+assert_file_has_content fsck-error 'Collection.ref (org\.example\.Collection, ref1) in bindings for commit .* does not exist'
assert_file_has_content fsck "^Validating refs\.\.\.$"
assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
@@ -186,7 +186,7 @@
if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
@ -71,7 +111,7 @@ diff -aur --no-dereference a/tests/test-fsck-collections.sh b/tests/test-fsck-co
fi
-assert_file_has_content fsck-error "Commit has no requested ref new-ref in ref binding metadata (ref3, ref4)"
+assert_file_has_content fsck-error "Commit has no requested ref .new-ref. in ref binding metadata (.ref3., .ref4.)"
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs\.\.\.$"
echo "ok 9 fsck detects missing ref bindings"
@@ -205,7 +205,7 @@
@ -80,12 +120,13 @@ diff -aur --no-dereference a/tests/test-fsck-collections.sh b/tests/test-fsck-co
fi
-assert_file_has_content fsck-error "Ref ref3 in bindings for commit .* does not exist"
+assert_file_has_content fsck-error 'Ref .ref3. in bindings for commit .* does not exist'
assert_file_has_content fsck "^Validating refs...$"
assert_file_has_content fsck "^Validating refs\.\.\.$"
echo "ok 11 fsck ignores unreferenced ref bindings"
diff -aur --no-dereference a/tests/test-remote-add.sh b/tests/test-remote-add.sh
--- a/tests/test-remote-add.sh 1970-01-01 01:00:01.000000000 +0100
+++ b/tests/test-remote-add.sh 2018-09-17 00:14:16.486788225 +0200
diff --git a/tests/test-remote-add.sh b/tests/test-remote-add.sh
index bb7eae89..62a3bcd7 100755
--- a/tests/test-remote-add.sh
+++ b/tests/test-remote-add.sh
@@ -83,7 +83,7 @@
if $OSTREE remote delete nosuchremote 2>err.txt; then
assert_not_reached "Deleting remote unexpectedly succeeded"