Update upstream source from tag 'upstream/2019.1'
Update to upstream version '2019.1'
with Debian dir 7934162f17
This commit is contained in:
commit
f30410b25f
|
|
@ -109,6 +109,7 @@ _installed_or_uninstalled_test_scripts = \
|
||||||
tests/test-admin-pull-deploy-split.sh \
|
tests/test-admin-pull-deploy-split.sh \
|
||||||
tests/test-admin-locking.sh \
|
tests/test-admin-locking.sh \
|
||||||
tests/test-admin-deploy-clean.sh \
|
tests/test-admin-deploy-clean.sh \
|
||||||
|
tests/test-admin-gpg.sh \
|
||||||
tests/test-reset-nonlinear.sh \
|
tests/test-reset-nonlinear.sh \
|
||||||
tests/test-oldstyle-partial.sh \
|
tests/test-oldstyle-partial.sh \
|
||||||
tests/test-delta.sh \
|
tests/test-delta.sh \
|
||||||
|
|
|
||||||
10
Makefile.am
10
Makefile.am
|
|
@ -155,4 +155,14 @@ release-tarball-embedded:
|
||||||
mv ostree-embeddeps-$${GITVERSION}.tar{.tmp,}; \
|
mv ostree-embeddeps-$${GITVERSION}.tar{.tmp,}; \
|
||||||
gzip -f ostree-embeddeps-$${GITVERSION}.tar
|
gzip -f ostree-embeddeps-$${GITVERSION}.tar
|
||||||
|
|
||||||
|
# `make dist` + `make`; explicitly not the other
|
||||||
|
# parts of distcheck like `make uninstall` since
|
||||||
|
# we don't care about that.
|
||||||
|
dist-then-build: dist
|
||||||
|
rm $(distdir) -rf && tar -xf $(distdir).tar.xz
|
||||||
|
cd $(distdir) && mkdir _build && cd _build && \
|
||||||
|
../configure --prefix=/usr --libdir=/usr/lib --sysconfdir=/etc && \
|
||||||
|
$(MAKE) && make install DESTDIR=$$(pwd)/_install && \
|
||||||
|
rm -rf $(distdir)
|
||||||
|
|
||||||
-include $(top_srcdir)/git.mk
|
-include $(top_srcdir)/git.mk
|
||||||
|
|
|
||||||
2748
Makefile.in
2748
Makefile.in
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,6 @@
|
||||||
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -960,7 +960,7 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
|
||||||
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
|
[AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
|
||||||
])dnl PKG_HAVE_DEFINE_WITH_MODULES
|
])dnl PKG_HAVE_DEFINE_WITH_MODULES
|
||||||
|
|
||||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -972,10 +972,10 @@ AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
|
||||||
# generated from the m4 files accompanying Automake X.Y.
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
# (This private macro should not be called outside this file.)
|
# (This private macro should not be called outside this file.)
|
||||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
[am__api_version='1.15'
|
[am__api_version='1.16'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||||
dnl require some minimum version. Point them to the right macro.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.15.1], [],
|
m4_if([$1], [1.16.1], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
@ -991,14 +991,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
[AM_AUTOMAKE_VERSION([1.16.1])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1050,7 +1050,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
||||||
|
|
||||||
# AM_COND_IF -*- Autoconf -*-
|
# AM_COND_IF -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2008-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1087,7 +1087,7 @@ fi[]dnl
|
||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1118,7 +1118,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1309,13 +1309,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
|
||||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
|
@ -1323,49 +1322,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
# TODO: see whether this extra hack can be removed once we start
|
||||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
# requiring Autoconf 2.70 or later.
|
||||||
*) set x $CONFIG_FILES ;;
|
AS_CASE([$CONFIG_FILES],
|
||||||
esac
|
[*\'*], [eval set x "$CONFIG_FILES"],
|
||||||
|
[*], [set x $CONFIG_FILES])
|
||||||
shift
|
shift
|
||||||
for mf
|
# Used to flag and report bootstrapping failures.
|
||||||
|
am_rc=0
|
||||||
|
for am_mf
|
||||||
do
|
do
|
||||||
# Strip MF so we end up with the name of the file.
|
# Strip MF so we end up with the name of the file.
|
||||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
|
||||||
# Check whether this is an Automake generated Makefile or not.
|
# Check whether this is an Automake generated Makefile which includes
|
||||||
# We used to match only the files named 'Makefile.in', but
|
# dependency-tracking related rules and includes.
|
||||||
# some people rename them; so instead we look at the file content.
|
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||||
# Grep'ing the first line is not enough: some people post-process
|
|
||||||
# each Makefile.in and add a new line on top of each file to say so.
|
|
||||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
|
||||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||||
dirpart=`AS_DIRNAME("$mf")`
|
|| continue
|
||||||
else
|
am_dirpart=`AS_DIRNAME(["$am_mf"])`
|
||||||
continue
|
am_filepart=`AS_BASENAME(["$am_mf"])`
|
||||||
fi
|
AM_RUN_LOG([cd "$am_dirpart" \
|
||||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
# from the Makefile without running 'make'.
|
| $MAKE -f - am--depfiles]) || am_rc=$?
|
||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
|
||||||
test -z "$DEPDIR" && continue
|
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
||||||
test -z "$am__include" && continue
|
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
||||||
# Find all dependency output files, they are included files with
|
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
||||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
|
||||||
# expansion.
|
|
||||||
for file in `sed -n "
|
|
||||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
||||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
||||||
# Make sure the directory exists.
|
|
||||||
test -f "$dirpart/$file" && continue
|
|
||||||
fdir=`AS_DIRNAME(["$file"])`
|
|
||||||
AS_MKDIR_P([$dirpart/$fdir])
|
|
||||||
# echo "creating $dirpart/$file"
|
|
||||||
echo '# dummy' > "$dirpart/$file"
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
|
if test $am_rc -ne 0; then
|
||||||
|
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
||||||
|
for automatic dependency tracking. Try re-running configure with the
|
||||||
|
'--disable-dependency-tracking' option to at least be able to build
|
||||||
|
the package (albeit without support for automatic dependency tracking).])
|
||||||
|
fi
|
||||||
|
AS_UNSET([am_dirpart])
|
||||||
|
AS_UNSET([am_filepart])
|
||||||
|
AS_UNSET([am_mf])
|
||||||
|
AS_UNSET([am_rc])
|
||||||
|
rm -f conftest-deps.mk
|
||||||
}
|
}
|
||||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
|
|
||||||
|
|
@ -1374,18 +1365,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||||
#
|
#
|
||||||
# This code is only required when automatic dependency tracking
|
# This code is only required when automatic dependency tracking is enabled.
|
||||||
# is enabled. FIXME. This creates each '.P' file that we will
|
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
|
||||||
# need in order to bootstrap the dependency handling code.
|
# order to bootstrap the dependency handling code.
|
||||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[AC_CONFIG_COMMANDS([depfiles],
|
[AC_CONFIG_COMMANDS([depfiles],
|
||||||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
|
||||||
])
|
|
||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1472,8 +1462,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||||
# dies out for good. For more background, see:
|
# dies out for good. For more background, see:
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||||
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||||
# system "awk" is bad on some platforms.
|
# system "awk" is bad on some platforms.
|
||||||
|
|
@ -1540,7 +1530,7 @@ END
|
||||||
Aborting the configuration process, to ensure you take notice of the issue.
|
Aborting the configuration process, to ensure you take notice of the issue.
|
||||||
|
|
||||||
You can download and install GNU coreutils to get an 'rm' implementation
|
You can download and install GNU coreutils to get an 'rm' implementation
|
||||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||||
|
|
||||||
If you want to complete the configuration process using your problematic
|
If you want to complete the configuration process using your problematic
|
||||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||||
|
|
@ -1582,7 +1572,7 @@ for _am_header in $config_headers :; do
|
||||||
done
|
done
|
||||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1603,7 +1593,7 @@ if test x"${install_sh+set}" != xset; then
|
||||||
fi
|
fi
|
||||||
AC_SUBST([install_sh])])
|
AC_SUBST([install_sh])])
|
||||||
|
|
||||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1625,7 +1615,7 @@ AC_SUBST([am__leading_dot])])
|
||||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||||
# From Jim Meyering
|
# From Jim Meyering
|
||||||
|
|
||||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1660,7 +1650,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||||
|
|
||||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1668,49 +1658,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||||
|
|
||||||
# AM_MAKE_INCLUDE()
|
# AM_MAKE_INCLUDE()
|
||||||
# -----------------
|
# -----------------
|
||||||
# Check to see how make treats includes.
|
# Check whether make has an 'include' directive that can support all
|
||||||
|
# the idioms we need for our automatic dependency tracking code.
|
||||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||||
[am_make=${MAKE-make}
|
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
|
||||||
cat > confinc << 'END'
|
cat > confinc.mk << 'END'
|
||||||
am__doit:
|
am__doit:
|
||||||
@echo this is the am__doit target
|
@echo this is the am__doit target >confinc.out
|
||||||
.PHONY: am__doit
|
.PHONY: am__doit
|
||||||
END
|
END
|
||||||
# If we don't find an include directive, just comment out the code.
|
|
||||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
|
||||||
am__include="#"
|
am__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
# BSD make does it like this.
|
||||||
# First try GNU make style include.
|
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||||
echo "include confinc" > confmf
|
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||||
# Ignore all kinds of additional output from 'make'.
|
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
_am_result=no
|
||||||
*the\ am__doit\ target*)
|
for s in GNU BSD; do
|
||||||
am__include=include
|
AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
|
||||||
am__quote=
|
AS_CASE([$?:`cat confinc.out 2>/dev/null`],
|
||||||
_am_result=GNU
|
['0:this is the am__doit target'],
|
||||||
;;
|
[AS_CASE([$s],
|
||||||
esac
|
[BSD], [am__include='.include' am__quote='"'],
|
||||||
# Now try BSD make style include.
|
[am__include='include' am__quote=''])])
|
||||||
if test "$am__include" = "#"; then
|
if test "$am__include" != "#"; then
|
||||||
echo '.include "confinc"' > confmf
|
_am_result="yes ($s style)"
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
break
|
||||||
*the\ am__doit\ target*)
|
fi
|
||||||
am__include=.include
|
done
|
||||||
am__quote="\""
|
rm -f confinc.* confmf.*
|
||||||
_am_result=BSD
|
AC_MSG_RESULT([${_am_result}])
|
||||||
;;
|
AC_SUBST([am__include])])
|
||||||
esac
|
AC_SUBST([am__quote])])
|
||||||
fi
|
|
||||||
AC_SUBST([am__include])
|
|
||||||
AC_SUBST([am__quote])
|
|
||||||
AC_MSG_RESULT([$_am_result])
|
|
||||||
rm -f confinc confmf
|
|
||||||
])
|
|
||||||
|
|
||||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1749,7 +1732,7 @@ fi
|
||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1778,7 +1761,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
AC_DEFUN([_AM_IF_OPTION],
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1825,7 +1808,7 @@ AC_LANG_POP([C])])
|
||||||
# For backward compatibility.
|
# For backward compatibility.
|
||||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1844,7 +1827,7 @@ AC_DEFUN([AM_RUN_LOG],
|
||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1925,7 +1908,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
rm -f conftest.file
|
rm -f conftest.file
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -1985,7 +1968,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
||||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -2013,7 +1996,7 @@ fi
|
||||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -2032,7 +2015,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
@ -609,8 +609,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
$(srcdir)/../Makefile-libostree-defines.am $(top_srcdir)/gtk-doc.make $(am__empty):
|
$(srcdir)/../Makefile-libostree-defines.am $(top_srcdir)/gtk-doc.make $(am__empty):
|
||||||
|
|
||||||
|
|
@ -635,7 +635,10 @@ ctags CTAGS:
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
|
@ -890,6 +893,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con
|
||||||
for file in $(HTML_IMAGES) ; do \
|
for file in $(HTML_IMAGES) ; do \
|
||||||
test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
||||||
test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
||||||
|
test -f $$file && cp $$file $(abs_builddir)/html; \
|
||||||
done;
|
done;
|
||||||
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||||
$(AM_V_at)touch html-build.stamp
|
$(AM_V_at)touch html-build.stamp
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||||
<link rel="home" href="index.html" title="OSTree API references">
|
<link rel="home" href="index.html" title="OSTree API references">
|
||||||
<link rel="next" href="reference.html" title="API Reference">
|
<link rel="next" href="reference.html" title="API Reference">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<div class="titlepage">
|
<div class="titlepage">
|
||||||
<div>
|
<div>
|
||||||
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
||||||
<div><p class="releaseinfo">for OSTree 2018.7</p></div>
|
<div><p class="releaseinfo">for OSTree 2019.1</p></div>
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -68,6 +68,6 @@
|
||||||
</dl></div>
|
</dl></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="reference.html" title="API Reference">
|
<link rel="prev" href="reference.html" title="API Reference">
|
||||||
<link rel="next" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
<link rel="next" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -2618,6 +2618,6 @@ Unix epoch in UTC, big-endian) when the commit was committed</p></li></ul></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
<link rel="prev" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||||
<link rel="next" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
<link rel="next" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -707,6 +707,6 @@ for future variations.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
<link rel="prev" href="ostree-OstreeRepo.html" title="OstreeRepo: Content-addressed object store">
|
||||||
<link rel="next" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
<link rel="next" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -582,6 +582,6 @@ the contents will be loaded only when needed.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
<link rel="prev" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
||||||
<link rel="next" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
<link rel="next" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -4579,9 +4579,10 @@ ostree_repo_import_object_from_with_trust
|
||||||
into <em class="parameter"><code>self</code></em>
|
into <em class="parameter"><code>self</code></em>
|
||||||
from the
|
from the
|
||||||
source repository <em class="parameter"><code>source</code></em>
|
source repository <em class="parameter"><code>source</code></em>
|
||||||
. If both repositories are of the same
|
. If <em class="parameter"><code>trusted</code></em>
|
||||||
type and on the same filesystem, this will simply be a fast Unix
|
is <code class="literal">TRUE</code> and both
|
||||||
hard link operation.</p>
|
repositories are of the same type and on the same filesystem,
|
||||||
|
this will simply be a fast Unix hard link operation.</p>
|
||||||
<p>Otherwise, a copy will be performed.</p>
|
<p>Otherwise, a copy will be performed.</p>
|
||||||
<div class="refsect3">
|
<div class="refsect3">
|
||||||
<a name="ostree-repo-import-object-from-with-trust.parameters"></a><h4>Parameters</h4>
|
<a name="ostree-repo-import-object-from-with-trust.parameters"></a><h4>Parameters</h4>
|
||||||
|
|
@ -7902,8 +7903,9 @@ possible modes.</p>
|
||||||
guint content_objects_total;
|
guint content_objects_total;
|
||||||
guint content_objects_written;
|
guint content_objects_written;
|
||||||
guint64 content_bytes_written;
|
guint64 content_bytes_written;
|
||||||
|
guint devino_cache_hits;
|
||||||
|
|
||||||
guint64 padding1;
|
guint padding1;
|
||||||
guint64 padding2;
|
guint64 padding2;
|
||||||
guint64 padding3;
|
guint64 padding3;
|
||||||
guint64 padding4;
|
guint64 padding4;
|
||||||
|
|
@ -7951,7 +7953,12 @@ in bytes, counting only content objects.</p></td>
|
||||||
<td class="struct_member_annotations"> </td>
|
<td class="struct_member_annotations"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="struct_member_name"><p><span class="type">guint64</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding1"></a>padding1</code></em>;</p></td>
|
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.devino-cache-hits"></a>devino_cache_hits</code></em>;</p></td>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="struct_member_name"><p><span class="type">guint</span> <em class="structfield"><code><a name="OstreeRepoTransactionStats.padding1"></a>padding1</code></em>;</p></td>
|
||||||
<td class="struct_member_description"><p>reserved</p></td>
|
<td class="struct_member_description"><p>reserved</p></td>
|
||||||
<td class="struct_member_annotations"> </td>
|
<td class="struct_member_annotations"> </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
@ -8514,6 +8521,6 @@ as - List of pack file checksums in which this object appears</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
<link rel="prev" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">
|
||||||
<link rel="next" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
<link rel="next" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -546,6 +546,6 @@ events will be queued.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
<link rel="prev" href="ostree-In-memory-modifiable-filesystem-tree.html" title="In-memory modifiable filesystem tree">
|
||||||
<link rel="next" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
<link rel="next" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -1990,6 +1990,6 @@ later, instead.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
<link rel="prev" href="ostree-Progress-notification-system-for-asynchronous-operations.html" title="Progress notification system for asynchronous operations">
|
||||||
<link rel="next" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
<link rel="next" href="ostree-Simple-upgrade-class.html" title="Simple upgrade class">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -484,6 +484,6 @@ ostree_sepolicy_fscreatecon_cleanup (<em class="parameter"><code><span class="ty
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
<link rel="prev" href="ostree-SELinux-policy-management.html" title="SELinux policy management">
|
||||||
<link rel="next" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
<link rel="next" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -710,6 +710,6 @@ with /etc, and update the bootloader configuration.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
<link rel="prev" href="ostree-GPG-signature-verification-results.html" title="GPG signature verification results">
|
||||||
<link rel="next" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
<link rel="next" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -256,6 +256,6 @@ ostree_bootconfig_parser_get (<em class="parameter"><code><a class="link" href="
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
<link rel="prev" href="ostree-ostree-bootconfig-parser.html" title="ostree-bootconfig-parser">
|
||||||
<link rel="next" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
<link rel="next" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -84,6 +84,6 @@ ostree_chain_input_stream_new (<em class="parameter"><code><span class="type">GP
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
<link rel="prev" href="ostree-ostree-chain-input-stream.html" title="ostree-chain-input-stream">
|
||||||
<link rel="next" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
<link rel="next" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -85,6 +85,6 @@ ostree_checksum_input_stream_new (<em class="parameter"><code><span class="type"
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
<link rel="prev" href="ostree-ostree-checksum-input-stream.html" title="ostree-checksum-input-stream">
|
||||||
<link rel="next" href="ostree-ostree-diff.html" title="ostree-diff">
|
<link rel="next" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -640,6 +640,6 @@ ostree_deployment_unlocked_state_to_string
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
<link rel="prev" href="ostree-ostree-deployment.html" title="ostree-deployment">
|
||||||
<link rel="next" href="ostree-ostree-repo-file.html" title="ostree-repo-file">
|
<link rel="next" href="ostree-ostree-repo-file.html" title="ostree-repo-file">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -363,6 +363,6 @@ ostree_diff_print (<em class="parameter"><code><span class="type">GFile</span> *
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
<link rel="home" href="index.html" title="OSTree API references">
|
<link rel="home" href="index.html" title="OSTree API references">
|
||||||
<link rel="up" href="reference.html" title="API Reference">
|
<link rel="up" href="reference.html" title="API Reference">
|
||||||
<link rel="prev" href="ostree-ostree-diff.html" title="ostree-diff">
|
<link rel="prev" href="ostree-ostree-diff.html" title="ostree-diff">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -261,6 +261,6 @@ ostree_repo_file_tree_query_child (<em class="parameter"><code><a class="link" h
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -501,6 +501,7 @@
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-total" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-objects-total"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-total" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-objects-total"/>
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-written" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-objects-written"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.content-objects-written" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-objects-written"/>
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.content-bytes-written" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-bytes-written"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.content-bytes-written" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.content-bytes-written"/>
|
||||||
|
<keyword type="member" name="OstreeRepoTransactionStats.devino-cache-hits" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.devino-cache-hits"/>
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.padding1" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding1"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.padding1" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding1"/>
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.padding2" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding2"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.padding2" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding2"/>
|
||||||
<keyword type="member" name="OstreeRepoTransactionStats.padding3" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding3"/>
|
<keyword type="member" name="OstreeRepoTransactionStats.padding3" link="ostree-OstreeRepo.html#OstreeRepoTransactionStats.padding3"/>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
<link rel="up" href="index.html" title="OSTree API references">
|
<link rel="up" href="index.html" title="OSTree API references">
|
||||||
<link rel="prev" href="index.html" title="OSTree API references">
|
<link rel="prev" href="index.html" title="OSTree API references">
|
||||||
<link rel="next" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
<link rel="next" href="ostree-Core-repository-independent-functions.html" title="Core repository-independent functions">
|
||||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
<meta name="generator" content="GTK-Doc V1.29 (XML mode)">
|
||||||
<link rel="stylesheet" href="style.css" type="text/css">
|
<link rel="stylesheet" href="style.css" type="text/css">
|
||||||
</head>
|
</head>
|
||||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||||
|
|
@ -1828,6 +1828,6 @@ OSTREE_YEAR_VERSION, macro in ostree-version
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
<hr>Generated by GTK-Doc V1.28</div>
|
<hr>Generated by GTK-Doc V1.29</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
@ -1 +1 @@
|
||||||
2018.7
|
2019.1
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
# Wrapper for compilers which do not understand '-c -o'.
|
# Wrapper for compilers which do not understand '-c -o'.
|
||||||
|
|
||||||
scriptversion=2016-01-11.22; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
|
@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
|
@ -340,7 +340,7 @@ exit $ret
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -1,8 +1,8 @@
|
||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright 1992-2017 Free Software Foundation, Inc.
|
# Copyright 1992-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2017-04-02'
|
timestamp='2018-05-05'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -15,7 +15,7 @@ timestamp='2017-04-02'
|
||||||
# General Public License for more details.
|
# General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
# along with this program; if not, see <https://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
|
@ -33,7 +33,7 @@ timestamp='2017-04-02'
|
||||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||||
|
|
||||||
# You can get the latest version of this script from:
|
# You can get the latest version of this script from:
|
||||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||||
|
|
||||||
# This file is supposed to be the same for all GNU packages
|
# This file is supposed to be the same for all GNU packages
|
||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
|
|
@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
||||||
|
|
||||||
Canonicalize a configuration name.
|
Canonicalize a configuration name.
|
||||||
|
|
||||||
Operation modes:
|
Options:
|
||||||
-h, --help print this help, then exit
|
-h, --help print this help, then exit
|
||||||
-t, --time-stamp print date of last modification, then exit
|
-t, --time-stamp print date of last modification, then exit
|
||||||
-v, --version print version number, then exit
|
-v, --version print version number, then exit
|
||||||
|
|
@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright 1992-2017 Free Software Foundation, Inc.
|
Copyright 1992-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
|
@ -94,7 +94,7 @@ while test $# -gt 0 ; do
|
||||||
|
|
||||||
*local*)
|
*local*)
|
||||||
# First pass through any local machine types.
|
# First pass through any local machine types.
|
||||||
echo $1
|
echo "$1"
|
||||||
exit ;;
|
exit ;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
|
@ -110,28 +110,48 @@ case $# in
|
||||||
exit 1;;
|
exit 1;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
# Spilt fields of configuration type
|
||||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
IFS="-" read -r field1 field2 field3 field4 <<EOF
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
$1
|
||||||
case $maybe_os in
|
EOF
|
||||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
|
||||||
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
# Separate into logical components for further validation
|
||||||
knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
|
case $1 in
|
||||||
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
*-*-*-*)
|
||||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
basic_machine=$field1-$field2
|
||||||
os=-$maybe_os
|
os=-$field3-$field4
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
;;
|
||||||
;;
|
*-*-*)
|
||||||
android-linux)
|
# Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two
|
||||||
os=-linux-android
|
# parts
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
|
maybe_os=$field2-$field3
|
||||||
;;
|
case $maybe_os in
|
||||||
*)
|
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc \
|
||||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
| linux-newlib* | linux-musl* | linux-uclibc* | uclinux-uclibc* \
|
||||||
if [ $basic_machine != $1 ]
|
| uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
|
||||||
then os=`echo $1 | sed 's/.*-/-/'`
|
| netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
|
||||||
else os=; fi
|
| storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
;;
|
basic_machine=$field1
|
||||||
|
os=-$maybe_os
|
||||||
|
;;
|
||||||
|
android-linux)
|
||||||
|
basic_machine=$field1-unknown
|
||||||
|
os=-linux-android
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
basic_machine=$field1-$field2
|
||||||
|
os=-$field3
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
*-*)
|
||||||
|
basic_machine=$field1
|
||||||
|
os=-$field2
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
basic_machine=$1
|
||||||
|
os=
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
### Let's recognize common machines as not being operating systems so
|
### Let's recognize common machines as not being operating systems so
|
||||||
|
|
@ -178,44 +198,44 @@ case $os in
|
||||||
;;
|
;;
|
||||||
-sco6)
|
-sco6)
|
||||||
os=-sco5v6
|
os=-sco5v6
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco5)
|
-sco5)
|
||||||
os=-sco3.2v5
|
os=-sco3.2v5
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco4)
|
-sco4)
|
||||||
os=-sco3.2v4
|
os=-sco3.2v4
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco3.2.[4-9]*)
|
-sco3.2.[4-9]*)
|
||||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco3.2v[4-9]*)
|
-sco3.2v[4-9]*)
|
||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco5v6*)
|
-sco5v6*)
|
||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco*)
|
-sco*)
|
||||||
os=-sco3.2v2
|
os=-sco3.2v2
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-udk*)
|
-udk*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-isc)
|
-isc)
|
||||||
os=-isc2.2
|
os=-isc2.2
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-clix*)
|
-clix*)
|
||||||
basic_machine=clipper-intergraph
|
basic_machine=clipper-intergraph
|
||||||
;;
|
;;
|
||||||
-isc*)
|
-isc*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-lynx*178)
|
-lynx*178)
|
||||||
os=-lynxos178
|
os=-lynxos178
|
||||||
|
|
@ -227,10 +247,7 @@ case $os in
|
||||||
os=-lynxos
|
os=-lynxos
|
||||||
;;
|
;;
|
||||||
-ptx*)
|
-ptx*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
|
||||||
;;
|
|
||||||
-windowsnt*)
|
|
||||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
|
||||||
;;
|
;;
|
||||||
-psos*)
|
-psos*)
|
||||||
os=-psos
|
os=-psos
|
||||||
|
|
@ -252,12 +269,12 @@ case $basic_machine in
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||||
| am33_2.0 \
|
| am33_2.0 \
|
||||||
| arc | arceb \
|
| arc | arceb \
|
||||||
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
|
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv6m | armv[78][arm] \
|
||||||
| avr | avr32 \
|
| avr | avr32 \
|
||||||
| ba \
|
| ba \
|
||||||
| be32 | be64 \
|
| be32 | be64 \
|
||||||
| bfin \
|
| bfin \
|
||||||
| c4x | c8051 | clipper \
|
| c4x | c8051 | clipper | csky \
|
||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
| e2k | epiphany \
|
| e2k | epiphany \
|
||||||
| fido | fr30 | frv | ft32 \
|
| fido | fr30 | frv | ft32 \
|
||||||
|
|
@ -296,10 +313,11 @@ case $basic_machine in
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
| nds32 | nds32le | nds32be \
|
| nds32 | nds32le | nds32be \
|
||||||
|
| nfp \
|
||||||
| nios | nios2 | nios2eb | nios2el \
|
| nios | nios2 | nios2eb | nios2el \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| open8 | or1k | or1knd | or32 \
|
| open8 | or1k | or1knd | or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||||
| pru \
|
| pru \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
|
|
@ -316,7 +334,6 @@ case $basic_machine in
|
||||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||||
| visium \
|
| visium \
|
||||||
| wasm32 \
|
| wasm32 \
|
||||||
| we32k \
|
|
||||||
| x86 | xc16x | xstormy16 | xtensa \
|
| x86 | xc16x | xstormy16 | xtensa \
|
||||||
| z8k | z80)
|
| z8k | z80)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
|
|
@ -337,7 +354,11 @@ case $basic_machine in
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
os=-none
|
os=-none
|
||||||
;;
|
;;
|
||||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
|
||||||
|
;;
|
||||||
|
m9s12z | m68hcs12z | hcs12z | s12z)
|
||||||
|
basic_machine=s12z-unknown
|
||||||
|
os=-none
|
||||||
;;
|
;;
|
||||||
ms1)
|
ms1)
|
||||||
basic_machine=mt-unknown
|
basic_machine=mt-unknown
|
||||||
|
|
@ -366,7 +387,7 @@ case $basic_machine in
|
||||||
;;
|
;;
|
||||||
# Object if more than one company name word.
|
# Object if more than one company name word.
|
||||||
*-*-*)
|
*-*-*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
# Recognize the basic CPU types with company name.
|
# Recognize the basic CPU types with company name.
|
||||||
|
|
@ -382,7 +403,7 @@ case $basic_machine in
|
||||||
| be32-* | be64-* \
|
| be32-* | be64-* \
|
||||||
| bfin-* | bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||||
| c8051-* | clipper-* | craynv-* | cydra-* \
|
| c8051-* | clipper-* | craynv-* | csky-* | cydra-* \
|
||||||
| d10v-* | d30v-* | dlx-* \
|
| d10v-* | d30v-* | dlx-* \
|
||||||
| e2k-* | elxsi-* \
|
| e2k-* | elxsi-* \
|
||||||
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||||
|
|
@ -423,6 +444,7 @@ case $basic_machine in
|
||||||
| mt-* \
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
| nds32-* | nds32le-* | nds32be-* \
|
| nds32-* | nds32le-* | nds32be-* \
|
||||||
|
| nfp-* \
|
||||||
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| open8-* \
|
| open8-* \
|
||||||
|
|
@ -461,7 +483,7 @@ case $basic_machine in
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
386bsd)
|
386bsd)
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-pc
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||||
|
|
@ -495,7 +517,7 @@ case $basic_machine in
|
||||||
basic_machine=x86_64-pc
|
basic_machine=x86_64-pc
|
||||||
;;
|
;;
|
||||||
amd64-*)
|
amd64-*)
|
||||||
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
amdahl)
|
amdahl)
|
||||||
basic_machine=580-amdahl
|
basic_machine=580-amdahl
|
||||||
|
|
@ -540,7 +562,7 @@ case $basic_machine in
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
blackfin-*)
|
blackfin-*)
|
||||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
bluegene*)
|
bluegene*)
|
||||||
|
|
@ -548,13 +570,13 @@ case $basic_machine in
|
||||||
os=-cnk
|
os=-cnk
|
||||||
;;
|
;;
|
||||||
c54x-*)
|
c54x-*)
|
||||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c55x-*)
|
c55x-*)
|
||||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c6x-*)
|
c6x-*)
|
||||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c90)
|
c90)
|
||||||
basic_machine=c90-cray
|
basic_machine=c90-cray
|
||||||
|
|
@ -643,7 +665,7 @@ case $basic_machine in
|
||||||
basic_machine=rs6000-bull
|
basic_machine=rs6000-bull
|
||||||
os=-bosx
|
os=-bosx
|
||||||
;;
|
;;
|
||||||
dpx2* | dpx2*-bull)
|
dpx2*)
|
||||||
basic_machine=m68k-bull
|
basic_machine=m68k-bull
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
|
|
@ -652,7 +674,7 @@ case $basic_machine in
|
||||||
os=$os"spe"
|
os=$os"spe"
|
||||||
;;
|
;;
|
||||||
e500v[12]-*)
|
e500v[12]-*)
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=$os"spe"
|
os=$os"spe"
|
||||||
;;
|
;;
|
||||||
ebmon29k)
|
ebmon29k)
|
||||||
|
|
@ -744,9 +766,6 @@ case $basic_machine in
|
||||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||||
basic_machine=hppa1.0-hp
|
basic_machine=hppa1.0-hp
|
||||||
;;
|
;;
|
||||||
hppa-next)
|
|
||||||
os=-nextstep3
|
|
||||||
;;
|
|
||||||
hppaosf)
|
hppaosf)
|
||||||
basic_machine=hppa1.1-hp
|
basic_machine=hppa1.1-hp
|
||||||
os=-osf
|
os=-osf
|
||||||
|
|
@ -759,26 +778,26 @@ case $basic_machine in
|
||||||
basic_machine=i370-ibm
|
basic_machine=i370-ibm
|
||||||
;;
|
;;
|
||||||
i*86v32)
|
i*86v32)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv32
|
os=-sysv32
|
||||||
;;
|
;;
|
||||||
i*86v4*)
|
i*86v4*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
i*86v)
|
i*86v)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
i*86sol2)
|
i*86sol2)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
i386mach)
|
i386mach)
|
||||||
basic_machine=i386-mach
|
basic_machine=i386-mach
|
||||||
os=-mach
|
os=-mach
|
||||||
;;
|
;;
|
||||||
i386-vsta | vsta)
|
vsta)
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-unknown
|
||||||
os=-vsta
|
os=-vsta
|
||||||
;;
|
;;
|
||||||
|
|
@ -797,19 +816,16 @@ case $basic_machine in
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
leon-*|leon[3-9]-*)
|
leon-*|leon[3-9]-*)
|
||||||
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
|
||||||
;;
|
;;
|
||||||
m68knommu)
|
m68knommu)
|
||||||
basic_machine=m68k-unknown
|
basic_machine=m68k-unknown
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
m68knommu-*)
|
m68knommu-*)
|
||||||
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
m88k-omron*)
|
|
||||||
basic_machine=m88k-omron
|
|
||||||
;;
|
|
||||||
magnum | m3230)
|
magnum | m3230)
|
||||||
basic_machine=mips-mips
|
basic_machine=mips-mips
|
||||||
os=-sysv
|
os=-sysv
|
||||||
|
|
@ -841,10 +857,10 @@ case $basic_machine in
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
mips3*-*)
|
mips3*-*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
|
||||||
;;
|
;;
|
||||||
mips3*)
|
mips3*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
|
||||||
;;
|
;;
|
||||||
monitor)
|
monitor)
|
||||||
basic_machine=m68k-rom68k
|
basic_machine=m68k-rom68k
|
||||||
|
|
@ -863,7 +879,7 @@ case $basic_machine in
|
||||||
os=-msdos
|
os=-msdos
|
||||||
;;
|
;;
|
||||||
ms1-*)
|
ms1-*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
|
||||||
;;
|
;;
|
||||||
msys)
|
msys)
|
||||||
basic_machine=i686-pc
|
basic_machine=i686-pc
|
||||||
|
|
@ -905,7 +921,7 @@ case $basic_machine in
|
||||||
basic_machine=v70-nec
|
basic_machine=v70-nec
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
next | m*-next )
|
next | m*-next)
|
||||||
basic_machine=m68k-next
|
basic_machine=m68k-next
|
||||||
case $os in
|
case $os in
|
||||||
-nextstep* )
|
-nextstep* )
|
||||||
|
|
@ -950,6 +966,9 @@ case $basic_machine in
|
||||||
nsr-tandem)
|
nsr-tandem)
|
||||||
basic_machine=nsr-tandem
|
basic_machine=nsr-tandem
|
||||||
;;
|
;;
|
||||||
|
nsv-tandem)
|
||||||
|
basic_machine=nsv-tandem
|
||||||
|
;;
|
||||||
nsx-tandem)
|
nsx-tandem)
|
||||||
basic_machine=nsx-tandem
|
basic_machine=nsx-tandem
|
||||||
;;
|
;;
|
||||||
|
|
@ -985,7 +1004,7 @@ case $basic_machine in
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
parisc-*)
|
parisc-*)
|
||||||
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
pbd)
|
pbd)
|
||||||
|
|
@ -1001,7 +1020,7 @@ case $basic_machine in
|
||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
;;
|
;;
|
||||||
pc98-*)
|
pc98-*)
|
||||||
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
|
|
@ -1016,16 +1035,16 @@ case $basic_machine in
|
||||||
basic_machine=i786-pc
|
basic_machine=i786-pc
|
||||||
;;
|
;;
|
||||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
||||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentium4-*)
|
pentium4-*)
|
||||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pn)
|
pn)
|
||||||
basic_machine=pn-gould
|
basic_machine=pn-gould
|
||||||
|
|
@ -1035,23 +1054,23 @@ case $basic_machine in
|
||||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||||
;;
|
;;
|
||||||
ppc-* | ppcbe-*)
|
ppc-* | ppcbe-*)
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppcle | powerpclittle)
|
ppcle | powerpclittle)
|
||||||
basic_machine=powerpcle-unknown
|
basic_machine=powerpcle-unknown
|
||||||
;;
|
;;
|
||||||
ppcle-* | powerpclittle-*)
|
ppcle-* | powerpclittle-*)
|
||||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64) basic_machine=powerpc64-unknown
|
ppc64) basic_machine=powerpc64-unknown
|
||||||
;;
|
;;
|
||||||
ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64le | powerpc64little)
|
ppc64le | powerpc64little)
|
||||||
basic_machine=powerpc64le-unknown
|
basic_machine=powerpc64le-unknown
|
||||||
;;
|
;;
|
||||||
ppc64le-* | powerpc64little-*)
|
ppc64le-* | powerpc64little-*)
|
||||||
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ps2)
|
ps2)
|
||||||
basic_machine=i386-ibm
|
basic_machine=i386-ibm
|
||||||
|
|
@ -1105,17 +1124,10 @@ case $basic_machine in
|
||||||
sequent)
|
sequent)
|
||||||
basic_machine=i386-sequent
|
basic_machine=i386-sequent
|
||||||
;;
|
;;
|
||||||
sh)
|
|
||||||
basic_machine=sh-hitachi
|
|
||||||
os=-hms
|
|
||||||
;;
|
|
||||||
sh5el)
|
sh5el)
|
||||||
basic_machine=sh5le-unknown
|
basic_machine=sh5le-unknown
|
||||||
;;
|
;;
|
||||||
sh64)
|
simso-wrs)
|
||||||
basic_machine=sh64-unknown
|
|
||||||
;;
|
|
||||||
sparclite-wrs | simso-wrs)
|
|
||||||
basic_machine=sparclite-wrs
|
basic_machine=sparclite-wrs
|
||||||
os=-vxworks
|
os=-vxworks
|
||||||
;;
|
;;
|
||||||
|
|
@ -1134,7 +1146,7 @@ case $basic_machine in
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
strongarm-* | thumb-*)
|
strongarm-* | thumb-*)
|
||||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
sun2)
|
sun2)
|
||||||
basic_machine=m68000-sun
|
basic_machine=m68000-sun
|
||||||
|
|
@ -1248,9 +1260,6 @@ case $basic_machine in
|
||||||
basic_machine=a29k-wrs
|
basic_machine=a29k-wrs
|
||||||
os=-vxworks
|
os=-vxworks
|
||||||
;;
|
;;
|
||||||
wasm32)
|
|
||||||
basic_machine=wasm32-unknown
|
|
||||||
;;
|
|
||||||
w65*)
|
w65*)
|
||||||
basic_machine=w65-wdc
|
basic_machine=w65-wdc
|
||||||
os=-none
|
os=-none
|
||||||
|
|
@ -1259,6 +1268,9 @@ case $basic_machine in
|
||||||
basic_machine=hppa1.1-winbond
|
basic_machine=hppa1.1-winbond
|
||||||
os=-proelf
|
os=-proelf
|
||||||
;;
|
;;
|
||||||
|
x64)
|
||||||
|
basic_machine=x86_64-pc
|
||||||
|
;;
|
||||||
xbox)
|
xbox)
|
||||||
basic_machine=i686-pc
|
basic_machine=i686-pc
|
||||||
os=-mingw32
|
os=-mingw32
|
||||||
|
|
@ -1267,20 +1279,12 @@ case $basic_machine in
|
||||||
basic_machine=xps100-honeywell
|
basic_machine=xps100-honeywell
|
||||||
;;
|
;;
|
||||||
xscale-* | xscalee[bl]-*)
|
xscale-* | xscalee[bl]-*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
|
||||||
;;
|
;;
|
||||||
ymp)
|
ymp)
|
||||||
basic_machine=ymp-cray
|
basic_machine=ymp-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
z8k-*-coff)
|
|
||||||
basic_machine=z8k-unknown
|
|
||||||
os=-sim
|
|
||||||
;;
|
|
||||||
z80-*-coff)
|
|
||||||
basic_machine=z80-unknown
|
|
||||||
os=-sim
|
|
||||||
;;
|
|
||||||
none)
|
none)
|
||||||
basic_machine=none-none
|
basic_machine=none-none
|
||||||
os=-none
|
os=-none
|
||||||
|
|
@ -1309,10 +1313,6 @@ case $basic_machine in
|
||||||
vax)
|
vax)
|
||||||
basic_machine=vax-dec
|
basic_machine=vax-dec
|
||||||
;;
|
;;
|
||||||
pdp10)
|
|
||||||
# there are many clones, so DEC is not a safe bet
|
|
||||||
basic_machine=pdp10-unknown
|
|
||||||
;;
|
|
||||||
pdp11)
|
pdp11)
|
||||||
basic_machine=pdp11-dec
|
basic_machine=pdp11-dec
|
||||||
;;
|
;;
|
||||||
|
|
@ -1322,9 +1322,6 @@ case $basic_machine in
|
||||||
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||||
basic_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
|
||||||
basic_machine=sparc-sun
|
|
||||||
;;
|
|
||||||
cydra)
|
cydra)
|
||||||
basic_machine=cydra-cydrome
|
basic_machine=cydra-cydrome
|
||||||
;;
|
;;
|
||||||
|
|
@ -1344,7 +1341,7 @@ case $basic_machine in
|
||||||
# Make sure to match an already-canonicalized machine name.
|
# Make sure to match an already-canonicalized machine name.
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -1352,10 +1349,10 @@ esac
|
||||||
# Here we canonicalize certain aliases for manufacturers.
|
# Here we canonicalize certain aliases for manufacturers.
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
*-digital*)
|
*-digital*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
|
||||||
;;
|
;;
|
||||||
*-commodore*)
|
*-commodore*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
;;
|
;;
|
||||||
|
|
@ -1363,11 +1360,11 @@ esac
|
||||||
|
|
||||||
# Decode manufacturer-specific aliases for certain operating systems.
|
# Decode manufacturer-specific aliases for certain operating systems.
|
||||||
|
|
||||||
if [ x"$os" != x"" ]
|
if [ x$os != x ]
|
||||||
then
|
then
|
||||||
case $os in
|
case $os in
|
||||||
# First match some system type aliases
|
# First match some system type aliases that might get confused
|
||||||
# that might get confused with valid system types.
|
# with valid system types.
|
||||||
# -solaris* is a basic system type, with this one exception.
|
# -solaris* is a basic system type, with this one exception.
|
||||||
-auroraux)
|
-auroraux)
|
||||||
os=-auroraux
|
os=-auroraux
|
||||||
|
|
@ -1378,18 +1375,19 @@ case $os in
|
||||||
-solaris)
|
-solaris)
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
-svr4*)
|
|
||||||
os=-sysv4
|
|
||||||
;;
|
|
||||||
-unixware*)
|
-unixware*)
|
||||||
os=-sysv4.2uw
|
os=-sysv4.2uw
|
||||||
;;
|
;;
|
||||||
-gnu/linux*)
|
-gnu/linux*)
|
||||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||||
;;
|
;;
|
||||||
# First accept the basic system types.
|
# es1800 is here to avoid being matched by es* (a different OS)
|
||||||
|
-es1800*)
|
||||||
|
os=-ose
|
||||||
|
;;
|
||||||
|
# Now accept the basic system types.
|
||||||
# The portable systems comes first.
|
# The portable systems comes first.
|
||||||
# Each alternative MUST END IN A *, to match a version number.
|
# Each alternative MUST end in a * to match a version number.
|
||||||
# -sysv* is not here because it comes later, after sysvr4.
|
# -sysv* is not here because it comes later, after sysvr4.
|
||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||||
|
|
@ -1399,25 +1397,26 @@ case $os in
|
||||||
| -aos* | -aros* | -cloudabi* | -sortix* \
|
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
| -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
||||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* | -hcos* \
|
||||||
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
||||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
||||||
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
|
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
|
||||||
|
| -midnightbsd*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
|
|
@ -1434,12 +1433,12 @@ case $os in
|
||||||
-nto*)
|
-nto*)
|
||||||
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
||||||
;;
|
;;
|
||||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
-sim | -xray | -os68k* | -v88r* \
|
||||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
|
| -windows* | -osx | -abug | -netware* | -os9* \
|
||||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||||
;;
|
;;
|
||||||
-mac*)
|
-mac*)
|
||||||
os=`echo $os | sed -e 's|mac|macos|'`
|
os=`echo "$os" | sed -e 's|mac|macos|'`
|
||||||
;;
|
;;
|
||||||
-linux-dietlibc)
|
-linux-dietlibc)
|
||||||
os=-linux-dietlibc
|
os=-linux-dietlibc
|
||||||
|
|
@ -1448,10 +1447,10 @@ case $os in
|
||||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||||
;;
|
;;
|
||||||
-sunos5*)
|
-sunos5*)
|
||||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
|
||||||
;;
|
;;
|
||||||
-sunos6*)
|
-sunos6*)
|
||||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
|
||||||
;;
|
;;
|
||||||
-opened*)
|
-opened*)
|
||||||
os=-openedition
|
os=-openedition
|
||||||
|
|
@ -1462,12 +1461,6 @@ case $os in
|
||||||
-wince*)
|
-wince*)
|
||||||
os=-wince
|
os=-wince
|
||||||
;;
|
;;
|
||||||
-osfrose*)
|
|
||||||
os=-osfrose
|
|
||||||
;;
|
|
||||||
-osf*)
|
|
||||||
os=-osf
|
|
||||||
;;
|
|
||||||
-utek*)
|
-utek*)
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
|
|
@ -1492,7 +1485,7 @@ case $os in
|
||||||
-nova*)
|
-nova*)
|
||||||
os=-rtmk-nova
|
os=-rtmk-nova
|
||||||
;;
|
;;
|
||||||
-ns2 )
|
-ns2)
|
||||||
os=-nextstep2
|
os=-nextstep2
|
||||||
;;
|
;;
|
||||||
-nsk*)
|
-nsk*)
|
||||||
|
|
@ -1514,7 +1507,7 @@ case $os in
|
||||||
-oss*)
|
-oss*)
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
-svr4)
|
-svr4*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
-svr3)
|
-svr3)
|
||||||
|
|
@ -1529,34 +1522,44 @@ case $os in
|
||||||
-ose*)
|
-ose*)
|
||||||
os=-ose
|
os=-ose
|
||||||
;;
|
;;
|
||||||
-es1800*)
|
|
||||||
os=-ose
|
|
||||||
;;
|
|
||||||
-xenix)
|
|
||||||
os=-xenix
|
|
||||||
;;
|
|
||||||
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
-aros*)
|
|
||||||
os=-aros
|
|
||||||
;;
|
|
||||||
-zvmoe)
|
-zvmoe)
|
||||||
os=-zvmoe
|
os=-zvmoe
|
||||||
;;
|
;;
|
||||||
-dicos*)
|
-dicos*)
|
||||||
os=-dicos
|
os=-dicos
|
||||||
;;
|
;;
|
||||||
|
-pikeos*)
|
||||||
|
# Until real need of OS specific support for
|
||||||
|
# particular features comes up, bare metal
|
||||||
|
# configurations are quite functional.
|
||||||
|
case $basic_machine in
|
||||||
|
arm*)
|
||||||
|
os=-eabi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
-nacl*)
|
-nacl*)
|
||||||
;;
|
;;
|
||||||
-ios)
|
-ios)
|
||||||
;;
|
;;
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
|
-*-eabi)
|
||||||
|
case $basic_machine in
|
||||||
|
arm*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
# Get rid of the `-' at the beginning of $os.
|
# Get rid of the `-' at the beginning of $os.
|
||||||
os=`echo $os | sed 's/[^-]*-//'`
|
os=`echo $os | sed 's/[^-]*-//'`
|
||||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
@ -1652,9 +1655,6 @@ case $basic_machine in
|
||||||
*-be)
|
*-be)
|
||||||
os=-beos
|
os=-beos
|
||||||
;;
|
;;
|
||||||
*-haiku)
|
|
||||||
os=-haiku
|
|
||||||
;;
|
|
||||||
*-ibm)
|
*-ibm)
|
||||||
os=-aix
|
os=-aix
|
||||||
;;
|
;;
|
||||||
|
|
@ -1694,7 +1694,7 @@ case $basic_machine in
|
||||||
m88k-omron*)
|
m88k-omron*)
|
||||||
os=-luna
|
os=-luna
|
||||||
;;
|
;;
|
||||||
*-next )
|
*-next)
|
||||||
os=-nextstep
|
os=-nextstep
|
||||||
;;
|
;;
|
||||||
*-sequent)
|
*-sequent)
|
||||||
|
|
@ -1709,9 +1709,6 @@ case $basic_machine in
|
||||||
i370-*)
|
i370-*)
|
||||||
os=-mvs
|
os=-mvs
|
||||||
;;
|
;;
|
||||||
*-next)
|
|
||||||
os=-nextstep3
|
|
||||||
;;
|
|
||||||
*-gould)
|
*-gould)
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
|
@ -1821,15 +1818,15 @@ case $basic_machine in
|
||||||
vendor=stratus
|
vendor=stratus
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo $basic_machine$os
|
echo "$basic_machine$os"
|
||||||
exit
|
exit
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "timestamp='"
|
# time-stamp-start: "timestamp='"
|
||||||
# time-stamp-format: "%:y-%02m-%02d"
|
# time-stamp-format: "%:y-%02m-%02d"
|
||||||
# time-stamp-end: "'"
|
# time-stamp-end: "'"
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2016-01-11.22; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
|
@ -783,7 +783,7 @@ exit 0
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2016-01-11.22; # UTC
|
scriptversion=2018-03-11.20; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
|
@ -271,15 +271,18 @@ do
|
||||||
fi
|
fi
|
||||||
dst=$dst_arg
|
dst=$dst_arg
|
||||||
|
|
||||||
# If destination is a directory, append the input filename; won't work
|
# If destination is a directory, append the input filename.
|
||||||
# if double slashes aren't ignored.
|
|
||||||
if test -d "$dst"; then
|
if test -d "$dst"; then
|
||||||
if test "$is_target_a_directory" = never; then
|
if test "$is_target_a_directory" = never; then
|
||||||
echo "$0: $dst_arg: Is a directory" >&2
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
dst=$dstdir/`basename "$src"`
|
dstbase=`basename "$src"`
|
||||||
|
case $dst in
|
||||||
|
*/) dst=$dst$dstbase;;
|
||||||
|
*) dst=$dst/$dstbase;;
|
||||||
|
esac
|
||||||
dstdir_status=0
|
dstdir_status=0
|
||||||
else
|
else
|
||||||
dstdir=`dirname "$dst"`
|
dstdir=`dirname "$dst"`
|
||||||
|
|
@ -288,6 +291,11 @@ do
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case $dstdir in
|
||||||
|
*/) dstdirslash=$dstdir;;
|
||||||
|
*) dstdirslash=$dstdir/;;
|
||||||
|
esac
|
||||||
|
|
||||||
obsolete_mkdir_used=false
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
if test $dstdir_status != 0; then
|
if test $dstdir_status != 0; then
|
||||||
|
|
@ -324,34 +332,43 @@ do
|
||||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
|
# Note that $RANDOM variable is not portable (e.g. dash); Use it
|
||||||
|
# here however when possible just to lower collision chance.
|
||||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|
||||||
|
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
|
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||||
|
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||||
|
# directory is successfully created first before we actually test
|
||||||
|
# 'mkdir -p' feature.
|
||||||
if (umask $mkdir_umask &&
|
if (umask $mkdir_umask &&
|
||||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
if test -z "$dir_arg" || {
|
if test -z "$dir_arg" || {
|
||||||
# Check for POSIX incompatibilities with -m.
|
# Check for POSIX incompatibilities with -m.
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
# other-writable bit of parent directory when it shouldn't.
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
test_tmpdir="$tmpdir/a"
|
||||||
|
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||||
case $ls_ld_tmpdir in
|
case $ls_ld_tmpdir in
|
||||||
d????-?r-*) different_mode=700;;
|
d????-?r-*) different_mode=700;;
|
||||||
d????-?--*) different_mode=755;;
|
d????-?--*) different_mode=755;;
|
||||||
*) false;;
|
*) false;;
|
||||||
esac &&
|
esac &&
|
||||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
then posix_mkdir=:
|
then posix_mkdir=:
|
||||||
fi
|
fi
|
||||||
rmdir "$tmpdir/d" "$tmpdir"
|
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||||
else
|
else
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
trap '' 0;;
|
trap '' 0;;
|
||||||
esac;;
|
esac;;
|
||||||
|
|
@ -427,8 +444,8 @@ do
|
||||||
else
|
else
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
# Make a couple of temp file names in the proper directory.
|
||||||
dsttmp=$dstdir/_inst.$$_
|
dsttmp=${dstdirslash}_inst.$$_
|
||||||
rmtmp=$dstdir/_rm.$$_
|
rmtmp=${dstdirslash}_rm.$$_
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
# Trap to clean up those temp files at exit.
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
|
|
@ -493,7 +510,7 @@ do
|
||||||
done
|
done
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
|
|
||||||
|
|
@ -2124,7 +2124,7 @@ fi
|
||||||
# a configuration failure hint, and exit.
|
# a configuration failure hint, and exit.
|
||||||
func_fatal_configuration ()
|
func_fatal_configuration ()
|
||||||
{
|
{
|
||||||
func__fatal_error ${1+"$@"} \
|
func_fatal_error ${1+"$@"} \
|
||||||
"See the $PACKAGE documentation for more information." \
|
"See the $PACKAGE documentation for more information." \
|
||||||
"Fatal configuration error."
|
"Fatal configuration error."
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
# Common wrapper for a few potentially missing GNU programs.
|
# Common wrapper for a few potentially missing GNU programs.
|
||||||
|
|
||||||
scriptversion=2016-01-11.22; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
|
@ -17,7 +17,7 @@ scriptversion=2016-01-11.22; # UTC
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
|
@ -101,9 +101,9 @@ else
|
||||||
exit $st
|
exit $st
|
||||||
fi
|
fi
|
||||||
|
|
||||||
perl_URL=http://www.perl.org/
|
perl_URL=https://www.perl.org/
|
||||||
flex_URL=http://flex.sourceforge.net/
|
flex_URL=https://github.com/westes/flex
|
||||||
gnu_software_URL=http://www.gnu.org/software
|
gnu_software_URL=https://www.gnu.org/software
|
||||||
|
|
||||||
program_details ()
|
program_details ()
|
||||||
{
|
{
|
||||||
|
|
@ -207,7 +207,7 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||||
exit $st
|
exit $st
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
#!/bin/sh
|
#! /bin/sh
|
||||||
# test-driver - basic testsuite driver script.
|
# test-driver - basic testsuite driver script.
|
||||||
|
|
||||||
scriptversion=2016-01-11.22; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -16,7 +16,7 @@ scriptversion=2016-01-11.22; # UTC
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
|
@ -140,7 +140,7 @@ echo ":copy-in-global-log: $gcopy" >> $trs_file
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC0"
|
# time-stamp-time-zone: "UTC0"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
/* Define if we are enabling ostree trivial-httpd entrypoint */
|
/* Define if we are enabling ostree trivial-httpd entrypoint */
|
||||||
#undef BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE
|
#undef BUILDOPT_ENABLE_TRIVIAL_HTTPD_CMDLINE
|
||||||
|
|
||||||
/* Define if we enable http2 */
|
/* Define if we enable http2 by default */
|
||||||
#undef BUILDOPT_HTTP2
|
#undef BUILDOPT_HTTP2
|
||||||
|
|
||||||
/* Define if doing a development build */
|
/* Define if doing a development build */
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for libostree 2018.9.
|
# Generated by GNU Autoconf 2.69 for libostree 2019.1.
|
||||||
#
|
#
|
||||||
# Report bugs to <walters@verbum.org>.
|
# Report bugs to <walters@verbum.org>.
|
||||||
#
|
#
|
||||||
|
|
@ -590,8 +590,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='libostree'
|
PACKAGE_NAME='libostree'
|
||||||
PACKAGE_TARNAME='libostree'
|
PACKAGE_TARNAME='libostree'
|
||||||
PACKAGE_VERSION='2018.9'
|
PACKAGE_VERSION='2019.1'
|
||||||
PACKAGE_STRING='libostree 2018.9'
|
PACKAGE_STRING='libostree 2019.1'
|
||||||
PACKAGE_BUGREPORT='walters@verbum.org'
|
PACKAGE_BUGREPORT='walters@verbum.org'
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
|
@ -829,7 +829,6 @@ am__nodep
|
||||||
AMDEPBACKSLASH
|
AMDEPBACKSLASH
|
||||||
AMDEP_FALSE
|
AMDEP_FALSE
|
||||||
AMDEP_TRUE
|
AMDEP_TRUE
|
||||||
am__quote
|
|
||||||
am__include
|
am__include
|
||||||
DEPDIR
|
DEPDIR
|
||||||
OBJEXT
|
OBJEXT
|
||||||
|
|
@ -906,7 +905,8 @@ PACKAGE_VERSION
|
||||||
PACKAGE_TARNAME
|
PACKAGE_TARNAME
|
||||||
PACKAGE_NAME
|
PACKAGE_NAME
|
||||||
PATH_SEPARATOR
|
PATH_SEPARATOR
|
||||||
SHELL'
|
SHELL
|
||||||
|
am__quote'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
ac_user_opts='
|
ac_user_opts='
|
||||||
enable_option_checking
|
enable_option_checking
|
||||||
|
|
@ -1547,7 +1547,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# Omit some internal or obsolete options to make the list less imposing.
|
||||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures libostree 2018.9 to adapt to many kinds of systems.
|
\`configure' configures libostree 2019.1 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
|
@ -1617,7 +1617,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of libostree 2018.9:";;
|
short | recursive ) echo "Configuration of libostree 2019.1:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
|
@ -1864,7 +1864,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
libostree configure 2018.9
|
libostree configure 2019.1
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
|
@ -2336,7 +2336,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by libostree $as_me 2018.9, which was
|
It was created by libostree $as_me 2019.1, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
|
@ -2718,7 +2718,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
am__api_version='1.15'
|
am__api_version='1.16'
|
||||||
|
|
||||||
# Find a good install program. We prefer a C program (faster),
|
# Find a good install program. We prefer a C program (faster),
|
||||||
# so one script is as good as another. But avoid the broken or
|
# so one script is as good as another. But avoid the broken or
|
||||||
|
|
@ -3204,7 +3204,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='libostree'
|
PACKAGE='libostree'
|
||||||
VERSION='2018.9'
|
VERSION='2019.1'
|
||||||
|
|
||||||
|
|
||||||
# Some tools Automake needs.
|
# Some tools Automake needs.
|
||||||
|
|
@ -3225,8 +3225,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
|
||||||
|
|
||||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||||
# dies out for good. For more background, see:
|
# dies out for good. For more background, see:
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||||
mkdir_p='$(MKDIR_P)'
|
mkdir_p='$(MKDIR_P)'
|
||||||
|
|
||||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||||
|
|
@ -3393,7 +3393,7 @@ END
|
||||||
Aborting the configuration process, to ensure you take notice of the issue.
|
Aborting the configuration process, to ensure you take notice of the issue.
|
||||||
|
|
||||||
You can download and install GNU coreutils to get an 'rm' implementation
|
You can download and install GNU coreutils to get an 'rm' implementation
|
||||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||||
|
|
||||||
If you want to complete the configuration process using your problematic
|
If you want to complete the configuration process using your problematic
|
||||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||||
|
|
@ -3470,45 +3470,45 @@ DEPDIR="${am__leading_dot}deps"
|
||||||
|
|
||||||
ac_config_commands="$ac_config_commands depfiles"
|
ac_config_commands="$ac_config_commands depfiles"
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
|
||||||
am_make=${MAKE-make}
|
$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
|
||||||
cat > confinc << 'END'
|
cat > confinc.mk << 'END'
|
||||||
am__doit:
|
am__doit:
|
||||||
@echo this is the am__doit target
|
@echo this is the am__doit target >confinc.out
|
||||||
.PHONY: am__doit
|
.PHONY: am__doit
|
||||||
END
|
END
|
||||||
# If we don't find an include directive, just comment out the code.
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
|
|
||||||
$as_echo_n "checking for style of include used by $am_make... " >&6; }
|
|
||||||
am__include="#"
|
am__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
# BSD make does it like this.
|
||||||
# First try GNU make style include.
|
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||||
echo "include confinc" > confmf
|
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||||
# Ignore all kinds of additional output from 'make'.
|
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
_am_result=no
|
||||||
*the\ am__doit\ target*)
|
for s in GNU BSD; do
|
||||||
am__include=include
|
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
|
||||||
am__quote=
|
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
|
||||||
_am_result=GNU
|
ac_status=$?
|
||||||
;;
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
esac
|
(exit $ac_status); }
|
||||||
# Now try BSD make style include.
|
case $?:`cat confinc.out 2>/dev/null` in #(
|
||||||
if test "$am__include" = "#"; then
|
'0:this is the am__doit target') :
|
||||||
echo '.include "confinc"' > confmf
|
case $s in #(
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
BSD) :
|
||||||
*the\ am__doit\ target*)
|
am__include='.include' am__quote='"' ;; #(
|
||||||
am__include=.include
|
*) :
|
||||||
am__quote="\""
|
am__include='include' am__quote='' ;;
|
||||||
_am_result=BSD
|
esac ;; #(
|
||||||
|
*) :
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
if test "$am__include" != "#"; then
|
||||||
|
_am_result="yes ($s style)"
|
||||||
|
break
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
|
fi
|
||||||
$as_echo "$_am_result" >&6; }
|
done
|
||||||
rm -f confinc confmf
|
rm -f confinc.* confmf.*
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
|
||||||
|
$as_echo "${_am_result}" >&6; }
|
||||||
|
|
||||||
# Check whether --enable-dependency-tracking was given.
|
# Check whether --enable-dependency-tracking was given.
|
||||||
if test "${enable_dependency_tracking+set}" = set; then :
|
if test "${enable_dependency_tracking+set}" = set; then :
|
||||||
|
|
@ -5936,11 +5936,11 @@ done
|
||||||
test -n "$YACC" || YACC="yacc"
|
test -n "$YACC" || YACC="yacc"
|
||||||
|
|
||||||
|
|
||||||
YEAR_VERSION=2018
|
YEAR_VERSION=2019
|
||||||
|
|
||||||
RELEASE_VERSION=9
|
RELEASE_VERSION=1
|
||||||
|
|
||||||
PACKAGE_VERSION=2018.9
|
PACKAGE_VERSION=2019.1
|
||||||
|
|
||||||
|
|
||||||
if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then :
|
if echo "$CFLAGS" | grep -q -E -e '-Werror($| )'; then :
|
||||||
|
|
@ -18623,7 +18623,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by libostree $as_me 2018.9, which was
|
This file was extended by libostree $as_me 2019.1, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
|
@ -18689,7 +18689,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
libostree config.status 2018.9
|
libostree config.status 2019.1
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
|
@ -18808,7 +18808,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
#
|
#
|
||||||
# INIT-COMMANDS
|
# INIT-COMMANDS
|
||||||
#
|
#
|
||||||
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
|
||||||
|
|
||||||
|
|
||||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||||
|
|
@ -19707,29 +19707,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
|
||||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
# TODO: see whether this extra hack can be removed once we start
|
||||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
# requiring Autoconf 2.70 or later.
|
||||||
*) set x $CONFIG_FILES ;;
|
case $CONFIG_FILES in #(
|
||||||
esac
|
*\'*) :
|
||||||
|
eval set x "$CONFIG_FILES" ;; #(
|
||||||
|
*) :
|
||||||
|
set x $CONFIG_FILES ;; #(
|
||||||
|
*) :
|
||||||
|
;;
|
||||||
|
esac
|
||||||
shift
|
shift
|
||||||
for mf
|
# Used to flag and report bootstrapping failures.
|
||||||
|
am_rc=0
|
||||||
|
for am_mf
|
||||||
do
|
do
|
||||||
# Strip MF so we end up with the name of the file.
|
# Strip MF so we end up with the name of the file.
|
||||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
|
||||||
# Check whether this is an Automake generated Makefile or not.
|
# Check whether this is an Automake generated Makefile which includes
|
||||||
# We used to match only the files named 'Makefile.in', but
|
# dependency-tracking related rules and includes.
|
||||||
# some people rename them; so instead we look at the file content.
|
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||||
# Grep'ing the first line is not enough: some people post-process
|
|
||||||
# each Makefile.in and add a new line on top of each file to say so.
|
|
||||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
|
||||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||||
dirpart=`$as_dirname -- "$mf" ||
|
|| continue
|
||||||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
am_dirpart=`$as_dirname -- "$am_mf" ||
|
||||||
X"$mf" : 'X\(//\)[^/]' \| \
|
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
X"$mf" : 'X\(//\)$' \| \
|
X"$am_mf" : 'X\(//\)[^/]' \| \
|
||||||
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
|
X"$am_mf" : 'X\(//\)$' \| \
|
||||||
$as_echo X"$mf" |
|
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
|
$as_echo X"$am_mf" |
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
|
|
@ -19747,53 +19753,48 @@ $as_echo X"$mf" |
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
s/.*/./; q'`
|
s/.*/./; q'`
|
||||||
else
|
am_filepart=`$as_basename -- "$am_mf" ||
|
||||||
continue
|
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
|
||||||
fi
|
X"$am_mf" : 'X\(//\)$' \| \
|
||||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
# from the Makefile without running 'make'.
|
$as_echo X/"$am_mf" |
|
||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||||
test -z "$DEPDIR" && continue
|
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
||||||
test -z "$am__include" && continue
|
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
||||||
# Find all dependency output files, they are included files with
|
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
||||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
|
||||||
# expansion.
|
|
||||||
for file in `sed -n "
|
|
||||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
||||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
||||||
# Make sure the directory exists.
|
|
||||||
test -f "$dirpart/$file" && continue
|
|
||||||
fdir=`$as_dirname -- "$file" ||
|
|
||||||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
|
||||||
X"$file" : 'X\(//\)[^/]' \| \
|
|
||||||
X"$file" : 'X\(//\)$' \| \
|
|
||||||
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
|
|
||||||
$as_echo X"$file" |
|
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
/^X\(\/\/\)[^/].*/{
|
/^X\/\(\/\/\)$/{
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
/^X\(\/\/\)$/{
|
/^X\/\(\/\).*/{
|
||||||
s//\1/
|
|
||||||
q
|
|
||||||
}
|
|
||||||
/^X\(\/\).*/{
|
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
s/.*/./; q'`
|
s/.*/./; q'`
|
||||||
as_dir=$dirpart/$fdir; as_fn_mkdir_p
|
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
|
||||||
# echo "creating $dirpart/$file"
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
echo '# dummy' > "$dirpart/$file"
|
| $MAKE -f - am--depfiles" >&5
|
||||||
done
|
(cd "$am_dirpart" \
|
||||||
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
|
| $MAKE -f - am--depfiles) >&5 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } || am_rc=$?
|
||||||
done
|
done
|
||||||
|
if test $am_rc -ne 0; then
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
|
as_fn_error $? "Something went wrong bootstrapping makefile fragments
|
||||||
|
for automatic dependency tracking. Try re-running configure with the
|
||||||
|
'--disable-dependency-tracking' option to at least be able to build
|
||||||
|
the package (albeit without support for automatic dependency tracking).
|
||||||
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
|
fi
|
||||||
|
{ am_dirpart=; unset am_dirpart;}
|
||||||
|
{ am_filepart=; unset am_filepart;}
|
||||||
|
{ am_mf=; unset am_mf;}
|
||||||
|
{ am_rc=; unset am_rc;}
|
||||||
|
rm -f conftest-deps.mk
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
"libtool":C)
|
"libtool":C)
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,8 @@ dnl If doing a final release, remember to follow the instructions to
|
||||||
dnl update libostree-released.sym from libostree-devel.sym, and update the checksum
|
dnl update libostree-released.sym from libostree-devel.sym, and update the checksum
|
||||||
dnl in test-symbols.sh, and also set is_release_build=yes below. Then make
|
dnl in test-symbols.sh, and also set is_release_build=yes below. Then make
|
||||||
dnl another post-release commit to bump the version, and set is_release_build=no.
|
dnl another post-release commit to bump the version, and set is_release_build=no.
|
||||||
m4_define([year_version], [2018])
|
m4_define([year_version], [2019])
|
||||||
m4_define([release_version], [9])
|
m4_define([release_version], [1])
|
||||||
m4_define([package_version], [year_version.release_version])
|
m4_define([package_version], [year_version.release_version])
|
||||||
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
||||||
is_release_build=yes
|
is_release_build=yes
|
||||||
|
|
@ -141,7 +141,7 @@ AS_HELP_STRING([--disable-http2],
|
||||||
[Disable use of http2 (default: no)]),,
|
[Disable use of http2 (default: no)]),,
|
||||||
[enable_http2=yes])
|
[enable_http2=yes])
|
||||||
AS_IF([test x$enable_http2 != xno ], [
|
AS_IF([test x$enable_http2 != xno ], [
|
||||||
AC_DEFINE([BUILDOPT_HTTP2], 1, [Define if we enable http2])
|
AC_DEFINE([BUILDOPT_HTTP2], 1, [Define if we enable http2 by default])
|
||||||
], [
|
], [
|
||||||
OSTREE_FEATURES="$OSTREE_FEATURES no-http2"
|
OSTREE_FEATURES="$OSTREE_FEATURES no-http2"
|
||||||
])
|
])
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,7 @@ html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_con
|
||||||
for file in $(HTML_IMAGES) ; do \
|
for file in $(HTML_IMAGES) ; do \
|
||||||
test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
|
||||||
test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
|
||||||
|
test -f $$file && cp $$file $(abs_builddir)/html; \
|
||||||
done;
|
done;
|
||||||
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
$(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
|
||||||
$(AM_V_at)touch html-build.stamp
|
$(AM_V_at)touch html-build.stamp
|
||||||
|
|
|
||||||
|
|
@ -44,9 +44,7 @@ APIs not defined in GLib yet, such as `glnx_autofd`.
|
||||||
Contributing
|
Contributing
|
||||||
------------
|
------------
|
||||||
|
|
||||||
Currently there is not a Bugzilla product - one may be created
|
Development happens in GNOME Gitlab: https://gitlab.gnome.org/GNOME/libglnx
|
||||||
in the future. You can submit PRs against the Github mirror:
|
|
||||||
|
|
||||||
https://github.com/GNOME/libglnx/pulls
|
(If you're seeing this on the Github mirror, we used to do development
|
||||||
|
on Github but that was before GNOME deployed Gitlab.)
|
||||||
Or alternatively, email one of the maintainers directly.
|
|
||||||
|
|
|
||||||
|
|
@ -1002,8 +1002,7 @@ glnx_file_copy_at (int src_dfd,
|
||||||
* contents. This and other behavior can be controlled via @flags.
|
* contents. This and other behavior can be controlled via @flags.
|
||||||
*
|
*
|
||||||
* Note that no metadata from the existing file is preserved, such as
|
* Note that no metadata from the existing file is preserved, such as
|
||||||
* uid/gid or extended attributes. The default mode will be `0666`,
|
* uid/gid or extended attributes. The default mode will be `0644`.
|
||||||
* modified by umask.
|
|
||||||
*/
|
*/
|
||||||
gboolean
|
gboolean
|
||||||
glnx_file_replace_contents_at (int dfd,
|
glnx_file_replace_contents_at (int dfd,
|
||||||
|
|
@ -1025,7 +1024,7 @@ glnx_file_replace_contents_at (int dfd,
|
||||||
* @subpath: Subpath
|
* @subpath: Subpath
|
||||||
* @buf: (array len=len) (element-type guint8): File contents
|
* @buf: (array len=len) (element-type guint8): File contents
|
||||||
* @len: Length (if `-1`, assume @buf is `NUL` terminated)
|
* @len: Length (if `-1`, assume @buf is `NUL` terminated)
|
||||||
* @mode: File mode; if `-1`, use `0666 - umask`
|
* @mode: File mode; if `-1`, use `0644`
|
||||||
* @flags: Flags
|
* @flags: Flags
|
||||||
* @cancellable: Cancellable
|
* @cancellable: Cancellable
|
||||||
* @error: Error
|
* @error: Error
|
||||||
|
|
|
||||||
|
|
@ -24,8 +24,23 @@
|
||||||
|
|
||||||
#include <glnx-shutil.h>
|
#include <glnx-shutil.h>
|
||||||
#include <glnx-errors.h>
|
#include <glnx-errors.h>
|
||||||
|
#include <glnx-fdio.h>
|
||||||
#include <glnx-local-alloc.h>
|
#include <glnx-local-alloc.h>
|
||||||
|
|
||||||
|
static gboolean
|
||||||
|
unlinkat_allow_noent (int dfd,
|
||||||
|
const char *path,
|
||||||
|
int flags,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
if (unlinkat (dfd, path, flags) == -1)
|
||||||
|
{
|
||||||
|
if (errno != ENOENT)
|
||||||
|
return glnx_throw_errno_prefix (error, "unlinkat(%s)", path);
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
glnx_shutil_rm_rf_children (GLnxDirFdIterator *dfd_iter,
|
glnx_shutil_rm_rf_children (GLnxDirFdIterator *dfd_iter,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
|
|
@ -51,16 +66,13 @@ glnx_shutil_rm_rf_children (GLnxDirFdIterator *dfd_iter,
|
||||||
if (!glnx_shutil_rm_rf_children (&child_dfd_iter, cancellable, error))
|
if (!glnx_shutil_rm_rf_children (&child_dfd_iter, cancellable, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (unlinkat (dfd_iter->fd, dent->d_name, AT_REMOVEDIR) == -1)
|
if (!glnx_unlinkat (dfd_iter->fd, dent->d_name, AT_REMOVEDIR, error))
|
||||||
return glnx_throw_errno_prefix (error, "unlinkat");
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (unlinkat (dfd_iter->fd, dent->d_name, 0) == -1)
|
if (!unlinkat_allow_noent (dfd_iter->fd, dent->d_name, 0, error))
|
||||||
{
|
return FALSE;
|
||||||
if (errno != ENOENT)
|
|
||||||
return glnx_throw_errno_prefix (error, "unlinkat");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,7 +98,6 @@ glnx_shutil_rm_rf_at (int dfd,
|
||||||
{
|
{
|
||||||
dfd = glnx_dirfd_canonicalize (dfd);
|
dfd = glnx_dirfd_canonicalize (dfd);
|
||||||
|
|
||||||
|
|
||||||
/* With O_NOFOLLOW first */
|
/* With O_NOFOLLOW first */
|
||||||
glnx_autofd int target_dfd =
|
glnx_autofd int target_dfd =
|
||||||
openat (dfd, path, O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
|
openat (dfd, path, O_RDONLY | O_NONBLOCK | O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
|
||||||
|
|
@ -100,8 +111,8 @@ glnx_shutil_rm_rf_at (int dfd,
|
||||||
}
|
}
|
||||||
else if (errsv == ENOTDIR || errsv == ELOOP)
|
else if (errsv == ENOTDIR || errsv == ELOOP)
|
||||||
{
|
{
|
||||||
if (unlinkat (dfd, path, 0) != 0)
|
if (!glnx_unlinkat (dfd, path, 0, error))
|
||||||
return glnx_throw_errno_prefix (error, "unlinkat");
|
return FALSE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return glnx_throw_errno_prefix (error, "open(%s)", path);
|
return glnx_throw_errno_prefix (error, "open(%s)", path);
|
||||||
|
|
@ -113,13 +124,10 @@ glnx_shutil_rm_rf_at (int dfd,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (!glnx_shutil_rm_rf_children (&dfd_iter, cancellable, error))
|
if (!glnx_shutil_rm_rf_children (&dfd_iter, cancellable, error))
|
||||||
return FALSE;
|
return glnx_prefix_error (error, "Removing %s", path);
|
||||||
|
|
||||||
if (unlinkat (dfd, path, AT_REMOVEDIR) == -1)
|
if (!unlinkat_allow_noent (dfd, path, AT_REMOVEDIR, error))
|
||||||
{
|
return FALSE;
|
||||||
if (errno != ENOENT)
|
|
||||||
return glnx_throw_errno_prefix (error, "unlinkat");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,11 @@ Boston, MA 02111-1307, USA.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
If <varname>min-free-space-size</varname> is set to a non-zero
|
If <varname>min-free-space-size</varname> is set to a non-zero
|
||||||
value, <varname>min-free-space-percent</varname> is ignored.
|
value, <varname>min-free-space-percent</varname> is ignored. Note
|
||||||
|
that, <varname>min-free-space-percent</varname> is not enforced on
|
||||||
|
metadata objects. It is assumed that metadata objects are relatively
|
||||||
|
small in size compared to content objects and thus kept outside the
|
||||||
|
scope of this option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
@ -156,7 +160,10 @@ Boston, MA 02111-1307, USA.
|
||||||
<para>
|
<para>
|
||||||
If this option is set to a non-zero value, and
|
If this option is set to a non-zero value, and
|
||||||
<varname>min-free-space-percent</varname> is also set, this option
|
<varname>min-free-space-percent</varname> is also set, this option
|
||||||
takes priority.
|
takes priority. Note that, <varname>min-free-space-size</varname> is
|
||||||
|
not enforced on metadata objects. It is assumed that metadata objects
|
||||||
|
are relatively small in size compared to content objects and thus kept
|
||||||
|
outside the scope of this option.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
|
||||||
|
|
@ -432,6 +432,7 @@ Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
<title>Examples</title>
|
<title>Examples</title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
For specific examples, please see the man page regarding the specific ostree command. For example:
|
For specific examples, please see the man page regarding the specific ostree command. For example:
|
||||||
</para>
|
</para>
|
||||||
|
|
@ -445,28 +446,32 @@ Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
OSTree supports signing commits with GPG. Operations on the system
|
OSTree supports signing commits with GPG. Operations on the system
|
||||||
repository by default use keyring files in
|
repository by default use keyring files in
|
||||||
<filename>/usr/share/ostree/trusted.gpg.d</filename>. Any
|
<filename>/usr/share/ostree/trusted.gpg.d</filename>. Any
|
||||||
public key in a keyring file in that directory will be
|
public key in a keyring file in that directory will be
|
||||||
trusted by the client. No private keys should be present
|
trusted by the client. No private keys should be present
|
||||||
in this directory.
|
in this directory.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
In addition to the system repository, OSTree supports two
|
In addition to the system repository, OSTree supports two
|
||||||
other paths. First, there is a
|
other paths. First, there is a
|
||||||
<literal>gpgkeypath</literal> option for remotes, which must
|
<literal>gpgkeypath</literal> option for remotes, which must point
|
||||||
point to the filename of an ASCII-armored key.
|
to the filename of an ASCII-armored GPG key, or a directory containing
|
||||||
</para>
|
ASCII-armored GPG keys to import. Multiple file and directory paths
|
||||||
<para>Second, there is support for a per-remote
|
to import from can be specified, as a comma-separated list of paths. This option
|
||||||
<filename><replaceable>remotename</replaceable>.trustedkeys.gpg</filename>
|
may be specified by using <command>--set</command> in <command>ostree remote add</command>.
|
||||||
file stored in the toplevel of the repository (alongside
|
</para>
|
||||||
<filename>objects/</filename> and such). This is
|
<para>
|
||||||
particularly useful when downloading content that may not
|
Second, there is support for a per-remote
|
||||||
be fully trusted (e.g. you want to inspect it but not
|
<filename><replaceable>remotename</replaceable>.trustedkeys.gpg</filename>
|
||||||
deploy it as an OS), or use it for containers. This file
|
file stored in the toplevel of the repository (alongside
|
||||||
is written via <command>ostree remote add
|
<filename>objects/</filename> and such). This is
|
||||||
--gpg-import</command>.
|
particularly useful when downloading content that may not
|
||||||
</para>
|
be fully trusted (e.g. you want to inspect it but not
|
||||||
|
deploy it as an OS), or use it for containers. This file
|
||||||
|
is written via <command>ostree remote add
|
||||||
|
--gpg-import</command>.
|
||||||
|
</para>
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
|
||||||
<refsect1>
|
<refsect1>
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# The builtin grub.cfg generator.
|
# The builtin grub.cfg generator. This script is called by
|
||||||
|
# ostree/src/libostree/ostree-bootloader-grub2.c whenever boot loader
|
||||||
|
# configuration file needs to be updated on systems which do not use
|
||||||
|
# grub2-mkconfig (and thus, the `ostree admin instutil grub2-generate` path).
|
||||||
#
|
#
|
||||||
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
# It can be used as a template for a custom grub.cfg generator. What to consider
|
||||||
# boot loader configuration file needs to be updated. It can be used as a template
|
# when writing a custom grub.cfg generator:
|
||||||
# for a custom grub.cfg generator. What to consider when writing a custom grub.cfg
|
|
||||||
# generator:
|
|
||||||
#
|
#
|
||||||
# - The populate_menu() function converts boot loader entries as defined by
|
# - The populate_menu() function converts boot loader entries as defined by
|
||||||
# https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ into GRUB2
|
# https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ into GRUB2
|
||||||
|
|
@ -32,6 +33,7 @@ read_config()
|
||||||
initrd=""
|
initrd=""
|
||||||
options=""
|
options=""
|
||||||
linux=""
|
linux=""
|
||||||
|
devicetree=""
|
||||||
|
|
||||||
while read -r line
|
while read -r line
|
||||||
do
|
do
|
||||||
|
|
@ -47,6 +49,9 @@ read_config()
|
||||||
"linux")
|
"linux")
|
||||||
linux=${value}
|
linux=${value}
|
||||||
;;
|
;;
|
||||||
|
"devicetree")
|
||||||
|
devicetree=${value}
|
||||||
|
;;
|
||||||
"options")
|
"options")
|
||||||
options=${value}
|
options=${value}
|
||||||
;;
|
;;
|
||||||
|
|
@ -73,6 +78,9 @@ populate_menu()
|
||||||
if [ -n "${initrd}" ] ; then
|
if [ -n "${initrd}" ] ; then
|
||||||
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
||||||
fi
|
fi
|
||||||
|
if [ -n "${devicetree}" ] ; then
|
||||||
|
menu="${menu}\t devicetree ${boot_prefix}${devicetree}\n"
|
||||||
|
fi
|
||||||
menu="${menu}}\n\n"
|
menu="${menu}}\n\n"
|
||||||
done
|
done
|
||||||
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@
|
||||||
***/
|
***/
|
||||||
|
|
||||||
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
/* Add new symbols here. Release commits should copy this section into -released.sym. */
|
||||||
|
LIBOSTREE_2018.10 {
|
||||||
|
} LIBOSTREE_2018.9;
|
||||||
|
|
||||||
/* Stub section for the stable release *after* this development one; don't
|
/* Stub section for the stable release *after* this development one; don't
|
||||||
* edit this other than to update the last number. This is just a copy/paste
|
* edit this other than to update the last number. This is just a copy/paste
|
||||||
|
|
|
||||||
|
|
@ -191,6 +191,7 @@ _ostree_bootloader_grub2_generate_config (OstreeSysroot *sysroot
|
||||||
const char *options;
|
const char *options;
|
||||||
const char *kernel;
|
const char *kernel;
|
||||||
const char *initrd;
|
const char *initrd;
|
||||||
|
const char *devicetree;
|
||||||
char *quoted_title = NULL;
|
char *quoted_title = NULL;
|
||||||
char *uuid = NULL;
|
char *uuid = NULL;
|
||||||
char *quoted_uuid = NULL;
|
char *quoted_uuid = NULL;
|
||||||
|
|
@ -246,6 +247,15 @@ _ostree_bootloader_grub2_generate_config (OstreeSysroot *sysroot
|
||||||
g_string_append_c (output, '\n');
|
g_string_append_c (output, '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
devicetree = ostree_bootconfig_parser_get (config, "devicetree");
|
||||||
|
if (devicetree)
|
||||||
|
{
|
||||||
|
g_string_append (output, "devicetree");
|
||||||
|
g_string_append_c (output, ' ');
|
||||||
|
g_string_append (output, devicetree);
|
||||||
|
g_string_append_c (output, '\n');
|
||||||
|
}
|
||||||
|
|
||||||
g_string_append (output, "}\n");
|
g_string_append (output, "}\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -626,9 +626,9 @@ ostree_content_stream_parse (gboolean compressed,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
g_autoptr(GVariant) file_header =
|
g_autoptr(GVariant) file_header =
|
||||||
g_variant_new_from_data (compressed ? _OSTREE_ZLIB_FILE_HEADER_GVARIANT_FORMAT : _OSTREE_FILE_HEADER_GVARIANT_FORMAT,
|
g_variant_ref_sink(g_variant_new_from_data (compressed ? _OSTREE_ZLIB_FILE_HEADER_GVARIANT_FORMAT : _OSTREE_FILE_HEADER_GVARIANT_FORMAT,
|
||||||
buf, archive_header_size, trusted,
|
buf, archive_header_size, trusted,
|
||||||
g_free, buf);
|
g_free, buf));
|
||||||
buf = NULL;
|
buf = NULL;
|
||||||
g_autoptr(GFileInfo) ret_file_info = NULL;
|
g_autoptr(GFileInfo) ret_file_info = NULL;
|
||||||
g_autoptr(GVariant) ret_xattrs = NULL;
|
g_autoptr(GVariant) ret_xattrs = NULL;
|
||||||
|
|
|
||||||
|
|
@ -777,7 +777,6 @@ initiate_next_curl_request (FetcherRequest *req,
|
||||||
* there are numerous HTTP/2 fixes since the original version in
|
* there are numerous HTTP/2 fixes since the original version in
|
||||||
* libcurl 7.43.0.
|
* libcurl 7.43.0.
|
||||||
*/
|
*/
|
||||||
#ifdef BUILDOPT_HTTP2
|
|
||||||
if (!(self->config_flags & OSTREE_FETCHER_FLAGS_DISABLE_HTTP2))
|
if (!(self->config_flags & OSTREE_FETCHER_FLAGS_DISABLE_HTTP2))
|
||||||
{
|
{
|
||||||
#if CURL_AT_LEAST_VERSION(7, 51, 0)
|
#if CURL_AT_LEAST_VERSION(7, 51, 0)
|
||||||
|
|
@ -789,7 +788,7 @@ initiate_next_curl_request (FetcherRequest *req,
|
||||||
curl_easy_setopt (req->easy, CURLOPT_PIPEWAIT, 1L);
|
curl_easy_setopt (req->easy, CURLOPT_PIPEWAIT, 1L);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
curl_easy_setopt (req->easy, CURLOPT_WRITEFUNCTION, write_cb);
|
curl_easy_setopt (req->easy, CURLOPT_WRITEFUNCTION, write_cb);
|
||||||
if (g_getenv ("OSTREE_DEBUG_HTTP"))
|
if (g_getenv ("OSTREE_DEBUG_HTTP"))
|
||||||
curl_easy_setopt (req->easy, CURLOPT_VERBOSE, 1L);
|
curl_easy_setopt (req->easy, CURLOPT_VERBOSE, 1L);
|
||||||
|
|
|
||||||
|
|
@ -304,12 +304,82 @@ _ostree_gpg_verifier_add_key_ascii_file (OstreeGpgVerifier *self,
|
||||||
g_ptr_array_add (self->key_ascii_files, g_strdup (path));
|
g_ptr_array_add (self->key_ascii_files, g_strdup (path));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
_ostree_gpg_verifier_add_keyfile_path (OstreeGpgVerifier *self,
|
||||||
|
const char *path,
|
||||||
|
GCancellable *cancellable,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_autoptr(GError) temp_error = NULL;
|
||||||
|
if (!_ostree_gpg_verifier_add_keyfile_dir_at (self, AT_FDCWD, path,
|
||||||
|
cancellable, &temp_error))
|
||||||
|
{
|
||||||
|
g_assert (temp_error);
|
||||||
|
|
||||||
|
/* If failed due to not being a directory, add the file as an ascii key. */
|
||||||
|
if (g_error_matches (temp_error, G_IO_ERROR, G_IO_ERROR_NOT_DIRECTORY))
|
||||||
|
{
|
||||||
|
g_clear_error (&temp_error);
|
||||||
|
|
||||||
|
_ostree_gpg_verifier_add_key_ascii_file (self, path);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_propagate_error (error, g_steal_pointer (&temp_error));
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add files that exist one level below the directory at @path as ascii
|
||||||
|
* key files. If @path cannot be opened as a directory,
|
||||||
|
* an error is returned.
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
_ostree_gpg_verifier_add_keyfile_dir_at (OstreeGpgVerifier *self,
|
||||||
|
int dfd,
|
||||||
|
const char *path,
|
||||||
|
GCancellable *cancellable,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
|
||||||
|
|
||||||
|
if (!glnx_dirfd_iterator_init_at (dfd, path, FALSE,
|
||||||
|
&dfd_iter, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
g_debug ("Adding GPG keyfile dir %s to verifier", path);
|
||||||
|
|
||||||
|
while (TRUE)
|
||||||
|
{
|
||||||
|
struct dirent *dent;
|
||||||
|
|
||||||
|
if (!glnx_dirfd_iterator_next_dent_ensure_dtype (&dfd_iter, &dent,
|
||||||
|
cancellable, error))
|
||||||
|
return FALSE;
|
||||||
|
if (dent == NULL)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (dent->d_type != DT_REG)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* TODO: Potentially open the files here and have the GPG verifier iterate
|
||||||
|
over the fds. See https://github.com/ostreedev/ostree/pull/1773#discussion_r235421900. */
|
||||||
|
g_autofree char *iter_path = g_build_filename (path, dent->d_name, NULL);
|
||||||
|
|
||||||
|
_ostree_gpg_verifier_add_key_ascii_file (self, iter_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
_ostree_gpg_verifier_add_keyring_dir (OstreeGpgVerifier *self,
|
_ostree_gpg_verifier_add_keyring_dir (OstreeGpgVerifier *self,
|
||||||
GFile *path,
|
GFile *path,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
|
|
||||||
{
|
{
|
||||||
return _ostree_gpg_verifier_add_keyring_dir_at (self, AT_FDCWD,
|
return _ostree_gpg_verifier_add_keyring_dir_at (self, AT_FDCWD,
|
||||||
gs_file_get_path_cached (path),
|
gs_file_get_path_cached (path),
|
||||||
|
|
@ -322,7 +392,6 @@ _ostree_gpg_verifier_add_keyring_dir_at (OstreeGpgVerifier *self,
|
||||||
const char *path,
|
const char *path,
|
||||||
GCancellable *cancellable,
|
GCancellable *cancellable,
|
||||||
GError **error)
|
GError **error)
|
||||||
|
|
||||||
{
|
{
|
||||||
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
|
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
|
||||||
if (!glnx_dirfd_iterator_init_at (dfd, path, FALSE,
|
if (!glnx_dirfd_iterator_init_at (dfd, path, FALSE,
|
||||||
|
|
|
||||||
|
|
@ -75,4 +75,17 @@ void _ostree_gpg_verifier_add_keyring_file (OstreeGpgVerifier *self,
|
||||||
void _ostree_gpg_verifier_add_key_ascii_file (OstreeGpgVerifier *self,
|
void _ostree_gpg_verifier_add_key_ascii_file (OstreeGpgVerifier *self,
|
||||||
const char *path);
|
const char *path);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
_ostree_gpg_verifier_add_keyfile_path (OstreeGpgVerifier *self,
|
||||||
|
const char *path,
|
||||||
|
GCancellable *cancellable,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
_ostree_gpg_verifier_add_keyfile_dir_at (OstreeGpgVerifier *self,
|
||||||
|
int dfd,
|
||||||
|
const char *path,
|
||||||
|
GCancellable *cancellable,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
|
||||||
|
|
@ -33,23 +33,14 @@ static char *
|
||||||
split_keyeq (char *arg)
|
split_keyeq (char *arg)
|
||||||
{
|
{
|
||||||
char *eq;
|
char *eq;
|
||||||
|
|
||||||
eq = strchr (arg, '=');
|
eq = strchr (arg, '=');
|
||||||
if (eq)
|
if (eq == NULL)
|
||||||
{
|
return NULL;
|
||||||
/* Note key/val are in one malloc block,
|
|
||||||
* so we don't free val...
|
// Note: key/val are in a single allocation block, so we don't free val.
|
||||||
*/
|
*eq = '\0';
|
||||||
*eq = '\0';
|
return eq+1;
|
||||||
return eq+1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* ...and this allows us to insert a constant
|
|
||||||
* string.
|
|
||||||
*/
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
|
@ -264,8 +255,10 @@ _ostree_kernel_args_to_strv (OstreeKernelArgs *kargs)
|
||||||
for (j = 0; j < values->len; j++)
|
for (j = 0; j < values->len; j++)
|
||||||
{
|
{
|
||||||
const char *value = values->pdata[j];
|
const char *value = values->pdata[j];
|
||||||
|
if (value == NULL)
|
||||||
g_ptr_array_add (strv, g_strconcat (key, "=", value, NULL));
|
g_ptr_array_add (strv, g_strconcat (key, NULL));
|
||||||
|
else
|
||||||
|
g_ptr_array_add (strv, g_strconcat (key, "=", value, NULL));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
g_ptr_array_add (strv, NULL);
|
g_ptr_array_add (strv, NULL);
|
||||||
|
|
@ -297,14 +290,12 @@ _ostree_kernel_args_to_string (OstreeKernelArgs *kargs)
|
||||||
else
|
else
|
||||||
g_string_append_c (buf, ' ');
|
g_string_append_c (buf, ' ');
|
||||||
|
|
||||||
if (value && *value)
|
g_string_append (buf, key);
|
||||||
|
if (value != NULL)
|
||||||
{
|
{
|
||||||
g_string_append (buf, key);
|
|
||||||
g_string_append_c (buf, '=');
|
g_string_append_c (buf, '=');
|
||||||
g_string_append (buf, value);
|
g_string_append (buf, value);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
g_string_append (buf, key);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
#include "ostree-repo-private.h"
|
#include "ostree-repo-private.h"
|
||||||
|
|
||||||
#define WHITEOUT_PREFIX ".wh."
|
#define WHITEOUT_PREFIX ".wh."
|
||||||
|
#define OPAQUE_WHITEOUT_NAME ".wh..wh..opq"
|
||||||
|
|
||||||
/* Per-checkout call state/caching */
|
/* Per-checkout call state/caching */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
@ -879,6 +880,7 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
||||||
GError **error)
|
GError **error)
|
||||||
{
|
{
|
||||||
gboolean did_exist = FALSE;
|
gboolean did_exist = FALSE;
|
||||||
|
gboolean is_opaque_whiteout = FALSE;
|
||||||
const gboolean sepolicy_enabled = options->sepolicy && !self->disable_xattrs;
|
const gboolean sepolicy_enabled = options->sepolicy && !self->disable_xattrs;
|
||||||
g_autoptr(GVariant) dirtree = NULL;
|
g_autoptr(GVariant) dirtree = NULL;
|
||||||
g_autoptr(GVariant) dirmeta = NULL;
|
g_autoptr(GVariant) dirmeta = NULL;
|
||||||
|
|
@ -912,6 +914,22 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
||||||
return TRUE; /* Note early return */
|
return TRUE; /* Note early return */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (options->process_whiteouts)
|
||||||
|
{
|
||||||
|
g_autoptr(GVariant) dir_file_contents = g_variant_get_child_value (dirtree, 0);
|
||||||
|
GVariantIter viter;
|
||||||
|
const char *fname;
|
||||||
|
g_autoptr(GVariant) contents_csum_v = NULL;
|
||||||
|
g_variant_iter_init (&viter, dir_file_contents);
|
||||||
|
while (g_variant_iter_loop (&viter, "(&s@ay)", &fname, &contents_csum_v))
|
||||||
|
{
|
||||||
|
is_opaque_whiteout = (g_str_equal (fname, OPAQUE_WHITEOUT_NAME));
|
||||||
|
if (is_opaque_whiteout)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
contents_csum_v = NULL; /* iter_loop freed it */
|
||||||
|
}
|
||||||
|
|
||||||
/* First, make the directory. Push a new scope in case we end up using
|
/* First, make the directory. Push a new scope in case we end up using
|
||||||
* setfscreatecon().
|
* setfscreatecon().
|
||||||
*/
|
*/
|
||||||
|
|
@ -931,6 +949,13 @@ checkout_tree_at_recurse (OstreeRepo *self,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* If it is an opaque whiteout, ensure the destination is empty first. */
|
||||||
|
if (is_opaque_whiteout)
|
||||||
|
{
|
||||||
|
if (!glnx_shutil_rm_rf_at (destination_parent_fd, destination_name, cancellable, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Create initially with mode 0700, then chown/chmod only when we're
|
/* Create initially with mode 0700, then chown/chmod only when we're
|
||||||
* done. This avoids anyone else being able to operate on partially
|
* done. This avoids anyone else being able to operate on partially
|
||||||
* constructed dirs.
|
* constructed dirs.
|
||||||
|
|
|
||||||
|
|
@ -1624,9 +1624,18 @@ ostree_repo_prepare_transaction (OstreeRepo *self,
|
||||||
self->txn.max_blocks = bfree - self->reserved_blocks;
|
self->txn.max_blocks = bfree - self->reserved_blocks;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
self->cleanup_stagedir = TRUE;
|
self->txn.max_blocks = 0;
|
||||||
g_mutex_unlock (&self->txn_lock);
|
/* Don't throw_min_free_space_error here; reason being that
|
||||||
return throw_min_free_space_error (self, 0, error);
|
* this transaction could be just committing metadata objects
|
||||||
|
* which are relatively small in size and we do not really
|
||||||
|
* want to block them via min-free-space-* value. Metadata
|
||||||
|
* objects helps in housekeeping and hence should be kept
|
||||||
|
* out of the strict min-free-space values.
|
||||||
|
*
|
||||||
|
* The main drivers for writing content objects will always honor
|
||||||
|
* the min-free-space value and throw_min_free_space_error in
|
||||||
|
* case of overstepping the number of reserved blocks.
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
g_mutex_unlock (&self->txn_lock);
|
g_mutex_unlock (&self->txn_lock);
|
||||||
|
|
||||||
|
|
@ -3338,6 +3347,9 @@ write_content_to_mtree_internal (OstreeRepo *self,
|
||||||
if (!glnx_shutil_rm_rf_at (dfd_iter->fd, name, cancellable, error))
|
if (!glnx_shutil_rm_rf_at (dfd_iter->fd, name, cancellable, error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
g_mutex_lock (&self->txn_lock);
|
||||||
|
self->txn.stats.devino_cache_hits++;
|
||||||
|
g_mutex_unlock (&self->txn_lock);
|
||||||
return TRUE; /* Early return */
|
return TRUE; /* Early return */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -3469,6 +3481,10 @@ write_content_to_mtree_internal (OstreeRepo *self,
|
||||||
if (!ostree_mutable_tree_replace_file (mtree, name, loose_checksum,
|
if (!ostree_mutable_tree_replace_file (mtree, name, loose_checksum,
|
||||||
error))
|
error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
g_mutex_lock (&self->txn_lock);
|
||||||
|
self->txn.stats.devino_cache_hits++;
|
||||||
|
g_mutex_unlock (&self->txn_lock);
|
||||||
}
|
}
|
||||||
/* Next fast path - we can "adopt" the file */
|
/* Next fast path - we can "adopt" the file */
|
||||||
else if (can_adopt)
|
else if (can_adopt)
|
||||||
|
|
@ -4094,12 +4110,18 @@ import_is_bareuser_only_conversion (OstreeRepo *src_repo,
|
||||||
&& objtype == OSTREE_OBJECT_TYPE_FILE;
|
&& objtype == OSTREE_OBJECT_TYPE_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns TRUE if we can potentially just call link() to copy an object. */
|
/* Returns TRUE if we can potentially just call link() to copy an object;
|
||||||
|
* if untrusted the repos must be owned by the same uid.
|
||||||
|
*/
|
||||||
static gboolean
|
static gboolean
|
||||||
import_via_reflink_is_possible (OstreeRepo *src_repo,
|
import_via_reflink_is_possible (OstreeRepo *src_repo,
|
||||||
OstreeRepo *dest_repo,
|
OstreeRepo *dest_repo,
|
||||||
OstreeObjectType objtype)
|
OstreeObjectType objtype,
|
||||||
|
gboolean trusted)
|
||||||
{
|
{
|
||||||
|
/* Untrusted pulls require matching ownership */
|
||||||
|
if (!trusted && (src_repo->owner_uid != dest_repo->owner_uid))
|
||||||
|
return FALSE;
|
||||||
/* Equal modes are always compatible, and metadata
|
/* Equal modes are always compatible, and metadata
|
||||||
* is identical between all modes.
|
* is identical between all modes.
|
||||||
*/
|
*/
|
||||||
|
|
@ -4160,13 +4182,6 @@ import_one_object_direct (OstreeRepo *dest_repo,
|
||||||
char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
|
char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
|
||||||
_ostree_loose_path (loose_path_buf, checksum, objtype, dest_repo->mode);
|
_ostree_loose_path (loose_path_buf, checksum, objtype, dest_repo->mode);
|
||||||
|
|
||||||
if (!import_via_reflink_is_possible (src_repo, dest_repo, objtype))
|
|
||||||
{
|
|
||||||
/* If we can't reflink, nothing to do here */
|
|
||||||
*out_was_supported = FALSE;
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* hardlinks require the owner to match and to be on the same device */
|
/* hardlinks require the owner to match and to be on the same device */
|
||||||
const gboolean can_hardlink =
|
const gboolean can_hardlink =
|
||||||
src_repo->owner_uid == dest_repo->owner_uid &&
|
src_repo->owner_uid == dest_repo->owner_uid &&
|
||||||
|
|
@ -4254,15 +4269,29 @@ import_one_object_direct (OstreeRepo *dest_repo,
|
||||||
G_IN_SET (src_repo->mode, OSTREE_REPO_MODE_BARE, OSTREE_REPO_MODE_BARE_USER);
|
G_IN_SET (src_repo->mode, OSTREE_REPO_MODE_BARE, OSTREE_REPO_MODE_BARE_USER);
|
||||||
if (src_is_bare_or_bare_user && !OSTREE_OBJECT_TYPE_IS_META(objtype))
|
if (src_is_bare_or_bare_user && !OSTREE_OBJECT_TYPE_IS_META(objtype))
|
||||||
{
|
{
|
||||||
g_autoptr(GVariant) xattrs = NULL;
|
if (src_repo == OSTREE_REPO_MODE_BARE)
|
||||||
|
{
|
||||||
|
g_autoptr(GVariant) xattrs = NULL;
|
||||||
|
if (!glnx_fd_get_all_xattrs (src_fd, &xattrs,
|
||||||
|
cancellable, error))
|
||||||
|
return FALSE;
|
||||||
|
if (!glnx_fd_set_all_xattrs (tmp_dest.fd, xattrs,
|
||||||
|
cancellable, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* bare-user; we just want ostree.usermeta */
|
||||||
|
g_autoptr(GBytes) bytes =
|
||||||
|
glnx_fgetxattr_bytes (src_fd, "user.ostreemeta", error);
|
||||||
|
if (bytes == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
if (!glnx_fd_get_all_xattrs (src_fd, &xattrs,
|
if (TEMP_FAILURE_RETRY (fsetxattr (src_fd, "user.ostreemeta",
|
||||||
cancellable, error))
|
(char*)g_bytes_get_data (bytes, NULL),
|
||||||
return FALSE;
|
g_bytes_get_size (bytes), 0)) != 0)
|
||||||
|
return glnx_throw_errno_prefix (error, "fsetxattr");
|
||||||
if (!glnx_fd_set_all_xattrs (tmp_dest.fd, xattrs,
|
}
|
||||||
cancellable, error))
|
|
||||||
return FALSE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fchmod (tmp_dest.fd, stbuf.st_mode & ~S_IFMT) != 0)
|
if (fchmod (tmp_dest.fd, stbuf.st_mode & ~S_IFMT) != 0)
|
||||||
|
|
@ -4318,7 +4347,7 @@ _ostree_repo_import_object (OstreeRepo *self,
|
||||||
*/
|
*/
|
||||||
const gboolean is_bareuseronly_conversion =
|
const gboolean is_bareuseronly_conversion =
|
||||||
import_is_bareuser_only_conversion (source, self, objtype);
|
import_is_bareuser_only_conversion (source, self, objtype);
|
||||||
gboolean try_direct = trusted;
|
gboolean try_direct = TRUE;
|
||||||
|
|
||||||
/* If we need to do bareuseronly verification, or we're potentially doing a
|
/* If we need to do bareuseronly verification, or we're potentially doing a
|
||||||
* bareuseronly conversion, let's verify those first so we don't complicate
|
* bareuseronly conversion, let's verify those first so we don't complicate
|
||||||
|
|
@ -4358,11 +4387,20 @@ _ostree_repo_import_object (OstreeRepo *self,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We try to import via reflink/hardlink. If the remote is explicitly not trusted
|
/* First, let's see if we can import via reflink/hardlink. */
|
||||||
* (i.e.) their checksums may be incorrect, we skip that.
|
if (try_direct && import_via_reflink_is_possible (source, self, objtype, trusted))
|
||||||
*/
|
|
||||||
if (try_direct)
|
|
||||||
{
|
{
|
||||||
|
/* For local repositories, if the untrusted flag is set, we verify the
|
||||||
|
* checksum first. This assumes then that the files are immutable - the
|
||||||
|
* above check verified that the owner uids match.
|
||||||
|
*/
|
||||||
|
if (!trusted)
|
||||||
|
{
|
||||||
|
if (!ostree_repo_fsck_object (source, objtype, checksum,
|
||||||
|
cancellable, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean direct_was_supported = FALSE;
|
gboolean direct_was_supported = FALSE;
|
||||||
if (!import_one_object_direct (self, source, checksum, objtype,
|
if (!import_one_object_direct (self, source, checksum, objtype,
|
||||||
&direct_was_supported,
|
&direct_was_supported,
|
||||||
|
|
|
||||||
|
|
@ -2948,9 +2948,14 @@ _ostree_repo_remote_new_fetcher (OstreeRepo *self,
|
||||||
if (gzip)
|
if (gzip)
|
||||||
fetcher_flags |= OSTREE_FETCHER_FLAGS_TRANSFER_GZIP;
|
fetcher_flags |= OSTREE_FETCHER_FLAGS_TRANSFER_GZIP;
|
||||||
|
|
||||||
{ gboolean http2 = TRUE;
|
{ gboolean http2_default = TRUE;
|
||||||
|
#ifndef BUILDOPT_HTTP2
|
||||||
|
http2_default = FALSE;
|
||||||
|
#endif
|
||||||
|
gboolean http2;
|
||||||
|
|
||||||
if (!ostree_repo_get_remote_boolean_option (self, remote_name,
|
if (!ostree_repo_get_remote_boolean_option (self, remote_name,
|
||||||
"http2", TRUE,
|
"http2", http2_default,
|
||||||
&http2, error))
|
&http2, error))
|
||||||
goto out;
|
goto out;
|
||||||
if (!http2)
|
if (!http2)
|
||||||
|
|
@ -4643,6 +4648,7 @@ ostree_repo_pull_with_options (OstreeRepo *self,
|
||||||
g_clear_object (&pull_data->cancellable);
|
g_clear_object (&pull_data->cancellable);
|
||||||
g_clear_pointer (&pull_data->localcache_repos, (GDestroyNotify)g_ptr_array_unref);
|
g_clear_pointer (&pull_data->localcache_repos, (GDestroyNotify)g_ptr_array_unref);
|
||||||
g_clear_object (&pull_data->remote_repo_local);
|
g_clear_object (&pull_data->remote_repo_local);
|
||||||
|
g_free (pull_data->remote_refspec_name);
|
||||||
g_free (pull_data->remote_name);
|
g_free (pull_data->remote_name);
|
||||||
g_free (pull_data->append_user_agent);
|
g_free (pull_data->append_user_agent);
|
||||||
g_clear_pointer (&pull_data->meta_mirrorlist, (GDestroyNotify) g_ptr_array_unref);
|
g_clear_pointer (&pull_data->meta_mirrorlist, (GDestroyNotify) g_ptr_array_unref);
|
||||||
|
|
|
||||||
|
|
@ -1002,7 +1002,7 @@ ostree_repo_remote_list_collection_refs (OstreeRepo *self,
|
||||||
summary_collection_map = NULL;
|
summary_collection_map = NULL;
|
||||||
|
|
||||||
while (summary_collection_map != NULL &&
|
while (summary_collection_map != NULL &&
|
||||||
g_variant_iter_loop (summary_collection_map, "{s@a(s(taya{sv}))}", &summary_collection_id, &summary_refs))
|
g_variant_iter_loop (summary_collection_map, "{&s@a(s(taya{sv}))}", &summary_collection_id, &summary_refs))
|
||||||
{
|
{
|
||||||
if (!remote_list_collection_refs_process_refs (self, remote_name,
|
if (!remote_list_collection_refs_process_refs (self, remote_name,
|
||||||
summary_collection_id, summary_refs,
|
summary_collection_id, summary_refs,
|
||||||
|
|
|
||||||
|
|
@ -4214,9 +4214,9 @@ ostree_repo_import_object_from (OstreeRepo *self,
|
||||||
* @error: Error
|
* @error: Error
|
||||||
*
|
*
|
||||||
* Copy object named by @objtype and @checksum into @self from the
|
* Copy object named by @objtype and @checksum into @self from the
|
||||||
* source repository @source. If both repositories are of the same
|
* source repository @source. If @trusted is %TRUE and both
|
||||||
* type and on the same filesystem, this will simply be a fast Unix
|
* repositories are of the same type and on the same filesystem,
|
||||||
* hard link operation.
|
* this will simply be a fast Unix hard link operation.
|
||||||
*
|
*
|
||||||
* Otherwise, a copy will be performed.
|
* Otherwise, a copy will be performed.
|
||||||
*/
|
*/
|
||||||
|
|
@ -5081,7 +5081,6 @@ _ostree_repo_gpg_verify_data_internal (OstreeRepo *self,
|
||||||
}
|
}
|
||||||
else if (remote_name != NULL)
|
else if (remote_name != NULL)
|
||||||
{
|
{
|
||||||
g_autofree char *gpgkeypath = NULL;
|
|
||||||
/* Add the remote's keyring file if it exists. */
|
/* Add the remote's keyring file if it exists. */
|
||||||
|
|
||||||
g_autoptr(OstreeRemote) remote = NULL;
|
g_autoptr(OstreeRemote) remote = NULL;
|
||||||
|
|
@ -5100,12 +5099,19 @@ _ostree_repo_gpg_verify_data_internal (OstreeRepo *self,
|
||||||
add_global_keyring_dir = FALSE;
|
add_global_keyring_dir = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ot_keyfile_get_value_with_default (remote->options, remote->group, "gpgkeypath", NULL,
|
g_auto(GStrv) gpgkeypath_list = NULL;
|
||||||
&gpgkeypath, error))
|
|
||||||
|
if (!ot_keyfile_get_string_as_list (remote->options, remote->group, "gpgkeypath",
|
||||||
|
";,", &gpgkeypath_list, error))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
if (gpgkeypath)
|
if (gpgkeypath_list)
|
||||||
_ostree_gpg_verifier_add_key_ascii_file (verifier, gpgkeypath);
|
{
|
||||||
|
for (char **iter = gpgkeypath_list; *iter != NULL; ++iter)
|
||||||
|
if (!_ostree_gpg_verifier_add_keyfile_path (verifier, *iter,
|
||||||
|
cancellable, error))
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (add_global_keyring_dir)
|
if (add_global_keyring_dir)
|
||||||
|
|
|
||||||
|
|
@ -291,8 +291,9 @@ struct _OstreeRepoTransactionStats {
|
||||||
guint content_objects_total;
|
guint content_objects_total;
|
||||||
guint content_objects_written;
|
guint content_objects_written;
|
||||||
guint64 content_bytes_written;
|
guint64 content_bytes_written;
|
||||||
|
guint devino_cache_hits;
|
||||||
|
|
||||||
guint64 padding1;
|
guint padding1;
|
||||||
guint64 padding2;
|
guint64 padding2;
|
||||||
guint64 padding3;
|
guint64 padding3;
|
||||||
guint64 padding4;
|
guint64 padding4;
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_YEAR_VERSION (2018)
|
#define OSTREE_YEAR_VERSION (2019)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_RELEASE_VERSION:
|
* OSTREE_RELEASE_VERSION:
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_RELEASE_VERSION (9)
|
#define OSTREE_RELEASE_VERSION (1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_VERSION
|
* OSTREE_VERSION
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_VERSION (2018.9)
|
#define OSTREE_VERSION (2019.1)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OSTREE_VERSION_S:
|
* OSTREE_VERSION_S:
|
||||||
|
|
@ -62,7 +62,7 @@
|
||||||
*
|
*
|
||||||
* Since: 2017.4
|
* Since: 2017.4
|
||||||
*/
|
*/
|
||||||
#define OSTREE_VERSION_S "2018.9"
|
#define OSTREE_VERSION_S "2019.1"
|
||||||
|
|
||||||
#define OSTREE_ENCODE_VERSION(year,release) \
|
#define OSTREE_ENCODE_VERSION(year,release) \
|
||||||
((year) << 16 | (release))
|
((year) << 16 | (release))
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,107 @@ ot_keyfile_get_value_with_default (GKeyFile *keyfile,
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Read the value of key as a string. If the value string contains
|
||||||
|
* one of the separators and none of the others, read the
|
||||||
|
* string as a NULL-terminated array out_value. If the value string contains
|
||||||
|
* none of the separators, read the string as a single entry into a
|
||||||
|
* NULL-terminated array out_value. If the value string contains multiple of
|
||||||
|
* the separators, an error is given.
|
||||||
|
* Returns TRUE on success, FALSE on error. */
|
||||||
|
gboolean
|
||||||
|
ot_keyfile_get_string_as_list (GKeyFile *keyfile,
|
||||||
|
const char *section,
|
||||||
|
const char *key,
|
||||||
|
const char *separators,
|
||||||
|
char ***out_value,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
guint sep_count = 0;
|
||||||
|
gchar sep = '\0';
|
||||||
|
g_autofree char *value_str = NULL;
|
||||||
|
g_autofree char **value_list = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (keyfile != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (section != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (key != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (separators != NULL, FALSE);
|
||||||
|
|
||||||
|
if (!ot_keyfile_get_value_with_default (keyfile, section, key, NULL,
|
||||||
|
&value_str, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
if (value_str)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < strlen (separators) && sep_count <= 1; i++)
|
||||||
|
{
|
||||||
|
if (strchr (value_str, separators[i]))
|
||||||
|
{
|
||||||
|
sep_count++;
|
||||||
|
sep = separators[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sep_count == 0)
|
||||||
|
{
|
||||||
|
value_list = g_new (gchar *, 2);
|
||||||
|
value_list[0] = g_steal_pointer (&value_str);
|
||||||
|
value_list[1] = NULL;
|
||||||
|
}
|
||||||
|
else if (sep_count == 1)
|
||||||
|
{
|
||||||
|
if (!ot_keyfile_get_string_list_with_default (keyfile, section, key,
|
||||||
|
sep, NULL, &value_list, error))
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return glnx_throw (error, "key value list contains more than one separator");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ot_transfer_out_value (out_value, &value_list);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
ot_keyfile_get_string_list_with_default (GKeyFile *keyfile,
|
||||||
|
const char *section,
|
||||||
|
const char *key,
|
||||||
|
char separator,
|
||||||
|
char **default_value,
|
||||||
|
char ***out_value,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
g_autoptr(GError) temp_error = NULL;
|
||||||
|
|
||||||
|
g_return_val_if_fail (keyfile != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (section != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (key != NULL, FALSE);
|
||||||
|
|
||||||
|
g_key_file_set_list_separator (keyfile, separator);
|
||||||
|
|
||||||
|
g_autofree char **ret_value = g_key_file_get_string_list (keyfile, section,
|
||||||
|
key, NULL, &temp_error);
|
||||||
|
|
||||||
|
if (temp_error)
|
||||||
|
{
|
||||||
|
if (g_error_matches (temp_error, G_KEY_FILE_ERROR,
|
||||||
|
G_KEY_FILE_ERROR_KEY_NOT_FOUND))
|
||||||
|
{
|
||||||
|
g_clear_error (&temp_error);
|
||||||
|
ret_value = default_value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_propagate_error (error, g_steal_pointer (&temp_error));
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ot_transfer_out_value (out_value, &ret_value);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ot_keyfile_copy_group (GKeyFile *source_keyfile,
|
ot_keyfile_copy_group (GKeyFile *source_keyfile,
|
||||||
GKeyFile *target_keyfile,
|
GKeyFile *target_keyfile,
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,23 @@ ot_keyfile_get_value_with_default (GKeyFile *keyfile,
|
||||||
char **out_value,
|
char **out_value,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
ot_keyfile_get_string_as_list (GKeyFile *keyfile,
|
||||||
|
const char *section,
|
||||||
|
const char *key,
|
||||||
|
const char *separators,
|
||||||
|
char ***out_value_list,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
ot_keyfile_get_string_list_with_default (GKeyFile *keyfile,
|
||||||
|
const char *section,
|
||||||
|
const char *key,
|
||||||
|
char separator,
|
||||||
|
char **default_value,
|
||||||
|
char ***out_value,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
ot_keyfile_copy_group (GKeyFile *source_keyfile,
|
ot_keyfile_copy_group (GKeyFile *source_keyfile,
|
||||||
GKeyFile *target_keyfile,
|
GKeyFile *target_keyfile,
|
||||||
|
|
|
||||||
|
|
@ -141,10 +141,11 @@ deployment_print_status (OstreeSysroot *sysroot,
|
||||||
g_autoptr(GString) output_buffer = g_string_sized_new (256);
|
g_autoptr(GString) output_buffer = g_string_sized_new (256);
|
||||||
/* Print any digital signatures on this commit. */
|
/* Print any digital signatures on this commit. */
|
||||||
|
|
||||||
|
const char *osname = ostree_deployment_get_osname (deployment);
|
||||||
g_autoptr(GError) local_error = NULL;
|
g_autoptr(GError) local_error = NULL;
|
||||||
g_autoptr(OstreeGpgVerifyResult) result =
|
g_autoptr(OstreeGpgVerifyResult) result =
|
||||||
ostree_repo_verify_commit_ext (repo, ref, NULL, NULL,
|
ostree_repo_verify_commit_for_remote (repo, ref, osname,
|
||||||
cancellable, &local_error);
|
cancellable, &local_error);
|
||||||
|
|
||||||
/* G_IO_ERROR_NOT_FOUND just means the commit is not signed. */
|
/* G_IO_ERROR_NOT_FOUND just means the commit is not signed. */
|
||||||
if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
||||||
|
|
|
||||||
|
|
@ -835,6 +835,7 @@ ostree_builtin_commit (int argc, char **argv, OstreeCommandInvocation *invocatio
|
||||||
g_print ("Metadata Written: %u\n", stats.metadata_objects_written);
|
g_print ("Metadata Written: %u\n", stats.metadata_objects_written);
|
||||||
g_print ("Content Total: %u\n", stats.content_objects_total);
|
g_print ("Content Total: %u\n", stats.content_objects_total);
|
||||||
g_print ("Content Written: %u\n", stats.content_objects_written);
|
g_print ("Content Written: %u\n", stats.content_objects_written);
|
||||||
|
g_print ("Content Cache Hits: %u\n", stats.devino_cache_hits);
|
||||||
g_print ("Content Bytes Written: %" G_GUINT64_FORMAT "\n", stats.content_bytes_written);
|
g_print ("Content Bytes Written: %" G_GUINT64_FORMAT "\n", stats.content_bytes_written);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@
|
||||||
#include "otutil.h"
|
#include "otutil.h"
|
||||||
|
|
||||||
static char *opt_remote;
|
static char *opt_remote;
|
||||||
|
static gboolean opt_commit_only;
|
||||||
static gboolean opt_disable_fsync;
|
static gboolean opt_disable_fsync;
|
||||||
static gboolean opt_untrusted;
|
static gboolean opt_untrusted;
|
||||||
static gboolean opt_bareuseronly_files;
|
static gboolean opt_bareuseronly_files;
|
||||||
|
|
@ -46,6 +47,7 @@ static int opt_depth = 0;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static GOptionEntry options[] = {
|
static GOptionEntry options[] = {
|
||||||
|
{ "commit-metadata-only", 0, 0, G_OPTION_ARG_NONE, &opt_commit_only, "Fetch only the commit metadata", NULL },
|
||||||
{ "remote", 0, 0, G_OPTION_ARG_STRING, &opt_remote, "Add REMOTE to refspec", "REMOTE" },
|
{ "remote", 0, 0, G_OPTION_ARG_STRING, &opt_remote, "Add REMOTE to refspec", "REMOTE" },
|
||||||
{ "disable-fsync", 0, 0, G_OPTION_ARG_NONE, &opt_disable_fsync, "Do not invoke fsync()", NULL },
|
{ "disable-fsync", 0, 0, G_OPTION_ARG_NONE, &opt_disable_fsync, "Do not invoke fsync()", NULL },
|
||||||
{ "untrusted", 0, 0, G_OPTION_ARG_NONE, &opt_untrusted, "Verify checksums of local sources (always enabled for HTTP pulls)", NULL },
|
{ "untrusted", 0, 0, G_OPTION_ARG_NONE, &opt_untrusted, "Verify checksums of local sources (always enabled for HTTP pulls)", NULL },
|
||||||
|
|
@ -110,6 +112,8 @@ ostree_builtin_pull_local (int argc, char **argv, OstreeCommandInvocation *invoc
|
||||||
pullflags |= OSTREE_REPO_PULL_FLAGS_UNTRUSTED;
|
pullflags |= OSTREE_REPO_PULL_FLAGS_UNTRUSTED;
|
||||||
if (opt_bareuseronly_files)
|
if (opt_bareuseronly_files)
|
||||||
pullflags |= OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES;
|
pullflags |= OSTREE_REPO_PULL_FLAGS_BAREUSERONLY_FILES;
|
||||||
|
if (opt_commit_only)
|
||||||
|
pullflags |= OSTREE_REPO_PULL_FLAGS_COMMIT_ONLY;
|
||||||
|
|
||||||
if (opt_disable_fsync)
|
if (opt_disable_fsync)
|
||||||
ostree_repo_set_disable_fsync (repo, TRUE);
|
ostree_repo_set_disable_fsync (repo, TRUE);
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ static GOptionEntry options[] = {
|
||||||
{ "bareuseronly-files", 0, 0, G_OPTION_ARG_NONE, &opt_bareuseronly_files, "Reject regular files with mode outside of 0775 (world writable, suid, etc.)", NULL },
|
{ "bareuseronly-files", 0, 0, G_OPTION_ARG_NONE, &opt_bareuseronly_files, "Reject regular files with mode outside of 0775 (world writable, suid, etc.)", NULL },
|
||||||
{ "dry-run", 0, 0, G_OPTION_ARG_NONE, &opt_dry_run, "Only print information on what will be downloaded (requires static deltas)", NULL },
|
{ "dry-run", 0, 0, G_OPTION_ARG_NONE, &opt_dry_run, "Only print information on what will be downloaded (requires static deltas)", NULL },
|
||||||
{ "depth", 0, 0, G_OPTION_ARG_INT, &opt_depth, "Traverse DEPTH parents (-1=infinite) (default: 0)", "DEPTH" },
|
{ "depth", 0, 0, G_OPTION_ARG_INT, &opt_depth, "Traverse DEPTH parents (-1=infinite) (default: 0)", "DEPTH" },
|
||||||
{ "url", 0, 0, G_OPTION_ARG_STRING, &opt_url, "Pull objects from this URL instead of the one from the remote config", NULL },
|
{ "url", 0, 0, G_OPTION_ARG_STRING, &opt_url, "Pull objects from this URL instead of the one from the remote config", "URL" },
|
||||||
{ "http-header", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_http_headers, "Add NAME=VALUE as HTTP header to all requests", "NAME=VALUE" },
|
{ "http-header", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_http_headers, "Add NAME=VALUE as HTTP header to all requests", "NAME=VALUE" },
|
||||||
{ "update-frequency", 0, 0, G_OPTION_ARG_INT, &opt_frequency, "Sets the update frequency, in milliseconds (0=1000ms) (default: 0)", "FREQUENCY" },
|
{ "update-frequency", 0, 0, G_OPTION_ARG_INT, &opt_frequency, "Sets the update frequency, in milliseconds (0=1000ms) (default: 0)", "FREQUENCY" },
|
||||||
{ "network-retries", 0, 0, G_OPTION_ARG_INT, &opt_network_retries, "Specifies how many times each download should be retried upon error (default: 5)", "N"},
|
{ "network-retries", 0, 0, G_OPTION_ARG_INT, &opt_network_retries, "Specifies how many times each download should be retried upon error (default: 5)", "N"},
|
||||||
|
|
|
||||||
|
|
@ -221,6 +221,9 @@ static gboolean do_ref (OstreeRepo *repo, const char *refspec_prefix, GCancellab
|
||||||
{
|
{
|
||||||
if (remote)
|
if (remote)
|
||||||
return glnx_throw (error, "Cannot create alias to remote ref: %s", remote);
|
return glnx_throw (error, "Cannot create alias to remote ref: %s", remote);
|
||||||
|
if (!g_hash_table_contains (refs, refspec_prefix))
|
||||||
|
return glnx_throw (error, "Cannot create alias to non-existent ref: %s",
|
||||||
|
refspec_prefix);
|
||||||
if (!ostree_repo_set_alias_ref_immediate (repo, remote, ref, refspec_prefix,
|
if (!ostree_repo_set_alias_ref_immediate (repo, remote, ref, refspec_prefix,
|
||||||
cancellable, error))
|
cancellable, error))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
|
||||||
|
|
@ -354,7 +354,7 @@ ostree_option_context_parse (GOptionContext *context,
|
||||||
* possible to parse */
|
* possible to parse */
|
||||||
g_auto(GStrv) features = g_strsplit (OSTREE_FEATURES, " ", -1);
|
g_auto(GStrv) features = g_strsplit (OSTREE_FEATURES, " ", -1);
|
||||||
g_print ("%s:\n", PACKAGE_NAME);
|
g_print ("%s:\n", PACKAGE_NAME);
|
||||||
g_print (" Version: %s\n", PACKAGE_VERSION);
|
g_print (" Version: '%s'\n", PACKAGE_VERSION);
|
||||||
if (strlen (OSTREE_GITREV) > 0)
|
if (strlen (OSTREE_GITREV) > 0)
|
||||||
g_print (" Git: %s\n", OSTREE_GITREV);
|
g_print (" Git: %s\n", OSTREE_GITREV);
|
||||||
#ifdef BUILDOPT_IS_DEVEL_BUILD
|
#ifdef BUILDOPT_IS_DEVEL_BUILD
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
echo "1..$((85 + ${extra_basic_tests:-0}))"
|
echo "1..$((88 + ${extra_basic_tests:-0}))"
|
||||||
|
|
||||||
CHECKOUT_U_ARG=""
|
CHECKOUT_U_ARG=""
|
||||||
CHECKOUT_H_ARGS="-H"
|
CHECKOUT_H_ARGS="-H"
|
||||||
|
|
@ -364,6 +364,39 @@ if ! skip_one_without_user_xattrs; then
|
||||||
echo "ok pull-local --bareuseronly-files"
|
echo "ok pull-local --bareuseronly-files"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm repo2 -rf
|
||||||
|
ostree_repo_init repo2 --mode="$mode"
|
||||||
|
$CMD_PREFIX ostree --repo=repo2 pull-local --untrusted repo test2
|
||||||
|
target_file_object=$(ostree_file_path_to_relative_object_path repo test2 baz/saucer)
|
||||||
|
target_file_checksum=$(ostree_file_path_to_checksum repo test2 baz/saucer)
|
||||||
|
assert_files_hardlinked repo{,2}/${target_file_object}
|
||||||
|
echo "ok pull-local hardlinking, untrusted"
|
||||||
|
|
||||||
|
if grep -q 'mode=bare' repo/config; then
|
||||||
|
# Now copy/corrupt an object in a 3rd repo, pull into 2nd (leaving the first pristine)
|
||||||
|
rm repo{2,3} -rf
|
||||||
|
ostree_repo_init repo2 --mode="$mode"
|
||||||
|
ostree_repo_init repo3 --mode="$mode"
|
||||||
|
# Pull into 3rd repo, corrupt an object
|
||||||
|
$CMD_PREFIX ostree --repo=repo3 pull-local repo test2
|
||||||
|
cp -a --reflink=auto repo3/${target_file_object}{,.tmp}
|
||||||
|
mv repo3/${target_file_object}{.tmp,}
|
||||||
|
echo blah >> repo3/${target_file_object}
|
||||||
|
if $CMD_PREFIX ostree --repo=repo2 pull-local --untrusted repo3 2>err.txt; then
|
||||||
|
assert_not_reached "pulled --untrusted from corrupted repo"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt 'Corrupted.*'${target_file_checksum}
|
||||||
|
rm -f err.txt
|
||||||
|
# But this one should succeed
|
||||||
|
$CMD_PREFIX ostree --repo=repo2 pull-local repo3
|
||||||
|
if $CMD_PREFIX ostree --repo=repo2 fsck 2>err.txt; then
|
||||||
|
fatal "repo should have pulled corrupted object"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt 'Corrupted.*'${target_file_checksum}
|
||||||
|
fi
|
||||||
|
echo "ok pull-local --untrusted corruption"
|
||||||
|
rm repo{2,3} -rf
|
||||||
|
|
||||||
# This is mostly a copy of the suid test in test-basic-user-only.sh,
|
# This is mostly a copy of the suid test in test-basic-user-only.sh,
|
||||||
# but for the `pull --bareuseronly-files` case.
|
# but for the `pull --bareuseronly-files` case.
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
|
|
@ -385,7 +418,7 @@ echo "ok pull-local (bareuseronly files)"
|
||||||
|
|
||||||
if ! skip_one_without_user_xattrs; then
|
if ! skip_one_without_user_xattrs; then
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
${CMD_PREFIX} ostree --repo=repo2 checkout ${CHECKOUT_U_ARG} test2 test2-checkout-from-local-clone
|
${CMD_PREFIX} ostree --repo=repo checkout ${CHECKOUT_U_ARG} test2 test2-checkout-from-local-clone
|
||||||
cd test2-checkout-from-local-clone
|
cd test2-checkout-from-local-clone
|
||||||
assert_file_has_content yet/another/tree/green 'leaf'
|
assert_file_has_content yet/another/tree/green 'leaf'
|
||||||
echo "ok local clone checkout"
|
echo "ok local clone checkout"
|
||||||
|
|
@ -762,7 +795,19 @@ echo "ok subdir noent"
|
||||||
|
|
||||||
if ! skip_one_without_user_xattrs; then
|
if ! skip_one_without_user_xattrs; then
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
mkdir repo3
|
mkdir repo4
|
||||||
|
ostree_repo_init repo4 --mode=bare-user
|
||||||
|
${CMD_PREFIX} ostree --repo=repo4 pull-local --commit-metadata-only repo test2
|
||||||
|
csum1=$($OSTREE rev-parse test2)
|
||||||
|
csum2=$(${CMD_PREFIX} ostree --repo=repo4 rev-parse test2)
|
||||||
|
assert_streq "${csum1}" "${csum2}"
|
||||||
|
test -f repo4/state/$csum1.commitpartial
|
||||||
|
echo "ok pull-local --commit-metadata-only"
|
||||||
|
rm -rf repo4
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! skip_one_without_user_xattrs; then
|
||||||
|
cd ${test_tmpdir}
|
||||||
ostree_repo_init repo3 --mode=bare-user
|
ostree_repo_init repo3 --mode=bare-user
|
||||||
${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
|
||||||
|
|
@ -1034,7 +1079,7 @@ echo "ok test error pre commit/bootid"
|
||||||
# Whiteouts
|
# Whiteouts
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
mkdir -p overlay/baz/
|
mkdir -p overlay/baz/
|
||||||
if touch overlay/baz/.wh.cow && touch overlay/.wh.deeper; then
|
if touch overlay/baz/.wh.cow && touch overlay/.wh.deeper && touch overlay/baz/another/.wh..wh..opq; then
|
||||||
touch overlay/anewfile
|
touch overlay/anewfile
|
||||||
mkdir overlay/anewdir/
|
mkdir overlay/anewdir/
|
||||||
touch overlay/anewdir/blah
|
touch overlay/anewdir/blah
|
||||||
|
|
@ -1050,6 +1095,7 @@ if touch overlay/baz/.wh.cow && touch overlay/.wh.deeper; then
|
||||||
assert_not_has_dir overlay-co/deeper
|
assert_not_has_dir overlay-co/deeper
|
||||||
assert_has_file overlay-co/anewdir/blah
|
assert_has_file overlay-co/anewdir/blah
|
||||||
assert_has_file overlay-co/anewfile
|
assert_has_file overlay-co/anewfile
|
||||||
|
assert_not_has_file overlay-co/baz/another/y
|
||||||
|
|
||||||
# And test replacing a directory wholesale with a symlink as well as a regular file
|
# And test replacing a directory wholesale with a symlink as well as a regular file
|
||||||
mkdir overlay
|
mkdir overlay
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,12 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# The builtin grub.cfg generator.
|
# The builtin grub.cfg generator. This script is called by
|
||||||
|
# ostree/src/libostree/ostree-bootloader-grub2.c whenever boot loader
|
||||||
|
# configuration file needs to be updated on systems which do not use
|
||||||
|
# grub2-mkconfig (and thus, the `ostree admin instutil grub2-generate` path).
|
||||||
#
|
#
|
||||||
# This script is called by ostree/src/libostree/ostree-bootloader-grub2.c whenever
|
# It can be used as a template for a custom grub.cfg generator. What to consider
|
||||||
# boot loader configuration file needs to be updated. It can be used as a template
|
# when writing a custom grub.cfg generator:
|
||||||
# for a custom grub.cfg generator. What to consider when writing a custom grub.cfg
|
|
||||||
# generator:
|
|
||||||
#
|
#
|
||||||
# - The populate_menu() function converts boot loader entries as defined by
|
# - The populate_menu() function converts boot loader entries as defined by
|
||||||
# https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ into GRUB2
|
# https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/ into GRUB2
|
||||||
|
|
@ -32,6 +33,7 @@ read_config()
|
||||||
initrd=""
|
initrd=""
|
||||||
options=""
|
options=""
|
||||||
linux=""
|
linux=""
|
||||||
|
devicetree=""
|
||||||
|
|
||||||
while read -r line
|
while read -r line
|
||||||
do
|
do
|
||||||
|
|
@ -47,6 +49,9 @@ read_config()
|
||||||
"linux")
|
"linux")
|
||||||
linux=${value}
|
linux=${value}
|
||||||
;;
|
;;
|
||||||
|
"devicetree")
|
||||||
|
devicetree=${value}
|
||||||
|
;;
|
||||||
"options")
|
"options")
|
||||||
options=${value}
|
options=${value}
|
||||||
;;
|
;;
|
||||||
|
|
@ -73,6 +78,9 @@ populate_menu()
|
||||||
if [ -n "${initrd}" ] ; then
|
if [ -n "${initrd}" ] ; then
|
||||||
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
menu="${menu}\t initrd ${boot_prefix}${initrd}\n"
|
||||||
fi
|
fi
|
||||||
|
if [ -n "${devicetree}" ] ; then
|
||||||
|
menu="${menu}\t devicetree ${boot_prefix}${devicetree}\n"
|
||||||
|
fi
|
||||||
menu="${menu}}\n\n"
|
menu="${menu}}\n\n"
|
||||||
done
|
done
|
||||||
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
# The printf command seems to be more reliable across shells for special character (\n, \t) evaluation
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,149 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019 Rafael Fonseca <r4f4rfs@gmail.com>
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
|
setup_os_repository_signed () {
|
||||||
|
mode=$1
|
||||||
|
shift
|
||||||
|
bootmode=$1
|
||||||
|
shift
|
||||||
|
bootdir=${1:-usr/lib/modules/3.6.0}
|
||||||
|
|
||||||
|
oldpwd=`pwd`
|
||||||
|
keyid="472CDAFA"
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
mkdir testos-repo
|
||||||
|
if test -n "$mode"; then
|
||||||
|
ostree_repo_init testos-repo --mode=${mode}
|
||||||
|
else
|
||||||
|
ostree_repo_init testos-repo
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
mkdir osdata
|
||||||
|
cd osdata
|
||||||
|
kver=3.6.0
|
||||||
|
mkdir -p usr/bin ${bootdir} usr/lib/modules/${kver} usr/share usr/etc
|
||||||
|
kernel_path=${bootdir}/vmlinuz
|
||||||
|
initramfs_path=${bootdir}/initramfs.img
|
||||||
|
# /usr/lib/modules just uses "vmlinuz", since the version is in the module
|
||||||
|
# directory name.
|
||||||
|
if [[ $bootdir != usr/lib/modules/* ]]; then
|
||||||
|
kernel_path=${kernel_path}-${kver}
|
||||||
|
initramfs_path=${bootdir}/initramfs-${kver}.img
|
||||||
|
fi
|
||||||
|
echo "a kernel" > ${kernel_path}
|
||||||
|
echo "an initramfs" > ${initramfs_path}
|
||||||
|
bootcsum=$(cat ${kernel_path} ${initramfs_path} | sha256sum | cut -f 1 -d ' ')
|
||||||
|
export bootcsum
|
||||||
|
# Add the checksum for legacy dirs (/boot, /usr/lib/ostree-boot), but not
|
||||||
|
# /usr/lib/modules.
|
||||||
|
if [[ $bootdir != usr/lib/modules/* ]]; then
|
||||||
|
mv ${kernel_path}{,-${bootcsum}}
|
||||||
|
mv ${initramfs_path}{,-${bootcsum}}
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "an executable" > usr/bin/sh
|
||||||
|
echo "some shared data" > usr/share/langs.txt
|
||||||
|
echo "a library" > usr/lib/libfoo.so.0
|
||||||
|
ln -s usr/bin bin
|
||||||
|
cat > usr/etc/os-release <<EOF
|
||||||
|
NAME=TestOS
|
||||||
|
VERSION=42
|
||||||
|
ID=testos
|
||||||
|
VERSION_ID=42
|
||||||
|
PRETTY_NAME="TestOS 42"
|
||||||
|
EOF
|
||||||
|
echo "a config file" > usr/etc/aconfigfile
|
||||||
|
mkdir -p usr/etc/NetworkManager
|
||||||
|
echo "a default daemon file" > usr/etc/NetworkManager/nm.conf
|
||||||
|
mkdir -p usr/etc/testdirectory
|
||||||
|
echo "a default daemon file" > usr/etc/testdirectory/test
|
||||||
|
|
||||||
|
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string version=1.0.9 -b testos/buildmaster/x86_64-runtime -s "Build" --gpg-sign=$keyid --gpg-homedir=${test_tmpdir}/gpghome
|
||||||
|
|
||||||
|
# Ensure these commits have distinct second timestamps
|
||||||
|
sleep 2
|
||||||
|
echo "a new executable" > usr/bin/sh
|
||||||
|
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string version=1.0.10 -b testos/buildmaster/x86_64-runtime -s "Build" --gpg-sign=$keyid --gpg-homedir=${test_tmpdir}/gpghome
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
cp -a osdata osdata-devel
|
||||||
|
cd osdata-devel
|
||||||
|
mkdir -p usr/include
|
||||||
|
echo "a development header" > usr/include/foo.h
|
||||||
|
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo commit --add-metadata-string version=1.0.9 -b testos/buildmaster/x86_64-devel -s "Build" --gpg-sign=$keyid --gpg-homedir=${test_tmpdir}/gpghome
|
||||||
|
|
||||||
|
${CMD_PREFIX} ostree --repo=${test_tmpdir}/testos-repo fsck -q
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
mkdir sysroot
|
||||||
|
export OSTREE_SYSROOT=sysroot
|
||||||
|
${CMD_PREFIX} ostree admin init-fs sysroot
|
||||||
|
if test -n "${OSTREE_NO_XATTRS:-}"; then
|
||||||
|
echo -e 'disable-xattrs=true\n' >> sysroot/ostree/repo/config
|
||||||
|
fi
|
||||||
|
${CMD_PREFIX} ostree admin os-init testos
|
||||||
|
|
||||||
|
case $bootmode in
|
||||||
|
"syslinux")
|
||||||
|
setup_os_boot_syslinux
|
||||||
|
;;
|
||||||
|
"uboot")
|
||||||
|
setup_os_boot_uboot
|
||||||
|
;;
|
||||||
|
*grub2*)
|
||||||
|
setup_os_boot_grub2 "${bootmode}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
cd ${test_tmpdir}
|
||||||
|
mkdir ${test_tmpdir}/httpd
|
||||||
|
cd httpd
|
||||||
|
ln -s ${test_tmpdir} ostree
|
||||||
|
${OSTREE_HTTPD} --autoexit --daemonize -p ${test_tmpdir}/httpd-port
|
||||||
|
port=$(cat ${test_tmpdir}/httpd-port)
|
||||||
|
echo "http://127.0.0.1:${port}" > ${test_tmpdir}/httpd-address
|
||||||
|
cd ${oldpwd}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Exports OSTREE_SYSROOT so --sysroot not needed.
|
||||||
|
setup_os_repository_signed "archive" "syslinux"
|
||||||
|
|
||||||
|
echo "1..2"
|
||||||
|
|
||||||
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo remote add testos $(cat httpd-address)/ostree/testos-repo
|
||||||
|
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --gpg-verify=true --remote=testos testos-repo testos/buildmaster/x86_64-runtime
|
||||||
|
# This initial deployment gets kicked off with some kernel arguments
|
||||||
|
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||||
|
assert_has_dir sysroot/boot/ostree/testos-${bootcsum}
|
||||||
|
|
||||||
|
echo "ok deploy command"
|
||||||
|
|
||||||
|
${CMD_PREFIX} ostree admin status > status.txt
|
||||||
|
test -f status.txt
|
||||||
|
assert_file_has_content status.txt "GPG: Signature made"
|
||||||
|
assert_not_file_has_content status.txt "GPG: Can't check signature: public key not found"
|
||||||
|
echo 'ok gpg signature'
|
||||||
|
|
@ -33,21 +33,21 @@ ${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testo
|
||||||
${CMD_PREFIX} ostree admin deploy --os=testos testos:testos/buildmaster/x86_64-runtime
|
${CMD_PREFIX} ostree admin deploy --os=testos testos:testos/buildmaster/x86_64-runtime
|
||||||
|
|
||||||
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAR
|
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAR
|
||||||
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAZ FOO=BIF TESTARG=TESTVALUE
|
${CMD_PREFIX} ostree admin instutil set-kargs FOO=BAZ FOO=BIF TESTARG=TESTVALUE KEYWORD EMPTYLIST=
|
||||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF'
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE KEYWORD EMPTYLIST='
|
||||||
echo "ok instutil set-kargs (basic)"
|
echo "ok instutil set-kargs (basic)"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge FOO=BAR
|
${CMD_PREFIX} ostree admin instutil set-kargs --merge FOO=BAR
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF .*FOO=BAR'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAZ .*FOO=BIF .*FOO=BAR'
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE KEYWORD EMPTYLIST='
|
||||||
echo "ok instutil set-kargs --merge"
|
echo "ok instutil set-kargs --merge"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge --replace=FOO=XXX
|
${CMD_PREFIX} ostree admin instutil set-kargs --merge --replace=FOO=XXX
|
||||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=BAR'
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=XXX'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*FOO=XXX'
|
||||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE'
|
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE KEYWORD EMPTYLIST='
|
||||||
echo "ok instutil set-kargs --replace"
|
echo "ok instutil set-kargs --replace"
|
||||||
|
|
||||||
${CMD_PREFIX} ostree admin instutil set-kargs --merge --append=FOO=BAR --append=APPENDARG=VALAPPEND --append=APPENDARG=2NDAPPEND testos:testos/buildmaster/x86_64-runtime
|
${CMD_PREFIX} ostree admin instutil set-kargs --merge --append=FOO=BAR --append=APPENDARG=VALAPPEND --append=APPENDARG=2NDAPPEND testos:testos/buildmaster/x86_64-runtime
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,8 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
setup_test_repository "bare-user-only"
|
mode="bare-user-only"
|
||||||
|
setup_test_repository "$mode"
|
||||||
extra_basic_tests=5
|
extra_basic_tests=5
|
||||||
. $(dirname $0)/basic-test.sh
|
. $(dirname $0)/basic-test.sh
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,8 @@ set -euo pipefail
|
||||||
|
|
||||||
skip_without_user_xattrs
|
skip_without_user_xattrs
|
||||||
|
|
||||||
setup_test_repository "bare-user"
|
mode="bare-user"
|
||||||
|
setup_test_repository "$mode"
|
||||||
|
|
||||||
extra_basic_tests=6
|
extra_basic_tests=6
|
||||||
. $(dirname $0)/basic-test.sh
|
. $(dirname $0)/basic-test.sh
|
||||||
|
|
@ -117,9 +118,10 @@ assert_file_has_content ls.txt "^-006.. ${newuid} ${newgid} .*/baz/cow"
|
||||||
|
|
||||||
# But --devino-canonical should override that
|
# But --devino-canonical should override that
|
||||||
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
|
$OSTREE commit ${COMMIT_ARGS} --owner-uid ${newuid} --owner-gid ${newgid} \
|
||||||
-I -b test2-devino-test --tree=dir=test2-checkout
|
-I -b test2-devino-test --table-output --tree=dir=test2-checkout > out.txt
|
||||||
$OSTREE ls test2-devino-test /baz/cow > ls.txt
|
$OSTREE ls test2-devino-test /baz/cow > ls.txt
|
||||||
assert_file_has_content ls.txt "^-006.. ${myuid} ${mygid} .*/baz/cow"
|
assert_file_has_content ls.txt "^-006.. ${myuid} ${mygid} .*/baz/cow"
|
||||||
|
assert_file_has_content out.txt "Content Cache Hits: [1-9][0-9]*"
|
||||||
|
|
||||||
$OSTREE refs --delete test2-{linkcheckout,devino}-test
|
$OSTREE refs --delete test2-{linkcheckout,devino}-test
|
||||||
echo "ok commit with -I"
|
echo "ok commit with -I"
|
||||||
|
|
|
||||||
|
|
@ -25,5 +25,6 @@ set -euo pipefail
|
||||||
|
|
||||||
skip_without_no_selinux_or_relabel
|
skip_without_no_selinux_or_relabel
|
||||||
|
|
||||||
setup_test_repository "bare"
|
mode="bare"
|
||||||
|
setup_test_repository "$mode"
|
||||||
. $(dirname $0)/basic-test.sh
|
. $(dirname $0)/basic-test.sh
|
||||||
|
|
|
||||||
|
|
@ -25,52 +25,10 @@ set -euo pipefail
|
||||||
|
|
||||||
. $(dirname $0)/libtest.sh
|
. $(dirname $0)/libtest.sh
|
||||||
|
|
||||||
echo '1..4'
|
echo '1..1'
|
||||||
|
|
||||||
setup_test_repository "bare"
|
setup_test_repository "bare"
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
|
||||||
mkdir repo2
|
|
||||||
ostree_repo_init repo2 --mode="bare"
|
|
||||||
|
|
||||||
${CMD_PREFIX} ostree --repo=repo2 --untrusted pull-local repo
|
|
||||||
|
|
||||||
find repo2 -type f -links +1 | while read line; do
|
|
||||||
assert_not_reached "pull-local created hardlinks"
|
|
||||||
done
|
|
||||||
echo "ok pull-local --untrusted didn't hardlink"
|
|
||||||
|
|
||||||
# Corrupt repo
|
|
||||||
for i in ${test_tmpdir}/repo/objects/*/*.file; do
|
|
||||||
|
|
||||||
# make sure it's not a symlink
|
|
||||||
if [ -L $i ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "corrupting $i"
|
|
||||||
echo "broke" >> $i
|
|
||||||
break;
|
|
||||||
done
|
|
||||||
|
|
||||||
rm -rf repo2
|
|
||||||
mkdir repo2
|
|
||||||
ostree_repo_init repo2 --mode="bare"
|
|
||||||
if ${CMD_PREFIX} ostree --repo=repo2 pull-local repo; then
|
|
||||||
echo "ok trusted pull with corruption succeeded"
|
|
||||||
else
|
|
||||||
assert_not_reached "corrupted trusted pull unexpectedly succeeded!"
|
|
||||||
fi
|
|
||||||
|
|
||||||
rm -rf repo2
|
|
||||||
ostree_repo_init repo2 --mode="bare"
|
|
||||||
if ${CMD_PREFIX} ostree --repo=repo2 pull-local --untrusted repo; then
|
|
||||||
assert_not_reached "corrupted untrusted pull unexpectedly failed!"
|
|
||||||
else
|
|
||||||
echo "ok untrusted pull with corruption failed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
tar xf ${test_srcdir}/ostree-path-traverse.tar.gz
|
tar xf ${test_srcdir}/ostree-path-traverse.tar.gz
|
||||||
rm -rf repo2
|
rm -rf repo2
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ set -euo pipefail
|
||||||
|
|
||||||
setup_fake_remote_repo1 "archive"
|
setup_fake_remote_repo1 "archive"
|
||||||
|
|
||||||
echo '1..6'
|
echo '1..7'
|
||||||
|
|
||||||
cd ${test_tmpdir}
|
cd ${test_tmpdir}
|
||||||
mkdir repo
|
mkdir repo
|
||||||
|
|
@ -207,3 +207,9 @@ if ${CMD_PREFIX} ostree --repo=repo refs -A exampleos/x86_64/27/server --create=
|
||||||
fi
|
fi
|
||||||
assert_file_has_content_literal err.txt 'Cannot create alias to remote ref'
|
assert_file_has_content_literal err.txt 'Cannot create alias to remote ref'
|
||||||
echo "ok ref no alias remote"
|
echo "ok ref no alias remote"
|
||||||
|
|
||||||
|
if ${CMD_PREFIX} ostree --repo=repo refs -A --create foobar nonexistent 2>err.txt; then
|
||||||
|
fatal "Created alias to nonexistent ref?"
|
||||||
|
fi
|
||||||
|
assert_file_has_content_literal err.txt 'Cannot create alias to non-existent ref'
|
||||||
|
echo "ok ref no broken alias"
|
||||||
|
|
|
||||||
|
|
@ -154,6 +154,79 @@ ${OSTREE} prune --refs-only
|
||||||
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/key3.asc R4 $(cat httpd-address)/ostree/gnomerepo
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/key3.asc R4 $(cat httpd-address)/ostree/gnomerepo
|
||||||
${OSTREE} pull R4:main >/dev/null
|
${OSTREE} pull R4:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath success with multiple keys to try
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/key1.asc,${test_tmpdir}/gpghome/key2.asc,${test_tmpdir}/gpghome/key3.asc R7 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R7:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with multiple keys but none in keyring
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/key1.asc,${test_tmpdir}/gpghome/key2.asc R8 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R8:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with different key"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "GPG signatures found, but none are in trusted keyring"
|
||||||
|
|
||||||
|
# Test gpgkeypath success with directory containing a valid key
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/ R9 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R9:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with nonexistent directory
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/INVALIDKEYDIRPATH/ R10 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R10:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with nonexistent key directory"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "INVALIDKEYDIRPATH.*No such file or directory"
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with a directory containing a valid key, and a nonexistent key
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/,${test_tmpdir}/gpghome/INVALIDKEYPATH.asc R11 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R11:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with nonexistent key"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "INVALIDKEYPATH.*No such file or directory"
|
||||||
|
|
||||||
|
# Test gpgkeypath success with a directory containing a valid key, and a key not in keyring
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/,${test_tmpdir}/gpghome/key1.asc R12 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R12:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with a nonexistent directory, and a valid key
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/INVALIDKEYDIRPATH/,${test_tmpdir}/gpghome/key3.asc R13 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R13:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with nonexistent key directory"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "INVALIDKEYDIRPATH.*No such file or directory"
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with a nonexistent directory and a nonexistent key
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/INVALIDKEYDIRPATH/,${test_tmpdir}/gpghome/INVALIDKEYPATH.asc R14 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R14:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with nonexistent key"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "INVALIDKEYDIRPATH.*No such file or directory"
|
||||||
|
|
||||||
|
# Test gpgkeypath success for no trailing slash in directory path
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome R15 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R15:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath failure with prefixed separator giving an empty path, and a nonexistent key
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=,${test_tmpdir}/gpghome/INVALIDKEYPATH.asc R16 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R16:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with nonexistent key"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt "().*No such file or directory"
|
||||||
|
|
||||||
|
# Test gpgkeypath success with suffixed separator
|
||||||
|
${OSTREE} remote add --set=gpgkeypath=${test_tmpdir}/gpghome/key3.asc, R17 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R17:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath success with multiple keys specified, with semicolons
|
||||||
|
${OSTREE} remote add --set=gpgkeypath="${test_tmpdir}/gpghome/key1.asc;${test_tmpdir}/gpghome/key2.asc;${test_tmpdir}/gpghome/key3.asc" R18 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
${OSTREE} pull R18:main >/dev/null
|
||||||
|
|
||||||
|
# Test gpgkeypath failure multiple keys specified, with mix of commas and semicolons
|
||||||
|
${OSTREE} remote add --set=gpgkeypath="${test_tmpdir}/gpghome/key1.asc,${test_tmpdir}/gpghome/key2.asc;${test_tmpdir}/gpghome/key3.asc" R19 $(cat httpd-address)/ostree/gnomerepo
|
||||||
|
if ${OSTREE} pull R19:main 2>err.txt; then
|
||||||
|
assert_not_reached "Unexpectedly succeeded at pulling with invalid gpgkeypath value"
|
||||||
|
fi
|
||||||
|
assert_file_has_content err.txt ".*key value list contains more than one separator"
|
||||||
|
|
||||||
rm repo/refs/remotes/* -rf
|
rm repo/refs/remotes/* -rf
|
||||||
${OSTREE} prune --refs-only
|
${OSTREE} prune --refs-only
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue