openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2019
- 1 participants
- 445 discussions
Hello community,
here is the log from the commit of package perl-Selenium-Remote-Driver for openSUSE:Factory checked in at 2019-08-09 16:53:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Selenium-Remote-Driver (Old)
and /work/SRC/openSUSE:Factory/.perl-Selenium-Remote-Driver.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Selenium-Remote-Driver"
Fri Aug 9 16:53:28 2019 rev:18 rq:721728 version:1.33
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Selenium-Remote-Driver/perl-Selenium-Remote-Driver.changes 2019-06-19 21:14:27.322865886 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Selenium-Remote-Driver.new.9556/perl-Selenium-Remote-Driver.changes 2019-08-09 16:53:31.417466692 +0200
@@ -1,0 +2,6 @@
+Mon Jul 29 14:02:52 UTC 2019 - Dominique Leuenberger <dimstar(a)opensuse.org>
+
+- Delete libibushandler.so also on x86: we don't have the old
+ libibus.so.2 available in the distro.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Selenium-Remote-Driver.spec ++++++
--- /var/tmp/diff_new_pack.ei3q7S/_old 2019-08-09 16:53:32.721466379 +0200
+++ /var/tmp/diff_new_pack.ei3q7S/_new 2019-08-09 16:53:32.725466378 +0200
@@ -107,7 +107,9 @@
%perl_make_install
%perl_process_packlist
# MANUAL BEGIN
-%ifnarch %ix86
+%ifarch %ix86
+ rm %{buildroot}/usr/lib/perl5/vendor_perl/*/Selenium/Firefox/x86/libibushandler.so
+%else
rm -r %{buildroot}/usr/lib/perl5/vendor_perl/*/Selenium/Firefox/x86
%endif
%ifarch x86_64
++++++ cpanspec.yml ++++++
--- /var/tmp/diff_new_pack.ei3q7S/_old 2019-08-09 16:53:32.757466371 +0200
+++ /var/tmp/diff_new_pack.ei3q7S/_new 2019-08-09 16:53:32.757466371 +0200
@@ -19,7 +19,9 @@
#post_build: |-
# rm unused.files
post_install: |-
- %ifnarch %ix86
+ %ifarch %ix86
+ rm %{buildroot}/usr/lib/perl5/vendor_perl/*/Selenium/Firefox/x86/libibushandler.so
+ %else
rm -r %{buildroot}/usr/lib/perl5/vendor_perl/*/Selenium/Firefox/x86
%endif
%ifarch x86_64
1
0
Hello community,
here is the log from the commit of package hivex for openSUSE:Factory checked in at 2019-08-09 16:53:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hivex (Old)
and /work/SRC/openSUSE:Factory/.hivex.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hivex"
Fri Aug 9 16:53:12 2019 rev:13 rq:721718 version:1.3.18
Changes:
--------
--- /work/SRC/openSUSE:Factory/hivex/hivex.changes 2018-03-06 10:47:35.515625301 +0100
+++ /work/SRC/openSUSE:Factory/.hivex.new.9556/hivex.changes 2019-08-09 16:53:26.401467894 +0200
@@ -1,0 +2,10 @@
+Thu Aug 8 08:09:37 UTC 2019 - ohering(a)suse.de
+
+- disable lto
+- Update to version 1.3.18
+ * ocaml: Link the C bindings with LDFLAGS (RHBZ#1548536)
+ * perl: fix format of croak for RLenValue
+ * Update gnulib to latest.
+ * lib: Reset errno to zero to avoid erroneously returning E2BIG
+
+-------------------------------------------------------------------
Old:
----
hivex-1.3.15.tar.gz
hivex-1.3.15.tar.gz.sig
New:
----
hivex-1.3.18.tar.gz
hivex-1.3.18.tar.gz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ hivex.spec ++++++
--- /var/tmp/diff_new_pack.626itA/_old 2019-08-09 16:53:28.377467421 +0200
+++ /var/tmp/diff_new_pack.626itA/_new 2019-08-09 16:53:28.381467420 +0200
@@ -20,6 +20,7 @@
%bcond_without perl_bingings
%bcond_without python_bindings
%bcond_without ocaml_bindings
+%define _lto_cflags %{nil}
Name: hivex
BuildRequires: autoconf
@@ -38,7 +39,7 @@
Summary: Windows "Registry Hive" extraction library
License: LGPL-2.1 and GPL-2.0
Group: Development/Libraries/C and C++
-Version: 1.3.15
+Version: 1.3.18
Release: 0
Source: http://libguestfs.org/download/hivex/%name-%version.tar.gz
Source2: http://libguestfs.org/download/hivex/%name-%version.tar.gz.sig
++++++ hivex-1.3.15.tar.gz -> hivex-1.3.18.tar.gz ++++++
++++ 21433 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package chromium for openSUSE:Factory checked in at 2019-08-09 16:52:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromium (Old)
and /work/SRC/openSUSE:Factory/.chromium.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium"
Fri Aug 9 16:52:34 2019 rev:225 rq:721717 version:76.0.3809.87
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2019-08-05 10:40:49.255302733 +0200
+++ /work/SRC/openSUSE:Factory/.chromium.new.9556/chromium.changes 2019-08-09 16:52:43.477478182 +0200
@@ -1,0 +2,11 @@
+Thu Aug 8 07:27:14 UTC 2019 - Tomáš Chvátal <tchvatal(a)suse.com>
+
+- Add patches to fix few compilation issues:
+ * chromium-angle-inline.patch
+ * chromium-fix-char_traits.patch bsc#1144625
+- Remove not properly applying old-glibc patch:
+ * chromium-old-glibc.patch
+- Disable various gcc warnings as upstream does not care and it
+ just bloats the buildlog (from debian)
+
+-------------------------------------------------------------------
@@ -4 +15 @@
-- Update to 76.0.3809.87:
+- Update to 76.0.3809.87 bsc#1143492:
Old:
----
BUILD.gn
chromium-old-glibc.patch
New:
----
chromium-angle-inline.patch
chromium-fix-char_traits.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromium.spec ++++++
--- /var/tmp/diff_new_pack.XFLpug/_old 2019-08-09 16:52:56.701475012 +0200
+++ /var/tmp/diff_new_pack.XFLpug/_new 2019-08-09 16:52:56.725475007 +0200
@@ -64,8 +64,6 @@
Group: Productivity/Networking/Web/Browsers
URL: https://www.chromium.org/
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}…
-# Toolchain definitions
-Source1: BUILD.gn
Source30: master_preferences
Source100: chromium-browser.sh
Source101: chromium-browser.desktop
@@ -87,10 +85,11 @@
Patch7: chromium-sandbox-pie.patch
Patch8: chromium-system-icu.patch
Patch9: chromium-system-libusb.patch
-Patch10: chromium-old-glibc.patch
Patch11: chromium-skia-aarch64-buildfix.patch
Patch12: gcc-lto-rsp-clobber.patch
Patch13: gcc-enable-lto.patch
+Patch14: chromium-angle-inline.patch
+Patch16: chromium-fix-char_traits.patch
# gcc patches
Patch20: chromium-76-gcc-ambiguous-nodestructor.patch
Patch21: chromium-76-gcc-blink-constexpr.patch
@@ -293,10 +292,6 @@
%setup -q -n %{rname}-%{version}
%autopatch -p1
-# Copy the toolchain settings
-mkdir toolchain
-cp %{SOURCE1} toolchain/BUILD.gn
-
# Fix the path to nodejs binary
mkdir -p third_party/node/linux/node-linux-x64/bin
ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node
@@ -534,12 +529,23 @@
export CXX=clang++
%else
# REDUCE DEBUG as it gets TOO large
-# -Wno-return-type :: upstream does not care about this
ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`"
-export CFLAGS="${ARCH_FLAGS} -fpermissive -Wno-return-type"
-export CXXFLAGS="${ARCH_FLAGS} -fpermissive -Wno-return-type"
+export CXXFLAGS="${ARCH_FLAGS}"
+# extra flags to reduce warnings that aren't very useful
+export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-deprecated-declarations"
+# ignore warnings for minor mistakes that are too common
+export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses -Wno-misleading-indentation"
+# ignore warnings that are not supported well until gcc 8
+export CXXFLAGS="${CXXFLAGS} -Wno-attributes -Wno-subobject-linkage"
+# ignore warnings due to gcc bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055)
+export CXXFLAGS="${CXXFLAGS} -Wno-ignored-attributes"
+# ingore new gcc 8 warnings that aren't yet handled upstream
+export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else -Wno-class-memaccess -Wno-invalid-offsetof -Wno-packed-not-aligned"
+export CFLAGS="${CXXFLAGS}"
export CC=gcc
export CXX=g++
+export AR=ar
+export NM=nm
%if 0%{?suse_version} <= 1500
export CC=gcc-8
export CXX=g++-8
@@ -594,7 +600,8 @@
# Create the configuration for GN
# Available options: out/Release/gn args --list out/Release/
myconf_gn=""
-myconf_gn+=" custom_toolchain=\"./toolchain:default\""
+myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
+myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\""
myconf_gn+=" linux_use_bundled_binutils=false"
myconf_gn+=" use_custom_libcxx=false"
myconf_gn+=" is_debug=false"
++++++ chromium-angle-inline.patch ++++++
>From 4c0a23611b3906855db7b93da2f34aec57930cdf Mon Sep 17 00:00:00 2001
From: Geoff Lang <geofflang(a)chromium.org>
Date: Tue, 25 Jun 2019 10:56:29 -0400
Subject: [PATCH] Update ValidateSamplerParameterBase to use const parameters.
ValidateSamplerParameterBase is called with both const and non-const
parameter pointers which caused our explicit template instantiations to
not cover all cases resulting in link errors. Force the parameters to
always be const so that our instantiations cover everything.
BUG=angleproject:3555
Change-Id: Ibf92572ba80a689c75dcdc70e5153d9941da76f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676305
Reviewed-by: Jonah Ryan-Davis <jonahr(a)google.com>
Commit-Queue: Geoff Lang <geofflang(a)chromium.org>
---
diff --git a/third_party/angle/src/libANGLE/validationES.cpp b/third_party/angle/src/libANGLE/validationES.cpp
index 041803a..3f402f6 100644
--- a/third_party/angle/src/libANGLE/validationES.cpp
+++ b/third_party/angle/src/libANGLE/validationES.cpp
@@ -189,7 +189,9 @@
}
template <typename ParamType>
-bool ValidateTextureWrapModeValue(Context *context, ParamType *params, bool restrictedWrapModes)
+bool ValidateTextureWrapModeValue(Context *context,
+ const ParamType *params,
+ bool restrictedWrapModes)
{
switch (ConvertToGLenum(params[0]))
{
@@ -223,7 +225,9 @@
}
template <typename ParamType>
-bool ValidateTextureMinFilterValue(Context *context, ParamType *params, bool restrictedMinFilter)
+bool ValidateTextureMinFilterValue(Context *context,
+ const ParamType *params,
+ bool restrictedMinFilter)
{
switch (ConvertToGLenum(params[0]))
{
@@ -252,7 +256,7 @@
}
template <typename ParamType>
-bool ValidateTextureMagFilterValue(Context *context, ParamType *params)
+bool ValidateTextureMagFilterValue(Context *context, const ParamType *params)
{
switch (ConvertToGLenum(params[0]))
{
@@ -269,7 +273,7 @@
}
template <typename ParamType>
-bool ValidateTextureCompareModeValue(Context *context, ParamType *params)
+bool ValidateTextureCompareModeValue(Context *context, const ParamType *params)
{
// Acceptable mode parameters from GLES 3.0.2 spec, table 3.17
switch (ConvertToGLenum(params[0]))
@@ -287,7 +291,7 @@
}
template <typename ParamType>
-bool ValidateTextureCompareFuncValue(Context *context, ParamType *params)
+bool ValidateTextureCompareFuncValue(Context *context, const ParamType *params)
{
// Acceptable function parameters from GLES 3.0.2 spec, table 3.17
switch (ConvertToGLenum(params[0]))
@@ -311,7 +315,7 @@
}
template <typename ParamType>
-bool ValidateTextureSRGBDecodeValue(Context *context, ParamType *params)
+bool ValidateTextureSRGBDecodeValue(Context *context, const ParamType *params)
{
if (!context->getExtensions().textureSRGBDecode)
{
@@ -5996,7 +6000,7 @@
GLenum pname,
GLsizei bufSize,
bool vectorParams,
- ParamType *params)
+ const ParamType *params)
{
if (context->getClientMajorVersion() < 3)
{
@@ -6099,8 +6103,13 @@
return true;
}
-template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLfloat *);
-template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, GLint *);
+template bool ValidateSamplerParameterBase(Context *,
+ GLuint,
+ GLenum,
+ GLsizei,
+ bool,
+ const GLfloat *);
+template bool ValidateSamplerParameterBase(Context *, GLuint, GLenum, GLsizei, bool, const GLint *);
template bool ValidateSamplerParameterBase(Context *,
GLuint,
GLenum,
diff --git a/third_party/angle/src/libANGLE/validationES.h b/third_party/angle/src/libANGLE/validationES.h
index c61bda6..4b06d28 100644
--- a/third_party/angle/src/libANGLE/validationES.h
+++ b/third_party/angle/src/libANGLE/validationES.h
@@ -584,7 +584,7 @@
GLenum pname,
GLsizei bufSize,
bool vectorParams,
- ParamType *params);
+ const ParamType *params);
bool ValidateGetInternalFormativBase(Context *context,
GLenum target,
++++++ chromium-fix-char_traits.patch ++++++
--- a/base/strings/char_traits.h
+++ b/base/strings/char_traits.h
@@ -67,9 +67,9 @@
return __builtin_memcmp(s1, s2, n);
#else
for (; n; --n, ++s1, ++s2) {
- if (*s1 < *s2)
+ if ((unsigned char)*s1 < (unsigned char)*s2)
return -1;
- if (*s1 > *s2)
+ if ((unsigned char)*s1 > (unsigned char)*s2)
return 1;
}
return 0;
1
0
Hello community,
here is the log from the commit of package katacontainers-image-initrd for openSUSE:Factory checked in at 2019-08-09 16:52:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/katacontainers-image-initrd (Old)
and /work/SRC/openSUSE:Factory/.katacontainers-image-initrd.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "katacontainers-image-initrd"
Fri Aug 9 16:52:30 2019 rev:2 rq:721682 version:1.9.0~alpha0
Changes:
--------
--- /work/SRC/openSUSE:Factory/katacontainers-image-initrd/katacontainers-image-initrd.changes 2019-08-05 10:41:10.711300235 +0200
+++ /work/SRC/openSUSE:Factory/.katacontainers-image-initrd.new.9556/katacontainers-image-initrd.changes 2019-08-09 16:52:34.289480384 +0200
@@ -1,0 +2,8 @@
+Mon Aug 5 16:51:17 UTC 2019 - Marco Vedovati <mvedovati(a)suse.com>
+
+- Include kernel version in initrd image name, and symlink it to the generic
+ image name. This allows the katacontainers package to retrieve the correct
+ kernel version to use
+- Rename kata-osbuilder tarball to osbuilder
+
+-------------------------------------------------------------------
Old:
----
katacontainers-osbuilder-1.9.0~alpha0.tar.gz
New:
----
osbuilder-1.9.0~alpha0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ katacontainers-image-initrd.spec ++++++
--- /var/tmp/diff_new_pack.VMdyPv/_old 2019-08-09 16:52:34.809480259 +0200
+++ /var/tmp/diff_new_pack.VMdyPv/_new 2019-08-09 16:52:34.813480258 +0200
@@ -1,7 +1,7 @@
#
# spec file for package katacontainers-image-initrd
#
-# Copyright (c) 2018 SUSE LLC
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,10 +12,14 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
#
%define kata_agent_project github.com/kata-containers/agent
%define kata_modules_required 9p 9pnet_virtio
+%define kernel_flavor kvmsmall
Name: katacontainers-image-initrd
Version: 1.9.0~alpha0
@@ -24,19 +28,19 @@
License: Apache-2.0
Group: System/Management
Url: https://github.com/kata-containers/osbuilder
-Source0: katacontainers-osbuilder-%{version}.tar.gz
+Source0: osbuilder-%{version}.tar.gz
Source1: agent-%{version}.tar.gz
+BuildRequires: dracut
BuildRequires: fdupes
+BuildRequires: kernel-%{kernel_flavor}
BuildRequires: golang(API) = 1.11
-BuildRequires: dracut
-BuildRequires: kernel-kvmsmall
Provides: katacontainers-image
%description
initrd used as guest VM in Kata Containers, built using dracut.
%prep
-%setup -q -n katacontainers-osbuilder-%{version} -b1
+%setup -q -n osbuilder-%{version} -b1
%build
export GOPATH=$HOME/go
@@ -46,20 +50,22 @@
# Minimal set of drivers to allow starting containers
echo 'drivers="%{kata_modules_required}"' > dracut/dracut.conf.d/10-drivers.conf
-
-kvmsmallKversion="$(find /boot -name 'vmlinuz-*kvmsmall' | sed 's,/boot/vmlinuz-,,')"
-echo "Found kvmsmall kernel version: ${kvmsmallKversion}"
+kversion="$(find /boot -name 'vmlinuz-*%{kernel_flavor}' | sed 's,/boot/vmlinuz-,,' | sort | tail -n 1)"
+echo "Found kernel version: ${kversion}"
+echo "${kversion}" > %{_builddir}/kversion
make \
BUILD_METHOD=dracut \
- DRACUT_KVERSION=${kvmsmallKversion} \
+ DRACUT_KVERSION=${kversion} \
clean initrd
%check
# (tested manually)
%install
-install -m 0644 -D kata-containers-initrd.img %{buildroot}%{_datarootdir}/kata-containers/kata-containers-initrd.img
+read kversion < %{_builddir}/kversion
+install -m 0644 -D kata-containers-initrd.img %{buildroot}%{_datarootdir}/kata-containers/kata-containers-initrd-${kversion}.img
+ln -sf kata-containers-initrd-${kversion}.img %{buildroot}%{_datarootdir}/kata-containers/kata-containers-initrd.img
%fdupes %{buildroot}/%{_prefix}
@@ -67,6 +73,7 @@
%defattr(-,root,root,-)
%dir %{_datarootdir}/kata-containers
%{_datarootdir}/kata-containers/kata-containers-initrd.img
+%{_datarootdir}/kata-containers/kata-containers-initrd-*-%{kernel_flavor}.img
%license LICENSE
%changelog
++++++ _service ++++++
--- /var/tmp/diff_new_pack.VMdyPv/_old 2019-08-09 16:52:34.837480252 +0200
+++ /var/tmp/diff_new_pack.VMdyPv/_new 2019-08-09 16:52:34.841480251 +0200
@@ -4,7 +4,7 @@
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/kata-containers/osbuilder.git</param>
- <param name="filename">katacontainers-osbuilder</param>
+ <param name="filename">osbuilder</param>
<!--- versionformat defines the name of the tarball. -->
<param name="versionformat">1.9.0~alpha0</param>
<param name="revision">master</param>
++++++ agent-1.9.0~alpha0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/Gopkg.lock new/agent-1.9.0~alpha0/Gopkg.lock
--- old/agent-1.9.0~alpha0/Gopkg.lock 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/Gopkg.lock 2019-08-02 14:28:32.000000000 +0200
@@ -410,6 +410,7 @@
"github.com/opencontainers/runc/libcontainer/utils",
"github.com/opencontainers/runtime-spec/specs-go",
"github.com/opentracing/opentracing-go",
+ "github.com/pkg/errors",
"github.com/sirupsen/logrus",
"github.com/stretchr/testify/assert",
"github.com/uber/jaeger-client-go/config",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/device.go new/agent-1.9.0~alpha0/device.go
--- old/agent-1.9.0~alpha0/device.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/device.go 2019-08-02 14:28:32.000000000 +0200
@@ -13,6 +13,7 @@
"io/ioutil"
"os"
"path/filepath"
+ "strconv"
"strings"
"syscall"
"time"
@@ -29,6 +30,7 @@
driver9pType = "9p"
driverVirtioFSType = "virtio-fs"
driverBlkType = "blk"
+ driverBlkCCWType = "blk-ccw"
driverMmioBlkType = "mmioblk"
driverSCSIType = "scsi"
driverNvdimmType = "nvdimm"
@@ -52,6 +54,15 @@
scanSCSIBus = scanSCSIBusImpl
)
+// CCW variables
+var (
+ channelSubSystem = "/devices/css0"
+ sysCCWBusDir = sysfsDir + "/bus/ccw/devices"
+ blkCCWSuffix = "virtio"
+)
+
+const maxDeviceIDValue = 3
+
// SCSI variables
var (
// Here in "0:0", the first number is the SCSI host number because
@@ -70,6 +81,7 @@
var deviceHandlerList = map[string]deviceHandler{
driverMmioBlkType: virtioMmioBlkDeviceHandler,
driverBlkType: virtioBlkDeviceHandler,
+ driverBlkCCWType: virtioBlkCCWDeviceHandler,
driverSCSIType: virtioSCSIDeviceHandler,
driverNvdimmType: nvdimmDeviceHandler,
}
@@ -188,6 +200,21 @@
return updateSpecDeviceList(device, spec)
}
+func virtioBlkCCWDeviceHandler(ctx context.Context, device pb.Device, spec *pb.Spec, _ *sandbox) error {
+ devPath, err := getBlkCCWDevPath(ctx, device.Id)
+ if err != nil {
+ return err
+ }
+
+ if devPath == "" {
+ return grpcStatus.Errorf(codes.InvalidArgument,
+ "Storage source is empty")
+ }
+
+ device.VmPath = devPath
+ return updateSpecDeviceList(device, spec)
+}
+
// device.Id should be the PCI address in the format "bridgeAddr/deviceAddr".
// Here, bridgeAddr is the address at which the brige is attached on the root bus,
// while deviceAddr is the address at which the device is attached on the bridge.
@@ -447,6 +474,92 @@
return filepath.Join(devPrefix, scsiDiskName), nil
}
+// checkCCWBusFormat checks the format for the ccw bus. It needs to be in the form 0.<n>.<dddd>
+// n is the subchannel set ID - integer from 0 up to 3
+// dddd is the device id - integer in hex up to 0xffff
+// See https://www.ibm.com/support/knowledgecenter/en/linuxonibm/com.ibm.linux.z.l…
+func checkCCWBusFormat(bus string) error {
+ busFormat := strings.Split(bus, ".")
+ if len(busFormat) != 3 {
+ return fmt.Errorf("Wrong bus format. It needs to be in the form 0.<n>.<dddd>, got %s", bus)
+ }
+
+ bus0, err := strconv.ParseInt(busFormat[0], 10, 32)
+ if err != nil {
+ return err
+ }
+ if bus0 != 0 {
+ return fmt.Errorf("Wrong bus format. First digit needs to be 0 instead is %d", bus0)
+ }
+
+ bus1, err := strconv.ParseInt(busFormat[1], 10, 32)
+ if err != nil {
+ return err
+ }
+ if bus1 > maxDeviceIDValue {
+ return fmt.Errorf("Wrong bus format. Second digit must be lower than %d instead is %d", maxDeviceIDValue, bus1)
+ }
+
+ if len(busFormat[2]) != 4 {
+ return fmt.Errorf("Wrong bus format. Third digit must be in the form <dddd>, got %s", bus)
+ }
+ busFormat[2] = "0x" + busFormat[2]
+ _, err = strconv.ParseInt(busFormat[2], 0, 32)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// findBlkCCWDevPath finds the CCW block disk name associated with the given CCW block path.
+func findBlkCCWDevPath(blkCCWpath string) (string, error) {
+ files, err := ioutil.ReadDir(blkCCWpath)
+ if err != nil {
+ return "", err
+ }
+
+ for _, f := range files {
+ if strings.Contains(f.Name(), blkCCWSuffix) {
+ subPath := filepath.Join(blkCCWpath, f.Name(), "block")
+ files2, err := ioutil.ReadDir(subPath)
+ if err != nil {
+ return "", err
+ }
+ if len(files2) != 1 {
+ return "", grpcStatus.Errorf(codes.Internal,
+ "Expecting a single blk CCW device in %s found %v",
+ subPath, files2)
+ }
+ return files2[0].Name(), nil
+ }
+ }
+ return "", grpcStatus.Errorf(codes.Internal, "Path %s for blk CCW not found", blkCCWpath)
+}
+
+// getBlkCCWDevPath returns the CCW block path based on the bus ID
+func getBlkCCWDevPath(ctx context.Context, bus string) (string, error) {
+ if err := checkCCWBusFormat(bus); err != nil {
+ return "", err
+ }
+ devPath := filepath.Join(sysCCWBusDir, bus)
+
+ checkUevent := func(uEv *uevent.Uevent) bool {
+ return (uEv.Action == "add" &&
+ strings.Contains(uEv.DevPath, channelSubSystem))
+ }
+ if err := waitForDevice(ctx, devPath, bus, checkUevent); err != nil {
+ return "", err
+ }
+
+ blkCCWDiskName, err := findBlkCCWDevPath(devPath)
+ if err != nil {
+ return "", err
+ }
+
+ return filepath.Join(devPrefix, blkCCWDiskName), nil
+}
+
func addDevices(ctx context.Context, devices []*pb.Device, spec *pb.Spec, s *sandbox) error {
for _, device := range devices {
if device == nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/device_test.go new/agent-1.9.0~alpha0/device_test.go
--- old/agent-1.9.0~alpha0/device_test.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/device_test.go 2019-08-02 14:28:32.000000000 +0200
@@ -779,3 +779,45 @@
cancel()
}
+
+func TestFindBlkCCWDevPath(t *testing.T) {
+ bus := "0.0.0005"
+ assert := assert.New(t)
+ expectDev := "vdb"
+ dir := fmt.Sprintf("/tmp/sys/bus/ccw/devices/%s/virtio5/block/%s", bus, expectDev)
+ busPath := fmt.Sprintf("/tmp/sys/bus/ccw/devices/%s", bus)
+ err := os.MkdirAll(dir, mountPerm)
+ assert.Nil(err)
+
+ dev, err := findBlkCCWDevPath(busPath)
+ assert.Nil(err)
+
+ if dev != expectDev {
+ t.Errorf("Expected value %s got %s", expectDev, dev)
+ }
+
+ bus = "../dev"
+ busPath = fmt.Sprintf("/tmp/sys/bus/ccw/devices/%s", bus)
+ err = os.MkdirAll(dir, mountPerm)
+ assert.Nil(err)
+ _, err = findBlkCCWDevPath(busPath)
+ assert.NotNil(err, fmt.Sprintf("findBlkCCWDevPath() should have been failed with bus %s", bus))
+
+}
+
+func TestCheckCCWBusFormat(t *testing.T) {
+ assert := assert.New(t)
+
+ wrongBuses := []string{"", "fe.0.0000", "0.5.0000", "some_wrong_path", "0.1.fffff", "0.0.0"}
+ rightBuses := []string{"0.3.abcd", "0.0.0000", "0.1.0000"}
+
+ for _, bus := range wrongBuses {
+ err := checkCCWBusFormat(bus)
+ assert.NotNil(err, fmt.Sprintf("checkCCWBusFormat() should have been failed with bus %s", bus))
+ }
+
+ for _, bus := range rightBuses {
+ err := checkCCWBusFormat(bus)
+ assert.Nil(err)
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/grpc.go new/agent-1.9.0~alpha0/grpc.go
--- old/agent-1.9.0~alpha0/grpc.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/grpc.go 2019-08-02 14:28:32.000000000 +0200
@@ -62,6 +62,8 @@
// set when StopTracing() is called.
stopTracingCalled = false
+
+ modprobePath = "/sbin/modprobe"
)
type onlineResource struct {
@@ -1399,6 +1401,35 @@
return emptyResp, nil
}
+func loadKernelModule(module *pb.KernelModule) error {
+ if module == nil {
+ return fmt.Errorf("Kernel module is nil")
+ }
+
+ if module.Name == "" {
+ return fmt.Errorf("Kernel module name is empty")
+ }
+
+ log := agentLog.WithFields(logrus.Fields{
+ "module-name": module.Name,
+ "module-params": module.Parameters,
+ })
+
+ log.Debug("loading module")
+ cmd := exec.Command(modprobePath, "-v", module.Name)
+
+ if len(module.Parameters) > 0 {
+ cmd.Args = append(cmd.Args, module.Parameters...)
+ }
+
+ output, err := cmd.CombinedOutput()
+ if err != nil {
+ return fmt.Errorf("could not load module: %v: %v", err, string(output))
+ }
+
+ return nil
+}
+
func (a *agentGRPC) CreateSandbox(ctx context.Context, req *pb.CreateSandboxRequest) (*gpb.Empty, error) {
if a.sandbox.running {
return emptyResp, grpcStatus.Error(codes.AlreadyExists, "Sandbox already started, impossible to start again")
@@ -1414,6 +1445,12 @@
a.sandbox.guestHooks = &specs.Hooks{}
a.sandbox.guestHooksPresent = false
+ for _, m := range req.KernelModules {
+ if err := loadKernelModule(m); err != nil {
+ return emptyResp, err
+ }
+ }
+
if req.GuestHookPath != "" {
a.sandbox.scanGuestHooks(req.GuestHookPath)
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/grpc_test.go new/agent-1.9.0~alpha0/grpc_test.go
--- old/agent-1.9.0~alpha0/grpc_test.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/grpc_test.go 2019-08-02 14:28:32.000000000 +0200
@@ -1754,3 +1754,22 @@
_, err := a.TtyWinResize(context.Background(), req)
assert.Error(err)
}
+
+func TestLoadKernelModule(t *testing.T) {
+ assert := assert.New(t)
+
+ err := loadKernelModule(nil)
+ assert.Error(err)
+
+ m := &pb.KernelModule{
+ Name: "",
+ Parameters: []string{"opt"},
+ }
+ err = loadKernelModule(m)
+ assert.Error(err)
+
+ modprobePath = "/bin/echo"
+ m.Name = "fake"
+ err = loadKernelModule(m)
+ assert.NoError(err)
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/mount.go new/agent-1.9.0~alpha0/mount.go
--- old/agent-1.9.0~alpha0/mount.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/mount.go 2019-08-02 14:28:32.000000000 +0200
@@ -213,6 +213,7 @@
driver9pType: virtio9pStorageHandler,
driverVirtioFSType: virtioFSStorageHandler,
driverBlkType: virtioBlkStorageHandler,
+ driverBlkCCWType: virtioBlkCCWStorageHandler,
driverMmioBlkType: virtioMmioBlkStorageHandler,
driverSCSIType: virtioSCSIStorageHandler,
driverEphemeralType: ephemeralStorageHandler,
@@ -268,6 +269,20 @@
return commonStorageHandler(storage)
}
+// virtioBlkCCWStorageHandler handles the storage for blk ccw driver.
+func virtioBlkCCWStorageHandler(ctx context.Context, storage pb.Storage, s *sandbox) (string, error) {
+ devPath, err := getBlkCCWDevPath(ctx, storage.Source)
+ if err != nil {
+ return "", err
+ }
+ if devPath == "" {
+ return "", grpcStatus.Errorf(codes.InvalidArgument,
+ "Storage source is empty")
+ }
+ storage.Source = devPath
+ return commonStorageHandler(storage)
+}
+
// virtioFSStorageHandler handles the storage for virtio-fs.
func virtioFSStorageHandler(_ context.Context, storage pb.Storage, s *sandbox) (string, error) {
return commonStorageHandler(storage)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/protocols/grpc/agent.pb.go new/agent-1.9.0~alpha0/protocols/grpc/agent.pb.go
--- old/agent-1.9.0~alpha0/protocols/grpc/agent.pb.go 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/protocols/grpc/agent.pb.go 2019-08-02 14:28:32.000000000 +0200
@@ -41,6 +41,7 @@
ReadStreamResponse
CloseStdinRequest
TtyWinResizeRequest
+ KernelModule
CreateSandboxRequest
DestroySandboxRequest
Interfaces
@@ -1144,6 +1145,33 @@
return 0
}
+type KernelModule struct {
+ // This field is the name of the kernel module.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // This field are the parameters for the kernel module which are
+ // whitespace-delimited key=value pairs passed to modprobe(8).
+ Parameters []string `protobuf:"bytes,2,rep,name=parameters" json:"parameters,omitempty"`
+}
+
+func (m *KernelModule) Reset() { *m = KernelModule{} }
+func (m *KernelModule) String() string { return proto.CompactTextString(m) }
+func (*KernelModule) ProtoMessage() {}
+func (*KernelModule) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{31} }
+
+func (m *KernelModule) GetName() string {
+ if m != nil {
+ return m.Name
+ }
+ return ""
+}
+
+func (m *KernelModule) GetParameters() []string {
+ if m != nil {
+ return m.Parameters
+ }
+ return nil
+}
+
type CreateSandboxRequest struct {
Hostname string `protobuf:"bytes,1,opt,name=hostname,proto3" json:"hostname,omitempty"`
Dns []string `protobuf:"bytes,2,rep,name=dns" json:"dns,omitempty"`
@@ -1160,12 +1188,14 @@
// This field, if non-empty, designates an absolute path to a directory
// that the agent will search for OCI hooks to run within the guest.
GuestHookPath string `protobuf:"bytes,6,opt,name=guest_hook_path,json=guestHookPath,proto3" json:"guest_hook_path,omitempty"`
+ // This field is the list of kernel modules to be loaded in the guest kernel.
+ KernelModules []*KernelModule `protobuf:"bytes,7,rep,name=kernel_modules,json=kernelModules" json:"kernel_modules,omitempty"`
}
func (m *CreateSandboxRequest) Reset() { *m = CreateSandboxRequest{} }
func (m *CreateSandboxRequest) String() string { return proto.CompactTextString(m) }
func (*CreateSandboxRequest) ProtoMessage() {}
-func (*CreateSandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{31} }
+func (*CreateSandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{32} }
func (m *CreateSandboxRequest) GetHostname() string {
if m != nil {
@@ -1209,13 +1239,20 @@
return ""
}
+func (m *CreateSandboxRequest) GetKernelModules() []*KernelModule {
+ if m != nil {
+ return m.KernelModules
+ }
+ return nil
+}
+
type DestroySandboxRequest struct {
}
func (m *DestroySandboxRequest) Reset() { *m = DestroySandboxRequest{} }
func (m *DestroySandboxRequest) String() string { return proto.CompactTextString(m) }
func (*DestroySandboxRequest) ProtoMessage() {}
-func (*DestroySandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{32} }
+func (*DestroySandboxRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{33} }
type Interfaces struct {
Interfaces []*types.Interface `protobuf:"bytes,1,rep,name=Interfaces" json:"Interfaces,omitempty"`
@@ -1224,7 +1261,7 @@
func (m *Interfaces) Reset() { *m = Interfaces{} }
func (m *Interfaces) String() string { return proto.CompactTextString(m) }
func (*Interfaces) ProtoMessage() {}
-func (*Interfaces) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{33} }
+func (*Interfaces) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{34} }
func (m *Interfaces) GetInterfaces() []*types.Interface {
if m != nil {
@@ -1240,7 +1277,7 @@
func (m *Routes) Reset() { *m = Routes{} }
func (m *Routes) String() string { return proto.CompactTextString(m) }
func (*Routes) ProtoMessage() {}
-func (*Routes) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{34} }
+func (*Routes) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{35} }
func (m *Routes) GetRoutes() []*types.Route {
if m != nil {
@@ -1256,7 +1293,7 @@
func (m *UpdateInterfaceRequest) Reset() { *m = UpdateInterfaceRequest{} }
func (m *UpdateInterfaceRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateInterfaceRequest) ProtoMessage() {}
-func (*UpdateInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{35} }
+func (*UpdateInterfaceRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{36} }
func (m *UpdateInterfaceRequest) GetInterface() *types.Interface {
if m != nil {
@@ -1272,7 +1309,7 @@
func (m *UpdateRoutesRequest) Reset() { *m = UpdateRoutesRequest{} }
func (m *UpdateRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*UpdateRoutesRequest) ProtoMessage() {}
-func (*UpdateRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{36} }
+func (*UpdateRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{37} }
func (m *UpdateRoutesRequest) GetRoutes() *Routes {
if m != nil {
@@ -1287,7 +1324,7 @@
func (m *ListInterfacesRequest) Reset() { *m = ListInterfacesRequest{} }
func (m *ListInterfacesRequest) String() string { return proto.CompactTextString(m) }
func (*ListInterfacesRequest) ProtoMessage() {}
-func (*ListInterfacesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{37} }
+func (*ListInterfacesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{38} }
type ListRoutesRequest struct {
}
@@ -1295,7 +1332,7 @@
func (m *ListRoutesRequest) Reset() { *m = ListRoutesRequest{} }
func (m *ListRoutesRequest) String() string { return proto.CompactTextString(m) }
func (*ListRoutesRequest) ProtoMessage() {}
-func (*ListRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{38} }
+func (*ListRoutesRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{39} }
type OnlineCPUMemRequest struct {
// Wait specifies if the caller waits for the agent to online all resources.
@@ -1311,7 +1348,7 @@
func (m *OnlineCPUMemRequest) Reset() { *m = OnlineCPUMemRequest{} }
func (m *OnlineCPUMemRequest) String() string { return proto.CompactTextString(m) }
func (*OnlineCPUMemRequest) ProtoMessage() {}
-func (*OnlineCPUMemRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{39} }
+func (*OnlineCPUMemRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{40} }
func (m *OnlineCPUMemRequest) GetWait() bool {
if m != nil {
@@ -1342,7 +1379,7 @@
func (m *ReseedRandomDevRequest) Reset() { *m = ReseedRandomDevRequest{} }
func (m *ReseedRandomDevRequest) String() string { return proto.CompactTextString(m) }
func (*ReseedRandomDevRequest) ProtoMessage() {}
-func (*ReseedRandomDevRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{40} }
+func (*ReseedRandomDevRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{41} }
func (m *ReseedRandomDevRequest) GetData() []byte {
if m != nil {
@@ -1369,7 +1406,7 @@
func (m *AgentDetails) Reset() { *m = AgentDetails{} }
func (m *AgentDetails) String() string { return proto.CompactTextString(m) }
func (*AgentDetails) ProtoMessage() {}
-func (*AgentDetails) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{41} }
+func (*AgentDetails) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{42} }
func (m *AgentDetails) GetVersion() string {
if m != nil {
@@ -1420,7 +1457,7 @@
func (m *GuestDetailsRequest) Reset() { *m = GuestDetailsRequest{} }
func (m *GuestDetailsRequest) String() string { return proto.CompactTextString(m) }
func (*GuestDetailsRequest) ProtoMessage() {}
-func (*GuestDetailsRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{42} }
+func (*GuestDetailsRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{43} }
func (m *GuestDetailsRequest) GetMemBlockSize() bool {
if m != nil {
@@ -1446,7 +1483,7 @@
func (m *GuestDetailsResponse) Reset() { *m = GuestDetailsResponse{} }
func (m *GuestDetailsResponse) String() string { return proto.CompactTextString(m) }
func (*GuestDetailsResponse) ProtoMessage() {}
-func (*GuestDetailsResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{43} }
+func (*GuestDetailsResponse) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{44} }
func (m *GuestDetailsResponse) GetMemBlockSizeBytes() uint64 {
if m != nil {
@@ -1478,7 +1515,7 @@
func (m *MemHotplugByProbeRequest) Reset() { *m = MemHotplugByProbeRequest{} }
func (m *MemHotplugByProbeRequest) String() string { return proto.CompactTextString(m) }
func (*MemHotplugByProbeRequest) ProtoMessage() {}
-func (*MemHotplugByProbeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{44} }
+func (*MemHotplugByProbeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{45} }
func (m *MemHotplugByProbeRequest) GetMemHotplugProbeAddr() []uint64 {
if m != nil {
@@ -1497,7 +1534,7 @@
func (m *SetGuestDateTimeRequest) Reset() { *m = SetGuestDateTimeRequest{} }
func (m *SetGuestDateTimeRequest) String() string { return proto.CompactTextString(m) }
func (*SetGuestDateTimeRequest) ProtoMessage() {}
-func (*SetGuestDateTimeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{45} }
+func (*SetGuestDateTimeRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{46} }
func (m *SetGuestDateTimeRequest) GetSec() int64 {
if m != nil {
@@ -1546,7 +1583,7 @@
func (m *Storage) Reset() { *m = Storage{} }
func (m *Storage) String() string { return proto.CompactTextString(m) }
func (*Storage) ProtoMessage() {}
-func (*Storage) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{46} }
+func (*Storage) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{47} }
func (m *Storage) GetDriver() string {
if m != nil {
@@ -1629,7 +1666,7 @@
func (m *Device) Reset() { *m = Device{} }
func (m *Device) String() string { return proto.CompactTextString(m) }
func (*Device) ProtoMessage() {}
-func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{47} }
+func (*Device) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{48} }
func (m *Device) GetId() string {
if m != nil {
@@ -1675,7 +1712,7 @@
func (m *StringUser) Reset() { *m = StringUser{} }
func (m *StringUser) String() string { return proto.CompactTextString(m) }
func (*StringUser) ProtoMessage() {}
-func (*StringUser) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{48} }
+func (*StringUser) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{49} }
func (m *StringUser) GetUid() string {
if m != nil {
@@ -1723,7 +1760,7 @@
func (m *CopyFileRequest) Reset() { *m = CopyFileRequest{} }
func (m *CopyFileRequest) String() string { return proto.CompactTextString(m) }
func (*CopyFileRequest) ProtoMessage() {}
-func (*CopyFileRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{49} }
+func (*CopyFileRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{50} }
func (m *CopyFileRequest) GetPath() string {
if m != nil {
@@ -1787,7 +1824,7 @@
func (m *StartTracingRequest) Reset() { *m = StartTracingRequest{} }
func (m *StartTracingRequest) String() string { return proto.CompactTextString(m) }
func (*StartTracingRequest) ProtoMessage() {}
-func (*StartTracingRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{50} }
+func (*StartTracingRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{51} }
type StopTracingRequest struct {
}
@@ -1795,7 +1832,7 @@
func (m *StopTracingRequest) Reset() { *m = StopTracingRequest{} }
func (m *StopTracingRequest) String() string { return proto.CompactTextString(m) }
func (*StopTracingRequest) ProtoMessage() {}
-func (*StopTracingRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{51} }
+func (*StopTracingRequest) Descriptor() ([]byte, []int) { return fileDescriptorAgent, []int{52} }
func init() {
proto.RegisterType((*CreateContainerRequest)(nil), "grpc.CreateContainerRequest")
@@ -1829,6 +1866,7 @@
proto.RegisterType((*ReadStreamResponse)(nil), "grpc.ReadStreamResponse")
proto.RegisterType((*CloseStdinRequest)(nil), "grpc.CloseStdinRequest")
proto.RegisterType((*TtyWinResizeRequest)(nil), "grpc.TtyWinResizeRequest")
+ proto.RegisterType((*KernelModule)(nil), "grpc.KernelModule")
proto.RegisterType((*CreateSandboxRequest)(nil), "grpc.CreateSandboxRequest")
proto.RegisterType((*DestroySandboxRequest)(nil), "grpc.DestroySandboxRequest")
proto.RegisterType((*Interfaces)(nil), "grpc.Interfaces")
@@ -4183,6 +4221,45 @@
return i, nil
}
+func (m *KernelModule) Marshal() (dAtA []byte, err error) {
+ size := m.Size()
+ dAtA = make([]byte, size)
+ n, err := m.MarshalTo(dAtA)
+ if err != nil {
+ return nil, err
+ }
+ return dAtA[:n], nil
+}
+
+func (m *KernelModule) MarshalTo(dAtA []byte) (int, error) {
+ var i int
+ _ = i
+ var l int
+ _ = l
+ if len(m.Name) > 0 {
+ dAtA[i] = 0xa
+ i++
+ i = encodeVarintAgent(dAtA, i, uint64(len(m.Name)))
+ i += copy(dAtA[i:], m.Name)
+ }
+ if len(m.Parameters) > 0 {
+ for _, s := range m.Parameters {
+ dAtA[i] = 0x12
+ i++
+ l = len(s)
+ for l >= 1<<7 {
+ dAtA[i] = uint8(uint64(l)&0x7f | 0x80)
+ l >>= 7
+ i++
+ }
+ dAtA[i] = uint8(l)
+ i++
+ i += copy(dAtA[i:], s)
+ }
+ }
+ return i, nil
+}
+
func (m *CreateSandboxRequest) Marshal() (dAtA []byte, err error) {
size := m.Size()
dAtA = make([]byte, size)
@@ -4253,6 +4330,18 @@
i = encodeVarintAgent(dAtA, i, uint64(len(m.GuestHookPath)))
i += copy(dAtA[i:], m.GuestHookPath)
}
+ if len(m.KernelModules) > 0 {
+ for _, msg := range m.KernelModules {
+ dAtA[i] = 0x3a
+ i++
+ i = encodeVarintAgent(dAtA, i, uint64(msg.Size()))
+ n, err := msg.MarshalTo(dAtA[i:])
+ if err != nil {
+ return 0, err
+ }
+ i += n
+ }
+ }
return i, nil
}
@@ -5560,6 +5649,22 @@
return n
}
+func (m *KernelModule) Size() (n int) {
+ var l int
+ _ = l
+ l = len(m.Name)
+ if l > 0 {
+ n += 1 + l + sovAgent(uint64(l))
+ }
+ if len(m.Parameters) > 0 {
+ for _, s := range m.Parameters {
+ l = len(s)
+ n += 1 + l + sovAgent(uint64(l))
+ }
+ }
+ return n
+}
+
func (m *CreateSandboxRequest) Size() (n int) {
var l int
_ = l
@@ -5590,6 +5695,12 @@
if l > 0 {
n += 1 + l + sovAgent(uint64(l))
}
+ if len(m.KernelModules) > 0 {
+ for _, e := range m.KernelModules {
+ l = e.Size()
+ n += 1 + l + sovAgent(uint64(l))
+ }
+ }
return n
}
@@ -10140,6 +10251,114 @@
}
return nil
}
+func (m *KernelModule) Unmarshal(dAtA []byte) error {
+ l := len(dAtA)
+ iNdEx := 0
+ for iNdEx < l {
+ preIndex := iNdEx
+ var wire uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowAgent
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ wire |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ fieldNum := int32(wire >> 3)
+ wireType := int(wire & 0x7)
+ if wireType == 4 {
+ return fmt.Errorf("proto: KernelModule: wiretype end group for non-group")
+ }
+ if fieldNum <= 0 {
+ return fmt.Errorf("proto: KernelModule: illegal tag %d (wire type %d)", fieldNum, wire)
+ }
+ switch fieldNum {
+ case 1:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowAgent
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthAgent
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Name = string(dAtA[iNdEx:postIndex])
+ iNdEx = postIndex
+ case 2:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field Parameters", wireType)
+ }
+ var stringLen uint64
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowAgent
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ stringLen |= (uint64(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ intStringLen := int(stringLen)
+ if intStringLen < 0 {
+ return ErrInvalidLengthAgent
+ }
+ postIndex := iNdEx + intStringLen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.Parameters = append(m.Parameters, string(dAtA[iNdEx:postIndex]))
+ iNdEx = postIndex
+ default:
+ iNdEx = preIndex
+ skippy, err := skipAgent(dAtA[iNdEx:])
+ if err != nil {
+ return err
+ }
+ if skippy < 0 {
+ return ErrInvalidLengthAgent
+ }
+ if (iNdEx + skippy) > l {
+ return io.ErrUnexpectedEOF
+ }
+ iNdEx += skippy
+ }
+ }
+
+ if iNdEx > l {
+ return io.ErrUnexpectedEOF
+ }
+ return nil
+}
func (m *CreateSandboxRequest) Unmarshal(dAtA []byte) error {
l := len(dAtA)
iNdEx := 0
@@ -10336,6 +10555,37 @@
}
m.GuestHookPath = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
+ case 7:
+ if wireType != 2 {
+ return fmt.Errorf("proto: wrong wireType = %d for field KernelModules", wireType)
+ }
+ var msglen int
+ for shift := uint(0); ; shift += 7 {
+ if shift >= 64 {
+ return ErrIntOverflowAgent
+ }
+ if iNdEx >= l {
+ return io.ErrUnexpectedEOF
+ }
+ b := dAtA[iNdEx]
+ iNdEx++
+ msglen |= (int(b) & 0x7F) << shift
+ if b < 0x80 {
+ break
+ }
+ }
+ if msglen < 0 {
+ return ErrInvalidLengthAgent
+ }
+ postIndex := iNdEx + msglen
+ if postIndex > l {
+ return io.ErrUnexpectedEOF
+ }
+ m.KernelModules = append(m.KernelModules, &KernelModule{})
+ if err := m.KernelModules[len(m.KernelModules)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
+ return err
+ }
+ iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipAgent(dAtA[iNdEx:])
@@ -12602,181 +12852,184 @@
func init() { proto.RegisterFile("agent.proto", fileDescriptorAgent) }
var fileDescriptorAgent = []byte{
- // 2810 bytes of a gzipped FileDescriptorProto
- 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x19, 0xcb, 0x6e, 0x23, 0xc7,
- 0x11, 0x7c, 0x88, 0x22, 0x8b, 0xa4, 0x28, 0xb6, 0xb4, 0x5a, 0x2e, 0xd7, 0xde, 0xac, 0xc7, 0xce,
- 0x5a, 0x8e, 0x63, 0xca, 0x5e, 0x1b, 0xf1, 0x0b, 0xce, 0x62, 0xf5, 0xc8, 0x4a, 0xb1, 0x37, 0xab,
- 0x8c, 0x56, 0x70, 0x80, 0x20, 0x18, 0x8c, 0x66, 0x5a, 0x64, 0x5b, 0x9c, 0xe9, 0x71, 0x4f, 0x8f,
- 0x56, 0x74, 0x80, 0x1c, 0x93, 0x5b, 0x2e, 0x39, 0xe7, 0x07, 0x82, 0xdc, 0x72, 0xcc, 0x35, 0x07,
- 0x23, 0xa7, 0xdc, 0x03, 0x04, 0x81, 0x3f, 0x21, 0x5f, 0x10, 0xf4, 0x6b, 0x1e, 0x7c, 0x2d, 0x22,
- 0x08, 0xc8, 0x85, 0xe8, 0xae, 0xaa, 0xae, 0x57, 0x77, 0xd5, 0x54, 0x15, 0xa1, 0xe9, 0x0e, 0x71,
- 0xc8, 0x07, 0x11, 0xa3, 0x9c, 0xa2, 0xea, 0x90, 0x45, 0x5e, 0xbf, 0x41, 0x3d, 0xa2, 0x00, 0xfd,
- 0x1f, 0x0d, 0x09, 0x1f, 0x25, 0x67, 0x03, 0x8f, 0x06, 0x3b, 0x17, 0x2e, 0x77, 0xdf, 0xf1, 0x68,
- 0xc8, 0x5d, 0x12, 0x62, 0x16, 0xef, 0xc8, 0x83, 0x3b, 0xd1, 0xc5, 0x70, 0x87, 0x4f, 0x22, 0x1c,
- 0xab, 0x5f, 0x7d, 0xee, 0xee, 0x90, 0xd2, 0xe1, 0x18, 0xef, 0xc8, 0xdd, 0x59, 0x72, 0xbe, 0x83,
- 0x83, 0x88, 0x4f, 0x14, 0xd2, 0xfa, 0x63, 0x19, 0xb6, 0xf6, 0x18, 0x76, 0x39, 0xde, 0x33, 0xdc,
- 0x6c, 0xfc, 0x75, 0x82, 0x63, 0x8e, 0x5e, 0x83, 0x56, 0x2a, 0xc1, 0x21, 0x7e, 0xaf, 0x74, 0xbf,
- 0xb4, 0xdd, 0xb0, 0x9b, 0x29, 0xec, 0xc8, 0x47, 0xb7, 0x61, 0x15, 0x5f, 0x61, 0x4f, 0x60, 0xcb,
- 0x12, 0x5b, 0x13, 0xdb, 0x23, 0x1f, 0xbd, 0x07, 0xcd, 0x98, 0x33, 0x12, 0x0e, 0x9d, 0x24, 0xc6,
- 0xac, 0x57, 0xb9, 0x5f, 0xda, 0x6e, 0x3e, 0x5c, 0x1f, 0x08, 0x93, 0x06, 0x27, 0x12, 0x71, 0x1a,
- 0x63, 0x66, 0x43, 0x9c, 0xae, 0xd1, 0x03, 0x58, 0xf5, 0xf1, 0x25, 0xf1, 0x70, 0xdc, 0xab, 0xde,
- 0xaf, 0x6c, 0x37, 0x1f, 0xb6, 0x14, 0xf9, 0xbe, 0x04, 0xda, 0x06, 0x89, 0xde, 0x82, 0x7a, 0xcc,
- 0x29, 0x73, 0x87, 0x38, 0xee, 0xad, 0x48, 0xc2, 0xb6, 0xe1, 0x2b, 0xa1, 0x76, 0x8a, 0x46, 0xaf,
- 0x40, 0xe5, 0xd9, 0xde, 0x51, 0xaf, 0x26, 0xa5, 0x83, 0xa6, 0x8a, 0xb0, 0x67, 0x0b, 0x30, 0x7a,
- 0x1d, 0xda, 0xb1, 0x1b, 0xfa, 0x67, 0xf4, 0xca, 0x89, 0x88, 0x1f, 0xc6, 0xbd, 0xd5, 0xfb, 0xa5,
- 0xed, 0xba, 0xdd, 0xd2, 0xc0, 0x63, 0x01, 0xb3, 0x3e, 0x81, 0x5b, 0x27, 0xdc, 0x65, 0xfc, 0x1a,
- 0xde, 0xb1, 0x4e, 0x61, 0xcb, 0xc6, 0x01, 0xbd, 0xbc, 0x96, 0x6b, 0x7b, 0xb0, 0xca, 0x49, 0x80,
- 0x69, 0xc2, 0xa5, 0x6b, 0xdb, 0xb6, 0xd9, 0x5a, 0x7f, 0x2e, 0x01, 0x3a, 0xb8, 0xc2, 0xde, 0x31,
- 0xa3, 0x1e, 0x8e, 0xe3, 0xff, 0xd3, 0x75, 0xbd, 0x09, 0xab, 0x91, 0x52, 0xa0, 0x57, 0x95, 0xe4,
- 0xfa, 0x16, 0x8c, 0x56, 0x06, 0x6b, 0x7d, 0x05, 0x9b, 0x27, 0x64, 0x18, 0xba, 0xe3, 0x1b, 0xd4,
- 0x77, 0x0b, 0x6a, 0xb1, 0xe4, 0x29, 0x55, 0x6d, 0xdb, 0x7a, 0x67, 0x1d, 0x03, 0xfa, 0xd2, 0x25,
- 0xfc, 0xe6, 0x24, 0x59, 0xef, 0xc0, 0x46, 0x81, 0x63, 0x1c, 0xd1, 0x30, 0xc6, 0x52, 0x01, 0xee,
- 0xf2, 0x24, 0x96, 0xcc, 0x56, 0x6c, 0xbd, 0xb3, 0x30, 0x6c, 0x7e, 0x41, 0x62, 0x43, 0x8e, 0xff,
- 0x17, 0x15, 0xb6, 0xa0, 0x76, 0x4e, 0x59, 0xe0, 0x72, 0xa3, 0x81, 0xda, 0x21, 0x04, 0x55, 0x97,
- 0x0d, 0xe3, 0x5e, 0xe5, 0x7e, 0x65, 0xbb, 0x61, 0xcb, 0xb5, 0x78, 0x95, 0x53, 0x62, 0xb4, 0x5e,
- 0xaf, 0x41, 0x4b, 0xfb, 0xdd, 0x19, 0x93, 0x98, 0x4b, 0x39, 0x2d, 0xbb, 0xa9, 0x61, 0xe2, 0x8c,
- 0x45, 0x61, 0xeb, 0x34, 0xf2, 0xaf, 0x19, 0xf0, 0x0f, 0xa1, 0xc1, 0x70, 0x4c, 0x13, 0x26, 0xc2,
- 0xb4, 0x2c, 0xef, 0x7d, 0x53, 0xdd, 0xfb, 0x17, 0x24, 0x4c, 0xae, 0x6c, 0x83, 0xb3, 0x33, 0x32,
- 0x1d, 0x42, 0x3c, 0xbe, 0x4e, 0x08, 0x7d, 0x02, 0xb7, 0x8e, 0xdd, 0x24, 0xbe, 0x8e, 0xae, 0xd6,
- 0xa7, 0x22, 0xfc, 0xe2, 0x24, 0xb8, 0xd6, 0xe1, 0x3f, 0x95, 0xa0, 0xbe, 0x17, 0x25, 0xa7, 0xb1,
- 0x3b, 0xc4, 0xe8, 0x7b, 0xd0, 0xe4, 0x94, 0xbb, 0x63, 0x27, 0x11, 0x5b, 0x49, 0x5e, 0xb5, 0x41,
- 0x82, 0x14, 0x81, 0x70, 0x3b, 0x66, 0x5e, 0x94, 0x68, 0x8a, 0xf2, 0xfd, 0xca, 0x76, 0xd5, 0x6e,
- 0x2a, 0x98, 0x22, 0x19, 0xc0, 0x86, 0xc4, 0x39, 0x24, 0x74, 0x2e, 0x30, 0x0b, 0xf1, 0x38, 0xa0,
- 0x3e, 0x96, 0xef, 0xb7, 0x6a, 0x77, 0x25, 0xea, 0x28, 0xfc, 0x3c, 0x45, 0xa0, 0x1f, 0x40, 0x37,
- 0xa5, 0x17, 0x41, 0x29, 0xa9, 0xab, 0x92, 0xba, 0xa3, 0xa9, 0x4f, 0x35, 0xd8, 0xfa, 0x0d, 0xac,
- 0x3d, 0x1f, 0x31, 0xca, 0xf9, 0x98, 0x84, 0xc3, 0x7d, 0x97, 0xbb, 0x22, 0x7b, 0x44, 0x98, 0x11,
- 0xea, 0xc7, 0x5a, 0x5b, 0xb3, 0x45, 0x6f, 0x43, 0x97, 0x2b, 0x5a, 0xec, 0x3b, 0x86, 0xa6, 0x2c,
- 0x69, 0xd6, 0x53, 0xc4, 0xb1, 0x26, 0xfe, 0x3e, 0xac, 0x65, 0xc4, 0x22, 0xff, 0x68, 0x7d, 0xdb,
- 0x29, 0xf4, 0x39, 0x09, 0xb0, 0x75, 0x29, 0x7d, 0x25, 0x2f, 0x19, 0xbd, 0x0d, 0x8d, 0xcc, 0x0f,
- 0x25, 0xf9, 0x42, 0xd6, 0xd4, 0x0b, 0x31, 0xee, 0xb4, 0xeb, 0xa9, 0x53, 0x3e, 0x83, 0x0e, 0x4f,
- 0x15, 0x77, 0x7c, 0x97, 0xbb, 0xc5, 0x47, 0x55, 0xb4, 0xca, 0x5e, 0xe3, 0x85, 0xbd, 0xf5, 0x29,
- 0x34, 0x8e, 0x89, 0x1f, 0x2b, 0xc1, 0x3d, 0x58, 0xf5, 0x12, 0xc6, 0x70, 0xc8, 0x8d, 0xc9, 0x7a,
- 0x8b, 0x36, 0x61, 0x65, 0x4c, 0x02, 0xc2, 0xb5, 0x99, 0x6a, 0x63, 0x51, 0x80, 0xa7, 0x38, 0xa0,
- 0x6c, 0x22, 0x1d, 0xb6, 0x09, 0x2b, 0xf9, 0xcb, 0x55, 0x1b, 0x74, 0x17, 0x1a, 0x81, 0x7b, 0x95,
- 0x5e, 0xaa, 0xc0, 0xd4, 0x03, 0xf7, 0x4a, 0x29, 0xdf, 0x83, 0xd5, 0x73, 0x97, 0x8c, 0xbd, 0x90,
- 0x6b, 0xaf, 0x98, 0x6d, 0x26, 0xb0, 0x9a, 0x17, 0xf8, 0xb7, 0x32, 0x34, 0x95, 0x44, 0xa5, 0xf0,
- 0x26, 0xac, 0x78, 0xae, 0x37, 0x4a, 0x45, 0xca, 0x0d, 0x7a, 0x60, 0x14, 0x29, 0xe7, 0x93, 0x70,
- 0xa6, 0xa9, 0x51, 0x6d, 0x07, 0x20, 0x7e, 0xe1, 0x46, 0x5a, 0xb7, 0xca, 0x02, 0xe2, 0x86, 0xa0,
- 0x51, 0xea, 0xbe, 0x0f, 0x2d, 0xf5, 0xee, 0xf4, 0x91, 0xea, 0x82, 0x23, 0x4d, 0x45, 0xa5, 0x0e,
- 0xbd, 0x0e, 0xed, 0x24, 0xc6, 0xce, 0x88, 0x60, 0xe6, 0x32, 0x6f, 0x34, 0xe9, 0xad, 0xa8, 0x6f,
- 0x64, 0x12, 0xe3, 0x43, 0x03, 0x43, 0x0f, 0x61, 0x45, 0xa4, 0xbf, 0xb8, 0x57, 0x93, 0x9f, 0xe3,
- 0x57, 0xf2, 0x2c, 0xa5, 0xa9, 0x03, 0xf9, 0x7b, 0x10, 0x72, 0x36, 0xb1, 0x15, 0x69, 0xff, 0x23,
- 0x80, 0x0c, 0x88, 0xd6, 0xa1, 0x72, 0x81, 0x27, 0x3a, 0x0e, 0xc5, 0x52, 0x38, 0xe7, 0xd2, 0x1d,
- 0x27, 0xc6, 0xeb, 0x6a, 0xf3, 0x49, 0xf9, 0xa3, 0x92, 0xe5, 0x41, 0x67, 0x77, 0x7c, 0x41, 0x68,
- 0xee, 0xf8, 0x26, 0xac, 0x04, 0xee, 0x57, 0x94, 0x19, 0x4f, 0xca, 0x8d, 0x84, 0x92, 0x90, 0x32,
- 0xc3, 0x42, 0x6e, 0xd0, 0x1a, 0x94, 0x69, 0x24, 0xfd, 0xd5, 0xb0, 0xcb, 0x34, 0xca, 0x04, 0x55,
- 0x73, 0x82, 0xac, 0x7f, 0x55, 0x01, 0x32, 0x29, 0xc8, 0x86, 0x3e, 0xa1, 0x4e, 0x8c, 0x99, 0x28,
- 0x41, 0x9c, 0xb3, 0x09, 0xc7, 0xb1, 0xc3, 0xb0, 0x97, 0xb0, 0x98, 0x5c, 0x8a, 0xfb, 0x13, 0x66,
- 0xdf, 0x52, 0x66, 0x4f, 0xe9, 0x66, 0xdf, 0x26, 0xf4, 0x44, 0x9d, 0xdb, 0x15, 0xc7, 0x6c, 0x73,
- 0x0a, 0x1d, 0xc1, 0xad, 0x8c, 0xa7, 0x9f, 0x63, 0x57, 0x5e, 0xc6, 0x6e, 0x23, 0x65, 0xe7, 0x67,
- 0xac, 0x0e, 0x60, 0x83, 0x50, 0xe7, 0xeb, 0x04, 0x27, 0x05, 0x46, 0x95, 0x65, 0x8c, 0xba, 0x84,
- 0xfe, 0x5c, 0x1e, 0xc8, 0xd8, 0x1c, 0xc3, 0x9d, 0x9c, 0x95, 0x22, 0xdc, 0x73, 0xcc, 0xaa, 0xcb,
- 0x98, 0x6d, 0xa5, 0x5a, 0x89, 0x7c, 0x90, 0x71, 0xfc, 0x29, 0x6c, 0x11, 0xea, 0xbc, 0x70, 0x09,
- 0x9f, 0x66, 0xb7, 0xf2, 0x12, 0x23, 0xc5, 0x47, 0xb7, 0xc8, 0x4b, 0x19, 0x19, 0x60, 0x36, 0x2c,
- 0x18, 0x59, 0x7b, 0x89, 0x91, 0x4f, 0xe5, 0x81, 0x8c, 0xcd, 0x63, 0xe8, 0x12, 0x3a, 0xad, 0xcd,
- 0xea, 0x32, 0x26, 0x1d, 0x42, 0x8b, 0x9a, 0xec, 0x42, 0x37, 0xc6, 0x1e, 0xa7, 0x2c, 0xff, 0x08,
- 0xea, 0xcb, 0x58, 0xac, 0x6b, 0xfa, 0x94, 0x87, 0xf5, 0x4b, 0x68, 0x1d, 0x26, 0x43, 0xcc, 0xc7,
- 0x67, 0x69, 0x32, 0xb8, 0xb1, 0xfc, 0x63, 0xfd, 0xa7, 0x0c, 0xcd, 0xbd, 0x21, 0xa3, 0x49, 0x54,
- 0xc8, 0xc9, 0x2a, 0x48, 0xa7, 0x73, 0xb2, 0x24, 0x91, 0x39, 0x59, 0x11, 0x7f, 0x00, 0xad, 0x40,
- 0x86, 0xae, 0xa6, 0x57, 0x79, 0xa8, 0x3b, 0x13, 0xd4, 0x76, 0x33, 0xc8, 0x25, 0xb3, 0x01, 0x40,
- 0x44, 0xfc, 0x58, 0x9f, 0x51, 0xe9, 0xa8, 0xa3, 0x2b, 0x42, 0x93, 0xa2, 0xed, 0x46, 0x94, 0x66,
- 0xeb, 0xf7, 0xa0, 0x79, 0x26, 0x9c, 0xa4, 0x0f, 0x14, 0x92, 0x51, 0xe6, 0x3d, 0x1b, 0xce, 0xb2,
- 0x20, 0x3c, 0x84, 0xf6, 0x48, 0xb9, 0x4c, 0x1f, 0x52, 0x6f, 0xe8, 0x75, 0x6d, 0x49, 0x66, 0xef,
- 0x20, 0xef, 0x59, 0x75, 0x01, 0xad, 0x51, 0x0e, 0xd4, 0x3f, 0x81, 0xee, 0x0c, 0xc9, 0x9c, 0x1c,
- 0xb4, 0x9d, 0xcf, 0x41, 0xcd, 0x87, 0x48, 0x09, 0xca, 0x9f, 0xcc, 0xe7, 0xa5, 0xdf, 0x97, 0xa1,
- 0xf5, 0x33, 0xcc, 0x5f, 0x50, 0x76, 0xa1, 0xf4, 0x45, 0x50, 0x0d, 0xdd, 0x00, 0x6b, 0x8e, 0x72,
- 0x8d, 0xee, 0x40, 0x9d, 0x5d, 0xa9, 0x04, 0xa2, 0xef, 0x73, 0x95, 0x5d, 0xc9, 0xc4, 0x80, 0x5e,
- 0x05, 0x60, 0x57, 0x4e, 0xe4, 0x7a, 0x17, 0x58, 0x7b, 0xb0, 0x6a, 0x37, 0xd8, 0xd5, 0xb1, 0x02,
- 0x88, 0xa7, 0xc0, 0xae, 0x1c, 0xcc, 0x18, 0x65, 0xb1, 0xce, 0x55, 0x75, 0x76, 0x75, 0x20, 0xf7,
- 0xfa, 0xac, 0xcf, 0x68, 0x14, 0x61, 0x5f, 0xe6, 0x68, 0x79, 0x76, 0x5f, 0x01, 0x84, 0x54, 0x6e,
- 0xa4, 0xd6, 0x94, 0x54, 0x9e, 0x49, 0xe5, 0x99, 0xd4, 0x55, 0x75, 0x92, 0xe7, 0xa5, 0xf2, 0x54,
- 0x6a, 0x5d, 0x49, 0xe5, 0x39, 0xa9, 0x3c, 0x93, 0xda, 0x30, 0x67, 0xb5, 0x54, 0xeb, 0x77, 0x25,
- 0xd8, 0x9a, 0x2e, 0xfc, 0x74, 0x99, 0xfa, 0x01, 0xb4, 0x3c, 0x79, 0x5f, 0x85, 0x37, 0xd9, 0x9d,
- 0xb9, 0x49, 0xbb, 0xe9, 0xe5, 0x9e, 0xf1, 0x87, 0xd0, 0x0e, 0x95, 0x83, 0xd3, 0xa7, 0x59, 0xc9,
- 0xee, 0x25, 0xef, 0x7b, 0xbb, 0x15, 0xe6, 0x76, 0x96, 0x0f, 0xe8, 0x4b, 0x46, 0x38, 0x3e, 0xe1,
- 0x0c, 0xbb, 0xc1, 0x4d, 0x34, 0x20, 0x08, 0xaa, 0xb2, 0x5a, 0xa9, 0xc8, 0xfa, 0x5a, 0xae, 0xad,
- 0x37, 0x61, 0xa3, 0x20, 0x45, 0xdb, 0xba, 0x0e, 0x95, 0x31, 0x0e, 0x25, 0xf7, 0xb6, 0x2d, 0x96,
- 0x96, 0x0b, 0x5d, 0x1b, 0xbb, 0xfe, 0xcd, 0x69, 0xa3, 0x45, 0x54, 0x32, 0x11, 0xdb, 0x80, 0xf2,
- 0x22, 0xb4, 0x2a, 0x46, 0xeb, 0x52, 0x4e, 0xeb, 0x67, 0xd0, 0xdd, 0x1b, 0xd3, 0x18, 0x9f, 0x70,
- 0x9f, 0x84, 0x37, 0xd1, 0x31, 0xfd, 0x1a, 0x36, 0x9e, 0xf3, 0xc9, 0x97, 0x82, 0x59, 0x4c, 0xbe,
- 0xc1, 0x37, 0x64, 0x1f, 0xa3, 0x2f, 0x8c, 0x7d, 0x8c, 0xbe, 0x10, 0xcd, 0x92, 0x47, 0xc7, 0x49,
- 0x10, 0xca, 0x50, 0x68, 0xdb, 0x7a, 0x67, 0xfd, 0xb3, 0x04, 0x9b, 0x6a, 0x9c, 0x71, 0xa2, 0xba,
- 0x78, 0x23, 0xbe, 0x0f, 0xf5, 0x11, 0x8d, 0x79, 0x2e, 0x20, 0xd3, 0xbd, 0x60, 0x2f, 0xda, 0xff,
- 0xb2, 0x6c, 0xb0, 0xc4, 0xb2, 0x30, 0x63, 0xa8, 0x2c, 0x9f, 0x31, 0xcc, 0x4c, 0x11, 0xaa, 0xb3,
- 0x53, 0x04, 0x11, 0x29, 0x86, 0x88, 0xa8, 0xf8, 0x6c, 0xd8, 0x0d, 0x0d, 0x39, 0xf2, 0xd1, 0x03,
- 0xe8, 0x0c, 0x85, 0x96, 0xce, 0x88, 0xd2, 0x0b, 0x27, 0x72, 0xf9, 0x48, 0x86, 0x69, 0xc3, 0x6e,
- 0x4b, 0xf0, 0x21, 0xa5, 0x17, 0xc7, 0x2e, 0x1f, 0x59, 0xb7, 0xe1, 0xd6, 0x3e, 0x8e, 0x39, 0xa3,
- 0x93, 0xa2, 0x75, 0xd6, 0x8f, 0x01, 0x8e, 0x42, 0x8e, 0xd9, 0xb9, 0xeb, 0xe1, 0x18, 0xbd, 0x9b,
- 0xdf, 0xe9, 0xea, 0x64, 0x7d, 0xa0, 0x46, 0x42, 0x29, 0xc2, 0xce, 0xd1, 0x58, 0x03, 0xa8, 0xd9,
- 0x34, 0x11, 0xf9, 0xe0, 0x0d, 0xb3, 0xd2, 0xe7, 0x5a, 0xfa, 0x9c, 0x04, 0xda, 0x1a, 0x67, 0x1d,
- 0x9a, 0x1e, 0x32, 0x63, 0xa7, 0xfd, 0x3c, 0x80, 0x06, 0x31, 0x30, 0x1d, 0xd6, 0xb3, 0xa2, 0x33,
- 0x12, 0xeb, 0x53, 0xd8, 0x50, 0x9c, 0x14, 0x67, 0xc3, 0xe6, 0x0d, 0xa8, 0x31, 0xa3, 0x46, 0x29,
- 0x9b, 0x05, 0x69, 0x22, 0x8d, 0x13, 0xfe, 0x10, 0x2d, 0x6d, 0x66, 0x88, 0xf1, 0xc7, 0x06, 0x74,
- 0x05, 0xa2, 0xc0, 0xd3, 0xfa, 0x15, 0x6c, 0x3c, 0x0b, 0xc7, 0x24, 0xc4, 0x7b, 0xc7, 0xa7, 0x4f,
- 0x71, 0x1a, 0x78, 0x08, 0xaa, 0xa2, 0x40, 0x91, 0x82, 0xea, 0xb6, 0x5c, 0x8b, 0x97, 0x18, 0x9e,
- 0x39, 0x5e, 0x94, 0xc4, 0x7a, 0xf8, 0x52, 0x0b, 0xcf, 0xf6, 0xa2, 0x24, 0x16, 0x99, 0x54, 0x7c,
- 0x49, 0x69, 0x38, 0x9e, 0xc8, 0xe7, 0x58, 0xb7, 0x57, 0xbd, 0x28, 0x79, 0x16, 0x8e, 0x27, 0xd6,
- 0x0f, 0x65, 0xbb, 0x89, 0xb1, 0x6f, 0xbb, 0xa1, 0x4f, 0x83, 0x7d, 0x7c, 0x99, 0x93, 0x90, 0xb6,
- 0x36, 0x26, 0xec, 0xbe, 0x2d, 0x41, 0xeb, 0xf1, 0x10, 0x87, 0x7c, 0x1f, 0x73, 0x97, 0x8c, 0x65,
- 0xfb, 0x72, 0x89, 0x59, 0x4c, 0x68, 0xa8, 0xdf, 0xa7, 0xd9, 0x8a, 0xee, 0x93, 0x84, 0x84, 0x3b,
- 0xbe, 0x8b, 0x03, 0x1a, 0x4a, 0x2e, 0x75, 0x1b, 0x04, 0x68, 0x5f, 0x42, 0xd0, 0x9b, 0xd0, 0x51,
- 0xc3, 0x31, 0x67, 0xe4, 0x86, 0xfe, 0x18, 0x33, 0x33, 0x2c, 0x58, 0x53, 0xe0, 0x43, 0x0d, 0x45,
- 0x6f, 0xc1, 0xba, 0x7e, 0xb7, 0x19, 0x65, 0x55, 0x52, 0x76, 0x34, 0xbc, 0x40, 0x9a, 0x44, 0x11,
- 0x65, 0x3c, 0x76, 0x62, 0xec, 0x79, 0x34, 0x88, 0x74, 0xed, 0xdf, 0x31, 0xf0, 0x13, 0x05, 0xb6,
- 0x86, 0xb0, 0xf1, 0x44, 0xd8, 0xa9, 0x2d, 0xc9, 0xae, 0x70, 0x2d, 0xc0, 0x81, 0x73, 0x36, 0xa6,
- 0xde, 0x85, 0x23, 0x32, 0x81, 0xf6, 0xb0, 0xa8, 0x2e, 0x76, 0x05, 0xf0, 0x84, 0x7c, 0x23, 0xdb,
- 0x5c, 0x41, 0x35, 0xa2, 0x3c, 0x1a, 0x27, 0x43, 0x27, 0x62, 0xf4, 0x0c, 0x6b, 0x13, 0x3b, 0x01,
- 0x0e, 0x0e, 0x15, 0xfc, 0x58, 0x80, 0xad, 0xbf, 0x96, 0x60, 0xb3, 0x28, 0x49, 0xe7, 0xb5, 0x1d,
- 0xd8, 0x2c, 0x8a, 0xd2, 0xdf, 0x3a, 0x55, 0x4b, 0x75, 0xf3, 0x02, 0xd5, 0x57, 0xef, 0x43, 0x68,
- 0xcb, 0x89, 0xa9, 0xe3, 0x2b, 0x4e, 0xc5, 0x2f, 0x7c, 0xfe, 0x5e, 0xec, 0x96, 0x9b, 0xbf, 0xa5,
- 0x8f, 0xe1, 0x8e, 0x36, 0xdf, 0x99, 0x55, 0x5b, 0x3d, 0x88, 0x2d, 0x4d, 0xf0, 0x74, 0x4a, 0xfb,
- 0x2f, 0xa0, 0x97, 0x81, 0x76, 0x27, 0x12, 0x68, 0x7c, 0xf5, 0x2e, 0x6c, 0x4c, 0x19, 0xfb, 0xd8,
- 0xf7, 0x99, 0x0c, 0xc1, 0xaa, 0x3d, 0x0f, 0x65, 0x3d, 0x82, 0xdb, 0x27, 0x98, 0x2b, 0x6f, 0xb8,
- 0x5c, 0x97, 0xdd, 0x8a, 0xd9, 0x3a, 0x54, 0x4e, 0xb0, 0x27, 0x8d, 0xaf, 0xd8, 0x62, 0x29, 0x1e,
- 0xe0, 0x69, 0x8c, 0x3d, 0x69, 0x65, 0xc5, 0x96, 0x6b, 0xeb, 0x2f, 0x25, 0x58, 0xd5, 0xd9, 0x4c,
- 0x64, 0x53, 0x9f, 0x91, 0x4b, 0xcc, 0xf4, 0xd3, 0xd3, 0x3b, 0xd1, 0xfe, 0xab, 0x95, 0x43, 0x23,
- 0x4e, 0x68, 0x9a, 0x23, 0xdb, 0x0a, 0xfa, 0x4c, 0x01, 0xe5, 0x30, 0x4c, 0xce, 0x7a, 0x74, 0x5b,
- 0xa5, 0x77, 0x72, 0xa2, 0x15, 0x8b, 0xd8, 0x97, 0x39, 0xb1, 0x61, 0xeb, 0x9d, 0x78, 0xea, 0x86,
- 0xdf, 0x8a, 0xe4, 0x67, 0xb6, 0xe2, 0xa9, 0x07, 0x34, 0x09, 0xb9, 0x13, 0x51, 0x12, 0x72, 0x9d,
- 0x04, 0x41, 0x82, 0x8e, 0x05, 0xc4, 0xfa, 0x6d, 0x09, 0x6a, 0x6a, 0x20, 0x2c, 0x1a, 0xb9, 0xf4,
- 0x33, 0x52, 0x26, 0xf2, 0x93, 0x2c, 0x65, 0xa9, 0x4f, 0x87, 0x5c, 0x8b, 0x38, 0xbe, 0x0c, 0x54,
- 0x42, 0xd5, 0xaa, 0x5d, 0x06, 0x22, 0x93, 0x0a, 0xcb, 0xb2, 0xaf, 0x91, 0xc4, 0x2b, 0x15, 0xdb,
- 0x29, 0x54, 0x92, 0x2d, 0xd4, 0xd4, 0xfa, 0x85, 0xe8, 0x5f, 0xd3, 0x61, 0xe8, 0x3a, 0x54, 0x92,
- 0x54, 0x19, 0xb1, 0x14, 0x90, 0x61, 0xfa, 0x1d, 0x13, 0x4b, 0xf4, 0x00, 0xd6, 0x5c, 0xdf, 0x27,
- 0xe2, 0xb8, 0x3b, 0x7e, 0x42, 0xfc, 0x34, 0x48, 0x8b, 0x50, 0xeb, 0xef, 0x25, 0xe8, 0xec, 0xd1,
- 0x68, 0xf2, 0x13, 0x32, 0xc6, 0xb9, 0x0c, 0x22, 0x95, 0xd4, 0xa5, 0xa4, 0x58, 0x8b, 0xd2, 0xec,
- 0x9c, 0x8c, 0xb1, 0x0a, 0x2d, 0x75, 0xb3, 0x75, 0x01, 0x90, 0x61, 0x65, 0x90, 0xe9, 0x8c, 0xa9,
- 0xad, 0x90, 0x4f, 0xa9, 0x2f, 0x8b, 0x50, 0x9f, 0x30, 0x27, 0x9d, 0x28, 0xb5, 0xed, 0x55, 0x9f,
- 0x30, 0x89, 0xd2, 0x86, 0xac, 0xc8, 0xa1, 0x66, 0xde, 0x90, 0x9a, 0x82, 0x08, 0x43, 0xb6, 0xa0,
- 0x46, 0xcf, 0xcf, 0x63, 0xcc, 0x65, 0xb9, 0x58, 0xb1, 0xf5, 0x2e, 0x4d, 0x73, 0xf5, 0x5c, 0x9a,
- 0xbb, 0x05, 0x1b, 0x72, 0x7c, 0xfe, 0x9c, 0xb9, 0x1e, 0x09, 0x87, 0x26, 0x15, 0x6f, 0x02, 0x3a,
- 0xe1, 0x34, 0x2a, 0x42, 0x1f, 0xfe, 0x61, 0x5d, 0xe7, 0x44, 0xdd, 0x4b, 0xa2, 0x27, 0xd0, 0x99,
- 0xfa, 0x6f, 0x02, 0xe9, 0xe1, 0xc2, 0xfc, 0xbf, 0x2c, 0xfa, 0x5b, 0x03, 0xf5, 0x5f, 0xc7, 0xc0,
- 0xfc, 0xd7, 0x31, 0x38, 0x08, 0x22, 0x3e, 0x41, 0x07, 0xb0, 0x56, 0x9c, 0xe2, 0xa3, 0xbb, 0xe6,
- 0x7b, 0x3e, 0x67, 0xb6, 0xbf, 0x90, 0xcd, 0x13, 0xe8, 0x4c, 0x0d, 0xf4, 0x8d, 0x3e, 0xf3, 0xe7,
- 0xfc, 0x0b, 0x19, 0x3d, 0x82, 0x66, 0x6e, 0x82, 0x8f, 0x7a, 0x8a, 0xc9, 0xec, 0x50, 0x7f, 0x21,
- 0x83, 0x3d, 0x68, 0x17, 0x86, 0xea, 0xa8, 0xaf, 0xed, 0x99, 0x33, 0x69, 0x5f, 0xc8, 0x64, 0x17,
- 0x9a, 0xb9, 0xd9, 0xb6, 0xd1, 0x62, 0x76, 0x80, 0xde, 0xbf, 0x33, 0x07, 0xa3, 0x53, 0xef, 0x21,
- 0xb4, 0x0b, 0x93, 0x68, 0xa3, 0xc8, 0xbc, 0x29, 0x78, 0xff, 0xee, 0x5c, 0x9c, 0xe6, 0xf4, 0x04,
- 0x3a, 0x53, 0x73, 0x69, 0xe3, 0xdc, 0xf9, 0xe3, 0xea, 0x85, 0x66, 0x7d, 0x2e, 0x2f, 0x3b, 0xd7,
- 0x76, 0xe4, 0x2e, 0x7b, 0x76, 0x0a, 0xdd, 0x7f, 0x65, 0x3e, 0x52, 0x6b, 0x75, 0x00, 0x6b, 0xc5,
- 0x01, 0xb4, 0x61, 0x36, 0x77, 0x2c, 0xbd, 0xfc, 0xe5, 0x14, 0x66, 0xd1, 0xd9, 0xcb, 0x99, 0x37,
- 0xa2, 0x5e, 0xc8, 0xe8, 0x31, 0x80, 0x6e, 0x32, 0x7c, 0x12, 0xa6, 0x57, 0x36, 0xd3, 0xdc, 0xa4,
- 0x57, 0x36, 0xa7, 0x21, 0x79, 0x04, 0xa0, 0x7a, 0x03, 0x9f, 0x26, 0x1c, 0xdd, 0x36, 0x6a, 0x4c,
- 0x35, 0x24, 0xfd, 0xde, 0x2c, 0x62, 0x86, 0x01, 0x66, 0xec, 0x3a, 0x0c, 0x3e, 0x03, 0xc8, 0x7a,
- 0x0e, 0xc3, 0x60, 0xa6, 0x0b, 0x59, 0xe2, 0x83, 0x56, 0xbe, 0xc3, 0x40, 0xda, 0xd6, 0x39, 0x5d,
- 0xc7, 0x12, 0x16, 0x9d, 0xa9, 0x02, 0xb6, 0xf8, 0xd8, 0xa6, 0xeb, 0xda, 0xfe, 0x4c, 0x11, 0x8b,
- 0x3e, 0x84, 0x56, 0xbe, 0x72, 0x35, 0x5a, 0xcc, 0xa9, 0x66, 0xfb, 0x85, 0xea, 0x15, 0x3d, 0x82,
- 0xb5, 0x62, 0xd5, 0x8a, 0x72, 0x71, 0x31, 0x53, 0xcb, 0xf6, 0xf5, 0x50, 0x24, 0x47, 0xfe, 0x3e,
- 0x40, 0x56, 0xdd, 0x1a, 0xf7, 0xcd, 0xd4, 0xbb, 0x53, 0x52, 0x1f, 0x43, 0x2b, 0x9f, 0x89, 0x8d,
- 0xba, 0x73, 0xb2, 0xf3, 0xb2, 0xac, 0x95, 0xcb, 0xda, 0xe6, 0xf1, 0xcd, 0x26, 0xf2, 0x65, 0x59,
- 0xab, 0xd0, 0x9c, 0x99, 0x64, 0x31, 0xaf, 0x63, 0x5b, 0x96, 0xcb, 0x8b, 0x4d, 0x90, 0x71, 0xdf,
- 0xdc, 0xd6, 0x68, 0xd9, 0x23, 0xca, 0x77, 0x03, 0xc6, 0x1f, 0x73, 0x3a, 0x84, 0x97, 0x04, 0x75,
- 0xbe, 0xe2, 0xcf, 0x05, 0xf5, 0x9c, 0x46, 0x60, 0x21, 0xa3, 0x43, 0xe8, 0x3c, 0x31, 0xc5, 0x9c,
- 0x2e, 0x34, 0xb5, 0x3a, 0x73, 0x0a, 0xeb, 0x7e, 0x7f, 0x1e, 0x4a, 0x47, 0xd6, 0xe7, 0xd0, 0x9d,
- 0x29, 0x32, 0xd1, 0xbd, 0x74, 0x76, 0x37, 0xb7, 0xfa, 0x5c, 0xa8, 0xd6, 0x11, 0xac, 0x4f, 0xd7,
- 0x98, 0xe8, 0x55, 0x7d, 0xe9, 0xf3, 0x6b, 0xcf, 0x85, 0xac, 0x3e, 0x86, 0xba, 0xa9, 0x69, 0x90,
- 0x9e, 0x91, 0x4e, 0xd5, 0x38, 0x8b, 0x8e, 0xee, 0xb6, 0xbe, 0xfd, 0xee, 0x5e, 0xe9, 0x1f, 0xdf,
- 0xdd, 0x2b, 0xfd, 0xfb, 0xbb, 0x7b, 0xa5, 0xb3, 0x9a, 0xc4, 0xbe, 0xff, 0xdf, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0x92, 0x90, 0xd6, 0x05, 0x2b, 0x21, 0x00, 0x00,
+ // 2862 bytes of a gzipped FileDescriptorProto
+ 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x39, 0x4b, 0x6f, 0x1c, 0xc7,
+ 0xd1, 0xd8, 0x07, 0x97, 0xbb, 0xb5, 0x2f, 0x6e, 0x93, 0xa2, 0x56, 0x2b, 0x5b, 0x9f, 0x3c, 0xb6,
+ 0x65, 0xfa, 0x73, 0xbc, 0xb4, 0x65, 0x23, 0x7e, 0xc1, 0x11, 0xc4, 0x47, 0x44, 0xc6, 0x56, 0xc4,
+ 0x0c, 0x45, 0x38, 0x40, 0x10, 0x0c, 0x86, 0x33, 0xcd, 0x65, 0x9b, 0x3b, 0xd3, 0xe3, 0x9e, 0x1e,
+ 0x8a, 0xeb, 0x00, 0x39, 0x26, 0xb7, 0x5c, 0x02, 0xe4, 0x96, 0x3f, 0x10, 0xe4, 0x96, 0x63, 0xae,
+ 0x39, 0x18, 0x39, 0xe5, 0x17, 0x04, 0x81, 0x7f, 0x42, 0x7e, 0x41, 0xd0, 0xaf, 0x79, 0xec, 0x0e,
+ 0x29, 0x84, 0x20, 0x90, 0xcb, 0xa2, 0xab, 0xba, 0xba, 0x5e, 0xdd, 0x55, 0x53, 0x55, 0x0b, 0x6d,
+ 0x77, 0x82, 0x43, 0x3e, 0x8e, 0x18, 0xe5, 0x14, 0xd5, 0x27, 0x2c, 0xf2, 0x46, 0x2d, 0xea, 0x11,
+ 0x85, 0x18, 0xfd, 0x70, 0x42, 0xf8, 0x69, 0x72, 0x3c, 0xf6, 0x68, 0xb0, 0x79, 0xe6, 0x72, 0xf7,
+ 0x5d, 0x8f, 0x86, 0xdc, 0x25, 0x21, 0x66, 0xf1, 0xa6, 0x3c, 0xb8, 0x19, 0x9d, 0x4d, 0x36, 0xf9,
+ 0x2c, 0xc2, 0xb1, 0xfa, 0xd5, 0xe7, 0xee, 0x4e, 0x28, 0x9d, 0x4c, 0xf1, 0xa6, 0x84, 0x8e, 0x93,
+ 0x93, 0x4d, 0x1c, 0x44, 0x7c, 0xa6, 0x36, 0xad, 0x3f, 0x56, 0x61, 0x7d, 0x9b, 0x61, 0x97, 0xe3,
+ 0x6d, 0xc3, 0xcd, 0xc6, 0xdf, 0x24, 0x38, 0xe6, 0xe8, 0x35, 0xe8, 0xa4, 0x12, 0x1c, 0xe2, 0x0f,
+ 0x2b, 0xf7, 0x2b, 0x1b, 0x2d, 0xbb, 0x9d, 0xe2, 0xf6, 0x7d, 0x74, 0x1b, 0x96, 0xf1, 0x05, 0xf6,
+ 0xc4, 0x6e, 0x55, 0xee, 0x36, 0x04, 0xb8, 0xef, 0xa3, 0xf7, 0xa1, 0x1d, 0x73, 0x46, 0xc2, 0x89,
+ 0x93, 0xc4, 0x98, 0x0d, 0x6b, 0xf7, 0x2b, 0x1b, 0xed, 0x87, 0x2b, 0x63, 0x61, 0xd2, 0xf8, 0x50,
+ 0x6e, 0x1c, 0xc5, 0x98, 0xd9, 0x10, 0xa7, 0x6b, 0xf4, 0x00, 0x96, 0x7d, 0x7c, 0x4e, 0x3c, 0x1c,
+ 0x0f, 0xeb, 0xf7, 0x6b, 0x1b, 0xed, 0x87, 0x1d, 0x45, 0xbe, 0x23, 0x91, 0xb6, 0xd9, 0x44, 0x6f,
+ 0x43, 0x33, 0xe6, 0x94, 0xb9, 0x13, 0x1c, 0x0f, 0x97, 0x24, 0x61, 0xd7, 0xf0, 0x95, 0x58, 0x3b,
+ 0xdd, 0x46, 0xaf, 0x40, 0xed, 0xd9, 0xf6, 0xfe, 0xb0, 0x21, 0xa5, 0x83, 0xa6, 0x8a, 0xb0, 0x67,
+ 0x0b, 0x34, 0x7a, 0x1d, 0xba, 0xb1, 0x1b, 0xfa, 0xc7, 0xf4, 0xc2, 0x89, 0x88, 0x1f, 0xc6, 0xc3,
+ 0xe5, 0xfb, 0x95, 0x8d, 0xa6, 0xdd, 0xd1, 0xc8, 0x03, 0x81, 0xb3, 0x3e, 0x85, 0x5b, 0x87, 0xdc,
+ 0x65, 0xfc, 0x1a, 0xde, 0xb1, 0x8e, 0x60, 0xdd, 0xc6, 0x01, 0x3d, 0xbf, 0x96, 0x6b, 0x87, 0xb0,
+ 0xcc, 0x49, 0x80, 0x69, 0xc2, 0xa5, 0x6b, 0xbb, 0xb6, 0x01, 0xad, 0x3f, 0x57, 0x00, 0xed, 0x5e,
+ 0x60, 0xef, 0x80, 0x51, 0x0f, 0xc7, 0xf1, 0xff, 0xe8, 0xba, 0xde, 0x82, 0xe5, 0x48, 0x29, 0x30,
+ 0xac, 0x4b, 0x72, 0x7d, 0x0b, 0x46, 0x2b, 0xb3, 0x6b, 0x7d, 0x0d, 0x6b, 0x87, 0x64, 0x12, 0xba,
+ 0xd3, 0x1b, 0xd4, 0x77, 0x1d, 0x1a, 0xb1, 0xe4, 0x29, 0x55, 0xed, 0xda, 0x1a, 0xb2, 0x0e, 0x00,
+ 0x7d, 0xe5, 0x12, 0x7e, 0x73, 0x92, 0xac, 0x77, 0x61, 0xb5, 0xc0, 0x31, 0x8e, 0x68, 0x18, 0x63,
+ 0xa9, 0x00, 0x77, 0x79, 0x12, 0x4b, 0x66, 0x4b, 0xb6, 0x86, 0x2c, 0x0c, 0x6b, 0x5f, 0x92, 0xd8,
+ 0x90, 0xe3, 0xff, 0x46, 0x85, 0x75, 0x68, 0x9c, 0x50, 0x16, 0xb8, 0xdc, 0x68, 0xa0, 0x20, 0x84,
+ 0xa0, 0xee, 0xb2, 0x49, 0x3c, 0xac, 0xdd, 0xaf, 0x6d, 0xb4, 0x6c, 0xb9, 0x16, 0xaf, 0x72, 0x4e,
+ 0x8c, 0xd6, 0xeb, 0x35, 0xe8, 0x68, 0xbf, 0x3b, 0x53, 0x12, 0x73, 0x29, 0xa7, 0x63, 0xb7, 0x35,
+ 0x4e, 0x9c, 0xb1, 0x28, 0xac, 0x1f, 0x45, 0xfe, 0x35, 0x03, 0xfe, 0x21, 0xb4, 0x18, 0x8e, 0x69,
+ 0xc2, 0x44, 0x98, 0x56, 0xe5, 0xbd, 0xaf, 0xa9, 0x7b, 0xff, 0x92, 0x84, 0xc9, 0x85, 0x6d, 0xf6,
+ 0xec, 0x8c, 0x4c, 0x87, 0x10, 0x8f, 0xaf, 0x13, 0x42, 0x9f, 0xc2, 0xad, 0x03, 0x37, 0x89, 0xaf,
+ 0xa3, 0xab, 0xf5, 0x99, 0x08, 0xbf, 0x38, 0x09, 0xae, 0x75, 0xf8, 0x4f, 0x15, 0x68, 0x6e, 0x47,
+ 0xc9, 0x51, 0xec, 0x4e, 0x30, 0xfa, 0x3f, 0x68, 0x73, 0xca, 0xdd, 0xa9, 0x93, 0x08, 0x50, 0x92,
+ 0xd7, 0x6d, 0x90, 0x28, 0x45, 0x20, 0xdc, 0x8e, 0x99, 0x17, 0x25, 0x9a, 0xa2, 0x7a, 0xbf, 0xb6,
+ 0x51, 0xb7, 0xdb, 0x0a, 0xa7, 0x48, 0xc6, 0xb0, 0x2a, 0xf7, 0x1c, 0x12, 0x3a, 0x67, 0x98, 0x85,
+ 0x78, 0x1a, 0x50, 0x1f, 0xcb, 0xf7, 0x5b, 0xb7, 0x07, 0x72, 0x6b, 0x3f, 0xfc, 0x22, 0xdd, 0x40,
+ 0xff, 0x0f, 0x83, 0x94, 0x5e, 0x04, 0xa5, 0xa4, 0xae, 0x4b, 0xea, 0xbe, 0xa6, 0x3e, 0xd2, 0x68,
+ 0xeb, 0xd7, 0xd0, 0x7b, 0x7e, 0xca, 0x28, 0xe7, 0x53, 0x12, 0x4e, 0x76, 0x5c, 0xee, 0x8a, 0xec,
+ 0x11, 0x61, 0x46, 0xa8, 0x1f, 0x6b, 0x6d, 0x0d, 0x88, 0xde, 0x81, 0x01, 0x57, 0xb4, 0xd8, 0x77,
+ 0x0c, 0x4d, 0x55, 0xd2, 0xac, 0xa4, 0x1b, 0x07, 0x9a, 0xf8, 0x4d, 0xe8, 0x65, 0xc4, 0x22, 0xff,
+ 0x68, 0x7d, 0xbb, 0x29, 0xf6, 0x39, 0x09, 0xb0, 0x75, 0x2e, 0x7d, 0x25, 0x2f, 0x19, 0xbd, 0x03,
+ 0xad, 0xcc, 0x0f, 0x15, 0xf9, 0x42, 0x7a, 0xea, 0x85, 0x18, 0x77, 0xda, 0xcd, 0xd4, 0x29, 0x9f,
+ 0x43, 0x9f, 0xa7, 0x8a, 0x3b, 0xbe, 0xcb, 0xdd, 0xe2, 0xa3, 0x2a, 0x5a, 0x65, 0xf7, 0x78, 0x01,
+ 0xb6, 0x3e, 0x83, 0xd6, 0x01, 0xf1, 0x63, 0x25, 0x78, 0x08, 0xcb, 0x5e, 0xc2, 0x18, 0x0e, 0xb9,
+ 0x31, 0x59, 0x83, 0x68, 0x0d, 0x96, 0xa6, 0x24, 0x20, 0x5c, 0x9b, 0xa9, 0x00, 0x8b, 0x02, 0x3c,
+ 0xc5, 0x01, 0x65, 0x33, 0xe9, 0xb0, 0x35, 0x58, 0xca, 0x5f, 0xae, 0x02, 0xd0, 0x5d, 0x68, 0x05,
+ 0xee, 0x45, 0x7a, 0xa9, 0x62, 0xa7, 0x19, 0xb8, 0x17, 0x4a, 0xf9, 0x21, 0x2c, 0x9f, 0xb8, 0x64,
+ 0xea, 0x85, 0x5c, 0x7b, 0xc5, 0x80, 0x99, 0xc0, 0x7a, 0x5e, 0xe0, 0xdf, 0xaa, 0xd0, 0x56, 0x12,
+ 0x95, 0xc2, 0x6b, 0xb0, 0xe4, 0xb9, 0xde, 0x69, 0x2a, 0x52, 0x02, 0xe8, 0x81, 0x51, 0xa4, 0x9a,
+ 0x4f, 0xc2, 0x99, 0xa6, 0x46, 0xb5, 0x4d, 0x80, 0xf8, 0x85, 0x1b, 0x69, 0xdd, 0x6a, 0x97, 0x10,
+ 0xb7, 0x04, 0x8d, 0x52, 0xf7, 0x03, 0xe8, 0xa8, 0x77, 0xa7, 0x8f, 0xd4, 0x2f, 0x39, 0xd2, 0x56,
+ 0x54, 0xea, 0xd0, 0xeb, 0xd0, 0x4d, 0x62, 0xec, 0x9c, 0x12, 0xcc, 0x5c, 0xe6, 0x9d, 0xce, 0x86,
+ 0x4b, 0xea, 0x1b, 0x99, 0xc4, 0x78, 0xcf, 0xe0, 0xd0, 0x43, 0x58, 0x12, 0xe9, 0x2f, 0x1e, 0x36,
+ 0xe4, 0xe7, 0xf8, 0x95, 0x3c, 0x4b, 0x69, 0xea, 0x58, 0xfe, 0xee, 0x86, 0x9c, 0xcd, 0x6c, 0x45,
+ 0x3a, 0xfa, 0x18, 0x20, 0x43, 0xa2, 0x15, 0xa8, 0x9d, 0xe1, 0x99, 0x8e, 0x43, 0xb1, 0x14, 0xce,
+ 0x39, 0x77, 0xa7, 0x89, 0xf1, 0xba, 0x02, 0x3e, 0xad, 0x7e, 0x5c, 0xb1, 0x3c, 0xe8, 0x6f, 0x4d,
+ 0xcf, 0x08, 0xcd, 0x1d, 0x5f, 0x83, 0xa5, 0xc0, 0xfd, 0x9a, 0x32, 0xe3, 0x49, 0x09, 0x48, 0x2c,
+ 0x09, 0x29, 0x33, 0x2c, 0x24, 0x80, 0x7a, 0x50, 0xa5, 0x91, 0xf4, 0x57, 0xcb, 0xae, 0xd2, 0x28,
+ 0x13, 0x54, 0xcf, 0x09, 0xb2, 0xfe, 0x59, 0x07, 0xc8, 0xa4, 0x20, 0x1b, 0x46, 0x84, 0x3a, 0x31,
+ 0x66, 0xa2, 0x04, 0x71, 0x8e, 0x67, 0x1c, 0xc7, 0x0e, 0xc3, 0x5e, 0xc2, 0x62, 0x72, 0x2e, 0xee,
+ 0x4f, 0x98, 0x7d, 0x4b, 0x99, 0x3d, 0xa7, 0x9b, 0x7d, 0x9b, 0xd0, 0x43, 0x75, 0x6e, 0x4b, 0x1c,
+ 0xb3, 0xcd, 0x29, 0xb4, 0x0f, 0xb7, 0x32, 0x9e, 0x7e, 0x8e, 0x5d, 0xf5, 0x2a, 0x76, 0xab, 0x29,
+ 0x3b, 0x3f, 0x63, 0xb5, 0x0b, 0xab, 0x84, 0x3a, 0xdf, 0x24, 0x38, 0x29, 0x30, 0xaa, 0x5d, 0xc5,
+ 0x68, 0x40, 0xe8, 0xcf, 0xe4, 0x81, 0x8c, 0xcd, 0x01, 0xdc, 0xc9, 0x59, 0x29, 0xc2, 0x3d, 0xc7,
+ 0xac, 0x7e, 0x15, 0xb3, 0xf5, 0x54, 0x2b, 0x91, 0x0f, 0x32, 0x8e, 0x3f, 0x81, 0x75, 0x42, 0x9d,
+ 0x17, 0x2e, 0xe1, 0xf3, 0xec, 0x96, 0x5e, 0x62, 0xa4, 0xf8, 0xe8, 0x16, 0x79, 0x29, 0x23, 0x03,
+ 0xcc, 0x26, 0x05, 0x23, 0x1b, 0x2f, 0x31, 0xf2, 0xa9, 0x3c, 0x90, 0xb1, 0x79, 0x0c, 0x03, 0x42,
+ 0xe7, 0xb5, 0x59, 0xbe, 0x8a, 0x49, 0x9f, 0xd0, 0xa2, 0x26, 0x5b, 0x30, 0x88, 0xb1, 0xc7, 0x29,
+ 0xcb, 0x3f, 0x82, 0xe6, 0x55, 0x2c, 0x56, 0x34, 0x7d, 0xca, 0xc3, 0xfa, 0x05, 0x74, 0xf6, 0x92,
+ 0x09, 0xe6, 0xd3, 0xe3, 0x34, 0x19, 0xdc, 0x58, 0xfe, 0xb1, 0xfe, 0x5d, 0x85, 0xf6, 0xf6, 0x84,
+ 0xd1, 0x24, 0x2a, 0xe4, 0x64, 0x15, 0xa4, 0xf3, 0x39, 0x59, 0x92, 0xc8, 0x9c, 0xac, 0x88, 0x3f,
+ 0x84, 0x4e, 0x20, 0x43, 0x57, 0xd3, 0xab, 0x3c, 0x34, 0x58, 0x08, 0x6a, 0xbb, 0x1d, 0xe4, 0x92,
+ 0xd9, 0x18, 0x20, 0x22, 0x7e, 0xac, 0xcf, 0xa8, 0x74, 0xd4, 0xd7, 0x15, 0xa1, 0x49, 0xd1, 0x76,
+ 0x2b, 0x4a, 0xb3, 0xf5, 0xfb, 0xd0, 0x3e, 0x16, 0x4e, 0xd2, 0x07, 0x0a, 0xc9, 0x28, 0xf3, 0x9e,
+ 0x0d, 0xc7, 0x59, 0x10, 0xee, 0x41, 0xf7, 0x54, 0xb9, 0x4c, 0x1f, 0x52, 0x6f, 0xe8, 0x75, 0x6d,
+ 0x49, 0x66, 0xef, 0x38, 0xef, 0x59, 0x75, 0x01, 0x9d, 0xd3, 0x1c, 0x6a, 0x74, 0x08, 0x83, 0x05,
+ 0x92, 0x92, 0x1c, 0xb4, 0x91, 0xcf, 0x41, 0xed, 0x87, 0x48, 0x09, 0xca, 0x9f, 0xcc, 0xe7, 0xa5,
+ 0xdf, 0x55, 0xa1, 0xf3, 0x53, 0xcc, 0x5f, 0x50, 0x76, 0xa6, 0xf4, 0x45, 0x50, 0x0f, 0xdd, 0x00,
+ 0x6b, 0x8e, 0x72, 0x8d, 0xee, 0x40, 0x93, 0x5d, 0xa8, 0x04, 0xa2, 0xef, 0x73, 0x99, 0x5d, 0xc8,
+ 0xc4, 0x80, 0x5e, 0x05, 0x60, 0x17, 0x4e, 0xe4, 0x7a, 0x67, 0x58, 0x7b, 0xb0, 0x6e, 0xb7, 0xd8,
+ 0xc5, 0x81, 0x42, 0x88, 0xa7, 0xc0, 0x2e, 0x1c, 0xcc, 0x18, 0x65, 0xb1, 0xce, 0x55, 0x4d, 0x76,
+ 0xb1, 0x2b, 0x61, 0x7d, 0xd6, 0x67, 0x34, 0x8a, 0xb0, 0x2f, 0x73, 0xb4, 0x3c, 0xbb, 0xa3, 0x10,
+ 0x42, 0x2a, 0x37, 0x52, 0x1b, 0x4a, 0x2a, 0xcf, 0xa4, 0xf2, 0x4c, 0xea, 0xb2, 0x3a, 0xc9, 0xf3,
+ 0x52, 0x79, 0x2a, 0xb5, 0xa9, 0xa4, 0xf2, 0x9c, 0x54, 0x9e, 0x49, 0x6d, 0x99, 0xb3, 0x5a, 0xaa,
+ 0xf5, 0xdb, 0x0a, 0xac, 0xcf, 0x17, 0x7e, 0xba, 0x4c, 0xfd, 0x10, 0x3a, 0x9e, 0xbc, 0xaf, 0xc2,
+ 0x9b, 0x1c, 0x2c, 0xdc, 0xa4, 0xdd, 0xf6, 0x72, 0xcf, 0xf8, 0x23, 0xe8, 0x86, 0xca, 0xc1, 0xe9,
+ 0xd3, 0xac, 0x65, 0xf7, 0x92, 0xf7, 0xbd, 0xdd, 0x09, 0x73, 0x90, 0xe5, 0x03, 0xfa, 0x8a, 0x11,
+ 0x8e, 0x0f, 0x39, 0xc3, 0x6e, 0x70, 0x13, 0x0d, 0x08, 0x82, 0xba, 0xac, 0x56, 0x6a, 0xb2, 0xbe,
+ 0x96, 0x6b, 0xeb, 0x2d, 0x58, 0x2d, 0x48, 0xd1, 0xb6, 0xae, 0x40, 0x6d, 0x8a, 0x43, 0xc9, 0xbd,
+ 0x6b, 0x8b, 0xa5, 0xe5, 0xc2, 0xc0, 0xc6, 0xae, 0x7f, 0x73, 0xda, 0x68, 0x11, 0xb5, 0x4c, 0xc4,
+ 0x06, 0xa0, 0xbc, 0x08, 0xad, 0x8a, 0xd1, 0xba, 0x92, 0xd3, 0xfa, 0x19, 0x0c, 0xb6, 0xa7, 0x34,
+ 0xc6, 0x87, 0xdc, 0x27, 0xe1, 0x4d, 0x74, 0x4c, 0xbf, 0x82, 0xd5, 0xe7, 0x7c, 0xf6, 0x95, 0x60,
+ 0x16, 0x93, 0x6f, 0xf1, 0x0d, 0xd9, 0xc7, 0xe8, 0x0b, 0x63, 0x1f, 0xa3, 0x2f, 0x44, 0xb3, 0xe4,
+ 0xd1, 0x69, 0x12, 0x84, 0x32, 0x14, 0xba, 0xb6, 0x86, 0xac, 0x2d, 0xe8, 0xa8, 0x1a, 0xfa, 0x29,
+ 0xf5, 0x93, 0x29, 0x2e, 0x8d, 0xc1, 0x7b, 0x00, 0x91, 0xcb, 0xdc, 0x00, 0x73, 0xcc, 0xd4, 0x1b,
+ 0x6a, 0xd9, 0x39, 0x8c, 0xf5, 0x87, 0x2a, 0xac, 0xa9, 0x91, 0xc8, 0xa1, 0x9a, 0x04, 0x18, 0x13,
+ 0x46, 0xd0, 0x3c, 0xa5, 0x31, 0xcf, 0x31, 0x4c, 0x61, 0xa1, 0xa2, 0x1f, 0x1a, 0x6e, 0x62, 0x59,
+ 0x98, 0x53, 0xd4, 0xae, 0x9e, 0x53, 0x2c, 0x4c, 0x22, 0xea, 0x8b, 0x93, 0x08, 0x11, 0x6d, 0x86,
+ 0x88, 0xa8, 0x18, 0x6f, 0xd9, 0x2d, 0x8d, 0xd9, 0xf7, 0xd1, 0x03, 0xe8, 0x4f, 0x84, 0x96, 0xce,
+ 0x29, 0xa5, 0x67, 0x4e, 0xe4, 0xf2, 0x53, 0x19, 0xea, 0x2d, 0xbb, 0x2b, 0xd1, 0x7b, 0x94, 0x9e,
+ 0x1d, 0xb8, 0xfc, 0x14, 0x7d, 0x02, 0x3d, 0x5d, 0x06, 0x06, 0xd2, 0x45, 0xb1, 0xfe, 0xf8, 0xe9,
+ 0x28, 0xca, 0x7b, 0xcf, 0xee, 0x9e, 0xe5, 0xa0, 0xd8, 0xba, 0x0d, 0xb7, 0x76, 0x70, 0xcc, 0x19,
+ 0x9d, 0x15, 0x1d, 0x63, 0xfd, 0x08, 0x60, 0x3f, 0xe4, 0x98, 0x9d, 0xb8, 0x1e, 0x8e, 0xd1, 0x7b,
+ 0x79, 0x48, 0x17, 0x47, 0x2b, 0x63, 0x35, 0x91, 0x4a, 0x37, 0xec, 0x1c, 0x8d, 0x35, 0x86, 0x86,
+ 0x4d, 0x13, 0x91, 0x8e, 0xde, 0x30, 0x2b, 0x7d, 0xae, 0xa3, 0xcf, 0x49, 0xa4, 0xad, 0xf7, 0xac,
+ 0x3d, 0xd3, 0xc2, 0x66, 0xec, 0xf4, 0x15, 0x8d, 0xa1, 0x45, 0x0c, 0x4e, 0x67, 0x95, 0x45, 0xd1,
+ 0x19, 0x89, 0xf5, 0x19, 0xac, 0x2a, 0x4e, 0x8a, 0xb3, 0x61, 0xf3, 0x06, 0x34, 0x98, 0x51, 0xa3,
+ 0x92, 0x8d, 0xa2, 0x34, 0x91, 0xde, 0x13, 0xfe, 0x10, 0x1d, 0x75, 0x66, 0x88, 0xf1, 0xc7, 0x2a,
+ 0x0c, 0xc4, 0x46, 0x81, 0xa7, 0xf5, 0x4b, 0x58, 0x7d, 0x16, 0x4e, 0x49, 0x88, 0xb7, 0x0f, 0x8e,
+ 0x9e, 0xe2, 0x34, 0xee, 0x11, 0xd4, 0x45, 0x7d, 0x24, 0x05, 0x35, 0x6d, 0xb9, 0x16, 0x81, 0x10,
+ 0x1e, 0x3b, 0x5e, 0x94, 0xc4, 0x7a, 0xf6, 0xd3, 0x08, 0x8f, 0xb7, 0xa3, 0x24, 0x16, 0x89, 0x5c,
+ 0x7c, 0xc8, 0x69, 0x38, 0x9d, 0xc9, 0x68, 0x68, 0xda, 0xcb, 0x5e, 0x94, 0x3c, 0x0b, 0xa7, 0x33,
+ 0xeb, 0x07, 0xb2, 0xdb, 0xc5, 0xd8, 0xb7, 0xdd, 0xd0, 0xa7, 0xc1, 0x0e, 0x3e, 0xcf, 0x49, 0x48,
+ 0x3b, 0x2b, 0x13, 0xf5, 0xdf, 0x55, 0xa0, 0xf3, 0x78, 0x82, 0x43, 0xbe, 0x83, 0xb9, 0x4b, 0xa6,
+ 0xb2, 0x7b, 0x3a, 0xc7, 0x2c, 0x26, 0x34, 0xd4, 0x4f, 0xdb, 0x80, 0xa2, 0xf9, 0x25, 0x21, 0xe1,
+ 0x8e, 0xef, 0xe2, 0x80, 0x86, 0x92, 0x4b, 0xd3, 0x06, 0x81, 0xda, 0x91, 0x18, 0xf4, 0x16, 0xf4,
+ 0xd5, 0x6c, 0xce, 0x39, 0x75, 0x43, 0x7f, 0x2a, 0x82, 0x4a, 0xcd, 0x2a, 0x7a, 0x0a, 0xbd, 0xa7,
+ 0xb1, 0xe8, 0x6d, 0x58, 0xd1, 0x4f, 0x3e, 0xa3, 0xac, 0x4b, 0xca, 0xbe, 0xc6, 0x17, 0x48, 0x93,
+ 0x28, 0xa2, 0x8c, 0xc7, 0x4e, 0x8c, 0x3d, 0x8f, 0x06, 0x91, 0x6e, 0x3d, 0xfa, 0x06, 0x7f, 0xa8,
+ 0xd0, 0xd6, 0x04, 0x56, 0x9f, 0x08, 0x3b, 0xb5, 0x25, 0xd9, 0x15, 0xf6, 0x02, 0x1c, 0x38, 0xc7,
+ 0x53, 0xea, 0x9d, 0x39, 0x22, 0x11, 0x69, 0x0f, 0x8b, 0xe2, 0x66, 0x4b, 0x20, 0x0f, 0xc9, 0xb7,
+ 0xb2, 0xcb, 0x16, 0x54, 0xa7, 0x94, 0x47, 0xd3, 0x64, 0xe2, 0x44, 0x8c, 0x1e, 0x63, 0x6d, 0x62,
+ 0x3f, 0xc0, 0xc1, 0x9e, 0xc2, 0x1f, 0x08, 0xb4, 0xf5, 0xd7, 0x0a, 0xac, 0x15, 0x25, 0xe9, 0xb4,
+ 0xba, 0x09, 0x6b, 0x45, 0x51, 0xfa, 0x53, 0xab, 0x4a, 0xb9, 0x41, 0x5e, 0xa0, 0xfa, 0xe8, 0x7e,
+ 0x04, 0x5d, 0x39, 0xb0, 0x75, 0x7c, 0xc5, 0xa9, 0x58, 0x60, 0xe4, 0xef, 0xc5, 0xee, 0xb8, 0xf9,
+ 0x5b, 0xfa, 0x04, 0xee, 0x68, 0xf3, 0x9d, 0x45, 0xb5, 0xd5, 0x83, 0x58, 0xd7, 0x04, 0x4f, 0xe7,
+ 0xb4, 0xff, 0x12, 0x86, 0x19, 0x6a, 0x6b, 0x26, 0x91, 0xc6, 0x57, 0xef, 0xc1, 0xea, 0x9c, 0xb1,
+ 0x8f, 0x7d, 0x9f, 0xc9, 0x10, 0xac, 0xdb, 0x65, 0x5b, 0xd6, 0x23, 0xb8, 0x7d, 0x88, 0xb9, 0xf2,
+ 0x86, 0xcb, 0x75, 0xd5, 0xaf, 0x98, 0xad, 0x40, 0xed, 0x10, 0x7b, 0xd2, 0xf8, 0x9a, 0x2d, 0x96,
+ 0xe2, 0x01, 0x1e, 0xc5, 0xd8, 0x93, 0x56, 0xd6, 0x6c, 0xb9, 0xb6, 0xfe, 0x52, 0x81, 0x65, 0x9d,
+ 0x08, 0x45, 0x32, 0xf7, 0x19, 0x39, 0xc7, 0x4c, 0x3f, 0x3d, 0x0d, 0xa1, 0x37, 0xa1, 0xa7, 0x56,
+ 0x0e, 0x8d, 0x38, 0xa1, 0x69, 0x7a, 0xed, 0x2a, 0xec, 0x33, 0x85, 0x94, 0xb3, 0x38, 0x39, 0x6a,
+ 0xd2, 0x5d, 0x9d, 0x86, 0xe4, 0x40, 0x2d, 0x16, 0xb1, 0x2f, 0xd3, 0x69, 0xcb, 0xd6, 0x90, 0x78,
+ 0xea, 0x86, 0xdf, 0x92, 0xe4, 0x67, 0x40, 0xf1, 0xd4, 0x03, 0x9a, 0x84, 0xdc, 0x89, 0x28, 0x09,
+ 0xb9, 0xce, 0x9f, 0x20, 0x51, 0x07, 0x02, 0x63, 0xfd, 0xa6, 0x02, 0x0d, 0x35, 0x8f, 0x16, 0x7d,
+ 0x64, 0xfa, 0x15, 0xab, 0x12, 0x59, 0x11, 0x48, 0x59, 0xea, 0xcb, 0x25, 0xd7, 0x22, 0x8e, 0xcf,
+ 0x03, 0x95, 0x8b, 0xb5, 0x6a, 0xe7, 0x81, 0x4c, 0xc2, 0x6f, 0x42, 0x2f, 0xfb, 0x18, 0xca, 0x7d,
+ 0xa5, 0x62, 0x37, 0xc5, 0x4a, 0xb2, 0x4b, 0x35, 0xb5, 0x7e, 0x2e, 0xda, 0xe7, 0x74, 0x16, 0xbb,
+ 0x02, 0xb5, 0x24, 0x55, 0x46, 0x2c, 0x05, 0x66, 0x92, 0x7e, 0x46, 0xc5, 0x12, 0x3d, 0x80, 0x9e,
+ 0xeb, 0xfb, 0x44, 0x1c, 0x77, 0xa7, 0x4f, 0x88, 0x9f, 0x06, 0x69, 0x11, 0x6b, 0xfd, 0xbd, 0x02,
+ 0xfd, 0x6d, 0x1a, 0xcd, 0x7e, 0x4c, 0xa6, 0x38, 0x97, 0x41, 0xa4, 0x92, 0xfa, 0x2b, 0x2a, 0xd6,
+ 0xa2, 0x32, 0x3c, 0x21, 0x53, 0xac, 0x42, 0x4b, 0xdd, 0x6c, 0x53, 0x20, 0x64, 0x58, 0x99, 0xcd,
+ 0x74, 0xc4, 0xd5, 0x55, 0x9b, 0x4f, 0xa9, 0x2f, 0x6b, 0x60, 0x9f, 0x30, 0x27, 0x1d, 0x68, 0x75,
+ 0xed, 0x65, 0x9f, 0x30, 0xb9, 0xa5, 0x0d, 0x59, 0x92, 0x33, 0xd5, 0xbc, 0x21, 0x0d, 0x85, 0x11,
+ 0x86, 0xac, 0x43, 0x83, 0x9e, 0x9c, 0xc4, 0x98, 0xcb, 0x6a, 0xb5, 0x66, 0x6b, 0x28, 0x4d, 0x73,
+ 0xcd, 0x5c, 0x9a, 0xbb, 0x05, 0xab, 0x72, 0x7a, 0xff, 0x9c, 0xb9, 0x1e, 0x09, 0x27, 0x26, 0x15,
+ 0xaf, 0x01, 0x3a, 0xe4, 0x34, 0x2a, 0x62, 0x1f, 0xfe, 0x7e, 0x45, 0xe7, 0x44, 0xdd, 0xca, 0xa2,
+ 0x27, 0xd0, 0x9f, 0xfb, 0x6b, 0x04, 0xe9, 0xd9, 0x46, 0xf9, 0x3f, 0x26, 0xa3, 0xf5, 0xb1, 0xfa,
+ 0xab, 0x65, 0x6c, 0xfe, 0x6a, 0x19, 0xef, 0x06, 0x11, 0x9f, 0xa1, 0x5d, 0xe8, 0x15, 0xff, 0x44,
+ 0x40, 0x77, 0x4d, 0x29, 0x50, 0xf2, 0xd7, 0xc2, 0xa5, 0x6c, 0x9e, 0x40, 0x7f, 0xee, 0xff, 0x04,
+ 0xa3, 0x4f, 0xf9, 0xdf, 0x0c, 0x97, 0x32, 0x7a, 0x04, 0xed, 0xdc, 0x1f, 0x08, 0x68, 0xa8, 0x98,
+ 0x2c, 0xfe, 0xa7, 0x70, 0x29, 0x83, 0x6d, 0xe8, 0x16, 0x66, 0xfa, 0x68, 0xa4, 0xed, 0x29, 0x19,
+ 0xf4, 0x5f, 0xca, 0x64, 0x0b, 0xda, 0xb9, 0xd1, 0xba, 0xd1, 0x62, 0x71, 0x7e, 0x3f, 0xba, 0x53,
+ 0xb2, 0xa3, 0x53, 0xef, 0x1e, 0x74, 0x0b, 0x83, 0x70, 0xa3, 0x48, 0xd9, 0x10, 0x7e, 0x74, 0xb7,
+ 0x74, 0x4f, 0x73, 0x7a, 0x02, 0xfd, 0xb9, 0xb1, 0xb8, 0x71, 0x6e, 0xf9, 0xb4, 0xfc, 0x52, 0xb3,
+ 0xbe, 0x90, 0x97, 0x9d, 0xeb, 0x7a, 0x72, 0x97, 0xbd, 0x38, 0x04, 0x1f, 0xbd, 0x52, 0xbe, 0xa9,
+ 0xb5, 0xda, 0x85, 0x5e, 0x71, 0xfe, 0x6d, 0x98, 0x95, 0x4e, 0xc5, 0xaf, 0x7e, 0x39, 0x85, 0x51,
+ 0x78, 0xf6, 0x72, 0xca, 0x26, 0xe4, 0x97, 0x32, 0x7a, 0x0c, 0xa0, 0x7b, 0x1c, 0x9f, 0x84, 0xe9,
+ 0x95, 0x2d, 0xf4, 0x56, 0xe9, 0x95, 0x95, 0xf4, 0x43, 0x8f, 0x00, 0x54, 0x6b, 0xe2, 0xd3, 0x84,
+ 0xa3, 0xdb, 0x46, 0x8d, 0xb9, 0x7e, 0x68, 0x34, 0x5c, 0xdc, 0x58, 0x60, 0x80, 0x19, 0xbb, 0x0e,
+ 0x83, 0xcf, 0x01, 0xb2, 0x96, 0xc7, 0x30, 0x58, 0x68, 0x82, 0xae, 0xf0, 0x41, 0x27, 0xdf, 0xe0,
+ 0x20, 0x6d, 0x6b, 0x49, 0xd3, 0x73, 0x05, 0x8b, 0xfe, 0x5c, 0x01, 0x5b, 0x7c, 0x6c, 0xf3, 0x75,
+ 0xed, 0x68, 0xa1, 0x88, 0x45, 0x1f, 0x41, 0x27, 0x5f, 0xb9, 0x1a, 0x2d, 0x4a, 0xaa, 0xd9, 0x51,
+ 0xa1, 0x7a, 0x45, 0x8f, 0xa0, 0x57, 0xac, 0x5a, 0x51, 0x2e, 0x2e, 0x16, 0x6a, 0xd9, 0x91, 0x9e,
+ 0xc9, 0xe4, 0xc8, 0x3f, 0x00, 0xc8, 0xaa, 0x5b, 0xe3, 0xbe, 0x85, 0x7a, 0x77, 0x4e, 0xea, 0x63,
+ 0xe8, 0xe4, 0x33, 0xb1, 0x51, 0xb7, 0x24, 0x3b, 0x5f, 0x95, 0xb5, 0x72, 0x59, 0xdb, 0x3c, 0xbe,
+ 0xc5, 0x44, 0x7e, 0x55, 0xd6, 0x2a, 0xf4, 0x75, 0x26, 0x59, 0x94, 0x35, 0x7b, 0x57, 0xe5, 0xf2,
+ 0x62, 0x13, 0x64, 0xdc, 0x57, 0xda, 0x1a, 0x5d, 0xf5, 0x88, 0xf2, 0xdd, 0x80, 0xf1, 0x47, 0x49,
+ 0x87, 0xf0, 0x92, 0xa0, 0xce, 0x57, 0xfc, 0xb9, 0xa0, 0x2e, 0x69, 0x04, 0x2e, 0x65, 0xb4, 0x07,
+ 0xfd, 0x27, 0xa6, 0x98, 0xd3, 0x85, 0xa6, 0x56, 0xa7, 0xa4, 0xb0, 0x1e, 0x8d, 0xca, 0xb6, 0x74,
+ 0x64, 0x7d, 0x01, 0x83, 0x85, 0x22, 0x13, 0xdd, 0x4b, 0x47, 0x87, 0xa5, 0xd5, 0xe7, 0xa5, 0x6a,
+ 0xed, 0xc3, 0xca, 0x7c, 0x8d, 0x89, 0x5e, 0xd5, 0x97, 0x5e, 0x5e, 0x7b, 0x5e, 0xca, 0xea, 0x13,
+ 0x68, 0x9a, 0x9a, 0x06, 0xe9, 0x11, 0xed, 0x5c, 0x8d, 0x73, 0xd9, 0xd1, 0xad, 0xce, 0x77, 0xdf,
+ 0xdf, 0xab, 0xfc, 0xe3, 0xfb, 0x7b, 0x95, 0x7f, 0x7d, 0x7f, 0xaf, 0x72, 0xdc, 0x90, 0xbb, 0x1f,
+ 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, 0xa5, 0xac, 0x85, 0x1d, 0xaa, 0x21, 0x00, 0x00,
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/agent-1.9.0~alpha0/protocols/grpc/agent.proto new/agent-1.9.0~alpha0/protocols/grpc/agent.proto
--- old/agent-1.9.0~alpha0/protocols/grpc/agent.proto 2019-07-24 14:42:54.000000000 +0200
+++ new/agent-1.9.0~alpha0/protocols/grpc/agent.proto 2019-08-02 14:28:32.000000000 +0200
@@ -270,6 +270,14 @@
uint32 column = 4;
}
+message KernelModule {
+ // This field is the name of the kernel module.
+ string name = 1;
+ // This field are the parameters for the kernel module which are
+ // whitespace-delimited key=value pairs passed to modprobe(8).
+ repeated string parameters = 2;
+}
+
message CreateSandboxRequest {
string hostname = 1;
repeated string dns = 2;
@@ -287,6 +295,8 @@
// This field, if non-empty, designates an absolute path to a directory
// that the agent will search for OCI hooks to run within the guest.
string guest_hook_path = 6;
+ // This field is the list of kernel modules to be loaded in the guest kernel.
+ repeated KernelModule kernel_modules = 7;
}
message DestroySandboxRequest {
1
0
Hello community,
here is the log from the commit of package katacontainers for openSUSE:Factory checked in at 2019-08-09 16:52:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/katacontainers (Old)
and /work/SRC/openSUSE:Factory/.katacontainers.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "katacontainers"
Fri Aug 9 16:52:27 2019 rev:2 rq:721681 version:1.9.0~alpha0
Changes:
--------
--- /work/SRC/openSUSE:Factory/katacontainers/katacontainers.changes 2019-08-05 13:40:41.704393824 +0200
+++ /work/SRC/openSUSE:Factory/.katacontainers.new.9556/katacontainers.changes 2019-08-09 16:52:30.129481381 +0200
@@ -1,0 +2,6 @@
+Fri Aug 2 16:27:09 UTC 2019 - Marco Vedovati <mvedovati(a)suse.com>
+
+- Set the kernel version in the configuration files according to the one
+ specified in the initrd image name.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ katacontainers.spec ++++++
--- /var/tmp/diff_new_pack.BOkqUf/_old 2019-08-09 16:52:30.989481175 +0200
+++ /var/tmp/diff_new_pack.BOkqUf/_new 2019-08-09 16:52:30.989481175 +0200
@@ -1,7 +1,7 @@
#
# spec file for package katacontainers
#
-# Copyright (c) 2018 SUSE LLC
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,7 +12,10 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
#
%define kata_project github.com/kata-containers
@@ -37,9 +40,9 @@
%define configQEMU %{_datarootdir}/defaults/kata-containers/configuration-qemu.toml
%ifarch x86_64
# Note: braces used for bash brace expansion
-%define configFiles \{%{configACRN},%{configFC},%{configNEMU},%{configQEMU}\}
+%define defaultConfigFiles \{%{configACRN},%{configFC},%{configNEMU},%{configQEMU}\}
%else
-%define configFiles %{configQEMU}
+%define defaultConfigFiles %{configQEMU}
%endif
Name: katacontainers
@@ -62,8 +65,13 @@
%else
BuildRequires: go = 1.11
%endif
-Requires: kernel-kvmsmall
Requires: katacontainers-image-initrd = %{version}
+Requires: kernel-kvmsmall
+# Requires: are also required for build, to correctly detect the kernel
+# version to use
+BuildRequires: katacontainers-image-initrd = %{version}
+BuildRequires: kernel-kvmsmall
+# Required for build to correctly detect the kernel version to use
%ifarch x86_64
Requires: qemu-x86
Recommends: firecracker
@@ -126,10 +134,10 @@
install
# Using initrd, so delete the image config line
-sed -i -E -e '/^image =/d' %{buildroot}/%{configFiles}
+sed -i -E -e '/^image =/d' %{buildroot}/%{defaultConfigFiles}
-# Set libexec dir properly
-sed -i -E -e 's,/usr/libexec,%{_libexecdir},' %{buildroot}/%{configFiles}
+# Properly set libexec path
+sed -i -E -e 's,/usr/libexec,%{_libexecdir},' %{buildroot}/%{defaultConfigFiles}
cd $HOME/go/src/%{kata_project}/proxy
make \
@@ -180,9 +188,12 @@
%post
%service_add_post kata-ksm-throttler.service
%service_add_post kata-vc-throttler.service
-# Set config to use the latest kvmsmall kernel installed
-latestKvmSmall=$(find /boot -name "vmlinuz-*-kvmsmall" | sort | tail -n 1)
-sed -i -E -e "s,^kernel =.*$,kernel = \"${latestKvmSmall}\"," %{configFiles}
+# Set config to use a matching kernel and initrd version. This is done in %post,
+# so that it is using whatever versions the user has installed on its system.
+kversion=$(readlink "%{_datarootdir}/kata-containers/kata-containers-initrd.img" | sed -E -e "s,^.*kata-containers-initrd-(.+).img,\1,")
+[ -n "${kversion}" ] || { echo "Failed to detect the initrd kernel version"; exit -1; }
+ln -sf "/boot/vmlinuz-${kversion}" "%{_datarootdir}/kata-containers/vmlinuz"
+sed -i -E -e "s,^kernel =.*$,kernel = \"%{_datarootdir}/kata-containers/vmlinuz\"," %{defaultConfigFiles}
%preun
%service_del_preun kata-ksm-throttler.service
@@ -204,7 +215,7 @@
%{_libexecdir}/kata-containers/kata-netmon
%{_bindir}/kata-collect-data.sh
# Manpages
-# Configs
+# Default configs
%dir %{_datarootdir}/defaults
%dir %{_datarootdir}/defaults/kata-containers
%doc %{_datarootdir}/defaults/kata-containers/configuration-qemu.toml
1
0
Hello community,
here is the log from the commit of package yast2-storage-ng for openSUSE:Factory checked in at 2019-08-09 16:52:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-storage-ng (Old)
and /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-storage-ng"
Fri Aug 9 16:52:11 2019 rev:54 rq:721978 version:4.2.32
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng.changes 2019-07-31 14:26:38.046257003 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.9556/yast2-storage-ng.changes 2019-08-09 16:52:13.533485358 +0200
@@ -1,0 +2,14 @@
+Thu Aug 8 10:37:33 UTC 2019 - José Iván López González <jlopez(a)suse.com>
+
+- AutoYaST: allow to create a Bcache without a caching device.
+- AutoYaST: allow to create a Bcache over a LVM Logical Volume.
+- bsc#1139783
+- 4.2.32
+
+-------------------------------------------------------------------
+Wed Aug 7 09:29:06 UTC 2019 - Steffen Winterfeldt <snwint(a)suse.com>
+
+- fix NilClass issue when calculating proposal on RAID (bsc#1139808)
+- 4.2.31
+
+-------------------------------------------------------------------
Old:
----
yast2-storage-ng-4.2.30.tar.bz2
New:
----
yast2-storage-ng-4.2.32.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-storage-ng.spec ++++++
--- /var/tmp/diff_new_pack.n3Sp9A/_old 2019-08-09 16:52:14.453485138 +0200
+++ /var/tmp/diff_new_pack.n3Sp9A/_new 2019-08-09 16:52:14.469485134 +0200
@@ -17,7 +17,7 @@
Name: yast2-storage-ng
-Version: 4.2.30
+Version: 4.2.32
Release: 0
Summary: YaST2 - Storage Configuration
License: GPL-2.0-only OR GPL-3.0-only
++++++ yast2-storage-ng-4.2.30.tar.bz2 -> yast2-storage-ng-4.2.32.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/yast2-storage-ng/yast2-storage-ng-4.2.30.tar.bz2 /work/SRC/openSUSE:Factory/.yast2-storage-ng.new.9556/yast2-storage-ng-4.2.32.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package python-ruamel.yaml for openSUSE:Factory checked in at 2019-08-09 16:52:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ruamel.yaml (Old)
and /work/SRC/openSUSE:Factory/.python-ruamel.yaml.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-ruamel.yaml"
Fri Aug 9 16:52:06 2019 rev:18 rq:721771 version:0.16.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ruamel.yaml/python-ruamel.yaml.changes 2019-07-17 14:24:04.511950863 +0200
+++ /work/SRC/openSUSE:Factory/.python-ruamel.yaml.new.9556/python-ruamel.yaml.changes 2019-08-09 16:52:06.201487115 +0200
@@ -1,0 +2,12 @@
+Thu Aug 8 13:27:29 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.16.1
+ * Allow '#' in tag URI as these are allowed in YAML 1.2
+
+-------------------------------------------------------------------
+Wed Aug 7 13:49:46 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.16.0
+ * split c-library to separeate package (python-ruamel.yaml.clib)
+
+-------------------------------------------------------------------
Old:
----
ruamel.yaml-0.15.99.tar.gz
New:
----
ruamel.yaml-0.16.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-ruamel.yaml.spec ++++++
--- /var/tmp/diff_new_pack.wByg8w/_old 2019-08-09 16:52:07.365486837 +0200
+++ /var/tmp/diff_new_pack.wByg8w/_new 2019-08-09 16:52:07.397486829 +0200
@@ -18,17 +18,18 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-ruamel.yaml
-Version: 0.15.99
+Version: 0.16.1
Release: 0
Summary: Python YAML parser
License: MIT
Group: Development/Languages/Python
URL: https://bitbucket.org/ruamel/yaml
Source: https://files.pythonhosted.org/packages/source/r/ruamel.yaml/ruamel.yaml-%{…
-BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
+Recommends: python-ruamel.yaml.clib => 0.1.2
+BuildArch: noarch
%ifpython2
Requires: python-ruamel.ordereddict
%endif
@@ -47,14 +48,13 @@
%install
%python_install --single-version-externally-managed
-%python_expand %fdupes %{buildroot}%{$python_sitearch}
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%files %{python_files}
%license LICENSE
%doc CHANGES README.rst
-%{python_sitearch}/_ruamel_yaml*.so
-%{python_sitearch}/ruamel
-%{python_sitearch}/ruamel.yaml-%{version}-py%{python_version}-nspkg.pth
-%{python_sitearch}/ruamel.yaml-%{version}-py%{python_version}.egg-info
+%{python_sitelib}/ruamel
+%{python_sitelib}/ruamel.yaml-%{version}-py%{python_version}-nspkg.pth
+%{python_sitelib}/ruamel.yaml-%{version}-py%{python_version}.egg-info
%changelog
++++++ ruamel.yaml-0.15.99.tar.gz -> ruamel.yaml-0.16.1.tar.gz ++++++
++++ 43920 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package skopeo for openSUSE:Factory checked in at 2019-08-09 16:51:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skopeo (Old)
and /work/SRC/openSUSE:Factory/.skopeo.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skopeo"
Fri Aug 9 16:51:59 2019 rev:12 rq:721555 version:0.1.39
Changes:
--------
--- /work/SRC/openSUSE:Factory/skopeo/skopeo.changes 2018-12-03 10:04:52.988012702 +0100
+++ /work/SRC/openSUSE:Factory/.skopeo.new.9556/skopeo.changes 2019-08-09 16:52:03.221487830 +0200
@@ -1,0 +2,28 @@
+Wed Aug 7 08:02:58 UTC 2019 - Marco Vedovati <mvedovati(a)suse.com>
+
+- Update to skopeo v0.1.39:
+ - inspect: add a --config flag
+ - Add --no-creds flag to skopeo inspect
+ - Add --quiet option to skopeo copy
+ - New progress bars
+ - Parallel Pulls and Pushes for major speed improvements
+ - containers/image moved to a new progress-bar library to fix various
+ issues related to overlapping bars and redundant entries.
+ - enforce blocking of registries
+ - Allow storage-multiple-manifests
+ - When copying images and the output is not a tty (e.g., when piping to a
+ file) print single lines instead of using progress bars. This avoids
+ long and hard to parse output
+ - man pages: add --dest-oci-accept-uncompressed-layers
+ - completions:
+ - Introduce transports completions
+ - Fix bash completions when a option requires a argument
+ - Use only spaces in indent
+ - Fix completions with a global option
+ - add --dest-oci-accept-uncompressed-layers
+
+- Update bsc1115165-0001-Introduce-the-sync-command.patch and add
+ 0002-Add-set-of-image-options-used-only-for-docker-transp.patch
+ required by the updated sync patch.
+
+-------------------------------------------------------------------
Old:
----
skopeo-0.1.32.tar.xz
New:
----
0002-Add-set-of-image-options-used-only-for-docker-transp.patch
skopeo-0.1.39.tar.xz
skopeo.rpmlintrc
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skopeo.spec ++++++
--- /var/tmp/diff_new_pack.DroLRK/_old 2019-08-09 16:52:04.165487604 +0200
+++ /var/tmp/diff_new_pack.DroLRK/_new 2019-08-09 16:52:04.173487602 +0200
@@ -24,24 +24,27 @@
%define with_libostree 1
%endif
Name: skopeo
-Version: 0.1.32
+Version: 0.1.39
Release: 0
Summary: Container image repository tool
License: Apache-2.0
Group: System/Management
URL: https://github.com/containers/skopeo
Source: %{name}-%{version}.tar.xz
+Source1: skopeo.rpmlintrc
# SUSE-FEATURE: Implement the skopeo sync command
# (https://github.com/containers/skopeo/pull/524)
Patch000: bsc1115165-0001-Introduce-the-sync-command.patch
+# Add set of image options used only for docker transport (required by sync)
+Patch001: 0002-Add-set-of-image-options-used-only-for-docker-transp.patch
+Requires: libcontainers-common
BuildRequires: device-mapper-devel >= 1.2.68
BuildRequires: glib2-devel
-BuildRequires: go >= 1.5
+BuildRequires: golang(API) = 1.12
BuildRequires: go-go-md2man
BuildRequires: libbtrfs-devel >= 3.8
BuildRequires: libcontainers-common
BuildRequires: libgpgme-devel
-Requires: libcontainers-common
ExcludeArch: s390
%if 0%{?with_libostree}
BuildRequires: libostree-devel
@@ -57,6 +60,8 @@
%setup -q
# bsc#1115165
%patch000 -p1
+# Add set of image options used only for docker transport (required by sync)
+%patch001 -p1
%build
mkdir -p .gopath/src/github.com/containers
@@ -64,20 +69,23 @@
export GOPATH=$PWD/.gopath
export BUILDTAGS="exclude_graphdriver_aufs"
+
%if 0%{?suse_version} <= 1320
BUILDTAGS+=" libdm_no_deferred_remove"
%endif
-%if !0%{?with_libostree}
- BUILDTAGS+=" containers_image_ostree_stub"
+
+# Starting from https://github.com/containers/image/pull/587, ostree is disabled
+# by default.
+%if 0%{?with_libostree}
+ BUILDTAGS+=" containers_image_ostree"
%endif
# Build.
-go build -buildmode=pie -ldflags "-X main.gitCommit=" -gcflags "" -tags "$BUILDTAGS" -o skopeo %{project}/cmd/skopeo
+GO111MODULE=on go build -mod=vendor "-buildmode=pie" -ldflags "-X main.gitCommit=" -gcflags "" -tags "$BUILDTAGS" -o skopeo %{project}/cmd/skopeo
make %{?_smp_mflags} docs
%install
# Install the binary.
-install -D -m 0755 %{name} "%{buildroot}/%{_bindir}/%{name}"
make INSTALLDIR="%{buildroot}/%{_bindir}" install-binary
# Install the docs.
@@ -87,6 +95,6 @@
%doc README.md
%license LICENSE
%{_bindir}/%{name}
-%{_mandir}/man1/skopeo.1*
+%{_mandir}/man1/skopeo*.1*
%changelog
++++++ 0002-Add-set-of-image-options-used-only-for-docker-transp.patch ++++++
>From daed81b5d6233efacec074ca9a2379703fa2164d Mon Sep 17 00:00:00 2001
From: Marco Vedovati <mvedovati(a)suse.com>
Date: Wed, 3 Jul 2019 19:10:11 +0200
Subject: [PATCH 2/3] Add set of image options used only for docker transport
Add dockerImageOptions set of options, that are only applicable when the
image transport is docker.
Signed-off-by: Marco Vedovati <mvedovati(a)suse.com>
---
cmd/skopeo/utils.go | 54 ++++++++++++++++++++++++++++++---------------
1 file changed, 36 insertions(+), 18 deletions(-)
diff --git a/cmd/skopeo/utils.go b/cmd/skopeo/utils.go
index 3db22ff..2135fdb 100644
--- a/cmd/skopeo/utils.go
+++ b/cmd/skopeo/utils.go
@@ -49,24 +49,34 @@ func sharedImageFlags() ([]cli.Flag, *sharedImageOptions) {
}, &opts
}
+// imageOptions collects CLI flags specific to the "docker" transport, which are
+// the same across subcommands, but may be different for each image
+// (e.g. may differ between the source and destination of a copy)
+type dockerImageOptions struct {
+ global *globalOptions // May be shared across several imageOptions instances.
+ shared *sharedImageOptions // May be shared across several imageOptions instances.
+ credsOption optionalString // username[:password] for accessing a registry
+ dockerCertPath string // A directory using Docker-like *.{crt,cert,key} files for connecting to a registry or a daemon
+ tlsVerify optionalBool // Require HTTPS and verify certificates (for docker: and docker-daemon:)
+ noCreds bool // Access the registry anonymously
+}
+
// imageOptions collects CLI flags which are the same across subcommands, but may be different for each image
// (e.g. may differ between the source and destination of a copy)
type imageOptions struct {
- global *globalOptions // May be shared across several imageOptions instances.
- shared *sharedImageOptions // May be shared across several imageOptions instances.
- credsOption optionalString // username[:password] for accessing a registry
- dockerCertPath string // A directory using Docker-like *.{crt,cert,key} files for connecting to a registry or a daemon
- tlsVerify optionalBool // Require HTTPS and verify certificates (for docker: and docker-daemon:)
- sharedBlobDir string // A directory to use for OCI blobs, shared across repositories
- dockerDaemonHost string // docker-daemon: host to connect to
- noCreds bool // Access the registry anonymously
+ dockerImageOptions
+ sharedBlobDir string // A directory to use for OCI blobs, shared across repositories
+ dockerDaemonHost string // docker-daemon: host to connect to
}
-// imageFlags prepares a collection of CLI flags writing into imageOptions, and the managed imageOptions structure.
-func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) {
+// dockerImageFlags prepares a collection of docker-transport specific CLI flags
+// writing into imageOptions, and the managed imageOptions structure.
+func dockerImageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) {
opts := imageOptions{
- global: global,
- shared: shared,
+ dockerImageOptions: dockerImageOptions{
+ global: global,
+ shared: shared,
+ },
}
// This is horribly ugly, but we need to support the old option forms of (skopeo copy) for compatibility.
@@ -92,6 +102,19 @@ func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, c
Usage: "require HTTPS and verify certificates when talking to the container registry or daemon (defaults to true)",
Value: newOptionalBoolValue(&opts.tlsVerify),
},
+ cli.BoolFlag{
+ Name: flagPrefix + "no-creds",
+ Usage: "Access the registry anonymously",
+ Destination: &opts.noCreds,
+ },
+ }, &opts
+}
+
+// imageFlags prepares a collection of CLI flags writing into imageOptions, and the managed imageOptions structure.
+func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, credsOptionAlias string) ([]cli.Flag, *imageOptions) {
+ dockerFlags, opts := dockerImageFlags(global, shared, flagPrefix, credsOptionAlias)
+
+ return append(dockerFlags, []cli.Flag{
cli.StringFlag{
Name: flagPrefix + "shared-blob-dir",
Usage: "`DIRECTORY` to use to share blobs across OCI repositories",
@@ -102,12 +125,7 @@ func imageFlags(global *globalOptions, shared *sharedImageOptions, flagPrefix, c
Usage: "use docker daemon host at `HOST` (docker-daemon: only)",
Destination: &opts.dockerDaemonHost,
},
- cli.BoolFlag{
- Name: flagPrefix + "no-creds",
- Usage: "Access the registry anonymously",
- Destination: &opts.noCreds,
- },
- }, &opts
+ }...), opts
}
// newSystemContext returns a *types.SystemContext corresponding to opts.
--
2.22.0
++++++ _service ++++++
--- /var/tmp/diff_new_pack.DroLRK/_old 2019-08-09 16:52:04.257487582 +0200
+++ /var/tmp/diff_new_pack.DroLRK/_new 2019-08-09 16:52:04.265487579 +0200
@@ -3,8 +3,8 @@
<param name="url">https://github.com/projectatomic/skopeo</param>
<param name="scm">git</param>
<param name="filename">skopeo</param>
- <param name="versionformat">0.1.32</param>
- <param name="revision">v0.1.32</param>
+ <param name="versionformat">0.1.39</param>
+ <param name="revision">v0.1.39</param>
<param name="exclude">.git</param>
</service>
<service name="recompress" mode="disabled">
++++++ bsc1115165-0001-Introduce-the-sync-command.patch ++++++
++++ 1775 lines (skipped)
++++ between /work/SRC/openSUSE:Factory/skopeo/bsc1115165-0001-Introduce-the-sync-command.patch
++++ and /work/SRC/openSUSE:Factory/.skopeo.new.9556/bsc1115165-0001-Introduce-the-sync-command.patch
++++++ skopeo-0.1.32.tar.xz -> skopeo-0.1.39.tar.xz ++++++
++++ 386913 lines of diff (skipped)
++++++ skopeo.rpmlintrc ++++++
# rpm cannot find the libcontainers-common dependency
addFilter ("^skopeo.* W: explicit-lib-dependency libcontainers-common")
1
0
Hello community,
here is the log from the commit of package python-gssapi for openSUSE:Factory checked in at 2019-08-09 16:51:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-gssapi (Old)
and /work/SRC/openSUSE:Factory/.python-gssapi.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gssapi"
Fri Aug 9 16:51:45 2019 rev:3 rq:721546 version:1.6.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-gssapi/python-gssapi.changes 2019-05-14 13:11:47.604551878 +0200
+++ /work/SRC/openSUSE:Factory/.python-gssapi.new.9556/python-gssapi.changes 2019-08-09 16:51:46.625491808 +0200
@@ -1,0 +2,6 @@
+Wed Aug 7 14:23:45 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 1.6.0
+ * no upstream changelog
+
+-------------------------------------------------------------------
Old:
----
gssapi-1.5.1.tar.gz
New:
----
gssapi-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-gssapi.spec ++++++
--- /var/tmp/diff_new_pack.zXnVn1/_old 2019-08-09 16:51:47.097491694 +0200
+++ /var/tmp/diff_new_pack.zXnVn1/_new 2019-08-09 16:51:47.101491693 +0200
@@ -18,13 +18,14 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-gssapi
-Version: 1.5.1
+Version: 1.6.0
Release: 0
Summary: A Python interface to RFC 2743/2744 (plus common extensions)
License: ISC
Group: Development/Languages/Python
URL: https://pythongssapi.github.io/python-gssapi/stable/
Source: https://files.pythonhosted.org/packages/source/g/gssapi/gssapi-%{version}.t…
+BuildRequires: %{python_module Cython}
BuildRequires: %{python_module decorator}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module setuptools}
++++++ gssapi-1.5.1.tar.gz -> gssapi-1.6.0.tar.gz ++++++
++++ 54213 lines of diff (skipped)
1
0
Hello community,
here is the log from the commit of package python-importlib-metadata for openSUSE:Factory checked in at 2019-08-09 16:51:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-importlib-metadata (Old)
and /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.9556 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-importlib-metadata"
Fri Aug 9 16:51:40 2019 rev:6 rq:721543 version:0.19
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-importlib-metadata/python-importlib-metadata.changes 2019-08-07 13:53:53.440857836 +0200
+++ /work/SRC/openSUSE:Factory/.python-importlib-metadata.new.9556/python-importlib-metadata.changes 2019-08-09 16:51:41.961492925 +0200
@@ -1,0 +2,9 @@
+Wed Aug 7 14:15:47 UTC 2019 - Ondřej Súkup <mimi.vx(a)gmail.com>
+
+- update to 0.19
+ * restrain over-eager egg metadata resolution.
+ * Add support for entry points with colons in the name.
+ * Parse entry points case sensitively.
+ * Add a version constraint on the backport configparser package
+
+-------------------------------------------------------------------
Old:
----
importlib_metadata-0.17.tar.gz
New:
----
importlib_metadata-0.19.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-importlib-metadata.spec ++++++
--- /var/tmp/diff_new_pack.rge5Hm/_old 2019-08-09 16:51:42.641492762 +0200
+++ /var/tmp/diff_new_pack.rge5Hm/_new 2019-08-09 16:51:42.641492762 +0200
@@ -21,7 +21,7 @@
%define skip_python3 1
%endif
Name: python-importlib-metadata
-Version: 0.17
+Version: 0.19
Release: 0
Summary: Tool to read metadata from Python packages
License: Apache-2.0
++++++ importlib_metadata-0.17.tar.gz -> importlib_metadata-0.19.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/PKG-INFO new/importlib_metadata-0.19/PKG-INFO
--- old/importlib_metadata-0.17/PKG-INFO 2019-05-30 02:45:00.000000000 +0200
+++ new/importlib_metadata-0.19/PKG-INFO 2019-07-28 19:52:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib_metadata
-Version: 0.17
+Version: 0.19
Summary: Read metadata from Python packages
Home-page: http://importlib-metadata.readthedocs.io/
Author: Barry Warsaw
@@ -51,4 +51,5 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2
Requires-Python: >=2.7,!=3.0,!=3.1,!=3.2,!=3.3
+Provides-Extra: testing
Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/__init__.py new/importlib_metadata-0.19/importlib_metadata/__init__.py
--- old/importlib_metadata-0.17/importlib_metadata/__init__.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/__init__.py 2019-07-28 19:51:04.000000000 +0200
@@ -1,6 +1,7 @@
from __future__ import unicode_literals, absolute_import
import io
+import os
import re
import abc
import csv
@@ -22,6 +23,7 @@
NotADirectoryError,
PermissionError,
pathlib,
+ PYPY_OPEN_BUG,
ModuleNotFoundError,
MetaPathFinder,
email_message_from_string,
@@ -104,7 +106,9 @@
@classmethod
def _from_text(cls, text):
- config = ConfigParser()
+ config = ConfigParser(delimiters='=')
+ # case sensitive: https://stackoverflow.com/q/1611799/812183
+ config.optionxform = str
try:
config.read_string(text)
except AttributeError: # pragma: nocover
@@ -337,7 +341,6 @@
This finder supplies only a find_distributions() method for versions
of Python that do not have a PathFinder find_distributions().
"""
- search_template = r'(?:{pattern}(-.*)?\.(dist|egg)-info|EGG-INFO)'
def find_distributions(self, name=None, path=None):
"""
@@ -364,22 +367,31 @@
@staticmethod
def _switch_path(path):
- with suppress(Exception):
- return zipp.Path(path)
+ if not PYPY_OPEN_BUG or os.path.isfile(path): # pragma: no branch
+ with suppress(Exception):
+ return zipp.Path(path)
return pathlib.Path(path)
@classmethod
- def _predicate(cls, pattern, root, item):
- return re.match(pattern, str(item.name), flags=re.IGNORECASE)
+ def _matches_info(cls, normalized, item):
+ template = r'{pattern}(-.*)?\.(dist|egg)-info'
+ manifest = template.format(pattern=normalized)
+ return re.match(manifest, item.name, flags=re.IGNORECASE)
+
+ @classmethod
+ def _matches_legacy(cls, normalized, item):
+ template = r'{pattern}-.*\.egg[\\/]EGG-INFO'
+ manifest = template.format(pattern=normalized)
+ return re.search(manifest, str(item), flags=re.IGNORECASE)
@classmethod
def _search_path(cls, root, pattern):
if not root.is_dir():
return ()
normalized = pattern.replace('-', '_')
- matcher = cls.search_template.format(pattern=normalized)
return (item for item in root.iterdir()
- if cls._predicate(matcher, root, item))
+ if cls._matches_info(normalized, item)
+ or cls._matches_legacy(normalized, item))
class PathDistribution(Distribution):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/_compat.py new/importlib_metadata-0.19/importlib_metadata/_compat.py
--- old/importlib_metadata-0.17/importlib_metadata/_compat.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/_compat.py 2019-07-28 19:51:04.000000000 +0200
@@ -86,3 +86,6 @@
if sys.version_info < (3,) else
email.message_from_string
)
+
+# https://bitbucket.org/pypy/pypy/issues/3021/ioopen-directory-leaks-a-file-d…
+PYPY_OPEN_BUG = getattr(sys, 'pypy_version_info', (9, 9, 9))[:3] <= (7, 1, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/docs/changelog.rst new/importlib_metadata-0.19/importlib_metadata/docs/changelog.rst
--- old/importlib_metadata-0.17/importlib_metadata/docs/changelog.rst 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/docs/changelog.rst 2019-07-28 19:51:04.000000000 +0200
@@ -2,6 +2,16 @@
importlib_metadata NEWS
=========================
+0.19
+====
+* Restrain over-eager egg metadata resolution.
+* Add support for entry points with colons in the name. Closes #75.
+
+0.18
+====
+* Parse entry points case sensitively. Closes #68
+* Add a version constraint on the backport configparser package. Closes #66
+
0.17
====
* Fix a permission problem in the tests on Windows.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/docs/conf.py new/importlib_metadata-0.19/importlib_metadata/docs/conf.py
--- old/importlib_metadata-0.17/importlib_metadata/docs/conf.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/docs/conf.py 2019-07-28 19:51:04.000000000 +0200
@@ -92,17 +92,6 @@
#
html_theme = 'default'
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#
-# html_theme_options = {}
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
Binary files old/importlib_metadata-0.17/importlib_metadata/tests/data/example-21.12-py3-none-any.whl and new/importlib_metadata-0.19/importlib_metadata/tests/data/example-21.12-py3-none-any.whl differ
Binary files old/importlib_metadata-0.17/importlib_metadata/tests/data/example-21.12-py3.6.egg and new/importlib_metadata-0.19/importlib_metadata/tests/data/example-21.12-py3.6.egg differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/tests/fixtures.py new/importlib_metadata-0.19/importlib_metadata/tests/fixtures.py
--- old/importlib_metadata-0.17/importlib_metadata/tests/fixtures.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/tests/fixtures.py 2019-07-28 19:51:04.000000000 +0200
@@ -83,6 +83,7 @@
"entry_points.txt": """
[entries]
main = mod:main
+ ns:sub = mod:main
"""
},
"mod.py": """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/tests/test_main.py new/importlib_metadata-0.19/importlib_metadata/tests/test_main.py
--- old/importlib_metadata-0.17/importlib_metadata/tests/test_main.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/tests/test_main.py 2019-07-28 19:51:04.000000000 +0200
@@ -49,6 +49,11 @@
ep = entries['main']
self.assertEqual(ep.load().__name__, "main")
+ def test_entrypoint_with_colon_in_name(self):
+ entries = dict(entry_points()['entries'])
+ ep = entries['ns:sub']
+ self.assertEqual(ep.value, 'mod:main')
+
def test_resolve_without_attr(self):
ep = EntryPoint(
name='ep',
@@ -167,8 +172,16 @@
class DirectoryTest(fixtures.OnSysPath, fixtures.SiteDir, unittest.TestCase):
- def test(self):
+ def test_egg_info(self):
# make an `EGG-INFO` directory that's unrelated
self.site_dir.joinpath('EGG-INFO').mkdir()
# used to crash with `IsADirectoryError`
- self.assertIsNone(version('unknown-package'))
+ with self.assertRaises(PackageNotFoundError):
+ version('unknown-package')
+
+ def test_egg(self):
+ egg = self.site_dir.joinpath('foo-3.6.egg')
+ egg.mkdir()
+ with self.add_sys_path(egg):
+ with self.assertRaises(PackageNotFoundError):
+ version('foo')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata/tests/test_zip.py new/importlib_metadata-0.19/importlib_metadata/tests/test_zip.py
--- old/importlib_metadata-0.17/importlib_metadata/tests/test_zip.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata/tests/test_zip.py 2019-07-28 19:51:04.000000000 +0200
@@ -1,7 +1,7 @@
import sys
import unittest
-from .. import distribution, entry_points, files, version
+from .. import distribution, entry_points, files, PackageNotFoundError, version
try:
from importlib.resources import path
@@ -30,10 +30,16 @@
def test_zip_version(self):
self.assertEqual(version('example'), '21.12')
+ def test_zip_version_does_not_match(self):
+ with self.assertRaises(PackageNotFoundError):
+ version('definitely-not-installed')
+
def test_zip_entry_points(self):
scripts = dict(entry_points()['console_scripts'])
entry_point = scripts['example']
self.assertEqual(entry_point.value, 'example:main')
+ entry_point = scripts['Example']
+ self.assertEqual(entry_point.value, 'example:main')
def test_missing_metadata(self):
self.assertIsNone(distribution('example').read_text('does not exist'))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata.egg-info/PKG-INFO new/importlib_metadata-0.19/importlib_metadata.egg-info/PKG-INFO
--- old/importlib_metadata-0.17/importlib_metadata.egg-info/PKG-INFO 2019-05-30 02:45:00.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata.egg-info/PKG-INFO 2019-07-28 19:52:18.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: importlib-metadata
-Version: 0.17
+Version: 0.19
Summary: Read metadata from Python packages
Home-page: http://importlib-metadata.readthedocs.io/
Author: Barry Warsaw
@@ -51,4 +51,5 @@
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 2
Requires-Python: >=2.7,!=3.0,!=3.1,!=3.2,!=3.3
+Provides-Extra: testing
Provides-Extra: docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/importlib_metadata.egg-info/requires.txt new/importlib_metadata-0.19/importlib_metadata.egg-info/requires.txt
--- old/importlib_metadata-0.17/importlib_metadata.egg-info/requires.txt 2019-05-30 02:45:00.000000000 +0200
+++ new/importlib_metadata-0.19/importlib_metadata.egg-info/requires.txt 2019-07-28 19:52:18.000000000 +0200
@@ -2,12 +2,16 @@
[:python_version < "3"]
contextlib2
-configparser
+configparser>=3.5
[:python_version == "3.4.*" or python_version < "3"]
pathlib2
[docs]
sphinx
-docutils==0.12
rst.linker
+
+[testing]
+
+[testing:python_version < "3.7"]
+importlib_resources
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/prepare/example/setup.py new/importlib_metadata-0.19/prepare/example/setup.py
--- old/importlib_metadata-0.17/prepare/example/setup.py 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/prepare/example/setup.py 2019-07-28 19:51:04.000000000 +0200
@@ -5,6 +5,6 @@
license='Apache Software License',
packages=['example'],
entry_points={
- 'console_scripts': ['example = example:main'],
+ 'console_scripts': ['example = example:main', 'Example=example:main'],
},
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/setup.cfg new/importlib_metadata-0.19/setup.cfg
--- old/importlib_metadata-0.17/setup.cfg 2019-05-30 02:45:00.000000000 +0200
+++ new/importlib_metadata-0.19/setup.cfg 2019-07-28 19:52:18.000000000 +0200
@@ -16,11 +16,12 @@
[options]
python_requires = >=2.7,!=3.0,!=3.1,!=3.2,!=3.3
+setup_requires = setuptools-scm
install_requires =
zipp>=0.5
pathlib2; python_version=='3.4.*' or python_version < '3'
contextlib2; python_version < '3'
- configparser; python_version < '3'
+ configparser>=3.5; python_version < '3'
packages = find:
[options.package_data]
@@ -46,9 +47,10 @@
universal = 1
[options.extras_require]
+testing =
+ importlib_resources; python_version < "3.7"
docs =
sphinx
- docutils==0.12
rst.linker
[egg_info]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/importlib_metadata-0.17/tox.ini new/importlib_metadata-0.19/tox.ini
--- old/importlib_metadata-0.17/tox.ini 2019-05-30 02:44:36.000000000 +0200
+++ new/importlib_metadata-0.19/tox.ini 2019-07-28 19:51:04.000000000 +0200
@@ -26,12 +26,8 @@
LC_*
PYV
deps =
- cov,diffcov: coverage>=4.5
- diffcov: diff_cover
- importlib_resources; python_version < "3.7"
- py27: contextlib2
- pip >= 18
- packaging
+ cov,diffcov: coverage>=4.5
+ diffcov: diff_cover
setenv =
cov: COVERAGE_PROCESS_START={[coverage]rcfile}
cov: COVERAGE_OPTIONS="-p"
@@ -40,6 +36,8 @@
py34,py35,py36,py37,py38: PYV=3
# workaround deprecation warnings in pip's vendored packages
PYTHONWARNINGS=ignore:Using or importing the ABCs:DeprecationWarning:pip._vendor
+extras =
+ testing
[testenv:qa]
@@ -51,6 +49,7 @@
mypy
flake8
flufl.flake8
+extras =
[testenv:docs]
1
0