Architecture specific change in rpms/fedora-toolbox.git
by githook-noreply@fedoraproject.org
The package rpms/fedora-toolbox.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/fedora-toolbox.git/commit/?id=79d....
Change:
+ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
Thanks.
Full change:
============
commit 79d388a9e507b0cc5872dc84dc3b606e0bce150a
Author: Debarshi Ray <rishi(a)fedoraproject.org>
Date: Thu Oct 25 15:30:32 2018 +0000
Initial build
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ab37c14
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/fedora-toolbox-0.0.1.tar.xz
diff --git a/fedora-toolbox.spec b/fedora-toolbox.spec
new file mode 100644
index 0000000..01d5e12
--- /dev/null
+++ b/fedora-toolbox.spec
@@ -0,0 +1,52 @@
+Name: fedora-toolbox
+Version: 0.0.1
+Release: 1%{?dist}
+Summary: Toolbox containers & images for hacking on OSTree-based Fedoras
+
+License: ASL 2.0
+URL: https://github.com/debarshiray/fedora-toolbox
+Source0: https://github.com/debarshiray/%{name}/releases/download/%{version}/%{nam...
+
+BuildArch: noarch
+# buildah and podman only work on the following architectures:
+ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
+
+BuildRequires: meson
+
+Requires: buildah
+Requires: podman
+
+
+%description
+Fedora Toolbox is a tool that offers a familiar RPM based environment for
+developing and debugging software on locked down OSTree based Fedora systems
+like Silverblue. Such operating systems are shipped as immutable OSTree
+images, where it's difficult to setup a development environment with your
+favorite tools, editors and SDKs. A toolbox container solves that problem by
+providing a RPM based mutable container. You can tweak it to your heart's
+content and use DNF to install your favorite packages, all without worrying
+about breaking your operating system.
+
+
+%prep
+%autosetup
+
+
+%build
+%meson --buildtype=plain
+%meson_build
+
+
+%install
+%meson_install
+
+
+%files
+%doc NEWS README.md
+%license COPYING
+%{_bindir}/%{name}
+
+
+%changelog
+* Mon Oct 22 2018 Debarshi Ray <rishi(a)fedoraproject.org> - 0.0.1-1
+- Initial build
diff --git a/sources b/sources
new file mode 100644
index 0000000..f8d4148
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fedora-toolbox-0.0.1.tar.xz) = 3ccac2ddfb994e1fdad9f98a99e187658832668e2cd9a94a659687ad6ef1fae3197e4bb784d1bc7d023fe7532bc459f010a7df8455f17b8264a7fe029e9fe528
5 years, 6 months
Architecture specific change in rpms/fedora-toolbox.git
by githook-noreply@fedoraproject.org
The package rpms/fedora-toolbox.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/fedora-toolbox.git/commit/?id=fdb....
Change:
+ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
Thanks.
Full change:
============
commit fdb641165b07983b51b433153c52118b79039ef9
Author: Debarshi Ray <rishi(a)fedoraproject.org>
Date: Thu Oct 25 15:30:32 2018 +0000
Initial build
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..ab37c14
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/fedora-toolbox-0.0.1.tar.xz
diff --git a/fedora-toolbox.spec b/fedora-toolbox.spec
new file mode 100644
index 0000000..01d5e12
--- /dev/null
+++ b/fedora-toolbox.spec
@@ -0,0 +1,52 @@
+Name: fedora-toolbox
+Version: 0.0.1
+Release: 1%{?dist}
+Summary: Toolbox containers & images for hacking on OSTree-based Fedoras
+
+License: ASL 2.0
+URL: https://github.com/debarshiray/fedora-toolbox
+Source0: https://github.com/debarshiray/%{name}/releases/download/%{version}/%{nam...
+
+BuildArch: noarch
+# buildah and podman only work on the following architectures:
+ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
+
+BuildRequires: meson
+
+Requires: buildah
+Requires: podman
+
+
+%description
+Fedora Toolbox is a tool that offers a familiar RPM based environment for
+developing and debugging software on locked down OSTree based Fedora systems
+like Silverblue. Such operating systems are shipped as immutable OSTree
+images, where it's difficult to setup a development environment with your
+favorite tools, editors and SDKs. A toolbox container solves that problem by
+providing a RPM based mutable container. You can tweak it to your heart's
+content and use DNF to install your favorite packages, all without worrying
+about breaking your operating system.
+
+
+%prep
+%autosetup
+
+
+%build
+%meson --buildtype=plain
+%meson_build
+
+
+%install
+%meson_install
+
+
+%files
+%doc NEWS README.md
+%license COPYING
+%{_bindir}/%{name}
+
+
+%changelog
+* Mon Oct 22 2018 Debarshi Ray <rishi(a)fedoraproject.org> - 0.0.1-1
+- Initial build
diff --git a/sources b/sources
new file mode 100644
index 0000000..f8d4148
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (fedora-toolbox-0.0.1.tar.xz) = 3ccac2ddfb994e1fdad9f98a99e187658832668e2cd9a94a659687ad6ef1fae3197e4bb784d1bc7d023fe7532bc459f010a7df8455f17b8264a7fe029e9fe528
5 years, 6 months
Architecture specific change in rpms/scorep.git
by githook-noreply@fedoraproject.org
The package rpms/scorep.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/scorep.git/commit/?id=c9ac3dad58d....
Change:
+%ifnarch ppc64le
Thanks.
Full change:
============
commit d609215c780b2d873578fb87df62a867b7a3e84d
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Thu Oct 25 12:16:15 2018 +0100
Un-bump release
diff --git a/scorep.spec b/scorep.spec
index afae444..d2724a7 100644
--- a/scorep.spec
+++ b/scorep.spec
@@ -8,7 +8,7 @@
Name: scorep
Version: 4.1
-Release: 3%{?dist}
+Release: 2%{?dist}
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes
License: BSD
@@ -239,7 +239,6 @@ find %{buildroot} -name '*.a' -delete
%ldconfig_scriptlets
%check
-# Fixme: failing with link errors
make -C serial check V=1
commit 8cf881736bbf32383a6ec196e65468ff3cedf383
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Thu Oct 25 11:51:57 2018 +0100
- Avoid rpath in scorep-config output
- Fix requires for MPI packages
- Move files required for Scalasca to -config packages
- Add license to libs packages
diff --git a/scorep.spec b/scorep.spec
index 801d747..afae444 100644
--- a/scorep.spec
+++ b/scorep.spec
@@ -8,7 +8,7 @@
Name: scorep
Version: 4.1
-Release: 1%{?dist}
+Release: 3%{?dist}
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes
License: BSD
@@ -78,17 +78,26 @@ The %{name}-doc package contains documentation for %{name}
%package libs
Summary: Score-P runtime libraries
+# This is useful at runtime.
+Requires: %{name}-config%{?_isa} = %{version}-%{release}
%description libs
Score-P runtime libraries.
+# This is relevant for Scalasca analysis, at least, without the libraries.
+%package config
+Summary: Score-P configuration files
+
+%description config
+Score-P configuration files.
+
%if %{with_mpich}
%package mpich
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes for mpich
BuildRequires: mpich-devel
Requires: %{name}-mpich-libs%{?_isa} = %{version}-%{release}
-Requires: cube-devel%{?_isa} >= 4.3
-Requires: otf2-devel%{?_isa} >= 1.5
+Requires: cube-devel%{?_isa} >= 4.4
+Requires: otf2-devel%{?_isa} >= 2.0
Requires: papi-devel%{?_isa}
%description mpich
@@ -102,9 +111,16 @@ This package was compiled with mpich.
%package mpich-libs
Summary: Score-P mpich runtime libraries
+Requires: %{name}-mpich-config%{?_isa} = %{version}-%{release}
%description mpich-libs
Score-P mpich runtime libraries.
+
+%package mpich-config
+Summary: Score-P mpich configuration files
+
+%description mpich-config
+Score-P mpich configuration files.
%endif
@@ -113,8 +129,8 @@ Score-P mpich runtime libraries.
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes for openmpi
BuildRequires: openmpi-devel
Requires: %{name}-openmpi-libs%{?_isa} = %{version}-%{release}
-Requires: cube-devel%{?_isa} >= 4.3
-Requires: otf2-devel%{?_isa} >= 1.5
+Requires: cube-devel%{?_isa} >= 4.4
+Requires: otf2-devel%{?_isa} >= 2.0
Requires: papi-devel%{?_isa}
%description openmpi
@@ -127,9 +143,16 @@ This package was compiled with openmpi.
%package openmpi-libs
Summary: Score-P openmpi runtime libraries
+Requires: %{name}-openmpi-config%{?_isa} = %{version}-%{release}
%description openmpi-libs
Score-P openmpi runtime libraries.
+
+%package openmpi-config
+Summary: Score-P openmpi configuration files
+
+%description openmpi-config
+Score-P openmpi configuration files.
%endif
@@ -155,6 +178,12 @@ mkdir serial
cd serial
%configure %{configure_opts} --without-mpi --without-shmem
find -name Makefile -exec sed -r -i 's,-L%{_libdir}/?( |$),,g;s,-L/usr/lib/../%{_lib} ,,g' {} \;
+# This may not be the best way to eliminate rpath from the -config binaries.
+# rpmlint still complains, apparently about a string which doesn't
+# affect --ldflags or show up in chrpath -l. (The same as cof cube.)
+sed -i -e 's/HARDCODE_INTO_LIBS"]="1"/HARDCODE_INTO_LIBS"]="0"/' \
+ -e "s/hardcode_into_libs='yes'/hardcode_into_libs='no'/" \
+ build-backend/config.status
make %{?_smp_mflags}
cd -
@@ -173,9 +202,13 @@ do
--libdir=%{_libdir}/$mpi/lib \
--bindir=%{_libdir}/$mpi/bin \
--sbindir=%{_libdir}/$mpi/sbin \
+ --datadir=%{_libdir}/$mpi/share \
--includedir=%{_includedir}/$mpi-%{_arch} \
--mandir=%{_libdir}/$mpi/share/man
find -name Makefile -exec sed -r -i 's,-L%{_libdir}/?( |$),,g;s,-L/usr/lib/../%{_lib} ,,g' {} \;
+ sed -i -e 's/HARDCODE_INTO_LIBS"]="1"/HARDCODE_INTO_LIBS"]="0"/' \
+ -e "s/hardcode_into_libs='yes'/hardcode_into_libs='no'/" \
+ build-backend/config.status
make %{?_smp_mflags}
module purge
cd -
@@ -219,7 +252,6 @@ make -C serial check V=1
%{_defaultdocdir}/scorep/THANKS
%{_bindir}/scorep
%{_bindir}/scorep-backend-info
-%{_bindir}/scorep-config
%{_bindir}/scorep-g++
%{_bindir}/scorep-gcc
%{_bindir}/scorep-gfortran
@@ -230,7 +262,6 @@ make -C serial check V=1
%{_bindir}/scorep-preload-init
%{?dowrap:%{_bindir}/scorep-libwrap-init}
%{_libdir}/scorep/
-%{_datadir}/scorep/
%{_includedir}/scorep/
# Are the libtools in here necessary (different from vanilla)?
%{_libexecdir}/scorep
@@ -242,13 +273,17 @@ make -C serial check V=1
%license COPYING
%{_libdir}/libscorep_*.so*
+%files config
+%license COPYING
+%{_bindir}/scorep-config
+%{_datadir}/scorep/
+
%if %{with_mpich}
%files mpich
%license COPYING
%doc AUTHORS ChangeLog README THANKS OPEN_ISSUES
%{_libdir}/mpich/bin/scorep
%{_libdir}/mpich/bin/scorep-backend-info
-%{_libdir}/mpich/bin/scorep-config
%{_libdir}/mpich/bin/scorep-g++
%{_libdir}/mpich/bin/scorep-gcc
%{_libdir}/mpich/bin/scorep-gfortran
@@ -266,7 +301,13 @@ make -C serial check V=1
%{_includedir}/mpich-%{_arch}/scorep/
%files mpich-libs
+%license COPYING
%{_libdir}/mpich/lib/*.so*
+
+%files mpich-config
+%license COPYING
+%{_libdir}/mpich/bin/scorep-config
+%{_libdir}/mpich/share/scorep
%endif
%if %{with_openmpi}
@@ -275,7 +316,6 @@ make -C serial check V=1
%doc AUTHORS ChangeLog README THANKS OPEN_ISSUES
%{_libdir}/openmpi/bin/scorep
%{_libdir}/openmpi/bin/scorep-backend-info
-%{_libdir}/openmpi/bin/scorep-config
%{_libdir}/openmpi/bin/scorep-g++
%{_libdir}/openmpi/bin/scorep-gcc
%{_libdir}/openmpi/bin/scorep-gfortran
@@ -295,10 +335,22 @@ make -C serial check V=1
%{_includedir}/openmpi-%{_arch}/scorep/
%files openmpi-libs
+%license COPYING
%{_libdir}/openmpi/lib/*.so*
+
+%files openmpi-config
+%license COPYING
+%{_libdir}/openmpi/bin/scorep-config
+%{_libdir}/openmpi/share/scorep
%endif
%changelog
+* Tue Oct 23 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.1-2
+- Avoid rpath in scorep-config output
+- Fix requires for MPI packages
+- Move files required for Scalasca to -config packages
+- Add license to libs packages
+
* Fri Oct 12 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.1-1
- New version
- Remove 64-bit install fixup
commit 1dd420804af70c8dd3d1921ecc46a23c76e4a096
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Sat Oct 20 14:47:21 2018 +0100
- New version
- Remove 64-bit install fixup
diff --git a/.gitignore b/.gitignore
index dae43eb..14babd3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/scorep-3.0.tar.gz
/scorep-3.1.tar.gz
/scorep-4.0.tar.gz
+/scorep-4.1.tar.gz
diff --git a/sources b/sources
index 017b1c7..46a2ea3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (scorep-4.0.tar.gz) = f5ad9c777eae022378e0ae15a83b46e4b406e7453e2b26053064528207684d21c4b6306037387b852bf9cbf84d233c2c4bb766faf17dba3567f68975eae99ec7
+SHA512 (scorep-4.1.tar.gz) = 11a86c70b3d7b7741e8309b7864c73496786eefa43b22f6ea5d1db63eb1defd6ed5568f87794bf66e8b79ac8c9112b215527102a5d01adfb30b709e1f0e30ea6
commit b0936f106baa40ab6b1663f50216ca6d125dfafa
Merge: c9ac3da b259a12
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Thu Oct 18 16:37:41 2018 +0100
- New version
- Remove 64-bit install fixup
commit c9ac3dad58d2c5d5047718db4dda90c5fef23ee0
Author: Dave Love <loveshack(a)fedoraproject.org>
Date: Mon Oct 15 14:07:55 2018 +0100
- New version
- Remove 64-bit install fixup
diff --git a/scorep.spec b/scorep.spec
index eb27e45..9586b0a 100644
--- a/scorep.spec
+++ b/scorep.spec
@@ -1,6 +1,14 @@
+%ifnarch ppc64le
+%global dowrap 1
+%else
+%if 0%{?fedora} > 28
+%global dowrap 1
+%endif
+%endif
+
Name: scorep
-Version: 4.0
-Release: 2%{?dist}
+Version: 4.1
+Release: 1%{?dist}
Summary: Scalable Performance Measurement Infrastructure for Parallel Codes
License: BSD
@@ -19,9 +27,11 @@ BuildRequires: otf2-devel >= 2.0
BuildRequires: papi-devel
BuildRequires: gcc-plugin-devel
BuildRequires: gcc-c++
+%if 0%{?dowrap}
BuildRequires: llvm-devel
BuildRequires: clang
BuildRequires: clang-devel
+%endif
BuildRequires: automake libtool
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: binutils-devel%{?_isa}
@@ -193,11 +203,6 @@ done
find %{buildroot} -name '*.la' -exec rm -f {} ';'
find %{buildroot} -name '*.a' -delete
-# Fixme: For some reason libscorep_estimator is always installed in lib
-if [ %_lib != lib ]; then
- mv %{buildroot}%{_prefix}/lib/libscorep* %{buildroot}%{_libdir}
-fi
-
%ldconfig_scriptlets
%check
@@ -223,7 +228,7 @@ make -C serial check V=1
%{_bindir}/scorep-wrapper
%{_bindir}/scorep-online-access-registry
%{_bindir}/scorep-preload-init
-%{_bindir}/scorep-libwrap-init
+%{?dowrap:%{_bindir}/scorep-libwrap-init}
%{_libdir}/scorep/
%{_datadir}/scorep/
%{_includedir}/scorep/
@@ -256,7 +261,7 @@ make -C serial check V=1
%{_libdir}/mpich/bin/scorep-wrapper
%{_libdir}/mpich/bin/scorep-online-access-registry
%{_libdir}/mpich/bin/scorep-preload-init
-%{_libdir}/mpich/bin/scorep-libwrap-init
+%{?dowrap:%{_libdir}/mpich/bin/scorep-libwrap-init}
%{_libdir}/mpich/lib/scorep/
%{_includedir}/mpich-%{_arch}/scorep/
@@ -285,7 +290,7 @@ make -C serial check V=1
%{_libdir}/openmpi/bin/scorep-wrapper
%{_libdir}/openmpi/bin/scorep-online-access-registry
%{_libdir}/openmpi/bin/scorep-preload-init
-%{_libdir}/openmpi/bin/scorep-libwrap-init
+%{?dowrap:%{_libdir}/openmpi/bin/scorep-libwrap-init}
%{_libdir}/openmpi/lib/scorep/
%{_includedir}/openmpi-%{_arch}/scorep/
@@ -294,7 +299,14 @@ make -C serial check V=1
%endif
%changelog
-* Tue Oct 9 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.0-2
+* Fri Oct 12 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.1-1
+- New version
+- Remove 64-bit install fixup
+
+* Fri Oct 12 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.0-3
+- Exclude libwrap stuff on ppc64le fedora < 29
+
+* Tue Oct 9 2018 Dave Love <loveshack(a)fedoraproject.org> - 4.0-2
- Use ldconfig_scriptlets and remove some EPEL-ism in build
- Patch to correct cube configuration
- Build libwrap
5 years, 6 months
Architecture specific change in rpms/java-1.8.0-openjdk.git
by githook-noreply@fedoraproject.org
The package rpms/java-1.8.0-openjdk.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/java-1.8.0-openjdk.git/commit/?id....
Change:
+%ifnarch %{jit_arches}
Thanks.
Full change:
============
commit 35adfaf452cc4345f1e79da1e5c5b24b41f7a9e9
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Thu Oct 25 11:03:30 2018 +0200
PAtches renamed according to f28+
diff --git a/8031668-pr2842-01.patch b/8031668-pr2842-01.patch
new file mode 100644
index 0000000..faaa309
--- /dev/null
+++ b/8031668-pr2842-01.patch
@@ -0,0 +1,22 @@
+# HG changeset patch
+# User mduigou
+# Date 1389723922 28800
+# Tue Jan 14 10:25:22 2014 -0800
+# Node ID 842cc183c9f6d29270ff002238248978c08f0a66
+# Parent f0635543beb309c4da1bb88c906a76ee4b75e16d
+8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
+Reviewed-by: erikj, ihse
+
+diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
+--- openjdk///common/autoconf/toolchain.m4
++++ openjdk///common/autoconf/toolchain.m4
+@@ -230,8 +230,8 @@
+ $1="$PROPER_COMPILER_$1"
+ else
+ AC_MSG_RESULT([no, keeping $1])
+- $1="$TEST_COMPILER"
+ fi
++
+ TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
+ ])
+
diff --git a/8036003-add-with-native-debug-symbols-configure-flag.patch b/8036003-add-with-native-debug-symbols-configure-flag.patch
new file mode 100644
index 0000000..b7b8a05
--- /dev/null
+++ b/8036003-add-with-native-debug-symbols-configure-flag.patch
@@ -0,0 +1,249 @@
+
+# HG changeset patch
+# User sgehwolf
+# Date 1531824954 -7200
+# Node ID 19e8754f5415cdda79904b9f21a4b8981505cb78
+# Parent 1380ce862bbd0b65c619bfcea454d612b240e332
+8036003: Add --with-native-debug-symbols=[none|internal|external|zipped]
+Reviewed-by: erikj
+
+diff -r 1380ce862bbd -r 19e8754f5415 common/autoconf/jdk-options.m4
+--- openjdk/common/autoconf/jdk-options.m4 Mon Jul 16 15:37:08 2018 +0100
++++ openjdk/common/autoconf/jdk-options.m4 Tue Jul 17 12:55:54 2018 +0200
+@@ -1,5 +1,5 @@
+ #
+-# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
++# Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
+ # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ #
+ # This code is free software; you can redistribute it and/or modify it
+@@ -606,11 +606,88 @@ AC_DEFUN_ONCE([JDKOPT_SETUP_DEBUG_SYMBOLS],
+
+ if test "x${enable_zip_debug_info}" = "xno"; then
+ ZIP_DEBUGINFO_FILES=false
++ elif test "x${enable_zip_debug_info}" = "xyes"; then
++ ZIP_DEBUGINFO_FILES=true
++ fi
++
++ #
++ # NATIVE_DEBUG_SYMBOLS
++ # This must be done after the toolchain is setup, since we're looking at objcopy.
++ # In addition, this must be done after ENABLE_DEBUG_SYMBOLS and ZIP_DEBUGINFO_FILES
++ # checking in order to preserve backwards compatibility post JDK-8207234.
++ #
++ AC_MSG_CHECKING([what type of native debug symbols to use (this will override previous settings)])
++ AC_ARG_WITH([native-debug-symbols],
++ [AS_HELP_STRING([--with-native-debug-symbols],
++ [set the native debug symbol configuration (none, internal, external, zipped) @<:@varying@:>@])],
++ [
++ if test "x$OPENJDK_TARGET_OS" = xaix; then
++ if test "x$with_native_debug_symbols" = xexternal || test "x$with_native_debug_symbols" = xzipped; then
++ AC_MSG_ERROR([AIX only supports the parameters 'none' and 'internal' for --with-native-debug-symbols])
++ fi
++ fi
++ ],
++ [
++ # Default to unset for backwards compatibility
++ with_native_debug_symbols=""
++ ])
++ NATIVE_DEBUG_SYMBOLS=$with_native_debug_symbols
++ if test "x$NATIVE_DEBUG_SYMBOLS" = x; then
++ AC_MSG_RESULT([not specified])
+ else
++ AC_MSG_RESULT([$NATIVE_DEBUG_SYMBOLS])
++ fi
++ # Default is empty
++ DEBUG_BINARIES=
++ # Default is min_strip. Possible values are min_strip, all_strip, no_strip
++ STRIP_POLICY=min_strip
++
++ if test "x$NATIVE_DEBUG_SYMBOLS" = xzipped; then
++
++ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
++ if test "x$OBJCOPY" = x; then
++ # enabling of enable-debug-symbols and can't find objcopy
++ # this is an error
++ AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
++ fi
++ fi
++
++ ENABLE_DEBUG_SYMBOLS=true
++ STRIP_POLICY=min_strip
+ ZIP_DEBUGINFO_FILES=true
++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xnone; then
++ ENABLE_DEBUG_SYMBOLS=false
++ STRIP_POLICY=min_strip
++ ZIP_DEBUGINFO_FILES=false
++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xinternal; then
++ ENABLE_DEBUG_SYMBOLS=true
++ STRIP_POLICY=no_strip
++ ZIP_DEBUGINFO_FILES=false
++ POST_STRIP_CMD=
++ DEBUG_BINARIES=true
++ elif test "x$NATIVE_DEBUG_SYMBOLS" = xexternal; then
++
++ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
++ if test "x$OBJCOPY" = x; then
++ # enabling of enable-debug-symbols and can't find objcopy
++ # this is an error
++ AC_MSG_ERROR([Unable to find objcopy, cannot enable native debug symbols])
++ fi
++ fi
++
++ ENABLE_DEBUG_SYMBOLS=true
++ STRIP_POLICY=min_strip
++ ZIP_DEBUGINFO_FILES=false
++ elif test "x$NATIVE_DEBUG_SYMBOLS" != x; then
++ AC_MSG_ERROR([Allowed native debug symbols are: none, internal, external, zipped])
++ else
++ AC_MSG_NOTICE([--with-native-debug-symbols not specified. Using values from --disable-debug-symbols and --disable-zip-debug-info])
+ fi
+
+ AC_SUBST(ENABLE_DEBUG_SYMBOLS)
++ AC_SUBST(STRIP_POLICY)
++ AC_SUBST(POST_STRIP_CMD)
++ AC_SUBST(DEBUG_BINARIES)
+ AC_SUBST(ZIP_DEBUGINFO_FILES)
+ AC_SUBST(CFLAGS_DEBUG_SYMBOLS)
+ AC_SUBST(CXXFLAGS_DEBUG_SYMBOLS)
+diff -r 1380ce862bbd -r 19e8754f5415 common/autoconf/spec.gmk.in
+--- openjdk/common/autoconf/spec.gmk.in Mon Jul 16 15:37:08 2018 +0100
++++ openjdk/common/autoconf/spec.gmk.in Tue Jul 17 12:55:54 2018 +0200
+@@ -416,6 +416,8 @@
+ CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
+ CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
+ ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
++STRIP_POLICY:=@STRIP_POLICY@
++DEBUG_BINARIES:=@DEBUG_BINARIES@
+
+ #
+ # Compress (or not) jars
+diff -r 1380ce862bbd -r 19e8754f5415 make/common/NativeCompilation.gmk
+--- openjdk/make/common/NativeCompilation.gmk Mon Jul 16 15:37:08 2018 +0100
++++ openjdk/make/common/NativeCompilation.gmk Tue Jul 17 12:55:54 2018 +0200
+@@ -260,6 +260,10 @@
+ $1_CC:=$(CC)
+ endif
+
++ ifeq ($$($1_STRIP_POLICY),)
++ $1_STRIP_POLICY:=$$(STRIP_POLICY)
++ endif
++
+ # Make sure the dirs exist.
+ $$(eval $$(call MakeDir,$$($1_OBJECT_DIR) $$($1_OUTPUT_DIR)))
+ $$(foreach d,$$($1_SRC), $$(if $$(wildcard $$d),,$$(error SRC specified to SetupNativeCompilation $1 contains missing directory $$d)))
+@@ -455,28 +459,34 @@
+ ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X
+ ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+- # empty section headers until a fixed $(OBJCOPY) is available.
+- # An empty section header has sh_addr == 0 and sh_size == 0.
+- # This problem has only been seen on Solaris X64, but we call this tool
+- # on all Solaris builds just in case.
+- #
+- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
++ # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
++ # empty section headers until a fixed $(OBJCOPY) is available.
++ # An empty section header has sh_addr == 0 and sh_size == 0.
++ # This problem has only been seen on Solaris X64, but we call this tool
++ # on all Solaris builds just in case.
++ #
++ # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
++ # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
++ $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
+ $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
+ $(RM) $$@
+ $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
+ $(OBJCOPY) --only-keep-debug $$< $$@
+ $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
++ endif
+ else # not solaris
+- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
+ $(RM) $$@
+ $(OBJCOPY) --only-keep-debug $$< $$@
+ $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
++ endif
+ endif # Touch to not retrigger rule on rebuild
++ ifneq ($$($1_STRIP_POLICY), no_strip)
+ $(TOUCH) $$@
++ endif
+ endif # !windows
+ endif # !macosx
+
+@@ -500,7 +510,9 @@
+ $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
+ $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
+ else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
+- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
++ endif
+ endif
+ endif
+ endif
+@@ -539,28 +551,34 @@
+ ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X
+ ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows
+ ifeq ($(OPENJDK_TARGET_OS), solaris)
+- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
+- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
+- # empty section headers until a fixed $(OBJCOPY) is available.
+- # An empty section header has sh_addr == 0 and sh_size == 0.
+- # This problem has only been seen on Solaris X64, but we call this tool
+- # on all Solaris builds just in case.
+- #
+- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
+- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
+- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
++ # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
++ # empty section headers until a fixed $(OBJCOPY) is available.
++ # An empty section header has sh_addr == 0 and sh_size == 0.
++ # This problem has only been seen on Solaris X64, but we call this tool
++ # on all Solaris builds just in case.
++ #
++ # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
++ # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
++ $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
+ $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
+ $(RM) $$@
+ $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
+ $(OBJCOPY) --only-keep-debug $$< $$@
+ $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
++ endif
+ else # not solaris
+- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
+ $(RM) $$@
+ $(OBJCOPY) --only-keep-debug $$< $$@
+ $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
++ endif
+ endif
++ ifneq ($$($1_STRIP_POLICY), no_strip)
+ $(TOUCH) $$@
++ endif
+ endif # !windows
+ endif # !macosx
+
+@@ -584,7 +602,9 @@
+ $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
+ $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
+ else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
+- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
++ ifneq ($$($1_STRIP_POLICY), no_strip)
++ $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
++ endif
+ endif
+ endif
+ endif
+
diff --git a/8044235-include-all-srcs.patch b/8044235-include-all-srcs.patch
new file mode 100644
index 0000000..1beda6d
--- /dev/null
+++ b/8044235-include-all-srcs.patch
@@ -0,0 +1,109 @@
+# HG changeset patch
+# User omajid
+# Date 1401638044 14400
+# Sun Jun 01 11:54:04 2014 -0400
+# Node ID fd78f7e83f3f1ce7d363b681b97583138218afcb
+# Parent 8d0af21b5b9789f97b05edacc221a63f851d13b8
+8044235: src.zip should include all sources
+Reviewed-by: andrew, dholmes
+
+diff --git a/make/CreateJars.gmk b/make/CreateJars.gmk
+--- openjdk/jdk/make/CreateJars.gmk
++++ openjdk/jdk/make/CreateJars.gmk
+@@ -584,40 +584,53 @@
+
+ ##########################################################################################
+
+-SRC_ZIP_INCLUDES = \
+- com/sun/corba \
+- com/sun/image/codec/jpeg \
+- com/sun/imageio \
+- com/sun/java_cup \
+- com/sun/javadoc \
+- com/sun/java/swing \
+- com/sun/jmx \
+- com/sun/naming \
+- com/sun/org/apache \
+- com/sun/security/auth \
+- com/sun/security/jgss \
+- com/sun/source \
+- java \
+- javax/accessibility \
+- javax/annotation \
+- javax/imageio \
+- javax/lang \
+- javax/management \
+- javax/naming \
+- javax/print \
+- javax/rmi \
+- javax/script \
+- javax/security \
+- javax/sound \
+- javax/sql \
+- javax/swing \
+- javax/tools \
+- javax/xml \
+- org/ietf \
+- org/omg \
+- org/w3c/dom \
+- org/xml/sax \
+- #
++ifdef OPENJDK
++ SRC_ZIP_INCLUDES = \
++ com \
++ java \
++ javax \
++ jdk \
++ org \
++ sun \
++ #
++ SRC_ZIP_EXCLUDES =
++else
++ SRC_ZIP_INCLUDES = \
++ com/sun/corba \
++ com/sun/image/codec/jpeg \
++ com/sun/imageio \
++ com/sun/java_cup \
++ com/sun/javadoc \
++ com/sun/java/swing \
++ com/sun/jmx \
++ com/sun/naming \
++ com/sun/org/apache \
++ com/sun/security/auth \
++ com/sun/security/jgss \
++ com/sun/source \
++ java \
++ javax/accessibility \
++ javax/annotation \
++ javax/imageio \
++ javax/lang \
++ javax/management \
++ javax/naming \
++ javax/print \
++ javax/rmi \
++ javax/script \
++ javax/security \
++ javax/sound \
++ javax/sql \
++ javax/swing \
++ javax/tools \
++ javax/xml \
++ org/ietf \
++ org/omg \
++ org/w3c/dom \
++ org/xml/sax \
++ #
++ SRC_ZIP_EXCLUDES = javax/swing/beaninfo
++endif
+
+ SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
+ SRC_ZIP_SRCS += $(JDK_OUTPUTDIR)/gensrc
+@@ -648,7 +661,7 @@
+ $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
+ SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \
+ INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
+- EXCLUDES := javax/swing/beaninfo, \
++ EXCLUDES := $(SRC_ZIP_EXCLUDES), \
+ SUFFIXES := .java .c .h, \
+ ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \
+ EXTRA_DEPS := $(LAUNCHER_ZIP_SRC)))
diff --git a/8073139-rh1191652-hotspot-aarch64.patch b/8073139-rh1191652-hotspot-aarch64.patch
new file mode 100644
index 0000000..a5afea0
--- /dev/null
+++ b/8073139-rh1191652-hotspot-aarch64.patch
@@ -0,0 +1,130 @@
+# HG changeset patch
+# User sgehwolf
+# Date 1537885415 -7200
+# Tue Sep 25 16:23:35 2018 +0200
+# Node ID 5044428520866481f438bfd1375da75adbc89243
+# Parent a3df1579a8647b06559f41d345da7bea162b26e9
+8073139: PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
+Reviewed-by: erikj, goetz, dholmes
+
+diff --git a/make/defs.make b/make/defs.make
+--- openjdk/hotspot/make/defs.make
++++ openjdk/hotspot/make/defs.make
+@@ -285,7 +285,7 @@ ifneq ($(OSNAME),windows)
+
+ # Use uname output for SRCARCH, but deal with platform differences. If ARCH
+ # is not explicitly listed below, it is treated as x86.
+- SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64 zero aarch64,$(ARCH)))
++ SRCARCH ?= $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 ppc ppc64 ppc64le zero aarch64,$(ARCH)))
+ ARCH/ = x86
+ ARCH/sparc = sparc
+ ARCH/sparc64= sparc
+@@ -293,6 +293,7 @@ ifneq ($(OSNAME),windows)
+ ARCH/amd64 = x86
+ ARCH/x86_64 = x86
+ ARCH/ppc64 = ppc
++ ARCH/ppc64le= ppc
+ ARCH/ppc = ppc
+ ARCH/zero = zero
+ ARCH/aarch64 = aarch64
+@@ -316,7 +317,12 @@
+ endif
+ endif
+
+- # LIBARCH is 1:1 mapping from BUILDARCH
++ # LIBARCH is 1:1 mapping from BUILDARCH, except for ARCH=ppc64le
++ ifeq ($(ARCH),ppc64le)
++ LIBARCH ?= ppc64le
++ else
++ LIBARCH ?= $(LIBARCH/$(BUILDARCH))
++ endif
+ LIBARCH ?= $(LIBARCH/$(BUILDARCH))
+ LIBARCH/i486 = i386
+ LIBARCH/amd64 = amd64
+diff --git a/src/os/linux/vm/os_linux.cpp b/src/os/linux/vm/os_linux.cpp
+--- openjdk/hotspot/src/os/linux/vm/os_linux.cpp
++++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
+@@ -1956,7 +1956,7 @@
+ {EM_SPARCV9, EM_SPARCV9, ELFCLASS64, ELFDATA2MSB, (char*)"Sparc v9 64"},
+ {EM_PPC, EM_PPC, ELFCLASS32, ELFDATA2MSB, (char*)"Power PC 32"},
+ #if defined(VM_LITTLE_ENDIAN)
+- {EM_PPC64, EM_PPC64, ELFCLASS64, ELFDATA2LSB, (char*)"Power PC 64"},
++ {EM_PPC64, EM_PPC64, ELFCLASS64, ELFDATA2LSB, (char*)"Power PC 64 LE"},
+ #else
+ {EM_PPC64, EM_PPC64, ELFCLASS64, ELFDATA2MSB, (char*)"Power PC 64"},
+ #endif
+diff --git a/src/share/tools/hsdis/Makefile b/src/share/tools/hsdis/Makefile
+--- openjdk/hotspot/src/share/tools/hsdis/Makefile
++++ openjdk/hotspot/src/share/tools/hsdis/Makefile
+@@ -97,6 +97,7 @@
+ CFLAGS/sparcv9 += -m64
+ CFLAGS/amd64 += -m64
+ CFLAGS/ppc64 += -m64
++CFLAGS/ppc64le += -m64 -DABI_ELFv2
+ else
+ ARCH=$(ARCH1:amd64=i386)
+ CFLAGS/i386 += -m32
+diff --git a/src/share/tools/hsdis/hsdis-demo.c b/src/share/tools/hsdis/hsdis-demo.c
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis-demo.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis-demo.c
+@@ -88,7 +88,7 @@
+ printf("...And now for something completely different:\n");
+ void *start = (void*) &main;
+ void *end = (void*) &end_of_file;
+-#if defined(__ia64) || defined(__powerpc__)
++#if defined(__ia64) || (defined(__powerpc__) && !defined(ABI_ELFv2))
+ /* On IA64 and PPC function pointers are pointers to function descriptors */
+ start = *((void**)start);
+ end = *((void**)end);
+diff --git a/src/share/tools/hsdis/hsdis.c b/src/share/tools/hsdis/hsdis.c
+--- openjdk/hotspot/src/share/tools/hsdis/hsdis.c
++++ openjdk/hotspot/src/share/tools/hsdis/hsdis.c
+@@ -461,7 +461,7 @@ static const char* native_arch_name() {
+ #ifdef LIBARCH_sparcv9
+ res = "sparc:v9b";
+ #endif
+-#ifdef LIBARCH_ppc64
++#if defined(LIBARCH_ppc64) || defined(LIBARCH_ppc64le)
+ res = "powerpc:common64";
+ #endif
+ #else
+diff --git a/src/share/vm/runtime/vm_version.cpp b/src/share/vm/runtime/vm_version.cpp
+--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
+@@ -187,11 +187,16 @@ const char* Abstract_VM_Version::jre_release_version() {
+ #ifndef CPU
+ #ifdef ZERO
+ #define CPU ZERO_LIBARCH
++#elif defined(PPC64)
++#if defined(VM_LITTLE_ENDIAN)
++#define CPU "ppc64le"
++#else
++#define CPU "ppc64"
++#endif
+ #else
+ #define CPU IA32_ONLY("x86") \
+ IA64_ONLY("ia64") \
+ AMD64_ONLY("amd64") \
+- PPC64_ONLY("ppc64") \
+ AARCH64_ONLY("aarch64") \
+ SPARC_ONLY("sparc")
+ #endif // ZERO
+diff --git a/test/test_env.sh b/test/test_env.sh
+--- openjdk/hotspot/test/test_env.sh
++++ openjdk/hotspot/test/test_env.sh
+@@ -185,6 +185,15 @@
+ if [ $? = 0 ]
+ then
+ VM_CPU="ppc"
++ if [ $VM_BITS = "64" ]
++ then
++ VM_CPU="ppc64"
++ grep "ppc64le" vm_version.out > ${NULL}
++ if [ $? = 0 ]
++ then
++ VM_CPU="ppc64le"
++ fi
++ fi
+ fi
+ grep "ia64" vm_version.out > ${NULL}
+ if [ $? = 0 ]
diff --git a/8073139-rh1191652-jdk.patch b/8073139-rh1191652-jdk.patch
new file mode 100644
index 0000000..7495c36
--- /dev/null
+++ b/8073139-rh1191652-jdk.patch
@@ -0,0 +1,98 @@
+# HG changeset patch
+# User sgehwolf
+# Date 1537884792 -7200
+# Tue Sep 25 16:13:12 2018 +0200
+# Node ID fd140d7550992267e3f0f08a20b461b2ce9fa740
+# Parent 21056af0d1eabbd04d7a223c01a28320c7010bfe
+8073139: PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
+Reviewed-by: erikj, goetz, dholmes
+
+diff --git a/make/lib/SoundLibraries.gmk b/make/lib/SoundLibraries.gmk
+--- openjdk/jdk/make/lib/SoundLibraries.gmk Tue Jan 12 21:01:12 2016 +0000
++++ openjdk/jdk/make/lib/SoundLibraries.gmk Wed Jan 13 00:18:02 2016 +0000
+@@ -140,6 +140,10 @@
+ LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64
+ endif
+
++ ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
++ LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64LE
++ endif
++
+ ifeq ($(OPENJDK_TARGET_CPU), aarch64)
+ LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64
+ endif
+diff -r 1fe56343ecc8 src/share/native/com/sun/media/sound/SoundDefs.h
+--- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h Tue Jan 12 21:01:12 2016 +0000
++++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h Wed Jan 13 00:18:02 2016 +0000
+@@ -44,6 +44,8 @@
+ #define X_ARM 7
+ #define X_PPC 8
+ #define X_AARCH64 9
++#define X_PPC64 10
++#define X_PPC64LE 11
+
+ // **********************************
+ // Make sure you set X_PLATFORM and X_ARCH defines correctly.
+diff --git a/src/solaris/bin/ppc64le/jvm.cfg b/src/solaris/bin/ppc64le/jvm.cfg
+new file mode 100644
+--- /dev/null
++++ openjdk/jdk/src/solaris/bin/ppc64le/jvm.cfg
+@@ -0,0 +1,34 @@
++# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++#
++# This code is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License version 2 only, as
++# published by the Free Software Foundation. Oracle designates this
++# particular file as subject to the "Classpath" exception as provided
++# by Oracle in the LICENSE file that accompanied this code.
++#
++# This code is distributed in the hope that it will be useful, but WITHOUT
++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
++# version 2 for more details (a copy is included in the LICENSE file that
++# accompanied this code).
++#
++# You should have received a copy of the GNU General Public License version
++# 2 along with this work; if not, write to the Free Software Foundation,
++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++#
++# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++# or visit www.oracle.com if you need additional information or have any
++# questions.
++#
++# List of JVMs that can be used as an option to java, javac, etc.
++# Order is important -- first in this list is the default JVM.
++# NOTE that this both this file and its format are UNSUPPORTED and
++# WILL GO AWAY in a future release.
++#
++# You may also select a JVM in an arbitrary location with the
++# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
++# and may not be available in a future release.
++#
++-server KNOWN
++-client IGNORE
+diff --git a/test/sun/security/pkcs11/PKCS11Test.java b/test/sun/security/pkcs11/PKCS11Test.java
+--- openjdk/jdk/test/sun/security/pkcs11/PKCS11Test.java
++++ openjdk/jdk/test/sun/security/pkcs11/PKCS11Test.java
+@@ -505,6 +505,8 @@
+ osMap.put("Linux-amd64-64", new String[]{
+ "/usr/lib/x86_64-linux-gnu/", "/usr/lib/x86_64-linux-gnu/nss/",
+ "/usr/lib64/"});
++ osMap.put("Linux-ppc64-64", new String[]{"/usr/lib64/"});
++ osMap.put("Linux-ppc64le-64", new String[]{"/usr/lib64/"});
+ osMap.put("Windows-x86-32", new String[]{
+ PKCS11_BASE + "/nss/lib/windows-i586/".replace('/', SEP)});
+ osMap.put("Windows-amd64-64", new String[]{
+diff --git a/test/tools/launcher/Settings.java b/test/tools/launcher/Settings.java
+--- openjdk/jdk/test/tools/launcher/Settings.java
++++ openjdk/jdk/test/tools/launcher/Settings.java
+@@ -74,7 +74,7 @@
+
+ static void runTestOptionDefault() throws IOException {
+ String stackSize = "256"; // in kb
+- if (getArch().equals("ppc64")) {
++ if (getArch().equals("ppc64") || getArch().equals("ppc64le")) {
+ stackSize = "800";
+ }
+ TestResult tr = null;
diff --git a/8073139-rh1191652-root.patch b/8073139-rh1191652-root.patch
new file mode 100644
index 0000000..746529a
--- /dev/null
+++ b/8073139-rh1191652-root.patch
@@ -0,0 +1,46 @@
+# HG changeset patch
+# User sgehwolf
+# Date 1537883922 -7200
+# Tue Sep 25 15:58:42 2018 +0200
+# Node ID 2fabe07c0bd8bf21400313f3bb9b8e80fcb31724
+# Parent 91867683f73de3882ef88981a79995beeeb1e980
+8073139: PPC64: User-visible arch directory and os.arch value on ppc64le cause issues with Java tooling
+Reviewed-by: erikj, goetz, dholmes
+
+diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
+--- openjdk/common/autoconf/toolchain.m4
++++ openjdk/common/autoconf/toolchain.m4
+@@ -1125,6 +1125,9 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
+ else
+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_BIG_ENDIAN"
+ fi
++ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
++ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DABI_ELFv2"
++ fi
+ if test "x$OPENJDK_TARGET_OS" = xlinux; then
+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DLINUX"
+ fi
+diff --git a/common/autoconf/jdk-options.m4 b/common/autoconf/jdk-options.m4
+--- openjdk/common/autoconf/jdk-options.m4
++++ openjdk/common/autoconf/jdk-options.m4
+@@ -158,7 +158,7 @@
+ if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
+ INCLUDE_SA=false
+ fi
+- if test "x$VAR_CPU" = xppc64 ; then
++ if test "x$VAR_CPU" = xppc64 -o "x$VAR_CPU" = xppc64le ; then
+ INCLUDE_SA=false
+ fi
+ if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
+diff --git a/common/autoconf/platform.m4 b/common/autoconf/platform.m4
+--- openjdk/common/autoconf/platform.m4
++++ openjdk/common/autoconf/platform.m4
+@@ -67,7 +67,7 @@
+ VAR_CPU_ENDIAN=big
+ ;;
+ powerpc64le)
+- VAR_CPU=ppc64
++ VAR_CPU=ppc64le
+ VAR_CPU_ARCH=ppc
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
diff --git a/8148351-pr2842-02.patch b/8148351-pr2842-02.patch
new file mode 100644
index 0000000..1812e19
--- /dev/null
+++ b/8148351-pr2842-02.patch
@@ -0,0 +1,65 @@
+# HG changeset patch
+# User ihse
+# Date 1454642639 0
+# Fri Feb 05 03:23:59 2016 +0000
+# Node ID 61798573efe5a9efa67e268a52cf61263abb4396
+# Parent 842cc183c9f6d29270ff002238248978c08f0a66
+8148351, PR2842: Only display resolved symlink for compiler, do not change path
+Reviewed-by: erikj
+
+diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
+--- openjdk///common/autoconf/toolchain.m4
++++ openjdk///common/autoconf/toolchain.m4
+@@ -198,38 +198,22 @@
+ fi
+ BASIC_FIXUP_EXECUTABLE($1)
+ TEST_COMPILER="[$]$1"
+- # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
+- # to 'xlc' but it is crucial that we invoke the compiler with the right name!
+- if test "x$OPENJDK_BUILD_OS" != xaix; then
+- AC_MSG_CHECKING([resolved symbolic links for $1])
+- BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
+- AC_MSG_RESULT([$TEST_COMPILER])
+- fi
+- AC_MSG_CHECKING([if $1 is disguised ccache])
+
+- COMPILER_BASENAME=`$BASENAME "$TEST_COMPILER"`
+- if test "x$COMPILER_BASENAME" = "xccache"; then
+- AC_MSG_RESULT([yes, trying to find proper $COMPILER_NAME compiler])
+- # We /usr/lib/ccache in the path, so cc is a symlink to /usr/bin/ccache.
+- # We want to control ccache invocation ourselves, so ignore this cc and try
+- # searching again.
++ AC_MSG_CHECKING([resolved symbolic links for $1])
++ SYMLINK_ORIGINAL="$TEST_COMPILER"
++ BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
++ if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
++ AC_MSG_RESULT([no symlink])
++ else
++ AC_MSG_RESULT([$SYMLINK_ORIGINAL])
+
+- # Remove the path to the fake ccache cc from the PATH
+- RETRY_COMPILER_SAVED_PATH="$PATH"
+- COMPILER_DIRNAME=`$DIRNAME [$]$1`
+- PATH="`$ECHO $PATH | $SED -e "s,$COMPILER_DIRNAME,,g" -e "s,::,:,g" -e "s,^:,,g"`"
+-
+- # Try again looking for our compiler
+- AC_CHECK_TOOLS(PROPER_COMPILER_$1, $3)
+- BASIC_FIXUP_EXECUTABLE(PROPER_COMPILER_$1)
+- PATH="$RETRY_COMPILER_SAVED_PATH"
+-
+- AC_MSG_CHECKING([for resolved symbolic links for $1])
+- BASIC_REMOVE_SYMBOLIC_LINKS(PROPER_COMPILER_$1)
+- AC_MSG_RESULT([$PROPER_COMPILER_$1])
+- $1="$PROPER_COMPILER_$1"
+- else
+- AC_MSG_RESULT([no, keeping $1])
++ # We can't handle ccache by gcc wrappers, since we need to know if we're
++ # using ccache. Instead ccache usage must be controlled by a configure option.
++ COMPILER_BASENAME=`$BASENAME "$SYMLINK_ORIGINAL"`
++ if test "x$COMPILER_BASENAME" = "xccache"; then
++ AC_MSG_NOTICE([Please use --enable-ccache instead of providing a wrapped compiler.])
++ AC_MSG_ERROR([$TEST_COMPILER is a symbolic link to ccache. This is not supported.])
++ fi
+ fi
+
+ TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
diff --git a/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch b/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch
new file mode 100644
index 0000000..8b62ae6
--- /dev/null
+++ b/8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch
@@ -0,0 +1,160 @@
+
+# HG changeset patch
+# User neugens
+# Date 1532089120 -7200
+# Node ID 7b30bb9b05bd2e8045bc693ea5be353ce6326396
+# Parent 3d8011a1e02179e5658110981e30274c605ceac8
+8150954: Taking screenshots on x11 composite desktop produce wrong result
+Summary: The AWT Robot X11 code that takes screenshots uses the default root window, which may not contain the final composited desktop.
+Reviewed-by: alexsch, ssadetsky, prr, dbuck
+
+diff -r 3d8011a1e021 -r 7b30bb9b05bd make/mapfiles/libawt_xawt/mapfile-vers
+--- openjdk/jdk/make/mapfiles/libawt_xawt/mapfile-vers Thu Jul 19 03:31:37 2018 +0100
++++ openjdk/jdk/make/mapfiles/libawt_xawt/mapfile-vers Fri Jul 20 14:18:40 2018 +0200
+@@ -158,6 +158,7 @@
+ Java_sun_awt_X11_XRobotPeer_mouseReleaseImpl;
+ Java_sun_awt_X11_XRobotPeer_mouseWheelImpl;
+ Java_sun_awt_X11_XRobotPeer_setup;
++ Java_sun_awt_X11_XRobotPeer_loadNativeLibraries;
+ Java_sun_awt_X11_XToolkit_getNumberOfButtonsImpl;
+ Java_java_awt_Component_initIDs;
+ Java_java_awt_Container_initIDs;
+diff -r 3d8011a1e021 -r 7b30bb9b05bd src/solaris/classes/sun/awt/X11/XRobotPeer.java
+--- openjdk/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Thu Jul 19 03:31:37 2018 +0100
++++ openjdk/jdk/src/solaris/classes/sun/awt/X11/XRobotPeer.java Fri Jul 20 14:18:40 2018 +0200
+@@ -34,6 +34,10 @@
+
+ class XRobotPeer implements RobotPeer {
+
++ static {
++ loadNativeLibraries();
++ }
++
+ private X11GraphicsConfig xgc = null;
+ /*
+ * native implementation uses some static shared data (pipes, processes)
+@@ -98,4 +102,5 @@
+ private static native synchronized void keyReleaseImpl(int keycode);
+
+ private static native synchronized void getRGBPixelsImpl(X11GraphicsConfig xgc, int x, int y, int width, int height, int pixelArray[]);
++ private static native void loadNativeLibraries();
+ }
+diff -r 3d8011a1e021 -r 7b30bb9b05bd src/solaris/native/sun/awt/awt_Robot.c
+--- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c Thu Jul 19 03:31:37 2018 +0100
++++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c Fri Jul 20 14:18:40 2018 +0200
+@@ -27,6 +27,9 @@
+ #error This file should not be included in headless library
+ #endif
+
++#include "jvm_md.h"
++#include <dlfcn.h>
++
+ #include "awt_p.h"
+ #include "awt_GraphicsEnv.h"
+ #define XK_MISCELLANY
+@@ -49,11 +52,46 @@
+ #include <sys/socket.h>
+ #endif
+
++static Bool (*compositeQueryExtension) (Display*, int*, int*);
++static Status (*compositeQueryVersion) (Display*, int*, int*);
++static Window (*compositeGetOverlayWindow) (Display *, Window);
++
+ extern struct X11GraphicsConfigIDs x11GraphicsConfigIDs;
+
+ static jint * masks;
+ static jint num_buttons;
+
++static void *xCompositeHandle;
++
++static const char* XCOMPOSITE = JNI_LIB_NAME("Xcomposite");
++static const char* XCOMPOSITE_VERSIONED = VERSIONED_JNI_LIB_NAME("Xcomposite", "1");
++
++static Bool checkXCompositeFunctions(void) {
++ return (compositeQueryExtension != NULL &&
++ compositeQueryVersion != NULL &&
++ compositeGetOverlayWindow != NULL);
++}
++
++static void initXCompositeFunctions(void) {
++
++ if (xCompositeHandle == NULL) {
++ xCompositeHandle = dlopen(XCOMPOSITE, RTLD_LAZY | RTLD_GLOBAL);
++ if (xCompositeHandle == NULL) {
++ xCompositeHandle = dlopen(XCOMPOSITE_VERSIONED, RTLD_LAZY | RTLD_GLOBAL);
++ }
++ }
++ //*(void **)(&asyncGetCallTraceFunction)
++ if (xCompositeHandle != NULL) {
++ *(void **)(&compositeQueryExtension) = dlsym(xCompositeHandle, "XCompositeQueryExtension");
++ *(void **)(&compositeQueryVersion) = dlsym(xCompositeHandle, "XCompositeQueryVersion");
++ *(void **)(&compositeGetOverlayWindow) = dlsym(xCompositeHandle, "XCompositeGetOverlayWindow");
++ }
++
++ if (xCompositeHandle && !checkXCompositeFunctions()) {
++ dlclose(xCompositeHandle);
++ }
++}
++
+ static int32_t isXTestAvailable() {
+ int32_t major_opcode, first_event, first_error;
+ int32_t event_basep, error_basep, majorp, minorp;
+@@ -88,6 +126,35 @@
+ return isXTestAvailable;
+ }
+
++static Bool hasXCompositeOverlayExtension(Display *display) {
++
++ int xoverlay = False;
++ int eventBase, errorBase;
++ if (checkXCompositeFunctions() &&
++ compositeQueryExtension(display, &eventBase, &errorBase))
++ {
++ int major = 0;
++ int minor = 0;
++
++ compositeQueryVersion(display, &major, &minor);
++ if (major > 0 || minor >= 3) {
++ xoverlay = True;
++ }
++ }
++
++ return xoverlay;
++}
++
++static jboolean isXCompositeDisplay(Display *display, int screenNumber) {
++
++ char NET_WM_CM_Sn[25];
++ snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
++
++ Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0);
++ Window owner = XGetSelectionOwner(display, managerSelection);
++
++ return owner != 0;
++}
+
+ static XImage *getWindowImage(Display * display, Window window,
+ int32_t x, int32_t y,
+@@ -232,6 +299,12 @@
+ DASSERT(adata != NULL);
+
+ rootWindow = XRootWindow(awt_display, adata->awt_visInfo.screen);
++ if (hasXCompositeOverlayExtension(awt_display) &&
++ isXCompositeDisplay(awt_display, adata->awt_visInfo.screen))
++ {
++ rootWindow = compositeGetOverlayWindow(awt_display, rootWindow);
++ }
++
+ image = getWindowImage(awt_display, rootWindow, x, y, width, height);
+
+ /* Array to use to crunch around the pixel values */
+@@ -412,3 +485,8 @@
+
+ AWT_UNLOCK();
+ }
++
++JNIEXPORT void JNICALL
++Java_sun_awt_X11_XRobotPeer_loadNativeLibraries (JNIEnv *env, jclass cls) {
++ initXCompositeFunctions();
++}
+
diff --git a/8165852-pr3468.patch b/8165852-pr3468.patch
new file mode 100644
index 0000000..6be87a7
--- /dev/null
+++ b/8165852-pr3468.patch
@@ -0,0 +1,87 @@
+
+# HG changeset patch
+# User bpb
+# Date 1515783982 28800
+# Node ID b8843bca95b5e0eed5bbb4dc195c89c727c7aede
+# Parent 61d7ce442d95f5f30c84037a50cf6361bf7c37e1
+8165852: (fs) Mount point not found for a file which is present in overlayfs
+Summary: Check /proc/mounts when the device ID boundary is reached
+Reviewed-by: alanb
+
+diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileStore.java
+--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Tue Jul 24 05:10:45 2018 -0400
++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java Fri Jan 12 11:06:22 2018 -0800
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -66,6 +66,8 @@
+ }
+
+ // step 2: find mount point
++ List<UnixMountEntry> procMountsEntries =
++ fs.getMountEntries("/proc/mounts");
+ UnixPath parent = path.getParent();
+ while (parent != null) {
+ UnixFileAttributes attrs = null;
+@@ -74,16 +76,23 @@
+ } catch (UnixException x) {
+ x.rethrowAsIOException(parent);
+ }
+- if (attrs.dev() != dev())
+- break;
++ if (attrs.dev() != dev()) {
++ // step 3: lookup mounted file systems (use /proc/mounts to
++ // ensure we find the file system even when not in /etc/mtab)
++ byte[] dir = path.asByteArray();
++ for (UnixMountEntry entry : procMountsEntries) {
++ if (Arrays.equals(dir, entry.dir()))
++ return entry;
++ }
++ }
+ path = parent;
+ parent = parent.getParent();
+ }
+
+- // step 3: lookup mounted file systems (use /proc/mounts to ensure we
+- // find the file system even when not in /etc/mtab)
++ // step 3: lookup mounted file systems (use /proc/mounts to
++ // ensure we find the file system even when not in /etc/mtab)
+ byte[] dir = path.asByteArray();
+- for (UnixMountEntry entry: fs.getMountEntries("/proc/mounts")) {
++ for (UnixMountEntry entry : procMountsEntries) {
+ if (Arrays.equals(dir, entry.dir()))
+ return entry;
+ }
+diff -r 61d7ce442d95 -r b8843bca95b5 src/solaris/classes/sun/nio/fs/LinuxFileSystem.java
+--- openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Tue Jul 24 05:10:45 2018 -0400
++++ openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java Fri Jan 12 11:06:22 2018 -0800
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2008, 2013, Oracle and/or its affiliates. All rights reserved.
++ * Copyright (c) 2008, 2018, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+@@ -75,7 +75,7 @@
+ /**
+ * Returns object to iterate over the mount entries in the given fstab file.
+ */
+- Iterable<UnixMountEntry> getMountEntries(String fstab) {
++ List<UnixMountEntry> getMountEntries(String fstab) {
+ ArrayList<UnixMountEntry> entries = new ArrayList<>();
+ try {
+ long fp = setmntent(Util.toBytes(fstab), Util.toBytes("r"));
+@@ -101,7 +101,7 @@
+ * Returns object to iterate over the mount entries in /etc/mtab
+ */
+ @Override
+- Iterable<UnixMountEntry> getMountEntries() {
++ List<UnixMountEntry> getMountEntries() {
+ return getMountEntries("/etc/mtab");
+ }
+
+
diff --git a/8201495-s390-java-opts.patch b/8201495-s390-java-opts.patch
new file mode 100644
index 0000000..d42d05b
--- /dev/null
+++ b/8201495-s390-java-opts.patch
@@ -0,0 +1,21 @@
+
+# HG changeset patch
+# User sgehwolf
+# Date 1525428026 -3600
+# Node ID 7129b977c4af021b1c9bbd7bbd334677213940d4
+# Parent 888144400d978e40a004dd8b908025a31135c092
+8201495: [Zero] Reduce limits of max heap size for boot JDK on s390
+Reviewed-by: andrew
+
+diff -r 888144400d97 -r 7129b977c4af common/autoconf/boot-jdk.m4
+--- openjdk.orig/common/autoconf/boot-jdk.m4 Thu Apr 19 03:58:58 2018 -0700
++++ openjdk/common/autoconf/boot-jdk.m4 Fri May 04 11:00:26 2018 +0100
+@@ -334,7 +334,7 @@
+ # Maximum amount of heap memory.
+ # Maximum stack size.
+ if test "x$BOOT_JDK_BITS" = x32; then
+- JVM_MAX_HEAP=1100M
++ JVM_MAX_HEAP=768M
+ STACK_SIZE=768
+ else
+ # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
diff --git a/8203030-size_t-fixes.patch b/8203030-size_t-fixes.patch
new file mode 100644
index 0000000..6e0d762
--- /dev/null
+++ b/8203030-size_t-fixes.patch
@@ -0,0 +1,321 @@
+diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
+@@ -2659,7 +2659,7 @@
+ if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
+ size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
+ n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
+- n_blks = MIN2(n_blks, CMSOldPLABMax);
++ n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
+ }
+ assert(n_blks > 0, "Error");
+ _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
+diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
+@@ -957,7 +957,7 @@
+ if (free_percentage < desired_free_percentage) {
+ size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
+ assert(desired_capacity >= capacity(), "invalid expansion size");
+- size_t expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
++ size_t expand_bytes = MAX2(desired_capacity - capacity(), (size_t)MinHeapDeltaBytes);
+ if (PrintGCDetails && Verbose) {
+ size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
+ gclog_or_tty->print_cr("\nFrom compute_new_size: ");
+@@ -6577,7 +6577,7 @@
+ HeapWord* curAddr = _markBitMap.startWord();
+ while (curAddr < _markBitMap.endWord()) {
+ size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr);
+- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
++ MemRegion chunk(curAddr, MIN2((size_t)CMSBitMapYieldQuantum, remaining));
+ _markBitMap.clear_large_range(chunk);
+ if (ConcurrentMarkSweepThread::should_yield() &&
+ !foregroundGCIsActive() &&
+@@ -6875,7 +6875,7 @@
+ return;
+ }
+ // Double capacity if possible
+- size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
++ size_t new_capacity = MIN2(_capacity*2, (size_t)MarkStackSizeMax);
+ // Do not give up existing stack until we have managed to
+ // get the double capacity that we desired.
+ ReservedSpace rs(ReservedSpace::allocation_align_size_up(
+diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
+@@ -3903,7 +3903,7 @@
+ // of things to do) or totally (at the very end).
+ size_t target_size;
+ if (partially) {
+- target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
++ target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t) GCDrainStackTargetSize);
+ } else {
+ target_size = 0;
+ }
+@@ -4707,7 +4707,7 @@
+ // The > 0 check is to deal with the prev and next live bytes which
+ // could be 0.
+ if (*hum_bytes > 0) {
+- bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes);
++ bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes);
+ *hum_bytes -= bytes;
+ }
+ return bytes;
+diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
+@@ -1726,7 +1726,7 @@
+
+ verify_region_sets_optional();
+
+- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
++ size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes);
+ ergo_verbose1(ErgoHeapSizing,
+ "attempt heap expansion",
+ ergo_format_reason("allocation request failed")
+diff --git a/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp b/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
+@@ -117,7 +117,7 @@
+ return reserved_size() - committed_size();
+ }
+
+-size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
++uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
+ return (addr - _low_boundary) / _page_size;
+ }
+
+diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
+@@ -38,7 +38,7 @@
+ _cancel(false),
+ _empty(true),
+ _dropped(0) {
+- _nqueues = MAX2(ParallelGCThreads, (size_t)1);
++ _nqueues = MAX2(ParallelGCThreads, (uintx)1);
+ _queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC);
+ for (size_t i = 0; i < _nqueues; i++) {
+ new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size);
+diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
+@@ -120,7 +120,7 @@
+ };
+
+ G1StringDedupEntryCache::G1StringDedupEntryCache(size_t max_size) :
+- _nlists(MAX2(ParallelGCThreads, (size_t)1)),
++ _nlists(MAX2(ParallelGCThreads, (uintx)1)),
+ _max_list_length(0),
+ _cached(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)),
+ _overflowed(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)) {
+diff --git a/src/share/vm/gc_implementation/g1/heapRegion.cpp b/src/share/vm/gc_implementation/g1/heapRegion.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
+@@ -109,7 +109,7 @@
+ if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
+ size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
+ region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(),
+- (uintx) HeapRegionBounds::min_size());
++ HeapRegionBounds::min_size());
+ }
+
+ int region_size_log = log2_long((jlong) region_size);
+diff --git a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
+@@ -194,7 +194,7 @@
+ const size_t num_overflow_elems = of_stack->size();
+ const size_t space_available = queue->max_elems() - queue->size();
+ const size_t num_take_elems = MIN3(space_available / 4,
+- ParGCDesiredObjsFromOverflowList,
++ (size_t)ParGCDesiredObjsFromOverflowList,
+ num_overflow_elems);
+ // Transfer the most recent num_take_elems from the overflow
+ // stack to our work queue.
+diff --git a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
+--- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
+@@ -910,8 +910,8 @@
+ void PSParallelCompact::initialize_dead_wood_limiter()
+ {
+ const size_t max = 100;
+- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
+- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
++ _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0;
++ _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
+ _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
+ DEBUG_ONLY(_dwl_initialized = true;)
+ _dwl_adjustment = normal_distribution(1.0);
+diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/collectorPolicy.cpp
+--- openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
++++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
+@@ -385,7 +385,7 @@
+ uintx calculated_size = NewSize + OldSize;
+ double shrink_factor = (double) MaxHeapSize / calculated_size;
+ uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment);
+- FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
++ FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size));
+ _initial_gen0_size = NewSize;
+
+ // OldSize is already aligned because above we aligned MaxHeapSize to
+@@ -433,7 +433,7 @@
+ // yield a size that is too small) and bound it by MaxNewSize above.
+ // Ergonomics plays here by previously calculating the desired
+ // NewSize and MaxNewSize.
+- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
++ max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
+ }
+ assert(max_new_size > 0, "All paths should set max_new_size");
+
+@@ -455,24 +455,23 @@
+ // lower limit.
+ _min_gen0_size = NewSize;
+ desired_new_size = NewSize;
+- max_new_size = MAX2(max_new_size, NewSize);
++ max_new_size = MAX2(max_new_size, (size_t)NewSize);
+ } else if (FLAG_IS_ERGO(NewSize)) {
+ // If NewSize is set ergonomically, we should use it as a lower
+ // limit, but use NewRatio to calculate the initial size.
+ _min_gen0_size = NewSize;
+ desired_new_size =
+- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
+- max_new_size = MAX2(max_new_size, NewSize);
++ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
++ max_new_size = MAX2(max_new_size, (size_t)NewSize);
+ } else {
+ // For the case where NewSize is the default, use NewRatio
+ // to size the minimum and initial generation sizes.
+ // Use the default NewSize as the floor for these values. If
+ // NewRatio is overly large, the resulting sizes can be too
+ // small.
+- _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
++ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize);
+ desired_new_size =
+- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
+- }
++ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize); }
+
+ assert(_min_gen0_size > 0, "Sanity check");
+ _initial_gen0_size = desired_new_size;
+@@ -573,7 +572,7 @@
+ } else {
+ // It's been explicitly set on the command line. Use the
+ // OldSize and then determine the consequences.
+- _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size);
++ _min_gen1_size = MIN2((size_t)OldSize, _min_heap_byte_size - _min_gen0_size);
+ _initial_gen1_size = OldSize;
+
+ // If the user has explicitly set an OldSize that is inconsistent
+diff --git a/src/share/vm/memory/metaspace.cpp b/src/share/vm/memory/metaspace.cpp
+--- openjdk/hotspot/src/share/vm/memory/metaspace.cpp
++++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp
+@@ -1455,7 +1455,7 @@
+
+ void MetaspaceGC::post_initialize() {
+ // Reset the high-water mark once the VM initialization is done.
+- _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), MetaspaceSize);
++ _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), (size_t)MetaspaceSize);
+ }
+
+ bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
+@@ -1515,7 +1515,7 @@
+ (size_t)MIN2(min_tmp, double(max_uintx));
+ // Don't shrink less than the initial generation size
+ minimum_desired_capacity = MAX2(minimum_desired_capacity,
+- MetaspaceSize);
++ (size_t)MetaspaceSize);
+
+ if (PrintGCDetails && Verbose) {
+ gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: ");
+@@ -1573,7 +1573,7 @@
+ const double max_tmp = used_after_gc / minimum_used_percentage;
+ size_t maximum_desired_capacity = (size_t)MIN2(max_tmp, double(max_uintx));
+ maximum_desired_capacity = MAX2(maximum_desired_capacity,
+- MetaspaceSize);
++ (size_t)MetaspaceSize);
+ if (PrintGCDetails && Verbose) {
+ gclog_or_tty->print_cr(" "
+ " maximum_free_percentage: %6.2f"
+@@ -3285,7 +3285,7 @@
+ // on the medium chunk list. The next chunk will be small and progress
+ // from there. This size calculated by -version.
+ _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6,
+- (CompressedClassSpaceSize/BytesPerWord)*2);
++ (size_t)(CompressedClassSpaceSize/BytesPerWord)*2);
+ _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size);
+ // Arbitrarily set the initial virtual space to a multiple
+ // of the boot class loader size.
+diff --git a/src/share/vm/memory/threadLocalAllocBuffer.cpp b/src/share/vm/memory/threadLocalAllocBuffer.cpp
+--- openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
++++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
+@@ -238,13 +238,13 @@
+ size_t init_sz = 0;
+
+ if (TLABSize > 0) {
+- init_sz = TLABSize / HeapWordSize;
++ init_sz = (size_t)(TLABSize / HeapWordSize);
+ } else if (global_stats() != NULL) {
+ // Initial size is a function of the average number of allocating threads.
+ unsigned nof_threads = global_stats()->allocating_threads_avg();
+
+- init_sz = (Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
+- (nof_threads * target_refills());
++ init_sz = (size_t)((Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
++ (nof_threads * target_refills()));
+ init_sz = align_object_size(init_sz);
+ }
+ init_sz = MIN2(MAX2(init_sz, min_size()), max_size());
+diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objArrayKlass.inline.hpp
+--- openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
++++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
+@@ -48,7 +48,7 @@
+ const size_t beg_index = size_t(index);
+ assert(beg_index < len || len == 0, "index too large");
+
+- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+ const size_t end_index = beg_index + stride;
+ T* const base = (T*)a->base();
+ T* const beg = base + beg_index;
+@@ -82,7 +82,7 @@
+ const size_t beg_index = size_t(index);
+ assert(beg_index < len || len == 0, "index too large");
+
+- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
++ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
+ const size_t end_index = beg_index + stride;
+ T* const base = (T*)a->base();
+ T* const beg = base + beg_index;
+diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
+--- openjdk/hotspot/src/share/vm/runtime/arguments.cpp
++++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
+@@ -1283,7 +1283,7 @@
+ // NewSize was set on the command line and it is larger than
+ // preferred_max_new_size.
+ if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line
+- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
++ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t)NewSize, preferred_max_new_size));
+ } else {
+ FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
+ }
+@@ -1308,8 +1308,8 @@
+ // Unless explicitly requested otherwise, make young gen
+ // at least min_new, and at most preferred_max_new_size.
+ if (FLAG_IS_DEFAULT(NewSize)) {
+- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
+- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
++ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t)NewSize, min_new));
++ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t)NewSize));
+ if (PrintGCDetails && Verbose) {
+ // Too early to use gclog_or_tty
+ tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
+@@ -1319,7 +1319,7 @@
+ // so it's NewRatio x of NewSize.
+ if (FLAG_IS_DEFAULT(OldSize)) {
+ if (max_heap > NewSize) {
+- FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize));
++ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t)(NewRatio*NewSize), max_heap - NewSize));
+ if (PrintGCDetails && Verbose) {
+ // Too early to use gclog_or_tty
+ tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
diff --git a/8205104-pr3539-rh1548475.patch b/8205104-pr3539-rh1548475.patch
new file mode 100644
index 0000000..9b40a7f
--- /dev/null
+++ b/8205104-pr3539-rh1548475.patch
@@ -0,0 +1,116 @@
+# HG changeset patch
+# User andrew
+# Date 1526065930 -3600
+# Fri May 11 20:12:10 2018 +0100
+# Node ID b8fc1e640c4c7f38ca94131279cb67c4d3de6961
+# Parent afb31413c73cbc06420fdb447aa90a7a38258904
+PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
+
+diff --git openjdk.orig/hotspot/make/aix/makefiles/jsig.make openjdk/hotspot/make/aix/makefiles/jsig.make
+--- openjdk.orig/hotspot/make/aix/makefiles/jsig.make
++++ openjdk/hotspot/make/aix/makefiles/jsig.make
+@@ -45,7 +45,7 @@
+ # cause problems with interposing. See CR: 6466665
+ # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+
+-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
++LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
+
+ LFLAGS_JSIG += $(BIN_UTILS)
+
+diff --git openjdk.orig/hotspot/make/aix/makefiles/saproc.make openjdk/hotspot/make/aix/makefiles/saproc.make
+--- openjdk.orig/hotspot/make/aix/makefiles/saproc.make
++++ openjdk/hotspot/make/aix/makefiles/saproc.make
+@@ -66,7 +66,7 @@
+ endif
+
+
+-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
++SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
+
+ $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
+ $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
+diff --git openjdk.orig/hotspot/make/aix/makefiles/vm.make openjdk/hotspot/make/aix/makefiles/vm.make
+--- openjdk.orig/hotspot/make/aix/makefiles/vm.make
++++ openjdk/hotspot/make/aix/makefiles/vm.make
+@@ -117,7 +117,7 @@
+
+ # Extra flags from gnumake's invocation or environment
+ CFLAGS += $(EXTRA_CFLAGS)
+-LFLAGS += $(EXTRA_CFLAGS)
++LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
+
+ # Don't set excutable bit on stack segment
+ # the same could be done by separate execstack command
+diff --git openjdk.orig/hotspot/make/bsd/makefiles/jsig.make openjdk/hotspot/make/bsd/makefiles/jsig.make
+--- openjdk.orig/hotspot/make/bsd/makefiles/jsig.make
++++ openjdk/hotspot/make/bsd/makefiles/jsig.make
+@@ -52,7 +52,7 @@
+ # cause problems with interposing. See CR: 6466665
+ # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+
+-LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE)
++LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
+
+ # DEBUG_BINARIES overrides everything, use full -g debug information
+ ifeq ($(DEBUG_BINARIES), true)
+diff --git openjdk.orig/hotspot/make/bsd/makefiles/saproc.make openjdk/hotspot/make/bsd/makefiles/saproc.make
+--- openjdk.orig/hotspot/make/bsd/makefiles/saproc.make
++++ openjdk/hotspot/make/bsd/makefiles/saproc.make
+@@ -114,7 +114,7 @@
+ # bring in minimum version argument or we'll fail on OSX 10.10
+ SA_LFLAGS = $(LFLAGS)
+ endif
+-SA_LFLAGS += $(LDFLAGS_HASH_STYLE)
++SA_LFLAGS += $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
+
+ BOOT_JAVA_INCLUDES = -I$(BOOT_JAVA_HOME)/include \
+ -I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
+diff --git openjdk.orig/hotspot/make/bsd/makefiles/vm.make openjdk/hotspot/make/bsd/makefiles/vm.make
+--- openjdk.orig/hotspot/make/bsd/makefiles/vm.make
++++ openjdk/hotspot/make/bsd/makefiles/vm.make
+@@ -119,7 +119,7 @@
+
+ # Extra flags from gnumake's invocation or environment
+ CFLAGS += $(EXTRA_CFLAGS)
+-LFLAGS += $(EXTRA_CFLAGS)
++LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
+
+ # Don't set excutable bit on stack segment
+ # the same could be done by separate execstack command
+diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/make/linux/makefiles/jsig.make
+--- openjdk.orig/hotspot/make/linux/makefiles/jsig.make
++++ openjdk/hotspot/make/linux/makefiles/jsig.make
+@@ -44,7 +44,7 @@
+ # cause problems with interposing. See CR: 6466665
+ # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
+
+-LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK)
++LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK) $(EXTRA_LDFLAGS)
+
+ # DEBUG_BINARIES overrides everything, use full -g debug information
+ ifeq ($(DEBUG_BINARIES), true)
+diff --git openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
++++ openjdk/hotspot/make/linux/makefiles/saproc.make
+@@ -73,7 +73,7 @@
+ else
+ ALT_SAINCDIR=
+ endif
+-SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
++SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
+
+ SAARCH ?= $(BUILDARCH)
+
+diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
+--- openjdk.orig/hotspot/make/linux/makefiles/vm.make
++++ openjdk/hotspot/make/linux/makefiles/vm.make
+@@ -122,7 +122,7 @@
+
+ # Extra flags from gnumake's invocation or environment
+ CFLAGS += $(EXTRA_CFLAGS)
+-LFLAGS += $(EXTRA_CFLAGS)
++LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
+
+ # Don't set excutable bit on stack segment
+ # the same could be done by separate execstack command
diff --git a/8207057-pr3613-assembler-debuginfo-hotspot.patch b/8207057-pr3613-assembler-debuginfo-hotspot.patch
new file mode 100644
index 0000000..c61d972
--- /dev/null
+++ b/8207057-pr3613-assembler-debuginfo-hotspot.patch
@@ -0,0 +1,13 @@
+--- openjdk/hotspot/make/linux/makefiles/gcc.make 2018-09-17 15:40:56.933127667 +0200
++++ openjdk/hotspot/make/linux/makefiles/gcc.make 2018-09-17 15:40:56.831127850 +0200
+@@ -184,6 +184,10 @@
+ LFLAGS += $(ARCHFLAG)
+ ASFLAGS += $(ARCHFLAG)
+
++ifeq ($(DEBUG_BINARIES), true)
++ ASFLAGS += $(ASFLAGS_DEBUG_SYMBOLS)
++endif
++
+ # Use C++ Interpreter
+ ifdef CC_INTERP
+ CFLAGS += -DCC_INTERP
diff --git a/8207057-pr3613-assembler-debuginfo-root.patch b/8207057-pr3613-assembler-debuginfo-root.patch
new file mode 100644
index 0000000..7f57c0a
--- /dev/null
+++ b/8207057-pr3613-assembler-debuginfo-root.patch
@@ -0,0 +1,39 @@
+--- openjdk/common/autoconf/toolchain.m4 2018-09-17 15:35:40.783695320 +0200
++++ openjdk/common/autoconf/toolchain.m4 2018-09-17 15:35:40.608695635 +0200
+@@ -814,6 +814,10 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
+
+ C_FLAG_DEPS="-MMD -MF"
+ CXX_FLAG_DEPS="-MMD -MF"
++ # By default don't set any specific assembler debug
++ # info flags for toolchains unless we know they work.
++ # See JDK-8207057.
++ ASFLAGS_DEBUG_SYMBOLS=""
+
+ case $COMPILER_TYPE in
+ CC )
+@@ -842,6 +846,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
+ CFLAGS_DEBUG_SYMBOLS="-g1"
+ CXXFLAGS_DEBUG_SYMBOLS="-g1"
+ fi
++ ASFLAGS_DEBUG_SYMBOLS="-g"
+ ;;
+ ossc )
+ #
+@@ -969,6 +974,7 @@ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_OPTIMIZATION],
+ AC_SUBST(CXX_O_FLAG_NONE)
+ AC_SUBST(C_FLAG_DEPS)
+ AC_SUBST(CXX_FLAG_DEPS)
++ AC_SUBST(ASFLAGS_DEBUG_SYMBOLS)
+ ])
+
+ AC_DEFUN_ONCE([TOOLCHAIN_SETUP_COMPILER_FLAGS_FOR_JDK],
+--- openjdk/common/autoconf/spec.gmk.in 2018-09-17 15:35:43.324690758 +0200
++++ openjdk/common/autoconf/spec.gmk.in 2018-09-17 15:35:43.169691036 +0200
+@@ -414,6 +414,7 @@
+ # Options for generating debug symbols
+ ENABLE_DEBUG_SYMBOLS:=@ENABLE_DEBUG_SYMBOLS@
+ CFLAGS_DEBUG_SYMBOLS:=@CFLAGS_DEBUG_SYMBOLS@
++ASFLAGS_DEBUG_SYMBOLS:=@ASFLAGS_DEBUG_SYMBOLS@
+ CXXFLAGS_DEBUG_SYMBOLS:=@CXXFLAGS_DEBUG_SYMBOLS@
+ ZIP_DEBUGINFO_FILES:=@ZIP_DEBUGINFO_FILES@
+ STRIP_POLICY:=@STRIP_POLICY@
diff --git a/8207057-pr3613-hotspot-assembler-debuginfo.patch b/8207057-pr3613-hotspot-assembler-debuginfo.patch
deleted file mode 100644
index 61f493d..0000000
--- a/8207057-pr3613-hotspot-assembler-debuginfo.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Make the assembler generate whatever debuginfo it can
---- openjdk/hotspot/make/linux/makefiles/rules.make
-+++ openjdk/hotspot/make/linux/makefiles/rules.make
-@@ -34,7 +34,7 @@
- CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
- CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
-
--AS.S = $(AS) $(ASFLAGS)
-+AS.S = $(AS) -g $(ASFLAGS)
-
- COMPILE.CC = $(CC_COMPILE) -c
- GENASM.CC = $(CC_COMPILE) -S
-@@ -161,12 +161,12 @@
- %.o: %.s
- @echo Assembling $<
- $(QUIETLY) $(REMOVE_TARGET)
-- $(QUIETLY) $(AS.S) $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
-+ $(QUIETLY) $(AS.S) -g $(DEPFLAGS) -o $@ $< $(COMPILE_DONE)
-
- %.o: %.S
- @echo Assembling $<
- $(QUIETLY) $(REMOVE_TARGET)
-- $(COMPILE.CC) -o $@ $< $(COMPILE_DONE)
-+ $(COMPILE.CC) -g -o $@ $< $(COMPILE_DONE)
-
- %.s: %.cpp
- @echo Generating assembly for $<
diff --git a/8207234-dont-add-unnecessary-debug-links.patch b/8207234-dont-add-unnecessary-debug-links.patch
deleted file mode 100644
index 9c29e6b..0000000
--- a/8207234-dont-add-unnecessary-debug-links.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- openjdk/make/common/NativeCompilation.gmk
-+++ openjdk/make/common/NativeCompilation.gmk
-@@ -437,29 +437,6 @@
-
- ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X
- ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows
-- ifeq ($(OPENJDK_TARGET_OS), solaris)
-- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-- # empty section headers until a fixed $(OBJCOPY) is available.
-- # An empty section header has sh_addr == 0 and sh_size == 0.
-- # This problem has only been seen on Solaris X64, but we call this tool
-- # on all Solaris builds just in case.
-- #
-- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET) \
-- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-- $(RM) $$@
-- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-- $(OBJCOPY) --only-keep-debug $$< $$@
-- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
-- else # not solaris
-- $$($1_OBJECT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo : $$($1_TARGET)
-- $(RM) $$@
-- $(OBJCOPY) --only-keep-debug $$< $$@
-- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
-- endif # Touch to not retrigger rule on rebuild
-- $(TOUCH) $$@
- endif # !windows
- endif # !macosx
-
-@@ -483,7 +460,6 @@
- $1 += $$($1_OUTPUT_DIR)/$$($1_LIBRARY).map \
- $$($1_OUTPUT_DIR)/$$($1_LIBRARY).pdb
- else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
-- $1 += $$($1_OUTPUT_DIR)/$$(LIBRARY_PREFIX)$$($1_LIBRARY).debuginfo
- endif
- endif
- endif
-@@ -522,28 +498,8 @@
- ifneq ($(OPENJDK_TARGET_OS), macosx) # OBJCOPY is not used on MacOS X
- ifneq ($(OPENJDK_TARGET_OS), windows) # nor on Windows
- ifeq ($(OPENJDK_TARGET_OS), solaris)
-- # gobjcopy crashes on "empty" section headers with the SHF_ALLOC flag set.
-- # Use $(FIX_EMPTY_SEC_HDR_FLAGS) to clear the SHF_ALLOC flag (if set) from
-- # empty section headers until a fixed $(OBJCOPY) is available.
-- # An empty section header has sh_addr == 0 and sh_size == 0.
-- # This problem has only been seen on Solaris X64, but we call this tool
-- # on all Solaris builds just in case.
-- #
-- # $(OBJCOPY) --add-gnu-debuglink=... corrupts SUNW_* sections.
-- # Use $(ADD_GNU_DEBUGLINK) until a fixed $(OBJCOPY) is available.
-- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET) \
-- $(FIX_EMPTY_SEC_HDR_FLAGS) $(ADD_GNU_DEBUGLINK)
-- $(RM) $$@
-- $(FIX_EMPTY_SEC_HDR_FLAGS) $(LOG_INFO) $$<
-- $(OBJCOPY) --only-keep-debug $$< $$@
-- $(CD) $$(@D) && $(ADD_GNU_DEBUGLINK) $(LOG_INFO) $$(@F) $$<
- else # not solaris
-- $$($1_OBJECT_DIR)/$$($1_PROGRAM).debuginfo : $$($1_TARGET)
-- $(RM) $$@
-- $(OBJCOPY) --only-keep-debug $$< $$@
-- $(CD) $$(@D) && $(OBJCOPY) --add-gnu-debuglink=$$(@F) $$<
- endif
-- $(TOUCH) $$@
- endif # !windows
- endif # !macosx
-
-@@ -567,7 +523,6 @@
- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).map \
- $$($1_OUTPUT_DIR)/$$($1_PROGRAM).pdb
- else ifneq ($(OPENJDK_TARGET_OS), macosx) # MacOS X does not use .debuginfo files
-- $1 += $$($1_OUTPUT_DIR)/$$($1_PROGRAM).debuginfo
- endif
- endif
- endif
diff --git a/8210416-rh1630426-strict-math-opt.patch b/8210416-rh1630426-strict-math-opt.patch
new file mode 100644
index 0000000..98bbad0
--- /dev/null
+++ b/8210416-rh1630426-strict-math-opt.patch
@@ -0,0 +1,57 @@
+diff --git openjdk.orig/jdk/make/lib/CoreLibraries.gmk openjdk/jdk/make/lib/CoreLibraries.gmk
+--- openjdk.orig/jdk/make/lib/CoreLibraries.gmk
++++ openjdk/jdk/make/lib/CoreLibraries.gmk
+@@ -37,21 +37,32 @@ ifeq ($(OPENJDK_TARGET_OS), solaris)
+ endif
+
+ ifeq ($(OPENJDK_TARGET_OS), linux)
+- ifeq ($(OPENJDK_TARGET_CPU), ppc64)
+- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+- else ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
+- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+- else ifeq ($(OPENJDK_TARGET_CPU), aarch64)
+- BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
+- endif
+-endif
+-
+-ifneq ($(OPENJDK_TARGET_OS), macosx)
++ BUILD_LIBFDLIBM_OPTIMIZATION := HIGH
++ LIBFDLIBM_CFLAGS_LINUX := -ffp-contract=off
+ # Unfortunately, '-ffp-contract' is only available since gcc 4.6. For ppc64le
+ # that's no problem since ppc64le support only appeared in gcc 4.8.3. But on
+ # ppc64 (big endian) we traditionally compiled with gcc 4.3 which only knows
+ # '-mno-fused-madd'. However, that's still not enough to get the float
+ # computations right - we additionally have to supply '-fno-strict-aliasing'.
++ #
++ #
++ ifeq ($(TOOLCHAIN_TYPE), gcc)
++ CC_VER_MAJOR := $(shell $(CC) -dumpversion | cut -d'.' -f1)
++ CC_VER_MINOR := $(shell $(CC) -dumpversion | cut -d'.' -f2)
++ endif
++ # Only GCC 4.6 and better have machine independent -ffp-contract=off.
++ # For other versions we need to explicitly set arch specific machine
++ # flags or keep optimization off.
++ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 6 \) \))" "0"
++ ifeq ($(OPENJDK_TARGET_CPU), ppc64)
++ LIBFDLIBM_CFLAGS_LINUX := -mno-fused-madd -fno-strict-aliasing
++ else
++ BUILD_LIBFDLIBM_OPTIMIZATION := NONE
++ endif
++ endif
++endif
++
++ifneq ($(OPENJDK_TARGET_OS), macosx)
+ $(eval $(call SetupNativeCompilation,BUILD_LIBFDLIBM, \
+ STATIC_LIBRARY := fdlibm, \
+ OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \
+@@ -62,9 +73,7 @@ ifneq ($(OPENJDK_TARGET_OS), macosx)
+ -I$(JDK_TOPDIR)/src/share/native/java/lang/fdlibm/include, \
+ CFLAGS_windows_debug := -DLOGGING, \
+ CFLAGS_aix := -qfloat=nomaf, \
+- CFLAGS_linux_ppc64 := -mno-fused-madd -fno-strict-aliasing, \
+- CFLAGS_linux_ppc64le := -ffp-contract=off, \
+- CFLAGS_linux_aarch64 := -ffp-contract=off, \
++ CFLAGS_linux := $(LIBFDLIBM_CFLAGS_LINUX), \
+ ARFLAGS := $(ARFLAGS), \
+ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libfdlibm, \
+ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
diff --git a/8210425-01-rh1630426-hotspot-opt-fix.patch b/8210425-01-rh1630426-hotspot-opt-fix.patch
new file mode 100644
index 0000000..0b05ba6
--- /dev/null
+++ b/8210425-01-rh1630426-hotspot-opt-fix.patch
@@ -0,0 +1,83 @@
+diff --git openjdk.orig/hotspot/make/linux/makefiles/amd64.make openjdk/hotspot/make/linux/makefiles/amd64.make
+--- openjdk.orig/hotspot/make/linux/makefiles/amd64.make
++++ openjdk/hotspot/make/linux/makefiles/amd64.make
+@@ -22,10 +22,13 @@
+ #
+ #
+
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++ifeq ($(OPT_CFLAGS_NO_FMA),)
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++endif
+ # Must also specify if CPU is little endian
+ CFLAGS += -DVM_LITTLE_ENDIAN
+
+diff --git openjdk.orig/hotspot/make/linux/makefiles/gcc.make openjdk/hotspot/make/linux/makefiles/gcc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/gcc.make
++++ openjdk/hotspot/make/linux/makefiles/gcc.make
+@@ -225,6 +225,16 @@
+ OPT_CFLAGS/SIZE=-Os
+ OPT_CFLAGS/SPEED=-O3
+
++ifeq ($(USE_CLANG),)
++ # Only GCC 4.6 and better have machine independent -ffp-contract=off.
++ # For other versions we need to explicitly set arch specific machine
++ # flags or keep optimization off for them.
++ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 6 \) \))" "1"
++ OPT_CFLAGS_NO_FMA = -ffp-contract=off
++ endif
++endif
++
++
+ # Hotspot uses very unstrict aliasing turn this optimization off
+ # This option is added to CFLAGS rather than OPT_CFLAGS
+ # so that OPT_CFLAGS overrides get this option too.
+diff --git openjdk.orig/hotspot/make/linux/makefiles/i486.make openjdk/hotspot/make/linux/makefiles/i486.make
+--- openjdk.orig/hotspot/make/linux/makefiles/i486.make
++++ openjdk/hotspot/make/linux/makefiles/i486.make
+@@ -24,10 +24,13 @@
+
+ # TLS helper, assembled from .s file
+
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++ifeq ($(OPT_CFLAGS_NO_FMA),)
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++endif
+ # Must also specify if CPU is little endian
+ CFLAGS += -DVM_LITTLE_ENDIAN
+
+diff --git openjdk.orig/hotspot/make/linux/makefiles/ppc64.make openjdk/hotspot/make/linux/makefiles/ppc64.make
+--- openjdk.orig/hotspot/make/linux/makefiles/ppc64.make
++++ openjdk/hotspot/make/linux/makefiles/ppc64.make
+@@ -49,3 +49,17 @@
+ # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI.
+ CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string
+ endif
++
++ifeq ($(OPT_CFLAGS_NO_FMA),)
++ ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big)
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) -mno-fused-madd -fno-strict-aliasing
++ else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++ endif
++else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++endif
++
diff --git a/8210425-02-rh1630426-hotspot-opt-fix-aarch64.patch b/8210425-02-rh1630426-hotspot-opt-fix-aarch64.patch
new file mode 100644
index 0000000..cf1b40b
--- /dev/null
+++ b/8210425-02-rh1630426-hotspot-opt-fix-aarch64.patch
@@ -0,0 +1,22 @@
+diff --git openjdk.orig/hotspot/make/linux/makefiles/aarch64.make openjdk/hotspot/make/linux/makefiles/aarch64.make
+index 3d17326..7cdb498 100644
+--- openjdk.orig/hotspot/make/linux/makefiles/aarch64.make
++++ openjdk/hotspot/make/linux/makefiles/aarch64.make
+@@ -22,10 +22,13 @@
+ #
+ #
+
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++ifeq ($(OPT_CFLAGS_NO_FMA),)
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++endif
+ # Must also specify if CPU is little endian
+ CFLAGS += -DVM_LITTLE_ENDIAN
+
diff --git a/8210647-rh1630426-saproc-opt-fix.patch b/8210647-rh1630426-saproc-opt-fix.patch
new file mode 100644
index 0000000..0ab09e4
--- /dev/null
+++ b/8210647-rh1630426-saproc-opt-fix.patch
@@ -0,0 +1,23 @@
+diff --git openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make
+--- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
++++ openjdk/hotspot/make/linux/makefiles/saproc.make
+@@ -59,6 +59,11 @@
+ SA_DEBUG_CFLAGS = -g
+ endif
+
++# Optimize saproc lib at level -O3 unless it's a slowdebug build
++ifneq ($(DEBUG_LEVEL), slowdebug)
++ SA_OPT_FLAGS = $(OPT_CFLAGS)
++endif
++
+ # if $(AGENT_DIR) does not exist, we don't build SA
+ # also, we don't build SA on Itanium or zero.
+
+@@ -95,6 +100,7 @@
+ $(SASRCFILES) \
+ $(SA_LFLAGS) \
+ $(SA_DEBUG_CFLAGS) \
++ $(SA_OPT_FLAGS) \
+ $(EXTRA_CFLAGS) \
+ -o $@ \
+ -lthread_db
diff --git a/8210761-rh1630426-jsig-opt-fix.patch b/8210761-rh1630426-jsig-opt-fix.patch
new file mode 100644
index 0000000..5f30e59
--- /dev/null
+++ b/8210761-rh1630426-jsig-opt-fix.patch
@@ -0,0 +1,20 @@
+diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/make/linux/makefiles/jsig.make
+--- openjdk.orig/hotspot/make/linux/makefiles/jsig.make
++++ openjdk/hotspot/make/linux/makefiles/jsig.make
+@@ -51,10 +51,15 @@ ifeq ($(DEBUG_BINARIES), true)
+ JSIG_DEBUG_CFLAGS = -g
+ endif
+
++# Optimize jsig lib at level -O3 unless it's a slowdebug build
++ifneq ($(DEBUG_LEVEL), slowdebug)
++ JSIG_OPT_FLAGS = $(OPT_CFLAGS)
++endif
++
+ $(LIBJSIG): $(JSIGSRCDIR)/jsig.c $(LIBJSIG_MAPFILE)
+ @echo Making signal interposition lib...
+ $(QUIETLY) $(CC) $(SYMFLAG) $(ARCHFLAG) $(SHARED_FLAG) $(PICFLAG) \
+- $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
++ $(LFLAGS_JSIG) $(JSIG_DEBUG_CFLAGS) $(JSIG_OPT_FLAGS) $(EXTRA_CFLAGS) -o $@ $< -ldl
+ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1)
+ $(QUIETLY) $(OBJCOPY) --only-keep-debug $@ $(LIBJSIG_DEBUGINFO)
+ ifeq ($(STRIP_POLICY),all_strip)
diff --git a/include-all-srcs.patch b/include-all-srcs.patch
deleted file mode 100644
index 41b1ea2..0000000
--- a/include-all-srcs.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- jdk8/jdk/make/CreateJars.gmk
-+++ jdk8/jdk/make/CreateJars.gmk
-@@ -569,38 +569,12 @@
- ##########################################################################################
-
- SRC_ZIP_INCLUDES = \
-- com/sun/corba \
-- com/sun/image/codec/jpeg \
-- com/sun/imageio \
-- com/sun/java_cup \
-- com/sun/javadoc \
-- com/sun/java/swing \
-- com/sun/jmx \
-- com/sun/naming \
-- com/sun/org/apache \
-- com/sun/security/auth \
-- com/sun/security/jgss \
-- com/sun/source \
-+ com \
- java \
-- javax/accessibility \
-- javax/annotation \
-- javax/imageio \
-- javax/lang \
-- javax/management \
-- javax/naming \
-- javax/print \
-- javax/rmi \
-- javax/script \
-- javax/security \
-- javax/sound \
-- javax/sql \
-- javax/swing \
-- javax/tools \
-- javax/xml \
-- org/ietf \
-- org/omg \
-- org/w3c/dom \
-- org/xml/sax \
-+ javax \
-+ jdk \
-+ org \
-+ sun \
- #
-
- SRC_ZIP_SRCS = $(JDK_TOPDIR)/src/share/classes $(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes
-@@ -632,7 +606,6 @@
- $(eval $(call SetupZipArchive,BUILD_SRC_ZIP, \
- SRC := $(SRC_ZIP_SRCS) $(IMAGES_OUTPUTDIR)/src, \
- INCLUDES := $(SRC_ZIP_INCLUDES) launcher, \
-- EXCLUDES := javax/swing/beaninfo, \
- SUFFIXES := .java .c .h, \
- ZIP := $(IMAGES_OUTPUTDIR)/src.zip, \
- EXTRA_DEPS := $(LAUNCHER_ZIP_SRC)))
diff --git a/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch b/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch
deleted file mode 100644
index 865ecb3..0000000
--- a/java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1424102734 0
-# Mon Feb 16 16:05:34 2015 +0000
-# Node ID 4fdaf786d977aa77afdb68b8829579d31069e39c
-# Parent 01a0011cc101f3308c5876db8282c0fc5e3ba2e6
-PR2236: ppc64le should report its os.arch as ppc64le so tools can detect it
-Summary: Use ppc64le as the arch directory on that platform and report it in os.arch
-
---- openjdk/hotspot/make/defs.make.orig 2015-03-03 17:05:51.000000000 -0500
-+++ openjdk/hotspot/make/defs.make 2015-03-03 19:18:20.000000000 -0500
-@@ -319,6 +319,13 @@
- LIBARCH/ppc64 = ppc64
- LIBARCH/zero = $(ZERO_LIBARCH)
-
-+ # Override LIBARCH for ppc64le
-+ ifeq ($(ARCH), ppc64)
-+ ifeq ($(OPENJDK_TARGET_CPU_ENDIAN), little)
-+ LIBARCH = ppc64le
-+ endif
-+ endif
-+
- LP64_ARCH += sparcv9 amd64 ia64 ppc64 aarch64 zero
- endif
-
diff --git a/java-1.8.0-openjdk-rh1191652-jdk.patch b/java-1.8.0-openjdk-rh1191652-jdk.patch
deleted file mode 100644
index 5157f40..0000000
--- a/java-1.8.0-openjdk-rh1191652-jdk.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -r 1fe56343ecc8 make/lib/SoundLibraries.gmk
---- openjdk/jdk/make/lib/SoundLibraries.gmk Tue Jan 12 21:01:12 2016 +0000
-+++ openjdk/jdk/make/lib/SoundLibraries.gmk Wed Jan 13 00:18:02 2016 +0000
-@@ -140,6 +140,10 @@
- LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64
- endif
-
-+ ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
-+ LIBJSOUND_CFLAGS += -DX_ARCH=X_PPC64LE
-+ endif
-+
- ifeq ($(OPENJDK_TARGET_CPU), aarch64)
- LIBJSOUND_CFLAGS += -DX_ARCH=X_AARCH64
- endif
-diff -r 1fe56343ecc8 src/share/native/com/sun/media/sound/SoundDefs.h
---- openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h Tue Jan 12 21:01:12 2016 +0000
-+++ openjdk/jdk/src/share/native/com/sun/media/sound/SoundDefs.h Wed Jan 13 00:18:02 2016 +0000
-@@ -44,6 +44,8 @@
- #define X_ARM 7
- #define X_PPC 8
- #define X_AARCH64 9
-+#define X_PPC64 10
-+#define X_PPC64LE 11
-
- // **********************************
- // Make sure you set X_PLATFORM and X_ARCH defines correctly.
-diff -r 1fe56343ecc8 src/solaris/bin/ppc64le/jvm.cfg
---- /dev/null Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/jdk/src/solaris/bin/ppc64le/jvm.cfg Wed Jan 13 00:18:02 2016 +0000
-@@ -0,0 +1,33 @@
-+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# This code is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License version 2 only, as
-+# published by the Free Software Foundation. Oracle designates this
-+# particular file as subject to the "Classpath" exception as provided
-+# by Oracle in the LICENSE file that accompanied this code.
-+#
-+# This code is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+# version 2 for more details (a copy is included in the LICENSE file that
-+# accompanied this code).
-+#
-+# You should have received a copy of the GNU General Public License version
-+# 2 along with this work; if not, write to the Free Software Foundation,
-+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+#
-+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+# or visit www.oracle.com if you need additional information or have any
-+# questions.
-+#
-+# List of JVMs that can be used as an option to java, javac, etc.
-+# Order is important -- first in this list is the default JVM.
-+# NOTE that this both this file and its format are UNSUPPORTED and
-+# WILL GO AWAY in a future release.
-+#
-+# You may also select a JVM in an arbitrary location with the
-+# "-XXaltjvm=<jvm_dir>" option, but that too is unsupported
-+# and may not be available in a future release.
-+#
-+-server KNOWN
diff --git a/java-1.8.0-openjdk-rh1191652-root.patch b/java-1.8.0-openjdk-rh1191652-root.patch
deleted file mode 100644
index 46a9c6f..0000000
--- a/java-1.8.0-openjdk-rh1191652-root.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/common/autoconf/hotspot-spec.gmk.in b/common/autoconf/hotspot-spec.gmk.in
---- openjdk///common/autoconf/hotspot-spec.gmk.in
-+++ openjdk///common/autoconf/hotspot-spec.gmk.in
-@@ -71,6 +71,10 @@
- LIBARCH=$(OPENJDK_TARGET_CPU_LEGACY_LIB)
- # Set the cpu architecture
- ARCH=$(OPENJDK_TARGET_CPU_ARCH)
-+# ppc64le uses the HotSpot ppc64 build
-+ifeq ($(OPENJDK_TARGET_CPU), ppc64le)
-+ ARCH=ppc64
-+endif
- # Legacy setting for building for a 64 bit machine.
- # If yes then this expands to _LP64:=1
- @LP64@
-diff --git a/common/autoconf/jdk-options.m4 b/common/autoconf/jdk-options.m4
---- openjdk///common/autoconf/jdk-options.m4
-+++ openjdk///common/autoconf/jdk-options.m4
-@@ -158,7 +158,7 @@
- if test "x$JVM_VARIANT_ZEROSHARK" = xtrue ; then
- INCLUDE_SA=false
- fi
-- if test "x$VAR_CPU" = xppc64 ; then
-+ if test "x$VAR_CPU" = xppc64 -o "x$VAR_CPU" = xppc64le ; then
- INCLUDE_SA=false
- fi
- if test "x$OPENJDK_TARGET_CPU" = xaarch64; then
-diff --git a/common/autoconf/platform.m4 b/common/autoconf/platform.m4
---- openjdk///common/autoconf/platform.m4
-+++ openjdk///common/autoconf/platform.m4
-@@ -67,7 +67,7 @@
- VAR_CPU_ENDIAN=big
- ;;
- powerpc64le)
-- VAR_CPU=ppc64
-+ VAR_CPU=ppc64le
- VAR_CPU_ARCH=ppc
- VAR_CPU_BITS=64
- VAR_CPU_ENDIAN=little
-diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
---- openjdk///common/autoconf/toolchain.m4
-+++ openjdk///common/autoconf/toolchain.m4
-@@ -1123,6 +1123,9 @@
- else
- COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -D_BIG_ENDIAN"
- fi
-+ if test "x$OPENJDK_TARGET_CPU" = xppc64le; then
-+ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DABI_ELFv2"
-+ fi
- if test "x$OPENJDK_TARGET_OS" = xlinux; then
- COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DLINUX"
- fi
diff --git a/java-1.8.0-openjdk-s390-java-opts.patch b/java-1.8.0-openjdk-s390-java-opts.patch
deleted file mode 100644
index e2a4313..0000000
--- a/java-1.8.0-openjdk-s390-java-opts.patch
+++ /dev/null
@@ -1,46 +0,0 @@
---- openjdk.orig/common/autoconf/boot-jdk.m4 2016-01-21 18:33:47.586288044 +0000
-+++ openjdk/common/autoconf/boot-jdk.m4 2016-02-05 15:56:09.012242707 +0000
-@@ -1,5 +1,6 @@
- #
- # Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
-+# Copyright 2014 Red Hat, Inc.
- # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- #
- # This code is free software; you can redistribute it and/or modify it
-@@ -303,6 +323,9 @@
-
- AC_DEFUN_ONCE([BOOTJDK_SETUP_BOOT_JDK_ARGUMENTS],
- [
-+ # Ensure OPENJDK_TARGET_CPU_ARCH has been setup
-+ AC_REQUIRE([PLATFORM_SETUP_OPENJDK_BUILD_AND_TARGET])
-+
- ##############################################################################
- #
- # Specify options for anything that is run with the Boot JDK.
-@@ -325,16 +348,23 @@
- JAVA_FLAGS=$boot_jdk_jvmargs
- AC_SUBST(JAVA_FLAGS)
-
--
- AC_MSG_CHECKING([flags for boot jdk java command for big workloads])
-
- # Starting amount of heap memory.
-- ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
-+ if test "x$OPENJDK_BUILD_CPU_ARCH" = "xs390"; then
-+ ADD_JVM_ARG_IF_OK([-Xms256M],boot_jdk_jvmargs_big,[$JAVA])
-+ else
-+ ADD_JVM_ARG_IF_OK([-Xms64M],boot_jdk_jvmargs_big,[$JAVA])
-+ fi
-
- # Maximum amount of heap memory.
- # Maximum stack size.
- if test "x$BOOT_JDK_BITS" = x32; then
-- JVM_MAX_HEAP=1100M
-+ if test "x$OPENJDK_BUILD_CPU_ARCH" = "xs390"; then
-+ JVM_MAX_HEAP=768M
-+ else
-+ JVM_MAX_HEAP=1100M
-+ fi
- STACK_SIZE=768
- else
- # Running Javac on a JVM on a 64-bit machine, takes more space since 64-bit
diff --git a/java-1.8.0-openjdk-size_t.patch b/java-1.8.0-openjdk-size_t.patch
deleted file mode 100644
index 6e0d762..0000000
--- a/java-1.8.0-openjdk-size_t.patch
+++ /dev/null
@@ -1,321 +0,0 @@
-diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp
-@@ -2659,7 +2659,7 @@
- if (ResizeOldPLAB && CMSOldPLABResizeQuicker) {
- size_t multiple = _num_blocks[word_sz]/(CMSOldPLABToleranceFactor*CMSOldPLABNumRefills*n_blks);
- n_blks += CMSOldPLABReactivityFactor*multiple*n_blks;
-- n_blks = MIN2(n_blks, CMSOldPLABMax);
-+ n_blks = MIN2(n_blks, (size_t)CMSOldPLABMax);
- }
- assert(n_blks > 0, "Error");
- _cfls->par_get_chunk_of_blocks(word_sz, n_blks, fl);
-diff --git a/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
-@@ -957,7 +957,7 @@
- if (free_percentage < desired_free_percentage) {
- size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
- assert(desired_capacity >= capacity(), "invalid expansion size");
-- size_t expand_bytes = MAX2(desired_capacity - capacity(), MinHeapDeltaBytes);
-+ size_t expand_bytes = MAX2(desired_capacity - capacity(), (size_t)MinHeapDeltaBytes);
- if (PrintGCDetails && Verbose) {
- size_t desired_capacity = (size_t)(used() / ((double) 1 - desired_free_percentage));
- gclog_or_tty->print_cr("\nFrom compute_new_size: ");
-@@ -6577,7 +6577,7 @@
- HeapWord* curAddr = _markBitMap.startWord();
- while (curAddr < _markBitMap.endWord()) {
- size_t remaining = pointer_delta(_markBitMap.endWord(), curAddr);
-- MemRegion chunk(curAddr, MIN2(CMSBitMapYieldQuantum, remaining));
-+ MemRegion chunk(curAddr, MIN2((size_t)CMSBitMapYieldQuantum, remaining));
- _markBitMap.clear_large_range(chunk);
- if (ConcurrentMarkSweepThread::should_yield() &&
- !foregroundGCIsActive() &&
-@@ -6875,7 +6875,7 @@
- return;
- }
- // Double capacity if possible
-- size_t new_capacity = MIN2(_capacity*2, MarkStackSizeMax);
-+ size_t new_capacity = MIN2(_capacity*2, (size_t)MarkStackSizeMax);
- // Do not give up existing stack until we have managed to
- // get the double capacity that we desired.
- ReservedSpace rs(ReservedSpace::allocation_align_size_up(
-diff --git a/src/share/vm/gc_implementation/g1/concurrentMark.cpp b/src/share/vm/gc_implementation/g1/concurrentMark.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp
-@@ -3903,7 +3903,7 @@
- // of things to do) or totally (at the very end).
- size_t target_size;
- if (partially) {
-- target_size = MIN2((size_t)_task_queue->max_elems()/3, GCDrainStackTargetSize);
-+ target_size = MIN2((size_t)(_task_queue->max_elems()/3), (size_t) GCDrainStackTargetSize);
- } else {
- target_size = 0;
- }
-@@ -4707,7 +4707,7 @@
- // The > 0 check is to deal with the prev and next live bytes which
- // could be 0.
- if (*hum_bytes > 0) {
-- bytes = MIN2(HeapRegion::GrainBytes, *hum_bytes);
-+ bytes = MIN2(HeapRegion::GrainBytes, (size_t)*hum_bytes);
- *hum_bytes -= bytes;
- }
- return bytes;
-diff --git a/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp b/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp
-@@ -1726,7 +1726,7 @@
-
- verify_region_sets_optional();
-
-- size_t expand_bytes = MAX2(word_size * HeapWordSize, MinHeapDeltaBytes);
-+ size_t expand_bytes = MAX2(word_size * HeapWordSize, (size_t)MinHeapDeltaBytes);
- ergo_verbose1(ErgoHeapSizing,
- "attempt heap expansion",
- ergo_format_reason("allocation request failed")
-diff --git a/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp b/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1PageBasedVirtualSpace.cpp
-@@ -117,7 +117,7 @@
- return reserved_size() - committed_size();
- }
-
--size_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
-+uintptr_t G1PageBasedVirtualSpace::addr_to_page_index(char* addr) const {
- return (addr - _low_boundary) / _page_size;
- }
-
-diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupQueue.cpp
-@@ -38,7 +38,7 @@
- _cancel(false),
- _empty(true),
- _dropped(0) {
-- _nqueues = MAX2(ParallelGCThreads, (size_t)1);
-+ _nqueues = MAX2(ParallelGCThreads, (uintx)1);
- _queues = NEW_C_HEAP_ARRAY(G1StringDedupWorkerQueue, _nqueues, mtGC);
- for (size_t i = 0; i < _nqueues; i++) {
- new (_queues + i) G1StringDedupWorkerQueue(G1StringDedupWorkerQueue::default_segment_size(), _max_cache_size, _max_size);
-diff --git a/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp b/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
-@@ -120,7 +120,7 @@
- };
-
- G1StringDedupEntryCache::G1StringDedupEntryCache(size_t max_size) :
-- _nlists(MAX2(ParallelGCThreads, (size_t)1)),
-+ _nlists(MAX2(ParallelGCThreads, (uintx)1)),
- _max_list_length(0),
- _cached(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)),
- _overflowed(PaddedArray<G1StringDedupEntryList, mtGC>::create_unfreeable((uint)_nlists)) {
-diff --git a/src/share/vm/gc_implementation/g1/heapRegion.cpp b/src/share/vm/gc_implementation/g1/heapRegion.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/g1/heapRegion.cpp
-@@ -109,7 +109,7 @@
- if (FLAG_IS_DEFAULT(G1HeapRegionSize)) {
- size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
- region_size = MAX2(average_heap_size / HeapRegionBounds::target_number(),
-- (uintx) HeapRegionBounds::min_size());
-+ HeapRegionBounds::min_size());
- }
-
- int region_size_log = log2_long((jlong) region_size);
-diff --git a/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp b/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp
-@@ -194,7 +194,7 @@
- const size_t num_overflow_elems = of_stack->size();
- const size_t space_available = queue->max_elems() - queue->size();
- const size_t num_take_elems = MIN3(space_available / 4,
-- ParGCDesiredObjsFromOverflowList,
-+ (size_t)ParGCDesiredObjsFromOverflowList,
- num_overflow_elems);
- // Transfer the most recent num_take_elems from the overflow
- // stack to our work queue.
-diff --git a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
---- openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp
-@@ -910,8 +910,8 @@
- void PSParallelCompact::initialize_dead_wood_limiter()
- {
- const size_t max = 100;
-- _dwl_mean = double(MIN2(ParallelOldDeadWoodLimiterMean, max)) / 100.0;
-- _dwl_std_dev = double(MIN2(ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
-+ _dwl_mean = double(MIN2((size_t)ParallelOldDeadWoodLimiterMean, max)) / 100.0;
-+ _dwl_std_dev = double(MIN2((size_t)ParallelOldDeadWoodLimiterStdDev, max)) / 100.0;
- _dwl_first_term = 1.0 / (sqrt(2.0 * M_PI) * _dwl_std_dev);
- DEBUG_ONLY(_dwl_initialized = true;)
- _dwl_adjustment = normal_distribution(1.0);
-diff --git a/src/share/vm/memory/collectorPolicy.cpp b/src/share/vm/memory/collectorPolicy.cpp
---- openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
-+++ openjdk/hotspot/src/share/vm/memory/collectorPolicy.cpp
-@@ -385,7 +385,7 @@
- uintx calculated_size = NewSize + OldSize;
- double shrink_factor = (double) MaxHeapSize / calculated_size;
- uintx smaller_new_size = align_size_down((uintx)(NewSize * shrink_factor), _gen_alignment);
-- FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), smaller_new_size));
-+ FLAG_SET_ERGO(uintx, NewSize, MAX2(young_gen_size_lower_bound(), (size_t)smaller_new_size));
- _initial_gen0_size = NewSize;
-
- // OldSize is already aligned because above we aligned MaxHeapSize to
-@@ -433,7 +433,7 @@
- // yield a size that is too small) and bound it by MaxNewSize above.
- // Ergonomics plays here by previously calculating the desired
- // NewSize and MaxNewSize.
-- max_new_size = MIN2(MAX2(max_new_size, NewSize), MaxNewSize);
-+ max_new_size = MIN2(MAX2(max_new_size, (size_t)NewSize), (size_t)MaxNewSize);
- }
- assert(max_new_size > 0, "All paths should set max_new_size");
-
-@@ -455,24 +455,23 @@
- // lower limit.
- _min_gen0_size = NewSize;
- desired_new_size = NewSize;
-- max_new_size = MAX2(max_new_size, NewSize);
-+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
- } else if (FLAG_IS_ERGO(NewSize)) {
- // If NewSize is set ergonomically, we should use it as a lower
- // limit, but use NewRatio to calculate the initial size.
- _min_gen0_size = NewSize;
- desired_new_size =
-- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
-- max_new_size = MAX2(max_new_size, NewSize);
-+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize);
-+ max_new_size = MAX2(max_new_size, (size_t)NewSize);
- } else {
- // For the case where NewSize is the default, use NewRatio
- // to size the minimum and initial generation sizes.
- // Use the default NewSize as the floor for these values. If
- // NewRatio is overly large, the resulting sizes can be too
- // small.
-- _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), NewSize);
-+ _min_gen0_size = MAX2(scale_by_NewRatio_aligned(_min_heap_byte_size), (size_t)NewSize);
- desired_new_size =
-- MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), NewSize);
-- }
-+ MAX2(scale_by_NewRatio_aligned(_initial_heap_byte_size), (size_t)NewSize); }
-
- assert(_min_gen0_size > 0, "Sanity check");
- _initial_gen0_size = desired_new_size;
-@@ -573,7 +572,7 @@
- } else {
- // It's been explicitly set on the command line. Use the
- // OldSize and then determine the consequences.
-- _min_gen1_size = MIN2(OldSize, _min_heap_byte_size - _min_gen0_size);
-+ _min_gen1_size = MIN2((size_t)OldSize, _min_heap_byte_size - _min_gen0_size);
- _initial_gen1_size = OldSize;
-
- // If the user has explicitly set an OldSize that is inconsistent
-diff --git a/src/share/vm/memory/metaspace.cpp b/src/share/vm/memory/metaspace.cpp
---- openjdk/hotspot/src/share/vm/memory/metaspace.cpp
-+++ openjdk/hotspot/src/share/vm/memory/metaspace.cpp
-@@ -1455,7 +1455,7 @@
-
- void MetaspaceGC::post_initialize() {
- // Reset the high-water mark once the VM initialization is done.
-- _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), MetaspaceSize);
-+ _capacity_until_GC = MAX2(MetaspaceAux::committed_bytes(), (size_t)MetaspaceSize);
- }
-
- bool MetaspaceGC::can_expand(size_t word_size, bool is_class) {
-@@ -1515,7 +1515,7 @@
- (size_t)MIN2(min_tmp, double(max_uintx));
- // Don't shrink less than the initial generation size
- minimum_desired_capacity = MAX2(minimum_desired_capacity,
-- MetaspaceSize);
-+ (size_t)MetaspaceSize);
-
- if (PrintGCDetails && Verbose) {
- gclog_or_tty->print_cr("\nMetaspaceGC::compute_new_size: ");
-@@ -1573,7 +1573,7 @@
- const double max_tmp = used_after_gc / minimum_used_percentage;
- size_t maximum_desired_capacity = (size_t)MIN2(max_tmp, double(max_uintx));
- maximum_desired_capacity = MAX2(maximum_desired_capacity,
-- MetaspaceSize);
-+ (size_t)MetaspaceSize);
- if (PrintGCDetails && Verbose) {
- gclog_or_tty->print_cr(" "
- " maximum_free_percentage: %6.2f"
-@@ -3285,7 +3285,7 @@
- // on the medium chunk list. The next chunk will be small and progress
- // from there. This size calculated by -version.
- _first_class_chunk_word_size = MIN2((size_t)MediumChunk*6,
-- (CompressedClassSpaceSize/BytesPerWord)*2);
-+ (size_t)(CompressedClassSpaceSize/BytesPerWord)*2);
- _first_class_chunk_word_size = align_word_size_up(_first_class_chunk_word_size);
- // Arbitrarily set the initial virtual space to a multiple
- // of the boot class loader size.
-diff --git a/src/share/vm/memory/threadLocalAllocBuffer.cpp b/src/share/vm/memory/threadLocalAllocBuffer.cpp
---- openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
-+++ openjdk/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp
-@@ -238,13 +238,13 @@
- size_t init_sz = 0;
-
- if (TLABSize > 0) {
-- init_sz = TLABSize / HeapWordSize;
-+ init_sz = (size_t)(TLABSize / HeapWordSize);
- } else if (global_stats() != NULL) {
- // Initial size is a function of the average number of allocating threads.
- unsigned nof_threads = global_stats()->allocating_threads_avg();
-
-- init_sz = (Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
-- (nof_threads * target_refills());
-+ init_sz = (size_t)((Universe::heap()->tlab_capacity(myThread()) / HeapWordSize) /
-+ (nof_threads * target_refills()));
- init_sz = align_object_size(init_sz);
- }
- init_sz = MIN2(MAX2(init_sz, min_size()), max_size());
-diff --git a/src/share/vm/oops/objArrayKlass.inline.hpp b/src/share/vm/oops/objArrayKlass.inline.hpp
---- openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
-+++ openjdk/hotspot/src/share/vm/oops/objArrayKlass.inline.hpp
-@@ -48,7 +48,7 @@
- const size_t beg_index = size_t(index);
- assert(beg_index < len || len == 0, "index too large");
-
-- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
- const size_t end_index = beg_index + stride;
- T* const base = (T*)a->base();
- T* const beg = base + beg_index;
-@@ -82,7 +82,7 @@
- const size_t beg_index = size_t(index);
- assert(beg_index < len || len == 0, "index too large");
-
-- const size_t stride = MIN2(len - beg_index, ObjArrayMarkingStride);
-+ const size_t stride = MIN2(len - beg_index, (size_t)ObjArrayMarkingStride);
- const size_t end_index = beg_index + stride;
- T* const base = (T*)a->base();
- T* const beg = base + beg_index;
-diff --git a/src/share/vm/runtime/arguments.cpp b/src/share/vm/runtime/arguments.cpp
---- openjdk/hotspot/src/share/vm/runtime/arguments.cpp
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
-@@ -1283,7 +1283,7 @@
- // NewSize was set on the command line and it is larger than
- // preferred_max_new_size.
- if (!FLAG_IS_DEFAULT(NewSize)) { // NewSize explicitly set at command-line
-- FLAG_SET_ERGO(uintx, MaxNewSize, MAX2(NewSize, preferred_max_new_size));
-+ FLAG_SET_ERGO(uintx, MaxNewSize, MAX2((size_t)NewSize, preferred_max_new_size));
- } else {
- FLAG_SET_ERGO(uintx, MaxNewSize, preferred_max_new_size);
- }
-@@ -1308,8 +1308,8 @@
- // Unless explicitly requested otherwise, make young gen
- // at least min_new, and at most preferred_max_new_size.
- if (FLAG_IS_DEFAULT(NewSize)) {
-- FLAG_SET_ERGO(uintx, NewSize, MAX2(NewSize, min_new));
-- FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, NewSize));
-+ FLAG_SET_ERGO(uintx, NewSize, MAX2((size_t)NewSize, min_new));
-+ FLAG_SET_ERGO(uintx, NewSize, MIN2(preferred_max_new_size, (size_t)NewSize));
- if (PrintGCDetails && Verbose) {
- // Too early to use gclog_or_tty
- tty->print_cr("CMS ergo set NewSize: " SIZE_FORMAT, NewSize);
-@@ -1319,7 +1319,7 @@
- // so it's NewRatio x of NewSize.
- if (FLAG_IS_DEFAULT(OldSize)) {
- if (max_heap > NewSize) {
-- FLAG_SET_ERGO(uintx, OldSize, MIN2(NewRatio*NewSize, max_heap - NewSize));
-+ FLAG_SET_ERGO(uintx, OldSize, MIN2((size_t)(NewRatio*NewSize), max_heap - NewSize));
- if (PrintGCDetails && Verbose) {
- // Too early to use gclog_or_tty
- tty->print_cr("CMS ergo set OldSize: " SIZE_FORMAT, OldSize);
diff --git a/pr2842-01.patch b/pr2842-01.patch
deleted file mode 100644
index faaa309..0000000
--- a/pr2842-01.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-# HG changeset patch
-# User mduigou
-# Date 1389723922 28800
-# Tue Jan 14 10:25:22 2014 -0800
-# Node ID 842cc183c9f6d29270ff002238248978c08f0a66
-# Parent f0635543beb309c4da1bb88c906a76ee4b75e16d
-8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
-Reviewed-by: erikj, ihse
-
-diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
---- openjdk///common/autoconf/toolchain.m4
-+++ openjdk///common/autoconf/toolchain.m4
-@@ -230,8 +230,8 @@
- $1="$PROPER_COMPILER_$1"
- else
- AC_MSG_RESULT([no, keeping $1])
-- $1="$TEST_COMPILER"
- fi
-+
- TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
- ])
-
diff --git a/pr2842-02.patch b/pr2842-02.patch
deleted file mode 100644
index 1812e19..0000000
--- a/pr2842-02.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-# HG changeset patch
-# User ihse
-# Date 1454642639 0
-# Fri Feb 05 03:23:59 2016 +0000
-# Node ID 61798573efe5a9efa67e268a52cf61263abb4396
-# Parent 842cc183c9f6d29270ff002238248978c08f0a66
-8148351, PR2842: Only display resolved symlink for compiler, do not change path
-Reviewed-by: erikj
-
-diff --git a/common/autoconf/toolchain.m4 b/common/autoconf/toolchain.m4
---- openjdk///common/autoconf/toolchain.m4
-+++ openjdk///common/autoconf/toolchain.m4
-@@ -198,38 +198,22 @@
- fi
- BASIC_FIXUP_EXECUTABLE($1)
- TEST_COMPILER="[$]$1"
-- # Don't remove symbolic links on AIX because 'xlc_r' and 'xlC_r' may all be links
-- # to 'xlc' but it is crucial that we invoke the compiler with the right name!
-- if test "x$OPENJDK_BUILD_OS" != xaix; then
-- AC_MSG_CHECKING([resolved symbolic links for $1])
-- BASIC_REMOVE_SYMBOLIC_LINKS(TEST_COMPILER)
-- AC_MSG_RESULT([$TEST_COMPILER])
-- fi
-- AC_MSG_CHECKING([if $1 is disguised ccache])
-
-- COMPILER_BASENAME=`$BASENAME "$TEST_COMPILER"`
-- if test "x$COMPILER_BASENAME" = "xccache"; then
-- AC_MSG_RESULT([yes, trying to find proper $COMPILER_NAME compiler])
-- # We /usr/lib/ccache in the path, so cc is a symlink to /usr/bin/ccache.
-- # We want to control ccache invocation ourselves, so ignore this cc and try
-- # searching again.
-+ AC_MSG_CHECKING([resolved symbolic links for $1])
-+ SYMLINK_ORIGINAL="$TEST_COMPILER"
-+ BASIC_REMOVE_SYMBOLIC_LINKS(SYMLINK_ORIGINAL)
-+ if test "x$TEST_COMPILER" = "x$SYMLINK_ORIGINAL"; then
-+ AC_MSG_RESULT([no symlink])
-+ else
-+ AC_MSG_RESULT([$SYMLINK_ORIGINAL])
-
-- # Remove the path to the fake ccache cc from the PATH
-- RETRY_COMPILER_SAVED_PATH="$PATH"
-- COMPILER_DIRNAME=`$DIRNAME [$]$1`
-- PATH="`$ECHO $PATH | $SED -e "s,$COMPILER_DIRNAME,,g" -e "s,::,:,g" -e "s,^:,,g"`"
--
-- # Try again looking for our compiler
-- AC_CHECK_TOOLS(PROPER_COMPILER_$1, $3)
-- BASIC_FIXUP_EXECUTABLE(PROPER_COMPILER_$1)
-- PATH="$RETRY_COMPILER_SAVED_PATH"
--
-- AC_MSG_CHECKING([for resolved symbolic links for $1])
-- BASIC_REMOVE_SYMBOLIC_LINKS(PROPER_COMPILER_$1)
-- AC_MSG_RESULT([$PROPER_COMPILER_$1])
-- $1="$PROPER_COMPILER_$1"
-- else
-- AC_MSG_RESULT([no, keeping $1])
-+ # We can't handle ccache by gcc wrappers, since we need to know if we're
-+ # using ccache. Instead ccache usage must be controlled by a configure option.
-+ COMPILER_BASENAME=`$BASENAME "$SYMLINK_ORIGINAL"`
-+ if test "x$COMPILER_BASENAME" = "xccache"; then
-+ AC_MSG_NOTICE([Please use --enable-ccache instead of providing a wrapped compiler.])
-+ AC_MSG_ERROR([$TEST_COMPILER is a symbolic link to ccache. This is not supported.])
-+ fi
- fi
-
- TOOLCHAIN_EXTRACT_COMPILER_VERSION([$1], [$COMPILER_NAME])
diff --git a/pr3183-rh1340845-system-crypto-policy.patch b/pr3183-rh1340845-system-crypto-policy.patch
new file mode 100644
index 0000000..5a619b4
--- /dev/null
+++ b/pr3183-rh1340845-system-crypto-policy.patch
@@ -0,0 +1,158 @@
+
+# HG changeset patch
+# User andrew
+# Date 1478057514 0
+# Node ID 1c4d5cb2096ae55106111da200b0bcad304f650c
+# Parent 3d53f19b48384e5252f4ec8891f7a3a82d77af2a
+PR3183: Support Fedora/RHEL system crypto policy
+
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/classes/java/security/Security.java
+--- openjdk/jdk/src/share/classes/java/security/Security.java Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/classes/java/security/Security.java Wed Nov 02 03:31:54 2016 +0000
+@@ -43,6 +43,9 @@
+ * implementation-specific location, which is typically the properties file
+ * {@code lib/security/java.security} in the Java installation directory.
+ *
++ * <p>Additional default values of security properties are read from a
++ * system-specific location, if available.</p>
++ *
+ * @author Benjamin Renaud
+ */
+
+@@ -52,6 +55,10 @@
+ private static final Debug sdebug =
+ Debug.getInstance("properties");
+
++ /* System property file*/
++ private static final String SYSTEM_PROPERTIES =
++ "/etc/crypto-policies/back-ends/java.config";
++
+ /* The java.security properties */
+ private static Properties props;
+
+@@ -93,6 +100,7 @@
+ if (sdebug != null) {
+ sdebug.println("reading security properties file: " +
+ propFile);
++ sdebug.println(props.toString());
+ }
+ } catch (IOException e) {
+ if (sdebug != null) {
+@@ -114,6 +122,31 @@
+ }
+
+ if ("true".equalsIgnoreCase(props.getProperty
++ ("security.useSystemPropertiesFile"))) {
++
++ // now load the system file, if it exists, so its values
++ // will win if they conflict with the earlier values
++ try (BufferedInputStream bis =
++ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
++ props.load(bis);
++ loadedProps = true;
++
++ if (sdebug != null) {
++ sdebug.println("reading system security properties file " +
++ SYSTEM_PROPERTIES);
++ sdebug.println(props.toString());
++ }
++ } catch (IOException e) {
++ if (sdebug != null) {
++ sdebug.println
++ ("unable to load security properties from " +
++ SYSTEM_PROPERTIES);
++ e.printStackTrace();
++ }
++ }
++ }
++
++ if ("true".equalsIgnoreCase(props.getProperty
+ ("security.overridePropertiesFile"))) {
+
+ String extraPropFile = System.getProperty
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-aix
+--- openjdk/jdk/src/share/lib/security/java.security-aix Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-aix Wed Nov 02 03:31:54 2016 +0000
+@@ -276,6 +276,13 @@
+ security.overridePropertiesFile=true
+
+ #
++# Determines whether this properties file will be appended to
++# using the system properties file stored at
++# /etc/crypto-policies/back-ends/java.config
++#
++security.useSystemPropertiesFile=false
++
++#
+ # Determines the default key and trust manager factory algorithms for
+ # the javax.net.ssl package.
+ #
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-linux
+--- openjdk/jdk/src/share/lib/security/java.security-linux Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-linux Wed Nov 02 03:31:54 2016 +0000
+@@ -276,6 +276,13 @@
+ security.overridePropertiesFile=true
+
+ #
++# Determines whether this properties file will be appended to
++# using the system properties file stored at
++# /etc/crypto-policies/back-ends/java.config
++#
++security.useSystemPropertiesFile=true
++
++#
+ # Determines the default key and trust manager factory algorithms for
+ # the javax.net.ssl package.
+ #
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-macosx
+--- openjdk/jdk/src/share/lib/security/java.security-macosx Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-macosx Wed Nov 02 03:31:54 2016 +0000
+@@ -279,6 +279,13 @@
+ security.overridePropertiesFile=true
+
+ #
++# Determines whether this properties file will be appended to
++# using the system properties file stored at
++# /etc/crypto-policies/back-ends/java.config
++#
++security.useSystemPropertiesFile=false
++
++#
+ # Determines the default key and trust manager factory algorithms for
+ # the javax.net.ssl package.
+ #
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-solaris
+--- openjdk/jdk/src/share/lib/security/java.security-solaris Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-solaris Wed Nov 02 03:31:54 2016 +0000
+@@ -278,6 +278,13 @@
+ security.overridePropertiesFile=true
+
+ #
++# Determines whether this properties file will be appended to
++# using the system properties file stored at
++# /etc/crypto-policies/back-ends/java.config
++#
++security.useSystemPropertiesFile=false
++
++#
+ # Determines the default key and trust manager factory algorithms for
+ # the javax.net.ssl package.
+ #
+diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-windows
+--- openjdk/jdk/src/share/lib/security/java.security-windows Wed Oct 26 03:51:39 2016 +0100
++++ openjdk/jdk/src/share/lib/security/java.security-windows Wed Nov 02 03:31:54 2016 +0000
+@@ -279,6 +279,13 @@
+ security.overridePropertiesFile=true
+
+ #
++# Determines whether this properties file will be appended to
++# using the system properties file stored at
++# /etc/crypto-policies/back-ends/java.config
++#
++security.useSystemPropertiesFile=false
++
++#
+ # Determines the default key and trust manager factory algorithms for
+ # the javax.net.ssl package.
+ #
+
diff --git a/pr3183.patch b/pr3183.patch
deleted file mode 100644
index 5a619b4..0000000
--- a/pr3183.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-
-# HG changeset patch
-# User andrew
-# Date 1478057514 0
-# Node ID 1c4d5cb2096ae55106111da200b0bcad304f650c
-# Parent 3d53f19b48384e5252f4ec8891f7a3a82d77af2a
-PR3183: Support Fedora/RHEL system crypto policy
-
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/classes/java/security/Security.java
---- openjdk/jdk/src/share/classes/java/security/Security.java Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/classes/java/security/Security.java Wed Nov 02 03:31:54 2016 +0000
-@@ -43,6 +43,9 @@
- * implementation-specific location, which is typically the properties file
- * {@code lib/security/java.security} in the Java installation directory.
- *
-+ * <p>Additional default values of security properties are read from a
-+ * system-specific location, if available.</p>
-+ *
- * @author Benjamin Renaud
- */
-
-@@ -52,6 +55,10 @@
- private static final Debug sdebug =
- Debug.getInstance("properties");
-
-+ /* System property file*/
-+ private static final String SYSTEM_PROPERTIES =
-+ "/etc/crypto-policies/back-ends/java.config";
-+
- /* The java.security properties */
- private static Properties props;
-
-@@ -93,6 +100,7 @@
- if (sdebug != null) {
- sdebug.println("reading security properties file: " +
- propFile);
-+ sdebug.println(props.toString());
- }
- } catch (IOException e) {
- if (sdebug != null) {
-@@ -114,6 +122,31 @@
- }
-
- if ("true".equalsIgnoreCase(props.getProperty
-+ ("security.useSystemPropertiesFile"))) {
-+
-+ // now load the system file, if it exists, so its values
-+ // will win if they conflict with the earlier values
-+ try (BufferedInputStream bis =
-+ new BufferedInputStream(new FileInputStream(SYSTEM_PROPERTIES))) {
-+ props.load(bis);
-+ loadedProps = true;
-+
-+ if (sdebug != null) {
-+ sdebug.println("reading system security properties file " +
-+ SYSTEM_PROPERTIES);
-+ sdebug.println(props.toString());
-+ }
-+ } catch (IOException e) {
-+ if (sdebug != null) {
-+ sdebug.println
-+ ("unable to load security properties from " +
-+ SYSTEM_PROPERTIES);
-+ e.printStackTrace();
-+ }
-+ }
-+ }
-+
-+ if ("true".equalsIgnoreCase(props.getProperty
- ("security.overridePropertiesFile"))) {
-
- String extraPropFile = System.getProperty
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-aix
---- openjdk/jdk/src/share/lib/security/java.security-aix Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/lib/security/java.security-aix Wed Nov 02 03:31:54 2016 +0000
-@@ -276,6 +276,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=false
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-linux
---- openjdk/jdk/src/share/lib/security/java.security-linux Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/lib/security/java.security-linux Wed Nov 02 03:31:54 2016 +0000
-@@ -276,6 +276,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=true
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-macosx
---- openjdk/jdk/src/share/lib/security/java.security-macosx Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/lib/security/java.security-macosx Wed Nov 02 03:31:54 2016 +0000
-@@ -279,6 +279,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=false
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-solaris
---- openjdk/jdk/src/share/lib/security/java.security-solaris Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/lib/security/java.security-solaris Wed Nov 02 03:31:54 2016 +0000
-@@ -278,6 +278,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=false
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
-diff -r 3d53f19b4838 -r 1c4d5cb2096a src/share/lib/security/java.security-windows
---- openjdk/jdk/src/share/lib/security/java.security-windows Wed Oct 26 03:51:39 2016 +0100
-+++ openjdk/jdk/src/share/lib/security/java.security-windows Wed Nov 02 03:31:54 2016 +0000
-@@ -279,6 +279,13 @@
- security.overridePropertiesFile=true
-
- #
-+# Determines whether this properties file will be appended to
-+# using the system properties file stored at
-+# /etc/crypto-policies/back-ends/java.config
-+#
-+security.useSystemPropertiesFile=false
-+
-+#
- # Determines the default key and trust manager factory algorithms for
- # the javax.net.ssl package.
- #
-
diff --git a/pr3539-rh1548475.patch b/pr3539-rh1548475.patch
deleted file mode 100644
index 9b40a7f..0000000
--- a/pr3539-rh1548475.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1526065930 -3600
-# Fri May 11 20:12:10 2018 +0100
-# Node ID b8fc1e640c4c7f38ca94131279cb67c4d3de6961
-# Parent afb31413c73cbc06420fdb447aa90a7a38258904
-PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
-
-diff --git openjdk.orig/hotspot/make/aix/makefiles/jsig.make openjdk/hotspot/make/aix/makefiles/jsig.make
---- openjdk.orig/hotspot/make/aix/makefiles/jsig.make
-+++ openjdk/hotspot/make/aix/makefiles/jsig.make
-@@ -45,7 +45,7 @@
- # cause problems with interposing. See CR: 6466665
- # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
-
--LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE)
-+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
-
- LFLAGS_JSIG += $(BIN_UTILS)
-
-diff --git openjdk.orig/hotspot/make/aix/makefiles/saproc.make openjdk/hotspot/make/aix/makefiles/saproc.make
---- openjdk.orig/hotspot/make/aix/makefiles/saproc.make
-+++ openjdk/hotspot/make/aix/makefiles/saproc.make
-@@ -66,7 +66,7 @@
- endif
-
-
--SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
-+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
-
- $(LIBSAPROC): $(SASRCFILES) $(SAMAPFILE)
- $(QUIETLY) if [ "$(BOOT_JAVA_HOME)" = "" ]; then \
-diff --git openjdk.orig/hotspot/make/aix/makefiles/vm.make openjdk/hotspot/make/aix/makefiles/vm.make
---- openjdk.orig/hotspot/make/aix/makefiles/vm.make
-+++ openjdk/hotspot/make/aix/makefiles/vm.make
-@@ -117,7 +117,7 @@
-
- # Extra flags from gnumake's invocation or environment
- CFLAGS += $(EXTRA_CFLAGS)
--LFLAGS += $(EXTRA_CFLAGS)
-+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
-
- # Don't set excutable bit on stack segment
- # the same could be done by separate execstack command
-diff --git openjdk.orig/hotspot/make/bsd/makefiles/jsig.make openjdk/hotspot/make/bsd/makefiles/jsig.make
---- openjdk.orig/hotspot/make/bsd/makefiles/jsig.make
-+++ openjdk/hotspot/make/bsd/makefiles/jsig.make
-@@ -52,7 +52,7 @@
- # cause problems with interposing. See CR: 6466665
- # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
-
--LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE)
-+LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
-
- # DEBUG_BINARIES overrides everything, use full -g debug information
- ifeq ($(DEBUG_BINARIES), true)
-diff --git openjdk.orig/hotspot/make/bsd/makefiles/saproc.make openjdk/hotspot/make/bsd/makefiles/saproc.make
---- openjdk.orig/hotspot/make/bsd/makefiles/saproc.make
-+++ openjdk/hotspot/make/bsd/makefiles/saproc.make
-@@ -114,7 +114,7 @@
- # bring in minimum version argument or we'll fail on OSX 10.10
- SA_LFLAGS = $(LFLAGS)
- endif
--SA_LFLAGS += $(LDFLAGS_HASH_STYLE)
-+SA_LFLAGS += $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
-
- BOOT_JAVA_INCLUDES = -I$(BOOT_JAVA_HOME)/include \
- -I$(BOOT_JAVA_HOME)/include/$(shell uname -s | tr "[:upper:]" "[:lower:]")
-diff --git openjdk.orig/hotspot/make/bsd/makefiles/vm.make openjdk/hotspot/make/bsd/makefiles/vm.make
---- openjdk.orig/hotspot/make/bsd/makefiles/vm.make
-+++ openjdk/hotspot/make/bsd/makefiles/vm.make
-@@ -119,7 +119,7 @@
-
- # Extra flags from gnumake's invocation or environment
- CFLAGS += $(EXTRA_CFLAGS)
--LFLAGS += $(EXTRA_CFLAGS)
-+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
-
- # Don't set excutable bit on stack segment
- # the same could be done by separate execstack command
-diff --git openjdk.orig/hotspot/make/linux/makefiles/jsig.make openjdk/hotspot/make/linux/makefiles/jsig.make
---- openjdk.orig/hotspot/make/linux/makefiles/jsig.make
-+++ openjdk/hotspot/make/linux/makefiles/jsig.make
-@@ -44,7 +44,7 @@
- # cause problems with interposing. See CR: 6466665
- # LFLAGS_JSIG += $(MAPFLAG:FILENAME=$(LIBJSIG_MAPFILE))
-
--LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK)
-+LFLAGS_JSIG += -D_GNU_SOURCE -D_REENTRANT $(LDFLAGS_HASH_STYLE) $(LDFLAGS_NO_EXEC_STACK) $(EXTRA_LDFLAGS)
-
- # DEBUG_BINARIES overrides everything, use full -g debug information
- ifeq ($(DEBUG_BINARIES), true)
-diff --git openjdk.orig/hotspot/make/linux/makefiles/saproc.make openjdk/hotspot/make/linux/makefiles/saproc.make
---- openjdk.orig/hotspot/make/linux/makefiles/saproc.make
-+++ openjdk/hotspot/make/linux/makefiles/saproc.make
-@@ -73,7 +73,7 @@
- else
- ALT_SAINCDIR=
- endif
--SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE)
-+SA_LFLAGS = $(MAPFLAG:FILENAME=$(SAMAPFILE)) $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
-
- SAARCH ?= $(BUILDARCH)
-
-diff --git openjdk.orig/hotspot/make/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
---- openjdk.orig/hotspot/make/linux/makefiles/vm.make
-+++ openjdk/hotspot/make/linux/makefiles/vm.make
-@@ -122,7 +122,7 @@
-
- # Extra flags from gnumake's invocation or environment
- CFLAGS += $(EXTRA_CFLAGS)
--LFLAGS += $(EXTRA_CFLAGS)
-+LFLAGS += $(EXTRA_CFLAGS) $(EXTRA_LDFLAGS)
-
- # Don't set excutable bit on stack segment
- # the same could be done by separate execstack command
diff --git a/rh1176206-jdk.patch b/rh1176206-jdk.patch
deleted file mode 100644
index 23b8e52..0000000
--- a/rh1176206-jdk.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- openjdk/jdk/make/lib/Awt2dLibraries.gmk 2016-02-29 17:11:00.497484904 +0100
-+++ openjdk/jdk/make/lib/Awt2dLibraries.gmk 2016-02-29 17:11:00.402486574 +0100
-@@ -618,7 +618,7 @@
- XRSurfaceData.c \
- XRBackendNative.c
-
-- LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
-+ LIBAWT_XAWT_LDFLAGS_SUFFIX := $(LIBM) -lawt -lXext -lX11 -lXrender -lXcomposite $(LIBDL) -lXtst -lXi -ljava -ljvm -lc
-
- ifeq ($(OPENJDK_TARGET_OS), linux)
- # To match old build, add this to LDFLAGS instead of suffix.
---- openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c 2016-02-29 17:11:00.777479982 +0100
-+++ openjdk/jdk/src/solaris/native/sun/awt/awt_Robot.c 2016-02-29 17:11:00.677481740 +0100
-@@ -38,6 +38,7 @@
- #include <X11/extensions/XTest.h>
- #include <X11/extensions/XInput.h>
- #include <X11/extensions/XI.h>
-+#include <X11/extensions/Xcomposite.h>
- #include <jni.h>
- #include <sizecalc.h>
- #include "robot_common.h"
-@@ -88,6 +89,32 @@
- return isXTestAvailable;
- }
-
-+static Bool hasXCompositeOverlayExtension(Display *display) {
-+
-+ int xoverlay = False;
-+ int eventBase, errorBase;
-+ if (XCompositeQueryExtension(display, &eventBase, &errorBase)) {
-+ int major = 0;
-+ int minor = 0;
-+
-+ XCompositeQueryVersion(display, &major, &minor);
-+ if (major > 0 || minor >= 3)
-+ xoverlay = True;
-+ }
-+
-+ return xoverlay;
-+}
-+
-+static jboolean isXCompositeDisplay(Display *display, int screenNumber) {
-+
-+ char NET_WM_CM_Sn[25];
-+ snprintf(NET_WM_CM_Sn, sizeof(NET_WM_CM_Sn), "_NET_WM_CM_S%d\0", screenNumber);
-+
-+ Atom managerSelection = XInternAtom(display, NET_WM_CM_Sn, 0);
-+ Window owner = XGetSelectionOwner(display, managerSelection);
-+
-+ return owner != 0;
-+}
-
- static XImage *getWindowImage(Display * display, Window window,
- int32_t x, int32_t y,
-@@ -232,6 +259,12 @@
- DASSERT(adata != NULL);
-
- rootWindow = XRootWindow(awt_display, adata->awt_visInfo.screen);
-+ if (isXCompositeDisplay(awt_display, adata->awt_visInfo.screen) &&
-+ hasXCompositeOverlayExtension(awt_display))
-+ {
-+ rootWindow = XCompositeGetOverlayWindow(awt_display, rootWindow);
-+ }
-+
- image = getWindowImage(awt_display, rootWindow, x, y, width, height);
-
- /* Array to use to crunch around the pixel values */
diff --git a/rh1176206-root.patch b/rh1176206-root.patch
deleted file mode 100644
index db1061c..0000000
--- a/rh1176206-root.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- openjdk/common/autoconf/help.m4 2016-02-29 17:10:45.542747800 +0100
-+++ openjdk/common/autoconf/help.m4 2016-02-29 17:10:45.500748539 +0100
-@@ -112,7 +112,7 @@
- pulse)
- PKGHANDLER_COMMAND="sudo apt-get install libpulse-dev" ;;
- x11)
-- PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev" ;;
-+ PKGHANDLER_COMMAND="sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev libXcomposite-dev" ;;
- ccache)
- PKGHANDLER_COMMAND="sudo apt-get install ccache" ;;
- esac
---- openjdk/common/autoconf/libraries.m4 2016-02-29 17:10:45.716744742 +0100
-+++ openjdk/common/autoconf/libraries.m4 2016-02-29 17:10:45.675745462 +0100
-@@ -153,7 +153,7 @@
- CFLAGS="$CFLAGS $X_CFLAGS"
-
- # Need to include Xlib.h and Xutil.h to avoid "present but cannot be compiled" warnings on Solaris 10
-- AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h],
-+ AC_CHECK_HEADERS([X11/extensions/shape.h X11/extensions/Xrender.h X11/extensions/XTest.h X11/Intrinsic.h X11/extensions/Xcomposite.h],
- [X11_A_OK=yes],
- [X11_A_OK=no; break],
- [
-@@ -167,7 +167,7 @@
-
- if test "x$X11_A_OK" = xno && test "x$X11_NOT_NEEDED" != xyes; then
- HELP_MSG_MISSING_DEPENDENCY([x11])
-- AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h). $HELP_MSG])
-+ AC_MSG_ERROR([Could not find all X11 headers (shape.h Xrender.h XTest.h Intrinsic.h Xcomposite.h). $HELP_MSG])
- fi
-
- AC_SUBST(X_CFLAGS)
diff --git a/rh1214835.patch b/rh1214835.patch
deleted file mode 100644
index eba79a6..0000000
--- a/rh1214835.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-# HG changeset patch
-# User andrew
-# Date 1429893959 -3600
-# Fri Apr 24 17:45:59 2015 +0100
-# Node ID 6e3f4784affc0de360d763ad69979690b2650a98
-# Parent 75acb9c0991bc118463debed137d38ce40358bc0
-4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
-
-diff -r 75acb9c0991b -r 6e3f4784affc src/share/demo/jvmti/hprof/hprof_init.c
---- openjdk/jdk/src/share/demo/jvmti/hprof/hprof_init.c Thu Jun 04 18:00:35 2015 +0100
-+++ openjdk/jdk/src/share/demo/jvmti/hprof/hprof_init.c Fri Apr 24 17:45:59 2015 +0100
-@@ -1361,7 +1361,7 @@
- } rawMonitorExit(gdata->dump_lock);
-
- /* Dump everything if we need to */
-- if (gdata->dump_on_exit && need_to_dump) {
-+ if (gdata->dump_on_exit || need_to_dump) {
-
- dump_all_data(env);
- }
commit 9373f917361e487ef9a6fdd083d194ea7e910392
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Thu Oct 25 10:43:21 2018 +0200
Backpoerted %{majorver} and #ARCH# patch
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index 87bcb03..849aa98 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -1291,7 +1291,7 @@ BuildRequires: systemtap-sdt-devel
%{java_rpo %{nil}}
%description
-The %{origin_nice} runtime environment.
+The %{origin_nice} runtime environment %{majorver}.
%if %{include_debug_build}
%package debug
@@ -1300,7 +1300,7 @@ Group: Development/Languages
%{java_rpo -- %{debug_suffix_unquoted}}
%description debug
-The %{origin_nice} runtime environment.
+The %{origin_nice} runtime environment %{majorver}.
%{debug_warning}
%endif
@@ -1317,7 +1317,7 @@ The %{origin_nice} runtime environment %{majorver} without audio and video suppo
%if %{include_debug_build}
%package headless-debug
-Summary: %{origin_nice} Runtime Environment %{debug_on}
+Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
Group: Development/Languages
%{java_headless_rpo -- %{debug_suffix_unquoted}}
@@ -1688,7 +1688,7 @@ for file in %{SOURCE9} %{SOURCE10} ; do
sed -e "s:@JAVA_HOME@:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
sed -i -e "s:@JRE_HOME@:%{jrebindir -- $suffix}:g" $OUTPUT_FILE
sed -i -e "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
- sed -i -e "s:@JAVA_MAJOR_VERSION@:%{majorver}:g" $OUTPUT_FILE
+ sed -i -e "s:@JAVA_MAJOR_VERSION@:%{javaver}:g" $OUTPUT_FILE
sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
done
done
diff --git a/policytool.desktop.in b/policytool.desktop.in
index e05969d..e38c0ec 100644
--- a/policytool.desktop.in
+++ b/policytool.desktop.in
@@ -1,6 +1,6 @@
[Desktop Entry]
-Name=OpenJDK @JAVA_MAJOR_VERSION@ Policy Tool #ARCH#
-Comment=Manage OpenJDK @JAVA_MAJOR_VERSION@ policy files #ARCH#
+Name=OpenJDK @JAVA_MAJOR_VERSION@ Policy Tool @ARCH@
+Comment=Manage OpenJDK @JAVA_MAJOR_VERSION@ policy files @ARCH@
Exec=@JRE_HOME@/policytool
Icon=java-@JAVA_MAJOR_VERSION@-@JAVA_VENDOR@
Terminal=false
commit ccf28aacc7e72c84f8273d5a03b57a03b0cba715
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Thu Oct 25 10:18:46 2018 +0200
patch 206 and 207 moved to u202 section
-Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch
-Patch207: 8207057-pr3613-assembler-debuginfo-root.patch
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index a5f708b..87bcb03 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -1124,9 +1124,6 @@ Patch575: 8197981-pr3548.patch
Patch576: 8064786-pr3599.patch
# 8062808, PR3548: Turn on the -Wreturn-type warning
Patch577: 8062808-pr3548.patch
-# 8207057, PR3613: Enable debug information for assembly code files
-Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch
-Patch207: 8207057-pr3613-assembler-debuginfo-root.patch
# s390: JDK-8203030, Type fixing for s390
Patch102: 8203030-size_t-fixes.patch
# 8210761: libjsig is being compiled without optimization
@@ -1189,6 +1186,9 @@ Patch100: 8201495-s390-java-opts.patch
#############################################
# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
Patch508: 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch
+# 8207057, PR3613: Enable debug information for assembly code files
+Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch
+Patch207: 8207057-pr3613-assembler-debuginfo-root.patch
# 8165852, PR3468: (fs) Mount point not found for a file which is present in overlayfs
Patch210: 8165852-pr3468.patch
# S8073139, RH1191652; fix name of ppc64le architecture
commit 2bf660acccbd98d214e488eb1902228a9246a02f
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Wed Oct 24 17:37:26 2018 +0200
cups moved to headful package
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index c9f6598..a5f708b 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -832,6 +832,7 @@ Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
# for java-X-openjdk package's desktop binding
Recommends: gtk2%{?_isa}
+Suggests: cups
Provides: java-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
@@ -871,7 +872,7 @@ Requires(postun): %{_sbindir}/alternatives
# in version 1.7 and higher for --family switch
Requires(postun): chkconfig >= 1.7
# for optional support of kernel stream control, card reader and printing bindings
-Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}, cups
+Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}
# Standard JPackage base provides
Provides: jre-headless%{?1} = %{epoch}:%{javaver}
@@ -2277,6 +2278,9 @@ require "copy_jdk_configs.lua"
%endif
%changelog
+* Tue Oct 23 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.191.b12-2
+- cups moved to headful package
+
* Tue Oct 23 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.191.b12-1
- updated to aarch64-shenandoah-jdk8u191-b12
- deleted 8146115-pr3508-rh1463098.patch, pr3619.patch, pr3620.patch - should be upstreamed
commit 3b404b43c83816a785a95aa33f99020fc23d755b
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Tue Oct 23 17:51:44 2018 +0200
Removed and adapted patches to u191.
Added changelog for u 191
diff --git a/8146115-pr3508-rh1463098.patch b/8146115-pr3508-rh1463098.patch
deleted file mode 100644
index a04728b..0000000
--- a/8146115-pr3508-rh1463098.patch
+++ /dev/null
@@ -1,1494 +0,0 @@
-# HG changeset patch
-# User poonam
-# Date 1530903013 0
-# Fri Jul 06 18:50:13 2018 +0000
-# Node ID 2f2d2af6fa5c44e67e0a9987f56392315a1e4b64
-# Parent 95b72537801cc9946c27ad27f07e3f0790a21b08
-8146115, PR3508, RH1463098: Improve docker container detection and resource configuration usage
-Reviewed-by: bobv, dbuck
-
-diff --git openjdk.orig/hotspot/src/os/aix/vm/os_aix.cpp openjdk/hotspot/src/os/aix/vm/os_aix.cpp
---- openjdk.orig/hotspot/src/os/aix/vm/os_aix.cpp
-+++ openjdk/hotspot/src/os/aix/vm/os_aix.cpp
-@@ -4008,6 +4008,16 @@
- };
-
- int os::active_processor_count() {
-+ // User has overridden the number of active processors
-+ if (ActiveProcessorCount > 0) {
-+ if (PrintActiveCpus) {
-+ tty->print_cr("active_processor_count: "
-+ "active processor count set by user : %d",
-+ ActiveProcessorCount);
-+ }
-+ return ActiveProcessorCount;
-+ }
-+
- int online_cpus = ::sysconf(_SC_NPROCESSORS_ONLN);
- assert(online_cpus > 0 && online_cpus <= processor_count(), "sanity check");
- return online_cpus;
-diff --git openjdk.orig/hotspot/src/os/bsd/vm/os_bsd.cpp openjdk/hotspot/src/os/bsd/vm/os_bsd.cpp
---- openjdk.orig/hotspot/src/os/bsd/vm/os_bsd.cpp
-+++ openjdk/hotspot/src/os/bsd/vm/os_bsd.cpp
-@@ -3770,6 +3770,16 @@
- };
-
- int os::active_processor_count() {
-+ // User has overridden the number of active processors
-+ if (ActiveProcessorCount > 0) {
-+ if (PrintActiveCpus) {
-+ tty->print_cr("active_processor_count: "
-+ "active processor count set by user : %d",
-+ ActiveProcessorCount);
-+ }
-+ return ActiveProcessorCount;
-+ }
-+
- return _processor_count;
- }
-
-diff --git openjdk.orig/hotspot/src/os/linux/vm/globals_linux.hpp openjdk/hotspot/src/os/linux/vm/globals_linux.hpp
---- openjdk.orig/hotspot/src/os/linux/vm/globals_linux.hpp
-+++ openjdk/hotspot/src/os/linux/vm/globals_linux.hpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -49,8 +49,13 @@
- product(bool, UseSHM, false, \
- "Use SYSV shared memory for large pages") \
- \
-- diagnostic(bool, PrintActiveCpus, false, \
-- "Print the number of CPUs detected in os::active_processor_count")
-+ product(bool, UseContainerSupport, true, \
-+ "Enable detection and runtime container configuration support") \
-+ \
-+ product(bool, PreferContainerQuotaForCPUCount, true, \
-+ "Calculate the container CPU availability based on the value" \
-+ " of quotas (if set), when true. Otherwise, use the CPU" \
-+ " shares value, provided it is less than quota.")
-
- //
- // Defines Linux-specific default values. The flags are available on all
-diff --git openjdk.orig/hotspot/src/os/linux/vm/osContainer_linux.cpp openjdk/hotspot/src/os/linux/vm/osContainer_linux.cpp
-new file mode 100644
---- /dev/null
-+++ openjdk/hotspot/src/os/linux/vm/osContainer_linux.cpp
-@@ -0,0 +1,680 @@
-+/*
-+ * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ *
-+ */
-+
-+#include <string.h>
-+#include <math.h>
-+#include <errno.h>
-+#include "utilities/globalDefinitions.hpp"
-+#include "memory/allocation.hpp"
-+#include "runtime/os.hpp"
-+#include "osContainer_linux.hpp"
-+
-+#define PER_CPU_SHARES 1024
-+
-+bool OSContainer::_is_initialized = false;
-+bool OSContainer::_is_containerized = false;
-+julong _unlimited_memory;
-+
-+class CgroupSubsystem: CHeapObj<mtInternal> {
-+ friend class OSContainer;
-+
-+ private:
-+ /* mountinfo contents */
-+ char *_root;
-+ char *_mount_point;
-+
-+ /* Constructed subsystem directory */
-+ char *_path;
-+
-+ public:
-+ CgroupSubsystem(char *root, char *mountpoint) {
-+ _root = os::strdup(root);
-+ _mount_point = os::strdup(mountpoint);
-+ _path = NULL;
-+ }
-+
-+ /*
-+ * Set directory to subsystem specific files based
-+ * on the contents of the mountinfo and cgroup files.
-+ */
-+ void set_subsystem_path(char *cgroup_path) {
-+ char buf[MAXPATHLEN+1];
-+ if (_root != NULL && cgroup_path != NULL) {
-+ if (strcmp(_root, "/") == 0) {
-+ int buflen;
-+ strncpy(buf, _mount_point, MAXPATHLEN);
-+ buf[MAXPATHLEN-1] = '\0';
-+ if (strcmp(cgroup_path,"/") != 0) {
-+ buflen = strlen(buf);
-+ if ((buflen + strlen(cgroup_path)) > (MAXPATHLEN-1)) {
-+ return;
-+ }
-+ strncat(buf, cgroup_path, MAXPATHLEN-buflen);
-+ buf[MAXPATHLEN-1] = '\0';
-+ }
-+ _path = os::strdup(buf);
-+ } else {
-+ if (strcmp(_root, cgroup_path) == 0) {
-+ strncpy(buf, _mount_point, MAXPATHLEN);
-+ buf[MAXPATHLEN-1] = '\0';
-+ _path = os::strdup(buf);
-+ } else {
-+ char *p = strstr(_root, cgroup_path);
-+ if (p != NULL && p == _root) {
-+ if (strlen(cgroup_path) > strlen(_root)) {
-+ int buflen;
-+ strncpy(buf, _mount_point, MAXPATHLEN);
-+ buf[MAXPATHLEN-1] = '\0';
-+ buflen = strlen(buf);
-+ if ((buflen + strlen(cgroup_path)) > (MAXPATHLEN-1)) {
-+ return;
-+ }
-+ strncat(buf, cgroup_path + strlen(_root), MAXPATHLEN-buflen);
-+ buf[MAXPATHLEN-1] = '\0';
-+ _path = os::strdup(buf);
-+ }
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ char *subsystem_path() { return _path; }
-+};
-+
-+CgroupSubsystem* memory = NULL;
-+CgroupSubsystem* cpuset = NULL;
-+CgroupSubsystem* cpu = NULL;
-+CgroupSubsystem* cpuacct = NULL;
-+
-+typedef char * cptr;
-+
-+PRAGMA_DIAG_PUSH
-+PRAGMA_FORMAT_NONLITERAL_IGNORED
-+template <typename T> int subsystem_file_contents(CgroupSubsystem* c,
-+ const char *filename,
-+ const char *scan_fmt,
-+ T returnval) {
-+ FILE *fp = NULL;
-+ char *p;
-+ char file[MAXPATHLEN+1];
-+ char buf[MAXPATHLEN+1];
-+
-+ if (c == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("subsystem_file_contents: CgroupSubsytem* is NULL");
-+ }
-+ return OSCONTAINER_ERROR;
-+ }
-+ if (c->subsystem_path() == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("subsystem_file_contents: subsystem path is NULL");
-+ }
-+ return OSCONTAINER_ERROR;
-+ }
-+
-+ strncpy(file, c->subsystem_path(), MAXPATHLEN);
-+ file[MAXPATHLEN-1] = '\0';
-+ int filelen = strlen(file);
-+ if ((filelen + strlen(filename)) > (MAXPATHLEN-1)) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("File path too long %s, %s", file, filename);
-+ }
-+ return OSCONTAINER_ERROR;
-+ }
-+ strncat(file, filename, MAXPATHLEN-filelen);
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Path to %s is %s", filename, file);
-+ }
-+ fp = fopen(file, "r");
-+ if (fp != NULL) {
-+ p = fgets(buf, MAXPATHLEN, fp);
-+ if (p != NULL) {
-+ int matched = sscanf(p, scan_fmt, returnval);
-+ if (matched == 1) {
-+ fclose(fp);
-+ return 0;
-+ } else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Type %s not found in file %s", scan_fmt, file);
-+ }
-+ }
-+ } else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Empty file %s", file);
-+ }
-+ }
-+ } else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Open of file %s failed, %s", file, strerror(errno));
-+ }
-+ }
-+ if (fp != NULL)
-+ fclose(fp);
-+ return OSCONTAINER_ERROR;
-+}
-+PRAGMA_DIAG_POP
-+
-+#define GET_CONTAINER_INFO(return_type, subsystem, filename, \
-+ logstring, scan_fmt, variable) \
-+ return_type variable; \
-+{ \
-+ int err; \
-+ err = subsystem_file_contents(subsystem, \
-+ filename, \
-+ scan_fmt, \
-+ &variable); \
-+ if (err != 0) \
-+ return (return_type) OSCONTAINER_ERROR; \
-+ \
-+ if (PrintContainerInfo) \
-+ tty->print_cr(logstring, variable); \
-+}
-+
-+#define GET_CONTAINER_INFO_CPTR(return_type, subsystem, filename, \
-+ logstring, scan_fmt, variable, bufsize) \
-+ char variable[bufsize]; \
-+{ \
-+ int err; \
-+ err = subsystem_file_contents(subsystem, \
-+ filename, \
-+ scan_fmt, \
-+ variable); \
-+ if (err != 0) \
-+ return (return_type) NULL; \
-+ \
-+ if (PrintContainerInfo) \
-+ tty->print_cr(logstring, variable); \
-+}
-+
-+/* init
-+ *
-+ * Initialize the container support and determine if
-+ * we are running under cgroup control.
-+ */
-+void OSContainer::init() {
-+ int mountid;
-+ int parentid;
-+ int major;
-+ int minor;
-+ FILE *mntinfo = NULL;
-+ FILE *cgroup = NULL;
-+ char buf[MAXPATHLEN+1];
-+ char tmproot[MAXPATHLEN+1];
-+ char tmpmount[MAXPATHLEN+1];
-+ char tmpbase[MAXPATHLEN+1];
-+ char *p;
-+ jlong mem_limit;
-+
-+ assert(!_is_initialized, "Initializing OSContainer more than once");
-+
-+ _is_initialized = true;
-+ _is_containerized = false;
-+
-+ _unlimited_memory = (LONG_MAX / os::vm_page_size()) * os::vm_page_size();
-+
-+ if (PrintContainerInfo) {
-+ tty->print_cr("OSContainer::init: Initializing Container Support");
-+ }
-+ if (!UseContainerSupport) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Container Support not enabled");
-+ }
-+ return;
-+ }
-+
-+ /*
-+ * Find the cgroup mount point for memory and cpuset
-+ * by reading /proc/self/mountinfo
-+ *
-+ * Example for docker:
-+ * 219 214 0:29 /docker/7208cebd00fa5f2e342b1094f7bed87fa25661471a4637118e65f1c995be8a34 /sys/fs/cgroup/memory ro,nosuid,nodev,noexec,relatime - cgroup cgroup rw,memory
-+ *
-+ * Example for host:
-+ * 34 28 0:29 / /sys/fs/cgroup/memory rw,nosuid,nodev,noexec,relatime shared:16 - cgroup cgroup rw,memory
-+ */
-+ mntinfo = fopen("/proc/self/mountinfo", "r");
-+ if (mntinfo == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Can't open /proc/self/mountinfo, %s",
-+ strerror(errno));
-+ }
-+ return;
-+ }
-+
-+ while ( (p = fgets(buf, MAXPATHLEN, mntinfo)) != NULL) {
-+ // Look for the filesystem type and see if it's cgroup
-+ char fstype[MAXPATHLEN+1];
-+ fstype[0] = '\0';
-+ char *s = strstr(p, " - ");
-+ if (s != NULL &&
-+ sscanf(s, " - %s", fstype) == 1 &&
-+ strcmp(fstype, "cgroup") == 0) {
-+
-+ if (strstr(p, "memory") != NULL) {
-+ int matched = sscanf(p, "%d %d %d:%d %s %s",
-+ &mountid,
-+ &parentid,
-+ &major,
-+ &minor,
-+ tmproot,
-+ tmpmount);
-+ if (matched == 6) {
-+ memory = new CgroupSubsystem(tmproot, tmpmount);
-+ }
-+ else
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Incompatible str containing cgroup and memory: %s", p);
-+ }
-+ } else if (strstr(p, "cpuset") != NULL) {
-+ int matched = sscanf(p, "%d %d %d:%d %s %s",
-+ &mountid,
-+ &parentid,
-+ &major,
-+ &minor,
-+ tmproot,
-+ tmpmount);
-+ if (matched == 6) {
-+ cpuset = new CgroupSubsystem(tmproot, tmpmount);
-+ }
-+ else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Incompatible str containing cgroup and cpuset: %s", p);
-+ }
-+ }
-+ } else if (strstr(p, "cpu,cpuacct") != NULL || strstr(p, "cpuacct,cpu") != NULL) {
-+ int matched = sscanf(p, "%d %d %d:%d %s %s",
-+ &mountid,
-+ &parentid,
-+ &major,
-+ &minor,
-+ tmproot,
-+ tmpmount);
-+ if (matched == 6) {
-+ cpu = new CgroupSubsystem(tmproot, tmpmount);
-+ cpuacct = new CgroupSubsystem(tmproot, tmpmount);
-+ }
-+ else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Incompatible str containing cgroup and cpu,cpuacct: %s", p);
-+ }
-+ }
-+ } else if (strstr(p, "cpuacct") != NULL) {
-+ int matched = sscanf(p, "%d %d %d:%d %s %s",
-+ &mountid,
-+ &parentid,
-+ &major,
-+ &minor,
-+ tmproot,
-+ tmpmount);
-+ if (matched == 6) {
-+ cpuacct = new CgroupSubsystem(tmproot, tmpmount);
-+ }
-+ else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Incompatible str containing cgroup and cpuacct: %s", p);
-+ }
-+ }
-+ } else if (strstr(p, "cpu") != NULL) {
-+ int matched = sscanf(p, "%d %d %d:%d %s %s",
-+ &mountid,
-+ &parentid,
-+ &major,
-+ &minor,
-+ tmproot,
-+ tmpmount);
-+ if (matched == 6) {
-+ cpu = new CgroupSubsystem(tmproot, tmpmount);
-+ }
-+ else {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Incompatible str containing cgroup and cpu: %s", p);
-+ }
-+ }
-+ }
-+ }
-+ }
-+
-+ fclose(mntinfo);
-+
-+ if (memory == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Required cgroup memory subsystem not found");
-+ }
-+ return;
-+ }
-+ if (cpuset == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Required cgroup cpuset subsystem not found");
-+ }
-+ return;
-+ }
-+ if (cpu == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Required cgroup cpu subsystem not found");
-+ }
-+ return;
-+ }
-+ if (cpuacct == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Required cgroup cpuacct subsystem not found");
-+ }
-+ return;
-+ }
-+
-+ /*
-+ * Read /proc/self/cgroup and map host mount point to
-+ * local one via /proc/self/mountinfo content above
-+ *
-+ * Docker example:
-+ * 5:memory:/docker/6558aed8fc662b194323ceab5b964f69cf36b3e8af877a14b80256e93aecb044
-+ *
-+ * Host example:
-+ * 5:memory:/user.slice
-+ *
-+ * Construct a path to the process specific memory and cpuset
-+ * cgroup directory.
-+ *
-+ * For a container running under Docker from memory example above
-+ * the paths would be:
-+ *
-+ * /sys/fs/cgroup/memory
-+ *
-+ * For a Host from memory example above the path would be:
-+ *
-+ * /sys/fs/cgroup/memory/user.slice
-+ *
-+ */
-+ cgroup = fopen("/proc/self/cgroup", "r");
-+ if (cgroup == NULL) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Can't open /proc/self/cgroup, %s",
-+ strerror(errno));
-+ }
-+ return;
-+ }
-+
-+ while ( (p = fgets(buf, MAXPATHLEN, cgroup)) != NULL) {
-+ int cgno;
-+ int matched;
-+ char *controller;
-+ char *base;
-+
-+ /* Skip cgroup number */
-+ strsep(&p, ":");
-+ /* Get controller and base */
-+ controller = strsep(&p, ":");
-+ base = strsep(&p, "\n");
-+
-+ if (controller != NULL) {
-+ if (strstr(controller, "memory") != NULL) {
-+ memory->set_subsystem_path(base);
-+ } else if (strstr(controller, "cpuset") != NULL) {
-+ cpuset->set_subsystem_path(base);
-+ } else if (strstr(controller, "cpu,cpuacct") != NULL || strstr(controller, "cpuacct,cpu") != NULL) {
-+ cpu->set_subsystem_path(base);
-+ cpuacct->set_subsystem_path(base);
-+ } else if (strstr(controller, "cpuacct") != NULL) {
-+ cpuacct->set_subsystem_path(base);
-+ } else if (strstr(controller, "cpu") != NULL) {
-+ cpu->set_subsystem_path(base);
-+ }
-+ }
-+ }
-+
-+ fclose(cgroup);
-+
-+ // We need to update the amount of physical memory now that
-+ // command line arguments have been processed.
-+ if ((mem_limit = memory_limit_in_bytes()) > 0) {
-+ os::Linux::set_physical_memory(mem_limit);
-+ }
-+
-+ _is_containerized = true;
-+
-+}
-+
-+const char * OSContainer::container_type() {
-+ if (is_containerized()) {
-+ return "cgroupv1";
-+ } else {
-+ return NULL;
-+ }
-+}
-+
-+
-+/* memory_limit_in_bytes
-+ *
-+ * Return the limit of available memory for this process.
-+ *
-+ * return:
-+ * memory limit in bytes or
-+ * -1 for unlimited
-+ * OSCONTAINER_ERROR for not supported
-+ */
-+jlong OSContainer::memory_limit_in_bytes() {
-+ GET_CONTAINER_INFO(julong, memory, "/memory.limit_in_bytes",
-+ "Memory Limit is: " JULONG_FORMAT, JULONG_FORMAT, memlimit);
-+
-+ if (memlimit >= _unlimited_memory) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Memory Limit is: Unlimited");
-+ }
-+ return (jlong)-1;
-+ }
-+ else {
-+ return (jlong)memlimit;
-+ }
-+}
-+
-+jlong OSContainer::memory_and_swap_limit_in_bytes() {
-+ GET_CONTAINER_INFO(julong, memory, "/memory.memsw.limit_in_bytes",
-+ "Memory and Swap Limit is: " JULONG_FORMAT, JULONG_FORMAT, memswlimit);
-+ if (memswlimit >= _unlimited_memory) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Memory and Swap Limit is: Unlimited");
-+ }
-+ return (jlong)-1;
-+ } else {
-+ return (jlong)memswlimit;
-+ }
-+}
-+
-+jlong OSContainer::memory_soft_limit_in_bytes() {
-+ GET_CONTAINER_INFO(julong, memory, "/memory.soft_limit_in_bytes",
-+ "Memory Soft Limit is: " JULONG_FORMAT, JULONG_FORMAT, memsoftlimit);
-+ if (memsoftlimit >= _unlimited_memory) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("Memory Soft Limit is: Unlimited");
-+ }
-+ return (jlong)-1;
-+ } else {
-+ return (jlong)memsoftlimit;
-+ }
-+}
-+
-+/* memory_usage_in_bytes
-+ *
-+ * Return the amount of used memory for this process.
-+ *
-+ * return:
-+ * memory usage in bytes or
-+ * -1 for unlimited
-+ * OSCONTAINER_ERROR for not supported
-+ */
-+jlong OSContainer::memory_usage_in_bytes() {
-+ GET_CONTAINER_INFO(jlong, memory, "/memory.usage_in_bytes",
-+ "Memory Usage is: " JLONG_FORMAT, JLONG_FORMAT, memusage);
-+ return memusage;
-+}
-+
-+/* memory_max_usage_in_bytes
-+ *
-+ * Return the maximum amount of used memory for this process.
-+ *
-+ * return:
-+ * max memory usage in bytes or
-+ * OSCONTAINER_ERROR for not supported
-+ */
-+jlong OSContainer::memory_max_usage_in_bytes() {
-+ GET_CONTAINER_INFO(jlong, memory, "/memory.max_usage_in_bytes",
-+ "Maximum Memory Usage is: " JLONG_FORMAT, JLONG_FORMAT, memmaxusage);
-+ return memmaxusage;
-+}
-+
-+/* active_processor_count
-+ *
-+ * Calculate an appropriate number of active processors for the
-+ * VM to use based on these three inputs.
-+ *
-+ * cpu affinity
-+ * cgroup cpu quota & cpu period
-+ * cgroup cpu shares
-+ *
-+ * Algorithm:
-+ *
-+ * Determine the number of available CPUs from sched_getaffinity
-+ *
-+ * If user specified a quota (quota != -1), calculate the number of
-+ * required CPUs by dividing quota by period.
-+ *
-+ * If shares are in effect (shares != -1), calculate the number
-+ * of CPUs required for the shares by dividing the share value
-+ * by PER_CPU_SHARES.
-+ *
-+ * All results of division are rounded up to the next whole number.
-+ *
-+ * If neither shares or quotas have been specified, return the
-+ * number of active processors in the system.
-+ *
-+ * If both shares and quotas have been specified, the results are
-+ * based on the flag PreferContainerQuotaForCPUCount. If true,
-+ * return the quota value. If false return the smallest value
-+ * between shares or quotas.
-+ *
-+ * If shares and/or quotas have been specified, the resulting number
-+ * returned will never exceed the number of active processors.
-+ *
-+ * return:
-+ * number of CPUs
-+ */
-+int OSContainer::active_processor_count() {
-+ int quota_count = 0, share_count = 0;
-+ int cpu_count, limit_count;
-+ int result;
-+
-+ cpu_count = limit_count = os::Linux::active_processor_count();
-+ int quota = cpu_quota();
-+ int period = cpu_period();
-+ int share = cpu_shares();
-+
-+ if (quota > -1 && period > 0) {
-+ quota_count = ceilf((float)quota / (float)period);
-+ if (PrintContainerInfo) {
-+ tty->print_cr("CPU Quota count based on quota/period: %d", quota_count);
-+ }
-+ }
-+ if (share > -1) {
-+ share_count = ceilf((float)share / (float)PER_CPU_SHARES);
-+ if (PrintContainerInfo) {
-+ tty->print_cr("CPU Share count based on shares: %d", share_count);
-+ }
-+ }
-+
-+ // If both shares and quotas are setup results depend
-+ // on flag PreferContainerQuotaForCPUCount.
-+ // If true, limit CPU count to quota
-+ // If false, use minimum of shares and quotas
-+ if (quota_count !=0 && share_count != 0) {
-+ if (PreferContainerQuotaForCPUCount) {
-+ limit_count = quota_count;
-+ } else {
-+ limit_count = MIN2(quota_count, share_count);
-+ }
-+ } else if (quota_count != 0) {
-+ limit_count = quota_count;
-+ } else if (share_count != 0) {
-+ limit_count = share_count;
-+ }
-+
-+ result = MIN2(cpu_count, limit_count);
-+ if (PrintContainerInfo) {
-+ tty->print_cr("OSContainer::active_processor_count: %d", result);
-+ }
-+ return result;
-+}
-+
-+char * OSContainer::cpu_cpuset_cpus() {
-+ GET_CONTAINER_INFO_CPTR(cptr, cpuset, "/cpuset.cpus",
-+ "cpuset.cpus is: %s", "%1023s", cpus, 1024);
-+ return os::strdup(cpus);
-+}
-+
-+char * OSContainer::cpu_cpuset_memory_nodes() {
-+ GET_CONTAINER_INFO_CPTR(cptr, cpuset, "/cpuset.mems",
-+ "cpuset.mems is: %s", "%1023s", mems, 1024);
-+ return os::strdup(mems);
-+}
-+
-+/* cpu_quota
-+ *
-+ * Return the number of milliseconds per period
-+ * process is guaranteed to run.
-+ *
-+ * return:
-+ * quota time in milliseconds
-+ * -1 for no quota
-+ * OSCONTAINER_ERROR for not supported
-+ */
-+int OSContainer::cpu_quota() {
-+ GET_CONTAINER_INFO(int, cpu, "/cpu.cfs_quota_us",
-+ "CPU Quota is: %d", "%d", quota);
-+ return quota;
-+}
-+
-+int OSContainer::cpu_period() {
-+ GET_CONTAINER_INFO(int, cpu, "/cpu.cfs_period_us",
-+ "CPU Period is: %d", "%d", period);
-+ return period;
-+}
-+
-+/* cpu_shares
-+ *
-+ * Return the amount of cpu shares available to the process
-+ *
-+ * return:
-+ * Share number (typically a number relative to 1024)
-+ * (2048 typically expresses 2 CPUs worth of processing)
-+ * -1 for no share setup
-+ * OSCONTAINER_ERROR for not supported
-+ */
-+int OSContainer::cpu_shares() {
-+ GET_CONTAINER_INFO(int, cpu, "/cpu.shares",
-+ "CPU Shares is: %d", "%d", shares);
-+ // Convert 1024 to no shares setup
-+ if (shares == 1024) return -1;
-+
-+ return shares;
-+}
-+
-diff --git openjdk.orig/hotspot/src/os/linux/vm/osContainer_linux.hpp openjdk/hotspot/src/os/linux/vm/osContainer_linux.hpp
-new file mode 100644
---- /dev/null
-+++ openjdk/hotspot/src/os/linux/vm/osContainer_linux.hpp
-@@ -0,0 +1,68 @@
-+/*
-+ * Copyright (c) 2018, Oracle and/or its affiliates. All rights reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ *
-+ */
-+
-+#ifndef OS_LINUX_VM_OSCONTAINER_LINUX_HPP
-+#define OS_LINUX_VM_OSCONTAINER_LINUX_HPP
-+
-+#include "utilities/globalDefinitions.hpp"
-+#include "utilities/macros.hpp"
-+#include "memory/allocation.hpp"
-+
-+#define OSCONTAINER_ERROR (-2)
-+
-+class OSContainer: AllStatic {
-+
-+ private:
-+ static bool _is_initialized;
-+ static bool _is_containerized;
-+
-+ public:
-+ static void init();
-+ static inline bool is_containerized();
-+ static const char * container_type();
-+
-+ static jlong memory_limit_in_bytes();
-+ static jlong memory_and_swap_limit_in_bytes();
-+ static jlong memory_soft_limit_in_bytes();
-+ static jlong memory_usage_in_bytes();
-+ static jlong memory_max_usage_in_bytes();
-+
-+ static int active_processor_count();
-+
-+ static char * cpu_cpuset_cpus();
-+ static char * cpu_cpuset_memory_nodes();
-+
-+ static int cpu_quota();
-+ static int cpu_period();
-+
-+ static int cpu_shares();
-+
-+};
-+
-+inline bool OSContainer::is_containerized() {
-+ assert(_is_initialized, "OSContainer not initialized");
-+ return _is_containerized;
-+}
-+
-+#endif // OS_LINUX_VM_OSCONTAINER_LINUX_HPP
-diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp openjdk/hotspot/src/os/linux/vm/os_linux.cpp
---- openjdk.orig/hotspot/src/os/linux/vm/os_linux.cpp
-+++ openjdk/hotspot/src/os/linux/vm/os_linux.cpp
-@@ -37,6 +37,7 @@
- #include "mutex_linux.inline.hpp"
- #include "oops/oop.inline.hpp"
- #include "os_share_linux.hpp"
-+#include "osContainer_linux.hpp"
- #include "prims/jniFastGetField.hpp"
- #include "prims/jvm.h"
- #include "prims/jvm_misc.hpp"
-@@ -179,13 +180,62 @@
- julong os::Linux::available_memory() {
- // values in struct sysinfo are "unsigned long"
- struct sysinfo si;
-+ julong avail_mem;
-+
-+ if (OSContainer::is_containerized()) {
-+ jlong mem_limit, mem_usage;
-+ if ((mem_limit = OSContainer::memory_limit_in_bytes()) < 1) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("container memory limit %s: " JLONG_FORMAT ", using host value",
-+ mem_limit == OSCONTAINER_ERROR ? "failed" : "unlimited", mem_limit);
-+ }
-+ }
-+
-+ if (mem_limit > 0 && (mem_usage = OSContainer::memory_usage_in_bytes()) < 1) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("container memory usage failed: " JLONG_FORMAT ", using host value", mem_usage);
-+ }
-+ }
-+
-+ if (mem_limit > 0 && mem_usage > 0 ) {
-+ avail_mem = mem_limit > mem_usage ? (julong)mem_limit - (julong)mem_usage : 0;
-+ if (PrintContainerInfo) {
-+ tty->print_cr("available container memory: " JULONG_FORMAT, avail_mem);
-+ }
-+ return avail_mem;
-+ }
-+ }
-+
- sysinfo(&si);
--
-- return (julong)si.freeram * si.mem_unit;
-+ avail_mem = (julong)si.freeram * si.mem_unit;
-+ if (Verbose) {
-+ tty->print_cr("available memory: " JULONG_FORMAT, avail_mem);
-+ }
-+ return avail_mem;
- }
-
- julong os::physical_memory() {
-- return Linux::physical_memory();
-+ jlong phys_mem = 0;
-+ if (OSContainer::is_containerized()) {
-+ jlong mem_limit;
-+ if ((mem_limit = OSContainer::memory_limit_in_bytes()) > 0) {
-+ if (PrintContainerInfo) {
-+ tty->print_cr("total container memory: " JLONG_FORMAT, mem_limit);
-+ }
-+ return mem_limit;
-+ }
-+
-+ if (PrintContainerInfo) {
-+ tty->print_cr("container memory limit %s: " JLONG_FORMAT ", using host value",
-+ mem_limit == OSCONTAINER_ERROR ? "failed" : "unlimited", mem_limit);
-+ }
-+ }
-+
-+ phys_mem = Linux::physical_memory();
-+ if (Verbose) {
-+ tty->print_cr("total system memory: " JLONG_FORMAT, phys_mem);
-+ }
-+ return phys_mem;
- }
-
- ////////////////////////////////////////////////////////////////////////////////
-@@ -2129,6 +2179,8 @@
- os::Posix::print_load_average(st);
-
- os::Linux::print_full_memory_info(st);
-+
-+ os::Linux::print_container_info(st);
- }
-
- // Try to identify popular distros.
-@@ -2194,6 +2246,57 @@
- st->cr();
- }
-
-+void os::Linux::print_container_info(outputStream* st) {
-+if (!OSContainer::is_containerized()) {
-+ return;
-+ }
-+
-+ st->print("container (cgroup) information:\n");
-+
-+ const char *p_ct = OSContainer::container_type();
-+ st->print("container_type: %s\n", p_ct != NULL ? p_ct : "failed");
-+
-+ char *p = OSContainer::cpu_cpuset_cpus();
-+ st->print("cpu_cpuset_cpus: %s\n", p != NULL ? p : "failed");
-+ free(p);
-+
-+ p = OSContainer::cpu_cpuset_memory_nodes();
-+ st->print("cpu_memory_nodes: %s\n", p != NULL ? p : "failed");
-+ free(p);
-+
-+ int i = OSContainer::active_processor_count();
-+ if (i > 0) {
-+ st->print("active_processor_count: %d\n", i);
-+ } else {
-+ st->print("active_processor_count: failed\n");
-+ }
-+
-+ i = OSContainer::cpu_quota();
-+ st->print("cpu_quota: %d\n", i);
-+
-+ i = OSContainer::cpu_period();
-+ st->print("cpu_period: %d\n", i);
-+
-+ i = OSContainer::cpu_shares();
-+ st->print("cpu_shares: %d\n", i);
-+
-+ jlong j = OSContainer::memory_limit_in_bytes();
-+ st->print("memory_limit_in_bytes: " JLONG_FORMAT "\n", j);
-+
-+ j = OSContainer::memory_and_swap_limit_in_bytes();
-+ st->print("memory_and_swap_limit_in_bytes: " JLONG_FORMAT "\n", j);
-+
-+ j = OSContainer::memory_soft_limit_in_bytes();
-+ st->print("memory_soft_limit_in_bytes: " JLONG_FORMAT "\n", j);
-+
-+ j = OSContainer::OSContainer::memory_usage_in_bytes();
-+ st->print("memory_usage_in_bytes: " JLONG_FORMAT "\n", j);
-+
-+ j = OSContainer::OSContainer::memory_max_usage_in_bytes();
-+ st->print("memory_max_usage_in_bytes: " JLONG_FORMAT "\n", j);
-+ st->cr();
-+}
-+
- void os::print_memory_info(outputStream* st) {
-
- st->print("Memory:");
-@@ -4966,6 +5069,10 @@
- }
- }
-
-+void os::pd_init_container_support() {
-+ OSContainer::init();
-+}
-+
- // this is called _after_ the global arguments have been parsed
- jint os::init_2(void)
- {
-@@ -5146,7 +5253,7 @@
- // sched_getaffinity gives an accurate answer as it accounts for cpusets.
- // If anything goes wrong we fallback to returning the number of online
- // processors - which can be greater than the number available to the process.
--int os::active_processor_count() {
-+int os::Linux::active_processor_count() {
- cpu_set_t cpus; // can represent at most 1024 (CPU_SETSIZE) processors
- int cpus_size = sizeof(cpu_set_t);
- int cpu_count = 0;
-@@ -5164,10 +5271,48 @@
- "which may exceed available processors", strerror(errno), cpu_count);
- }
-
-- assert(cpu_count > 0 && cpu_count <= processor_count(), "sanity check");
-+ assert(cpu_count > 0 && cpu_count <= os::processor_count(), "sanity check");
- return cpu_count;
- }
-
-+// Determine the active processor count from one of
-+// three different sources:
-+//
-+// 1. User option -XX:ActiveProcessorCount
-+// 2. kernel os calls (sched_getaffinity or sysconf(_SC_NPROCESSORS_ONLN)
-+// 3. extracted from cgroup cpu subsystem (shares and quotas)
-+//
-+// Option 1, if specified, will always override.
-+// If the cgroup subsystem is active and configured, we
-+// will return the min of the cgroup and option 2 results.
-+// This is required since tools, such as numactl, that
-+// alter cpu affinity do not update cgroup subsystem
-+// cpuset configuration files.
-+int os::active_processor_count() {
-+ // User has overridden the number of active processors
-+ if (ActiveProcessorCount > 0) {
-+ if (PrintActiveCpus) {
-+ tty->print_cr("active_processor_count: "
-+ "active processor count set by user : %d",
-+ ActiveProcessorCount);
-+ }
-+ return ActiveProcessorCount;
-+ }
-+
-+ int active_cpus;
-+ if (OSContainer::is_containerized()) {
-+ active_cpus = OSContainer::active_processor_count();
-+ if (PrintActiveCpus) {
-+ tty->print_cr("active_processor_count: determined by OSContainer: %d",
-+ active_cpus);
-+ }
-+ } else {
-+ active_cpus = os::Linux::active_processor_count();
-+ }
-+
-+ return active_cpus;
-+}
-+
- void os::set_native_thread_name(const char *name) {
- // Not yet implemented.
- return;
-diff --git openjdk.orig/hotspot/src/os/linux/vm/os_linux.hpp openjdk/hotspot/src/os/linux/vm/os_linux.hpp
---- openjdk.orig/hotspot/src/os/linux/vm/os_linux.hpp
-+++ openjdk/hotspot/src/os/linux/vm/os_linux.hpp
-@@ -35,6 +35,7 @@
-
- class Linux {
- friend class os;
-+ friend class OSContainer;
- friend class TestReserveMemorySpecial;
-
- // For signal-chaining
-@@ -79,6 +80,9 @@
-
- static julong available_memory();
- static julong physical_memory() { return _physical_memory; }
-+ static void set_physical_memory(julong phys_mem) { _physical_memory = phys_mem; }
-+ static int active_processor_count();
-+
- static void initialize_system_info();
-
- static int commit_memory_impl(char* addr, size_t bytes, bool exec);
-@@ -116,6 +120,7 @@
- static bool release_memory_special_huge_tlbfs(char* base, size_t bytes);
-
- static void print_full_memory_info(outputStream* st);
-+ static void print_container_info(outputStream* st);
- static void print_distro_info(outputStream* st);
- static void print_libversion_info(outputStream* st);
-
-diff --git openjdk.orig/hotspot/src/os/solaris/vm/os_solaris.cpp openjdk/hotspot/src/os/solaris/vm/os_solaris.cpp
---- openjdk.orig/hotspot/src/os/solaris/vm/os_solaris.cpp
-+++ openjdk/hotspot/src/os/solaris/vm/os_solaris.cpp
-@@ -357,6 +357,16 @@
- }
-
- int os::active_processor_count() {
-+ // User has overridden the number of active processors
-+ if (ActiveProcessorCount > 0) {
-+ if (Verbose) {
-+ tty->print_cr("active_processor_count: "
-+ "active processor count set by user : %d",
-+ ActiveProcessorCount);
-+ }
-+ return ActiveProcessorCount;
-+ }
-+
- int online_cpus = sysconf(_SC_NPROCESSORS_ONLN);
- pid_t pid = getpid();
- psetid_t pset = PS_NONE;
-diff --git openjdk.orig/hotspot/src/os/windows/vm/os_windows.cpp openjdk/hotspot/src/os/windows/vm/os_windows.cpp
---- openjdk.orig/hotspot/src/os/windows/vm/os_windows.cpp
-+++ openjdk/hotspot/src/os/windows/vm/os_windows.cpp
-@@ -716,6 +716,16 @@
- #endif
-
- int os::active_processor_count() {
-+ // User has overridden the number of active processors
-+ if (ActiveProcessorCount > 0) {
-+ if (PrintActiveCpus) {
-+ tty->print_cr("active_processor_count: "
-+ "active processor count set by user : %d",
-+ ActiveProcessorCount);
-+ }
-+ return ActiveProcessorCount;
-+ }
-+
- DWORD_PTR lpProcessAffinityMask = 0;
- DWORD_PTR lpSystemAffinityMask = 0;
- int proc_count = processor_count();
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp openjdk/hotspot/src/share/vm/runtime/arguments.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.cpp
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.cpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -1801,20 +1801,34 @@
- }
- }
-
-+ // Convert Fraction to Precentage values
-+ if (FLAG_IS_DEFAULT(MaxRAMPercentage) &&
-+ !FLAG_IS_DEFAULT(MaxRAMFraction))
-+ MaxRAMPercentage = 100.0 / MaxRAMFraction;
-+
-+ if (FLAG_IS_DEFAULT(MinRAMPercentage) &&
-+ !FLAG_IS_DEFAULT(MinRAMFraction))
-+ MinRAMPercentage = 100.0 / MinRAMFraction;
-+
-+ if (FLAG_IS_DEFAULT(InitialRAMPercentage) &&
-+ !FLAG_IS_DEFAULT(InitialRAMFraction))
-+ InitialRAMPercentage = 100.0 / InitialRAMFraction;
-+
- // If the maximum heap size has not been set with -Xmx,
- // then set it as fraction of the size of physical memory,
- // respecting the maximum and minimum sizes of the heap.
- if (FLAG_IS_DEFAULT(MaxHeapSize)) {
-- julong reasonable_max = phys_mem / MaxRAMFraction;
--
-- if (phys_mem <= MaxHeapSize * MinRAMFraction) {
-+ julong reasonable_max = (julong)((phys_mem * MaxRAMPercentage) / 100);
-+ const julong reasonable_min = (julong)((phys_mem * MinRAMPercentage) / 100);
-+ if (reasonable_min < MaxHeapSize) {
- // Small physical memory, so use a minimum fraction of it for the heap
-- reasonable_max = phys_mem / MinRAMFraction;
-+ reasonable_max = reasonable_min;
- } else {
- // Not-small physical memory, so require a heap at least
- // as large as MaxHeapSize
- reasonable_max = MAX2(reasonable_max, (julong)MaxHeapSize);
- }
-+
- if (!FLAG_IS_DEFAULT(ErgoHeapSizeLimit) && ErgoHeapSizeLimit != 0) {
- // Limit the heap size to ErgoHeapSizeLimit
- reasonable_max = MIN2(reasonable_max, (julong)ErgoHeapSizeLimit);
-@@ -1856,7 +1870,7 @@
- reasonable_minimum = limit_by_allocatable_memory(reasonable_minimum);
-
- if (InitialHeapSize == 0) {
-- julong reasonable_initial = phys_mem / InitialRAMFraction;
-+ julong reasonable_initial = (julong)((phys_mem * InitialRAMPercentage) / 100);
-
- reasonable_initial = MAX3(reasonable_initial, reasonable_minimum, (julong)min_heap_size());
- reasonable_initial = MIN2(reasonable_initial, (julong)MaxHeapSize);
-@@ -1881,6 +1895,94 @@
- }
- }
-
-+// This option inspects the machine and attempts to set various
-+// parameters to be optimal for long-running, memory allocation
-+// intensive jobs. It is intended for machines with large
-+// amounts of cpu and memory.
-+jint Arguments::set_aggressive_heap_flags() {
-+ // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
-+ // VM, but we may not be able to represent the total physical memory
-+ // available (like having 8gb of memory on a box but using a 32bit VM).
-+ // Thus, we need to make sure we're using a julong for intermediate
-+ // calculations.
-+ julong initHeapSize;
-+ julong total_memory = os::physical_memory();
-+
-+ if (total_memory < (julong) 256 * M) {
-+ jio_fprintf(defaultStream::error_stream(),
-+ "You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
-+ vm_exit(1);
-+ }
-+
-+ // The heap size is half of available memory, or (at most)
-+ // all of possible memory less 160mb (leaving room for the OS
-+ // when using ISM). This is the maximum; because adaptive sizing
-+ // is turned on below, the actual space used may be smaller.
-+
-+ initHeapSize = MIN2(total_memory / (julong) 2,
-+ total_memory - (julong) 160 * M);
-+
-+ initHeapSize = limit_by_allocatable_memory(initHeapSize);
-+
-+ if (FLAG_IS_DEFAULT(MaxHeapSize)) {
-+ FLAG_SET_CMDLINE(uintx, MaxHeapSize, initHeapSize);
-+ FLAG_SET_CMDLINE(uintx, InitialHeapSize, initHeapSize);
-+ // Currently the minimum size and the initial heap sizes are the same.
-+ set_min_heap_size(initHeapSize);
-+ }
-+ if (FLAG_IS_DEFAULT(NewSize)) {
-+ // Make the young generation 3/8ths of the total heap.
-+ FLAG_SET_CMDLINE(uintx, NewSize,
-+ ((julong) MaxHeapSize / (julong) 8) * (julong) 3);
-+ FLAG_SET_CMDLINE(uintx, MaxNewSize, NewSize);
-+ }
-+
-+#ifndef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD.
-+ FLAG_SET_DEFAULT(UseLargePages, true);
-+#endif
-+
-+ // Increase some data structure sizes for efficiency
-+ FLAG_SET_CMDLINE(uintx, BaseFootPrintEstimate, MaxHeapSize);
-+ FLAG_SET_CMDLINE(bool, ResizeTLAB, false);
-+ FLAG_SET_CMDLINE(uintx, TLABSize, 256 * K);
-+
-+ // See the OldPLABSize comment below, but replace 'after promotion'
-+ // with 'after copying'. YoungPLABSize is the size of the survivor
-+ // space per-gc-thread buffers. The default is 4kw.
-+ FLAG_SET_CMDLINE(uintx, YoungPLABSize, 256 * K); // Note: this is in words
-+
-+ // OldPLABSize is the size of the buffers in the old gen that
-+ // UseParallelGC uses to promote live data that doesn't fit in the
-+ // survivor spaces. At any given time, there's one for each gc thread.
-+ // The default size is 1kw. These buffers are rarely used, since the
-+ // survivor spaces are usually big enough. For specjbb, however, there
-+ // are occasions when there's lots of live data in the young gen
-+ // and we end up promoting some of it. We don't have a definite
-+ // explanation for why bumping OldPLABSize helps, but the theory
-+ // is that a bigger PLAB results in retaining something like the
-+ // original allocation order after promotion, which improves mutator
-+ // locality. A minor effect may be that larger PLABs reduce the
-+ // number of PLAB allocation events during gc. The value of 8kw
-+ // was arrived at by experimenting with specjbb.
-+ FLAG_SET_CMDLINE(uintx, OldPLABSize, 8 * K); // Note: this is in words
-+
-+ // Enable parallel GC and adaptive generation sizing
-+ FLAG_SET_CMDLINE(bool, UseParallelGC, true);
-+
-+ // Encourage steady state memory management
-+ FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100);
-+
-+ // This appears to improve mutator locality
-+ FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false);
-+
-+ // Get around early Solaris scheduling bug
-+ // (affinity vs other jobs on system)
-+ // but disallow DR and offlining (5008695).
-+ FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
-+
-+ return JNI_OK;
-+}
-+
- // This must be called after ergonomics because we want bytecode rewriting
- // if the server compiler is used, or if UseSharedSpaces is disabled.
- void Arguments::set_bytecode_flags() {
-@@ -2644,6 +2746,14 @@
- return result;
- }
-
-+ // We need to ensure processor and memory resources have been properly
-+ // configured - which may rely on arguments we just processed - before
-+ // doing the final argument processing. Any argument processing that
-+ // needs to know about processor and memory resources must occur after
-+ // this point.
-+
-+ os::init_container_support();
-+
- // Do final processing now that all arguments have been parsed
- result = finalize_vm_init_args(&scp, scp_assembly_required);
- if (result != JNI_OK) {
-@@ -3117,94 +3227,6 @@
- _exit_hook = CAST_TO_FN_PTR(exit_hook_t, option->extraInfo);
- } else if (match_option(option, "abort", &tail)) {
- _abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo);
-- // -XX:+AggressiveHeap
-- } else if (match_option(option, "-XX:+AggressiveHeap", &tail)) {
--
-- // This option inspects the machine and attempts to set various
-- // parameters to be optimal for long-running, memory allocation
-- // intensive jobs. It is intended for machines with large
-- // amounts of cpu and memory.
--
-- // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
-- // VM, but we may not be able to represent the total physical memory
-- // available (like having 8gb of memory on a box but using a 32bit VM).
-- // Thus, we need to make sure we're using a julong for intermediate
-- // calculations.
-- julong initHeapSize;
-- julong total_memory = os::physical_memory();
--
-- if (total_memory < (julong)256*M) {
-- jio_fprintf(defaultStream::error_stream(),
-- "You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
-- vm_exit(1);
-- }
--
-- // The heap size is half of available memory, or (at most)
-- // all of possible memory less 160mb (leaving room for the OS
-- // when using ISM). This is the maximum; because adaptive sizing
-- // is turned on below, the actual space used may be smaller.
--
-- initHeapSize = MIN2(total_memory / (julong)2,
-- total_memory - (julong)160*M);
--
-- initHeapSize = limit_by_allocatable_memory(initHeapSize);
--
-- if (FLAG_IS_DEFAULT(MaxHeapSize)) {
-- FLAG_SET_CMDLINE(uintx, MaxHeapSize, initHeapSize);
-- FLAG_SET_CMDLINE(uintx, InitialHeapSize, initHeapSize);
-- // Currently the minimum size and the initial heap sizes are the same.
-- set_min_heap_size(initHeapSize);
-- }
-- if (FLAG_IS_DEFAULT(NewSize)) {
-- // Make the young generation 3/8ths of the total heap.
-- FLAG_SET_CMDLINE(uintx, NewSize,
-- ((julong)MaxHeapSize / (julong)8) * (julong)3);
-- FLAG_SET_CMDLINE(uintx, MaxNewSize, NewSize);
-- }
--
--#ifndef _ALLBSD_SOURCE // UseLargePages is not yet supported on BSD.
-- FLAG_SET_DEFAULT(UseLargePages, true);
--#endif
--
-- // Increase some data structure sizes for efficiency
-- FLAG_SET_CMDLINE(uintx, BaseFootPrintEstimate, MaxHeapSize);
-- FLAG_SET_CMDLINE(bool, ResizeTLAB, false);
-- FLAG_SET_CMDLINE(uintx, TLABSize, 256*K);
--
-- // See the OldPLABSize comment below, but replace 'after promotion'
-- // with 'after copying'. YoungPLABSize is the size of the survivor
-- // space per-gc-thread buffers. The default is 4kw.
-- FLAG_SET_CMDLINE(uintx, YoungPLABSize, 256*K); // Note: this is in words
--
-- // OldPLABSize is the size of the buffers in the old gen that
-- // UseParallelGC uses to promote live data that doesn't fit in the
-- // survivor spaces. At any given time, there's one for each gc thread.
-- // The default size is 1kw. These buffers are rarely used, since the
-- // survivor spaces are usually big enough. For specjbb, however, there
-- // are occasions when there's lots of live data in the young gen
-- // and we end up promoting some of it. We don't have a definite
-- // explanation for why bumping OldPLABSize helps, but the theory
-- // is that a bigger PLAB results in retaining something like the
-- // original allocation order after promotion, which improves mutator
-- // locality. A minor effect may be that larger PLABs reduce the
-- // number of PLAB allocation events during gc. The value of 8kw
-- // was arrived at by experimenting with specjbb.
-- FLAG_SET_CMDLINE(uintx, OldPLABSize, 8*K); // Note: this is in words
--
-- // Enable parallel GC and adaptive generation sizing
-- FLAG_SET_CMDLINE(bool, UseParallelGC, true);
--
-- // Encourage steady state memory management
-- FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100);
--
-- // This appears to improve mutator locality
-- FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false);
--
-- // Get around early Solaris scheduling bug
-- // (affinity vs other jobs on system)
-- // but disallow DR and offlining (5008695).
-- FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true);
--
- } else if (match_option(option, "-XX:+NeverTenure", &tail)) {
- // The last option must always win.
- FLAG_SET_CMDLINE(bool, AlwaysTenure, false);
-@@ -3605,6 +3627,15 @@
- return JNI_ERR;
- }
-
-+ // This must be done after all arguments have been processed
-+ // and the container support has been initialized since AggressiveHeap
-+ // relies on the amount of total memory available.
-+ if (AggressiveHeap) {
-+ jint result = set_aggressive_heap_flags();
-+ if (result != JNI_OK) {
-+ return result;
-+ }
-+ }
- // This must be done after all arguments have been processed.
- // java_compiler() true means set to "NONE" or empty.
- if (java_compiler() && !xdebug_mode()) {
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/arguments.hpp openjdk/hotspot/src/share/vm/runtime/arguments.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/arguments.hpp
-+++ openjdk/hotspot/src/share/vm/runtime/arguments.hpp
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
-@@ -365,6 +365,8 @@
- // Aggressive optimization flags.
- static void set_aggressive_opts_flags();
-
-+ static jint set_aggressive_heap_flags();
-+
- // Argument parsing
- static void do_pd_flag_adjustments();
- static bool parse_argument(const char* arg, Flag::Flags origin);
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp openjdk/hotspot/src/share/vm/runtime/globals.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/globals.hpp
-+++ openjdk/hotspot/src/share/vm/runtime/globals.hpp
-@@ -2076,13 +2076,23 @@
- product_pd(uint64_t, MaxRAM, \
- "Real memory size (in bytes) used to set maximum heap size") \
- \
-+ product(bool, AggressiveHeap, false, \
-+ "Optimize heap options for long-running memory intensive apps") \
-+ \
- product(uintx, ErgoHeapSizeLimit, 0, \
- "Maximum ergonomically set heap size (in bytes); zero means use " \
-- "MaxRAM / MaxRAMFraction") \
-+ "MaxRAM * MaxRAMPercentage / 100") \
- \
- experimental(bool, UseCGroupMemoryLimitForHeap, false, \
- "Use CGroup memory limit as physical memory limit for heap " \
-- "sizing") \
-+ "sizing" \
-+ "Deprecated, replaced by container support") \
-+ \
-+ diagnostic(bool, PrintContainerInfo, false, \
-+ "Print container related information") \
-+ \
-+ diagnostic(bool, PrintActiveCpus, false, \
-+ "Print the number of CPUs detected in os::active_processor_count") \
- \
- product(uintx, MaxRAMFraction, 4, \
- "Maximum fraction (1/n) of real memory used for maximum heap " \
-@@ -2099,6 +2109,19 @@
- product(uintx, InitialRAMFraction, 64, \
- "Fraction (1/n) of real memory used for initial heap size") \
- \
-+ product(double, MaxRAMPercentage, 25.0, \
-+ "Maximum percentage of real memory used for maximum heap size") \
-+ \
-+ product(double, MinRAMPercentage, 50.0, \
-+ "Minimum percentage of real memory used for maximum heap" \
-+ "size on systems with small physical memory size") \
-+ \
-+ product(double, InitialRAMPercentage, 1.5625, \
-+ "Percentage of real memory used for initial heap size") \
-+ \
-+ product(intx, ActiveProcessorCount, -1, \
-+ "Specify the CPU count the VM should use and report as active") \
-+ \
- develop(uintx, MaxVirtMemFraction, 2, \
- "Maximum fraction (1/n) of virtual memory used for ergonomically "\
- "determining maximum heap size") \
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/os.hpp openjdk/hotspot/src/share/vm/runtime/os.hpp
---- openjdk.orig/hotspot/src/share/vm/runtime/os.hpp
-+++ openjdk/hotspot/src/share/vm/runtime/os.hpp
-@@ -152,8 +152,16 @@
- static size_t page_size_for_region(size_t region_size, size_t min_pages, bool must_be_aligned);
-
- static void initialize_initial_active_processor_count();
-+
-+ LINUX_ONLY(static void pd_init_container_support();)
-+
- public:
- static void init(void); // Called before command line parsing
-+
-+ static void init_container_support() { // Called during command line parsing.
-+ LINUX_ONLY(pd_init_container_support();)
-+ }
-+
- static void init_before_ergo(void); // Called after command line parsing
- // before VM ergonomics processing.
- static jint init_2(void); // Called after command line parsing
-diff --git openjdk.orig/hotspot/src/share/vm/runtime/thread.cpp openjdk/hotspot/src/share/vm/runtime/thread.cpp
---- openjdk.orig/hotspot/src/share/vm/runtime/thread.cpp
-+++ openjdk/hotspot/src/share/vm/runtime/thread.cpp
-@@ -3332,6 +3332,7 @@
- Arguments::init_version_specific_system_properties();
-
- // Parse arguments
-+ // Note: this internally calls os::init_container_support()
- jint parse_result = Arguments::parse(args);
- if (parse_result != JNI_OK) return parse_result;
-
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index dfb03c8..c9f6598 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -1059,7 +1059,7 @@ Patch516: pr2815.patch
Patch517: pr2899.patch
Patch518: pr2934.patch
Patch519: pr3479-rh1486025.patch
-# PR3183, RH1340845: Support Fedora/RHEL system crypto policy
+# PR3183, RH1340845: Support Fedora/RHEL8 system crypto policy
Patch300: pr3183-rh1340845-system-crypto-policy.patch
#############################################
@@ -1173,8 +1173,6 @@ Patch578: 8075942-pr3602-rh1582032.patch
Patch579: 8203182-pr3603-rh1568033.patch
# 8206406, PR3610, RH1597825: StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
Patch580: 8206406-pr3610-rh1597825.patch
-# 8146115, PR3508, RH1463098: Improve docker container detection and resource configuration usage
-Patch581: 8146115-pr3508-rh1463098.patch
# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files
# 8206425: .gnu_debuglink sections added unconditionally when no debuginfo is stripped
Patch204: 8206425-hotspot-remove-debuglink.patch
@@ -1226,10 +1224,8 @@ Patch539: pr2888.patch
Patch540: pr3575-rh1567204.patch
# Shenandoah fixes
-# PR3619: Shenandoah broken on s390
-Patch582: pr3619.patch
-# PR3620: Shenandoah broken on ppc64
-Patch583: pr3620.patch
+# PR3634: Shenandoah still broken on s390 with aarch64-shenandoah-jdk8u181-b16
+Patch582: pr3634.patch
#############################################
#
@@ -1633,7 +1629,6 @@ sh %{SOURCE12}
%patch578
%patch579
%patch580
-%patch581
%patch620
%patch621
%patch622
@@ -1653,7 +1648,6 @@ sh %{SOURCE12}
# Shenandoah patches
%patch582
-%patch583
%patch1000
@@ -2283,6 +2277,11 @@ require "copy_jdk_configs.lua"
%endif
%changelog
+* Tue Oct 23 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.191.b12-1
+- updated to aarch64-shenandoah-jdk8u191-b12
+- deleted 8146115-pr3508-rh1463098.patch, pr3619.patch, pr3620.patch - should be upstreamed
+- create pr3634.patch to fix build failure on s390
+
* Fri Oct 12 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-7
- Add patch 8210425-03-rh1630426-hotspot-opt-fix-zero.patch:
- Annother fix for optimization gaps (annocheck issues)
diff --git a/pr3619.patch b/pr3619.patch
deleted file mode 100644
index 3c8631f..0000000
--- a/pr3619.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahAdaptiveHeuristics.cpp
-@@ -108,7 +108,7 @@
- step = MIN2(step, (intx) MaxNormalStep);
-
- log_info(gc, ergo)("Capacity: " SIZE_FORMAT "M, Peak Occupancy: " SIZE_FORMAT
-- "M, Lowest Free: " SIZE_FORMAT "M, Free Threshold: " UINTX_FORMAT "M",
-+ "M, Lowest Free: " SIZE_FORMAT "M, Free Threshold: " SIZE_FORMAT "M",
- capacity / M, _peak_occupancy / M,
- (capacity - _peak_occupancy) / M, ShenandoahMinFreeThreshold * capacity / 100 / M);
-
-diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/heuristics/shenandoahStaticHeuristics.cpp
-@@ -36,7 +36,7 @@
- }
-
- void ShenandoahStaticHeuristics::print_thresholds() {
-- log_info(gc, init)("Shenandoah heuristics thresholds: allocation "SIZE_FORMAT", free "SIZE_FORMAT", garbage "SIZE_FORMAT,
-+ log_info(gc, init)("Shenandoah heuristics thresholds: allocation "UINTX_FORMAT", free "UINTX_FORMAT", garbage "UINTX_FORMAT,
- ShenandoahAllocationThreshold,
- ShenandoahFreeThreshold,
- ShenandoahGarbageThreshold);
-diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp
---- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp
-+++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegion.cpp
-@@ -539,7 +539,7 @@
- }
- size_t average_heap_size = (initial_heap_size + max_heap_size) / 2;
- region_size = MAX2(average_heap_size / ShenandoahTargetNumRegions,
-- ShenandoahMinRegionSize);
-+ (size_t) ShenandoahMinRegionSize);
-
- // Now make sure that we don't go over or under our limits.
- region_size = MAX2(ShenandoahMinRegionSize, region_size);
-@@ -573,7 +573,7 @@
- // Otherwise, mem-protecting one region may falsely protect the adjacent
- // regions too.
- if (UseLargePages) {
-- region_size = MAX2(region_size, os::large_page_size());
-+ region_size = MAX2((size_t) region_size, os::large_page_size());
- }
-
- int region_size_log = log2_long((jlong) region_size);
diff --git a/pr3620.patch b/pr3620.patch
deleted file mode 100644
index 206828d..0000000
--- a/pr3620.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-diff --git openjdk.orig/hotspot/make/excludeSrc.make openjdk/hotspot/make/excludeSrc.make
---- openjdk.orig/hotspot/make/excludeSrc.make
-+++ openjdk/hotspot/make/excludeSrc.make
-@@ -121,6 +121,7 @@
- Src_Files_EXCLUDE += \
- shenandoahBarrierSet_x86.cpp \
- shenandoahBarrierSet_aarch64.cpp \
-+ shenandoahBarrierSet_ppc.cpp \
- shenandoahBarrierSet_sparc.cpp \
- shenandoahBarrierSet_zero.cpp
- endif
-diff --git openjdk.orig/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp openjdk/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp
-new file mode 100644
---- /dev/null
-+++ openjdk/hotspot/src/cpu/ppc/vm/shenandoahBarrierSet_ppc.cpp
-@@ -0,0 +1,54 @@
-+/*
-+ * Copyright (c) 2018, Red Hat, Inc. and/or its affiliates.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
-+ * or visit www.oracle.com if you need additional information or have any
-+ * questions.
-+ *
-+ */
-+
-+#include "precompiled.hpp"
-+#include "gc_implementation/shenandoah/brooksPointer.hpp"
-+#include "gc_implementation/shenandoah/shenandoahBarrierSet.inline.hpp"
-+
-+#include "asm/macroAssembler.hpp"
-+#include "interpreter/interpreter.hpp"
-+
-+#define __ masm->
-+
-+#ifndef CC_INTERP
-+
-+void ShenandoahBarrierSet::interpreter_read_barrier(MacroAssembler* masm, Register dst) {
-+ Unimplemented();
-+}
-+
-+void ShenandoahBarrierSet::interpreter_read_barrier_not_null(MacroAssembler* masm, Register dst) {
-+ Unimplemented();
-+}
-+
-+void ShenandoahBarrierSet::interpreter_write_barrier(MacroAssembler* masm, Register dst) {
-+ Unimplemented();
-+}
-+
-+void ShenandoahBarrierSet::asm_acmp_barrier(MacroAssembler* masm, Register op1, Register op2) {
-+ Unimplemented();
-+}
-+
-+void ShenandoahHeap::compile_prepare_oop(MacroAssembler* masm, Register obj) {
-+ Unimplemented();
-+}
-+#endif
diff --git a/pr3634.patch b/pr3634.patch
new file mode 100644
index 0000000..caba2ac
--- /dev/null
+++ b/pr3634.patch
@@ -0,0 +1,16 @@
+diff --git openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp
+--- openjdk.orig/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp
++++ openjdk/hotspot/src/share/vm/gc_implementation/shenandoah/shenandoah_globals.hpp
+@@ -55,10 +55,10 @@
+ "Size of the Shenandoah regions. " \
+ "Determined automatically by default.") \
+ \
+- experimental(uintx, ShenandoahMinRegionSize, 256 * K, \
++ experimental(size_t, ShenandoahMinRegionSize, 256 * K, \
+ "Minimum heap region size. ") \
+ \
+- experimental(uintx, ShenandoahMaxRegionSize, 32 * M, \
++ experimental(size_t, ShenandoahMaxRegionSize, 32 * M, \
+ "Maximum heap region size. ") \
+ \
+ experimental(intx, ShenandoahHumongousThreshold, 100, \
commit 474b96bdcee53fc3fdd356370c470f0ae9daccd4
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Fri Oct 19 16:48:15 2018 +0200
updated to new sources - u191
diff --git a/.gitignore b/.gitignore
index 571ea50..b7a8809 100644
--- a/.gitignore
+++ b/.gitignore
@@ -110,7 +110,10 @@
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u162-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u171-b10.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u171-b10.tar.xz
+/aarch64-port-jdk8u-aarch64-jdk8u171-b12.tar.xz
+/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u171-b12.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u172-b11.tar.xz
+/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-05-15.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u172-b11--shenandoah-merge-2018-06-21.tar.xz
/aarch64-port-jdk8u-aarch64-jdk8u181-b03.tar.xz
@@ -121,3 +124,6 @@
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b13.tar.xz
/systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b15.tar.xz
+/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b16.tar.xz
+/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b10.tar.xz
+/aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b12.tar.xz
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index c0cec14..dfb03c8 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -223,7 +223,7 @@
# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
%global shenandoah_project aarch64-port
%global shenandoah_repo jdk8u-shenandoah
-%global shenandoah_revision aarch64-shenandoah-jdk8u181-b15
+%global shenandoah_revision aarch64-shenandoah-jdk8u191-b12
# Define old aarch64/jdk8u tree variables for compatibility
%global project %{shenandoah_project}
%global repo %{shenandoah_repo}
diff --git a/sources b/sources
index f10b98c..7cd45d3 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
SHA512 (systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz) = cf578221b77d8c7e019f69909bc86c419c5fb5e10bceba9592ff6e7f96887b0a7f07c9cefe90800975247a078785ca190fdec5c2d0f841bb447cee784b570f7d
-SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u181-b15.tar.xz) = d8cdb9b7ef129ba8a07332ca3e4c56ad9e6cc84c4977cbad601b67deeecec44c0f3b95f219d603e063bd7b89bf6515151111fe021cf36132b9b4cc47c1d1d12c
+SHA512 (aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u191-b12.tar.xz) = 1cefbddc40a87fcbcbd875dc83d3897137c6ded3bd18190c3c8e96f89bb5c7edb29750095bb47dd96be062d093f488327f4993f9690975fde2dbaededd7d4e55
commit e32f59828d5ae74cfaaef9b189c1cb5b6d274001
Author: Jiri Vanek <jvanek(a)redhat.com>
Date: Fri Oct 19 16:29:52 2018 +0200
Used top-level macro consistently
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index 848d427..c0cec14 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -73,7 +73,7 @@
%global include_debug_build 0
%endif
-# On x86_64 and AArch64, we use the Shenandoah HotSpot
+# Shenandoah HotSpot used everywhere, but built only on x86_64 and AArch64
%ifarch x86_64 %{aarch64}
%global use_shenandoah_hotspot 1
%else
@@ -246,7 +246,7 @@
# images stub
%global jdkimage j2sdk-image
# output dir stub
-%define buildoutputdir() %{expand:openjdk/build/jdk8.build%{?1}}
+%define buildoutputdir() %{expand:%{top_level_dir_name}/build/jdk8.build%{?1}}
# we can copy the javadoc to not arched dir, or make it not noarch
%define uniquejavadocdir() %{expand:%{fullversion}%{?1}}
# main id and dir of this jdk
@@ -1550,8 +1550,8 @@ cp %{SOURCE2} .
#
# the configure macro will do this too, but it also passes a few flags not
# supported by openjdk configure script
-cp %{SOURCE100} openjdk/common/autoconf/build-aux/
-cp %{SOURCE101} openjdk/common/autoconf/build-aux/
+cp %{SOURCE100} %{top_level_dir_name}/common/autoconf/build-aux/
+cp %{SOURCE101} %{top_level_dir_name}/common/autoconf/build-aux/
# OpenJDK patches
@@ -1986,7 +1986,7 @@ cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{
# Install icons and menu entries
for s in 16 24 32 48 ; do
install -D -p -m 644 \
- openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
+ %{top_level_dir_name}/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
$RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
done
commit bb51875e39713ddf1d9763c475fad86a3260b440
Author: Severin Gehwolf <sgehwolf(a)redhat.com>
Date: Fri Oct 12 16:18:07 2018 +0200
Add another optimization gap fix for Zero.
Add patch 8210425-03-rh1630426-hotspot-opt-fix-zero.patch which
performs the same opt steps for Zero arches when they are being
built. This issue showed up on arm (32 bit) and s390x
only as those are Zero arches for JDK 8.
diff --git a/8210425-03-rh1630426-hotspot-opt-fix-zero.patch b/8210425-03-rh1630426-hotspot-opt-fix-zero.patch
new file mode 100644
index 0000000..6c1ebad
--- /dev/null
+++ b/8210425-03-rh1630426-hotspot-opt-fix-zero.patch
@@ -0,0 +1,20 @@
+--- openjdk/hotspot/make/linux/makefiles/zeroshark.make
++++ openjdk/hotspot/make/linux/makefiles/zeroshark.make
+@@ -30,10 +30,13 @@ ifeq ($(USE_CLANG), true)
+ WARNING_FLAGS += -Wno-undef
+ endif
+
+-# The copied fdlibm routines in sharedRuntimeTrig.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
+-# The copied fdlibm routines in sharedRuntimeTrans.o must not be optimized
+-OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++ifeq ($(OPT_CFLAGS_NO_FMA),)
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/NOOPT)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/NOOPT)
++else
++ OPT_CFLAGS/sharedRuntimeTrig.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++ OPT_CFLAGS/sharedRuntimeTrans.o = $(OPT_CFLAGS/SPEED) $(OPT_CFLAGS_NO_FMA)
++endif
+
+ # Specify that the CPU is little endian, if necessary
+ ifeq ($(ZERO_ENDIANNESS), little)
diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec
index c23dbd9..848d427 100644
--- a/java-1.8.0-openjdk.spec
+++ b/java-1.8.0-openjdk.spec
@@ -106,8 +106,8 @@
# Filter out flags from the optflags macro that cause problems with the OpenJDK build
-# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
+# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
@@ -824,6 +824,9 @@ exit 0
%define java_rpo() %{expand:
Requires: fontconfig%{?_isa}
Requires: xorg-x11-fonts-Type1
+# Require libXcomposite explicitly since it's only dynamically loaded
+# at runtime. Fixes screenshot issues. See JDK-8150954.
+Requires: libXcomposite%{?_isa}
# Requires rest of java
Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
@@ -963,7 +966,7 @@ Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{releas
Name: java-%{javaver}-%{origin}
Version: %{javaver}.%{updatever}.%{buildver}
-Release: 0%{?dist}
+Release: 7%{?dist}
# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
# and this change was brought into RHEL-4. java-1.5.0-ibm packages
# also included the epoch in their virtual provides. This created a
@@ -1041,21 +1044,7 @@ Source101: config.sub
# Ignore AWTError when assistive technologies are loaded
Patch1: %{name}-accessible-toolkit.patch
# Restrict access to java-atk-wrapper classes
-Patch3: java-atk-wrapper-security.patch
-
-#############################################
-#
-# Upstreamable patches
-#
-#############################################
-# PR2737: Allow multiple initialization of PKCS11 libraries
-Patch5: multiple-pkcs11-library-init.patch
-# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
-Patch504: rh1163501.patch
-# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
-Patch511: rh1214835.patch
-# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
-Patch512: no_strict_overflow.patch
+Patch3: java-atk-wrapper-security.patch
# Support for building the SunEC provider with the system NSS installation
# PR1983: Support using the system installation of NSS with the SunEC provider
# PR2127: SunEC provider crashes when built using system NSS
@@ -1070,10 +1059,20 @@ Patch516: pr2815.patch
Patch517: pr2899.patch
Patch518: pr2934.patch
Patch519: pr3479-rh1486025.patch
-# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
-# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
-Patch508: rh1176206-jdk.patch
-Patch509: rh1176206-root.patch
+# PR3183, RH1340845: Support Fedora/RHEL system crypto policy
+Patch300: pr3183-rh1340845-system-crypto-policy.patch
+
+#############################################
+#
+# Upstreamable patches
+#
+#############################################
+# PR2737: Allow multiple initialization of PKCS11 libraries
+Patch5: multiple-pkcs11-library-init.patch
+# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
+Patch504: rh1163501.patch
+# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
+Patch512: no_strict_overflow.patch
# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
Patch523: pr2974-rh1337583.patch
# PR3083, RH1346460: Regression in SSL debug output without an ECC provider
@@ -1082,23 +1081,9 @@ Patch528: pr3083-rh1346460.patch
Patch529: rh1566890_embargoed20180521.patch
# PR3601: Fix additional -Wreturn-type issues introduced by 8061651
Patch530: pr3601.patch
-# PR3183: Support Fedora/RHEL system crypto policy
-Patch300: pr3183.patch
-
-#############################################
-#
-# Upstreamable debugging patches
-#
-#############################################
-# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files
-# 8207234: More libraries with .gnu_debuglink sections added unconditionally
-Patch205: 8207234-dont-add-unnecessary-debug-links.patch
# Arch-specific upstreamable patches
-# s390: PR2415: JVM -Xmx requirement is too high on s390
-Patch100: %{name}-s390-java-opts.patch
-# s390: Type fixing for s390
-Patch102: %{name}-size_t.patch
+
# s390: PR3593: Use "%z" for size_t on s390 as size_t != intptr_t
Patch103: pr3593-s390-size_t_format_flags.patch
# x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
@@ -1111,16 +1096,6 @@ Patch106: pr3519.patch
# Patches which need backporting to 8u
#
#############################################
-# S8073139, RH1191652; fix name of ppc64le architecture
-Patch601: %{name}-rh1191652-root.patch
-Patch602: %{name}-rh1191652-jdk.patch
-Patch603: %{name}-rh1191652-hotspot-aarch64.patch
-# Include all sources in src.zip
-Patch7: include-all-srcs.patch
-# 8035341: Allow using a system installed libpng
-Patch202: system-libpng.patch
-# 8042159: Allow using a system-installed lcms2
-Patch203: system-lcms.patch
# S8074839, PR2462: Resolve disabled warnings for libunpack and the unpack200 binary
# This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
Patch502: pr2462.patch
@@ -1149,7 +1124,25 @@ Patch576: 8064786-pr3599.patch
# 8062808, PR3548: Turn on the -Wreturn-type warning
Patch577: 8062808-pr3548.patch
# 8207057, PR3613: Enable debug information for assembly code files
-Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch
+Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch
+Patch207: 8207057-pr3613-assembler-debuginfo-root.patch
+# s390: JDK-8203030, Type fixing for s390
+Patch102: 8203030-size_t-fixes.patch
+# 8210761: libjsig is being compiled without optimization
+Patch620: 8210761-rh1630426-jsig-opt-fix.patch
+# 8210647: libsaproc is being compiled without optimization
+Patch621: 8210647-rh1630426-saproc-opt-fix.patch
+# 8210416: [linux] Poor StrictMath performance due to non-optimized compilation
+Patch622: 8210416-rh1630426-strict-math-opt.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Upstream 8u part.
+Patch623: 8210425-01-rh1630426-hotspot-opt-fix.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Aarch64-port 8u local part
+Patch624: 8210425-02-rh1630426-hotspot-opt-fix-aarch64.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Zero part of the fix for (arm/s390 arches)
+Patch625: 8210425-03-rh1630426-hotspot-opt-fix-zero.patch
#############################################
#
@@ -1157,9 +1150,9 @@ Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch
#
#############################################
# S8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
-Patch506: pr2842-01.patch
+Patch506: 8031668-pr2842-01.patch
# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
-Patch507: pr2842-02.patch
+Patch507: 8148351-pr2842-02.patch
# S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
Patch526: 6260348-pr3066.patch
# 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"
@@ -1167,7 +1160,7 @@ Patch538: 8061305-pr3335-rh1423421.patch
# 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
Patch560: 8188030-pr3459-rh1484079.patch
# 8205104, PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
-Patch562: pr3539-rh1548475.patch
+Patch562: 8205104-pr3539-rh1548475.patch
# 8185723, PR3553: Zero: segfaults on Power PC 32-bit
Patch565: 8185723-pr3553.patch
# 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
@@ -1182,8 +1175,29 @@ Patch579: 8203182-pr3603-rh1568033.patch
Patch580: 8206406-pr3610-rh1597825.patch
# 8146115, PR3508, RH1463098: Improve docker container detection and resource configuration usage
Patch581: 8146115-pr3508-rh1463098.patch
+# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files
# 8206425: .gnu_debuglink sections added unconditionally when no debuginfo is stripped
Patch204: 8206425-hotspot-remove-debuglink.patch
+# 8036003: Add --with-native-debug-symbols=[none|internal|external|zipped]
+Patch205: 8036003-add-with-native-debug-symbols-configure-flag.patch
+# s390: JDK-8201495, PR2415: JVM -Xmx requirement is too high on s390
+Patch100: 8201495-s390-java-opts.patch
+
+#############################################
+#
+# Patches appearing in 8u202
+#
+#############################################
+# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
+Patch508: 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch
+# 8165852, PR3468: (fs) Mount point not found for a file which is present in overlayfs
+Patch210: 8165852-pr3468.patch
+# S8073139, RH1191652; fix name of ppc64le architecture
+Patch601: 8073139-rh1191652-root.patch
+Patch602: 8073139-rh1191652-jdk.patch
+Patch603: 8073139-rh1191652-hotspot-aarch64.patch
+# 8044235: src.zip should include all sources
+Patch7: 8044235-include-all-srcs.patch
#############################################
#
@@ -1192,6 +1206,10 @@ Patch204: 8206425-hotspot-remove-debuglink.patch
#############################################
# 8043805: Allow using a system-installed libjpeg
Patch201: system-libjpeg.patch
+# 8035341: Allow using a system installed libpng
+Patch202: system-libpng.patch
+# 8042159: Allow using a system-installed lcms2
+Patch203: system-lcms.patch
#############################################
#
@@ -1248,6 +1266,7 @@ BuildRequires: nss-devel
BuildRequires: pkgconfig
BuildRequires: xorg-x11-proto-devel
BuildRequires: zip
+BuildRequires: unzip
# Use OpenJDK 7 where available (on RHEL) to avoid
# having to use the rhel-7.x-java-unsafe-candidate hack
%if ! 0%{?fedora} && 0%{?rhel} <= 7
@@ -1548,6 +1567,8 @@ sh %{SOURCE12}
%patch204
%patch205
%patch206
+%patch207
+%patch210
%patch300
@@ -1578,8 +1599,6 @@ sh %{SOURCE12}
%patch506
%patch507
%patch508
-%patch509
-%patch511
%patch512
%patch513
%patch514
@@ -1615,6 +1634,12 @@ sh %{SOURCE12}
%patch579
%patch580
%patch581
+%patch620
+%patch621
+%patch622
+%patch623
+%patch624
+%patch625
# RPM-only fixes
%patch525
@@ -1728,7 +1753,7 @@ bash ../../configure \
%ifnarch %{jit_arches}
--with-jvm-variants=zero \
%endif
- --disable-zip-debug-info \
+ --with-native-debug-symbols=internal \
--with-milestone="fcs" \
--with-update-version=%{updatever} \
--with-build-number=%{buildver} \
@@ -1750,16 +1775,8 @@ bash ../../configure \
cat spec.gmk
cat hotspot-spec.gmk
-# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
-# disables FDS for all build configs and reverts to pre-FDS make logic.
-# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
-# ignore all the other logic about which debug options and just do '-g'.
-
make \
- DEBUG_BINARIES=true \
JAVAC_FLAGS=-g \
- STRIP_POLICY=no_strip \
- POST_STRIP_CMD="" \
LOG=trace \
SCTP_WERROR= \
%{targets} || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
@@ -2266,6 +2283,68 @@ require "copy_jdk_configs.lua"
%endif
%changelog
+* Fri Oct 12 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-7
+- Add patch 8210425-03-rh1630426-hotspot-opt-fix-zero.patch:
+ - Annother fix for optimization gaps (annocheck issues)
+ - Zero 8u version fix was missing. Hence, only shows up on Zero arches.
+
+* Mon Oct 08 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-6
+- Refreshed upstreamed patches (from 8u202):
+ - 8044235-include-all-srcs.patch: src.zip should include all sources.
+ - 8073139-rh1191652-hotspot-aarch64.patch,
+ 8073139-rh1191652-jdk.patch,
+ 8073139-rh1191652-root.patch: PPC64LE JVM reporting issues.
+- Moved both patch series to 8u202 sections.
+
+* Mon Oct 01 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-5
+- Add explicit requirement for libXcomposite which is used when performing
+ screenshots from Java.
+- Add explicit BR unzip required for building OpenJDK.
+
+* Thu Sep 27 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-4
+- Add fixes for optimization gaps (annocheck issues):
+ - 8210761: libjsig is being compiled without optimization
+ - 8210647: libsaproc is being compiled without optimization
+ - 8210416: [linux] Poor StrictMath performance due to non-optimized compilation
+ - 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+ 8u upstream and aarch64/jdk8u upstream versions.
+
+* Wed Sep 26 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-3
+- Renamed more patches for clarity:
+ include-all-srcs.patch => 8044235-include-all-srcs.patch
+ java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch => 8073139-rh1191652-hotspot-aarch64.patch
+ java-1.8.0-openjdk-rh1191652-jdk.patch => 8073139-rh1191652-jdk.patch
+ java-1.8.0-openjdk-rh1191652-root.patch => 8073139-rh1191652-root.patch
+
+* Tue Sep 18 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-2
+- Update(s) from upstreamed patches:
+ - 8036003-dont-add-unnecessary-debug-links.patch =>
+ 8036003-add-with-native-debug-symbols-configure-flag.patch
+ - rh1176206-jdk.patch =>
+ 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch =>
+ Deleted rh1176206-root.patch as thats no longer needed with
+ upstream 8150954.
+ - Refreshed 8165852-pr3468.patch from upstream.
+ - Refreshed 8201495-s390-java-opts.patch from upstream.
+ - 8207057-pr3613-hotspot-assembler-debuginfo.patch =>
+ 8207057-pr3613-assembler-debuginfo-hotspot.patch and
+ 8207057-pr3613-assembler-debuginfo-root.patch. From JDK 8u
+ review.
+- Renamed pr2842-02.patch => 8148351-pr2842-02.patch.
+- Renamed spec-only patch:
+ pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch
+- Renamed java-1.8.0-openjdk-size_t.patch =>
+ 8201495-s390-java-opts.patch
+- Moved SunEC provider via system NSS to RPM specific patches section.
+- Moved upstream 8u patches to appropriate sections (8u192/8u202).
+- Removed rh1214835.patch since it's invalid. See:
+ https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3
+- Use --with-native-debug-symbols=internal which JDK-8036003 adds.
+
+* Tue Sep 11 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.181.b15-1
+- fixed unexpanded arch in policy tool desktop file
+- fixed versions (8->1.8.0) of images used in desktop files
+
* Mon Aug 27 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b13-9
- Adjust system jpeg patch, system-libjpeg.patch, so as to filter
-Wl,--as-needed. Resolves RHBZ#1622186.
diff --git a/java-1.8.0-openjdk.spec.orig b/java-1.8.0-openjdk.spec.orig
new file mode 100644
index 0000000..80edc64
--- /dev/null
+++ b/java-1.8.0-openjdk.spec.orig
@@ -0,0 +1,3557 @@
+# RPM conditionals so as to be able to dynamically produce
+# slowdebug/release builds. See:
+# http://rpm.org/user_doc/conditional_builds.html
+#
+# Examples:
+#
+# Produce release *and* slowdebug builds on x86_64 (default):
+# $ rpmbuild -ba java-1.8.0-openjdk.spec
+#
+# Produce only release builds (no slowdebug builds) on x86_64:
+# $ rpmbuild -ba java-1.8.0-openjdk.spec --without slowdebug
+#
+# Only produce a release build on x86_64:
+# $ fedpkg mockbuild --without slowdebug
+#
+# Only produce a debug build on x86_64:
+# $ fedpkg local --without release
+#
+# Enable slowdebug builds by default on relevant arches.
+%bcond_without slowdebug
+# Enable release builds by default on relevant arches.
+%bcond_without release
+
+%define _find_debuginfo_opts -g
+# note: parametrized macros are order-sensitive (unlike not-parametrized) even with normal macros
+# also necessary when passing it as parameter to other macros. If not macro, then it is considered a switch
+# see the difference between global and define:
+# See https://github.com/rpm-software-management/rpm/issues/127 to comments at "pmatilai commented on Aug 18, 2017"
+# (initiated in https://bugzilla.redhat.com/show_bug.cgi?id=1482192)
+%global debug_suffix_unquoted -debug
+# quoted one for shell operations
+%global debug_suffix "%{debug_suffix_unquoted}"
+%global normal_suffix ""
+
+# if you want only debug build but providing java build only normal build but set normalbuild_parameter
+%global debugbuild_parameter slowdebug
+%global normalbuild_parameter release
+%global debug_warning This package has full debug on. Install only in need and remove asap.
+%global debug_on with full debug on
+%global for_debug for packages with debug on
+
+%if %{with release}
+%global include_normal_build 1
+%else
+%global include_normal_build 0
+%endif
+
+%if %{include_normal_build}
+%global build_loop1 %{normal_suffix}
+%else
+%global build_loop1 %{nil}
+%endif
+
+%global aarch64 aarch64 arm64 armv8
+# we need to distinguish between big and little endian PPC64
+%global ppc64le ppc64le
+%global ppc64be ppc64 ppc64p7
+%global multilib_arches %{power64} sparc64 x86_64
+%global jit_arches %{ix86} x86_64 sparcv9 sparc64 %{aarch64} %{power64}
+
+# By default, we build a debug build during main build on JIT architectures
+%if %{with slowdebug}
+%ifarch %{jit_arches}
+%ifnarch %{arm}
+%global include_debug_build 1
+%else
+%global include_debug_build 0
+%endif
+%else
+%global include_debug_build 0
+%endif
+%else
+%global include_debug_build 0
+%endif
+
+# On x86_64 and AArch64, we use the Shenandoah HotSpot
+%ifarch x86_64 %{aarch64}
+%global use_shenandoah_hotspot 1
+%else
+%global use_shenandoah_hotspot 0
+%endif
+
+%if %{include_debug_build}
+%global build_loop2 %{debug_suffix}
+%else
+%global build_loop2 %{nil}
+%endif
+
+# if you disable both builds, then the build fails
+%global build_loop %{build_loop1} %{build_loop2}
+# note: that order: normal_suffix debug_suffix, in case of both enabled
+# is expected in one single case at the end of the build
+%global rev_build_loop %{build_loop2} %{build_loop1}
+
+%ifarch %{jit_arches}
+%global bootstrap_build 1
+%else
+%global bootstrap_build 1
+%endif
+
+%if %{bootstrap_build}
+%global targets bootcycle-images docs
+%else
+%global targets all
+%endif
+
+
+# Filter out flags from the optflags macro that cause problems with the OpenJDK build
+# We filter out -O flags so that the optimization of HotSpot is not lowered from O3 to O2
+# We filter out -Wall which will otherwise cause HotSpot to produce hundreds of thousands of warnings (100+mb logs)
+# We replace it with -Wformat (required by -Werror=format-security) and -Wno-cpp to avoid FORTIFY_SOURCE warnings
+# We filter out -fexceptions as the HotSpot build explicitly does -fno-exceptions and it's otherwise the default for C++
+%global ourflags %(echo %optflags | sed -e 's|-Wall|-Wformat -Wno-cpp|' | sed -r -e 's|-O[0-9]*||')
+%global ourcppflags %(echo %ourflags | sed -e 's|-fexceptions||')
+%global ourldflags %{__global_ldflags}
+
+# With disabled nss is NSS deactivated, so NSS_LIBDIR can contain the wrong path
+# the initialization must be here. Later the pkg-config have buggy behavior
+# looks like openjdk RPM specific bug
+# Always set this so the nss.cfg file is not broken
+%global NSS_LIBDIR %(pkg-config --variable=libdir nss)
+%global NSS_LIBS %(pkg-config --libs nss)
+%global NSS_CFLAGS %(pkg-config --cflags nss-softokn)
+# see https://bugzilla.redhat.com/show_bug.cgi?id=1332456
+%global NSSSOFTOKN_BUILDTIME_NUMBER %(pkg-config --modversion nss-softokn || : )
+%global NSS_BUILDTIME_NUMBER %(pkg-config --modversion nss || : )
+# this is workaround for processing of requires during srpm creation
+%global NSSSOFTOKN_BUILDTIME_VERSION %(if [ "x%{NSSSOFTOKN_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSSSOFTOKN_BUILDTIME_NUMBER}" ;fi)
+%global NSS_BUILDTIME_VERSION %(if [ "x%{NSS_BUILDTIME_NUMBER}" == "x" ] ; then echo "" ;else echo ">= %{NSS_BUILDTIME_NUMBER}" ;fi)
+
+
+# Fix for https://bugzilla.redhat.com/show_bug.cgi?id=1111349.
+# See also https://bugzilla.redhat.com/show_bug.cgi?id=1590796
+# as to why some libraries *cannot* be excluded. In particular,
+# these are:
+# libjsig.so, libjava.so, libjawt.so, libjvm.so and libverify.so
+%global _privatelibs libatk-wrapper[.]so.*|libattach[.]so.*|libawt_headless[.]so.*|libawt[.]so.*|libawt_xawt[.]so.*|libdt_socket[.]so.*|libfontmanager[.]so.*|libhprof[.]so.*|libinstrument[.]so.*|libj2gss[.]so.*|libj2pcsc[.]so.*|libj2pkcs11[.]so.*|libjaas_unix[.]so.*|libjava_crw_demo[.]so.*|libjavajpeg[.]so.*|libjdwp[.]so.*|libjli[.]so.*|libjsdt[.]so.*|libjsoundalsa[.]so.*|libjsound[.]so.*|liblcms[.]so.*|libmanagement[.]so.*|libmlib_image[.]so.*|libnet[.]so.*|libnio[.]so.*|libnpt[.]so.*|libsaproc[.]so.*|libsctp[.]so.*|libsplashscreen[.]so.*|libsunec[.]so.*|libunpack[.]so.*|libzip[.]so.*|lib[.]so\\(SUNWprivate_.*
+
+%global __provides_exclude ^(%{_privatelibs})$
+%global __requires_exclude ^(%{_privatelibs})$
+
+# In some cases, the arch used by the JDK does
+# not match _arch.
+# Also, in some cases, the machine name used by SystemTap
+# does not match that given by _build_cpu
+%ifarch x86_64
+%global archinstall amd64
+%endif
+%ifarch ppc
+%global archinstall ppc
+%endif
+%ifarch %{ppc64be}
+%global archinstall ppc64
+%endif
+%ifarch %{ppc64le}
+%global archinstall ppc64le
+%endif
+%ifarch %{ix86}
+%global archinstall i386
+%endif
+%ifarch ia64
+%global archinstall ia64
+%endif
+%ifarch s390
+%global archinstall s390
+%endif
+%ifarch s390x
+%global archinstall s390x
+%endif
+%ifarch %{arm}
+%global archinstall arm
+%endif
+%ifarch %{aarch64}
+%global archinstall aarch64
+%endif
+# 32 bit sparc, optimized for v9
+%ifarch sparcv9
+%global archinstall sparc
+%endif
+# 64 bit sparc
+%ifarch sparc64
+%global archinstall sparcv9
+%endif
+%ifnarch %{jit_arches}
+%global archinstall %{_arch}
+%endif
+
+
+
+%ifarch %{jit_arches}
+%global with_systemtap 1
+%else
+%global with_systemtap 0
+%endif
+
+# New Version-String scheme-style defines
+%global majorver 8
+
+%ifarch %{ix86} x86_64
+%global with_openjfx_binding 1
+%global openjfx_path %{_jvmdir}/openjfx
+# links src directories
+%global jfx_jre_libs_dir %{openjfx_path}/rt/lib
+%global jfx_jre_native_dir %{jfx_jre_libs_dir}/%{archinstall}
+%global jfx_sdk_libs_dir %{openjfx_path}/lib
+%global jfx_sdk_bins_dir %{openjfx_path}/bin
+%global jfx_jre_exts_dir %{jfx_jre_libs_dir}/ext
+# links src files
+# maybe depend on jfx and generate the lists in build time? Yes, bad idea to inlcude cyclic depndenci, but this list is aweful
+%global jfx_jre_libs jfxswt.jar javafx.properties
+%global jfx_jre_native libprism_es2.so libprism_common.so libjavafx_font.so libdecora_sse.so libjavafx_font_freetype.so libprism_sw.so libjavafx_font_pango.so libglass.so libjavafx_iio.so
+%global jfx_sdk_libs javafx-mx.jar packager.jar ant-javafx.jar
+%global jfx_sdk_bins javafxpackager javapackager
+%global jfx_jre_exts jfxrt.jar
+%else
+%global with_openjfx_binding 0
+%endif
+
+# Standard JPackage naming and versioning defines.
+%global origin openjdk
+%global origin_nice OpenJDK
+%global top_level_dir_name %{origin}
+# note, following three variables are sedded from update_sources if used correctly. Hardcode them rather there.
+%global shenandoah_project aarch64-port
+%global shenandoah_repo jdk8u-shenandoah
+%global shenandoah_revision aarch64-shenandoah-jdk8u181-b15
+# Define old aarch64/jdk8u tree variables for compatibility
+%global project %{shenandoah_project}
+%global repo %{shenandoah_repo}
+%global revision %{shenandoah_revision}
+
+# eg # jdk8u60-b27 -> jdk8u60 or # aarch64-jdk8u60-b27 -> aarch64-jdk8u60 (dont forget spec escape % by %%)
+%global whole_update %(VERSION=%{revision}; echo ${VERSION%%-*})
+# eg jdk8u60 -> 60 or aarch64-jdk8u60 -> 60
+%global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u})
+# eg jdk8u60-b27 -> b27
+%global buildver %(VERSION=%{revision}; echo ${VERSION##*-})
+# priority must be 7 digits in total. The expression is workarounding tip
+%global priority %(TIP=1800%{updatever}; echo ${TIP/tip/999})
+
+%global javaver 1.%{majorver}.0
+
+# parametrized macros are order-sensitive
+%global compatiblename %{name}
+%global fullversion %{compatiblename}-%{version}-%{release}
+# images stub
+%global jdkimage j2sdk-image
+# output dir stub
+%define buildoutputdir() %{expand:openjdk/build/jdk8.build%{?1}}
+# we can copy the javadoc to not arched dir, or make it not noarch
+%define uniquejavadocdir() %{expand:%{fullversion}%{?1}}
+# main id and dir of this jdk
+%define uniquesuffix() %{expand:%{fullversion}.%{_arch}%{?1}}
+
+# Standard JPackage directories and symbolic links.
+%define sdkdir() %{expand:%{uniquesuffix -- %{?1}}}
+%define jrelnk() %{expand:jre-%{javaver}-%{origin}-%{version}-%{release}.%{_arch}%{?1}}
+
+%define jredir() %{expand:%{sdkdir -- %{?1}}/jre}
+%define sdkbindir() %{expand:%{_jvmdir}/%{sdkdir -- %{?1}}/bin}
+%define jrebindir() %{expand:%{_jvmdir}/%{jredir -- %{?1}}/bin}
+
+%global rpm_state_dir %{_localstatedir}/lib/rpm-state/
+
+%if %{with_systemtap}
+# Where to install systemtap tapset (links)
+# We would like these to be in a package specific sub-dir,
+# but currently systemtap doesn't support that, so we have to
+# use the root tapset dir for now. To distinguish between 64
+# and 32 bit architectures we place the tapsets under the arch
+# specific dir (note that systemtap will only pickup the tapset
+# for the primary arch for now). Systemtap uses the machine name
+# aka build_cpu as architecture specific directory name.
+%global tapsetroot /usr/share/systemtap
+%global tapsetdirttapset %{tapsetroot}/tapset/
+%global tapsetdir %{tapsetdirttapset}/%{_build_cpu}
+%endif
+
+# not-duplicated scriptlets for normal/debug packages
+%global update_desktop_icons /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
+
+%define post_script() %{expand:
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+exit 0
+}
+
+
+%define post_headless() %{expand:
+%ifarch %{jit_arches}
+# MetaspaceShared::generate_vtable_methods not implemented for PPC JIT
+%ifnarch %{power64}
+# see https://bugzilla.redhat.com/show_bug.cgi?id=513605
+%{jrebindir -- %{?1}}/java -Xshare:dump >/dev/null 2>/dev/null
+%endif
+%endif
+
+PRIORITY=%{priority}
+if [ "%{?1}" == %{debug_suffix} ]; then
+ let PRIORITY=PRIORITY-1
+fi
+
+ext=.gz
+alternatives \\
+ --install %{_bindir}/java java %{jrebindir -- %{?1}}/java $PRIORITY --family %{name}.%{_arch} \\
+ --slave %{_jvmdir}/jre jre %{_jvmdir}/%{jredir -- %{?1}} \\
+ --slave %{_bindir}/jjs jjs %{jrebindir -- %{?1}}/jjs \\
+ --slave %{_bindir}/keytool keytool %{jrebindir -- %{?1}}/keytool \\
+ --slave %{_bindir}/orbd orbd %{jrebindir -- %{?1}}/orbd \\
+ --slave %{_bindir}/pack200 pack200 %{jrebindir -- %{?1}}/pack200 \\
+ --slave %{_bindir}/rmid rmid %{jrebindir -- %{?1}}/rmid \\
+ --slave %{_bindir}/rmiregistry rmiregistry %{jrebindir -- %{?1}}/rmiregistry \\
+ --slave %{_bindir}/servertool servertool %{jrebindir -- %{?1}}/servertool \\
+ --slave %{_bindir}/tnameserv tnameserv %{jrebindir -- %{?1}}/tnameserv \\
+ --slave %{_bindir}/policytool policytool %{jrebindir -- %{?1}}/policytool \\
+ --slave %{_bindir}/unpack200 unpack200 %{jrebindir -- %{?1}}/unpack200 \\
+ --slave %{_mandir}/man1/java.1$ext java.1$ext \\
+ %{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jjs.1$ext jjs.1$ext \\
+ %{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/keytool.1$ext keytool.1$ext \\
+ %{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/orbd.1$ext orbd.1$ext \\
+ %{_mandir}/man1/orbd-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/pack200.1$ext pack200.1$ext \\
+ %{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/rmid.1$ext rmid.1$ext \\
+ %{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/rmiregistry.1$ext rmiregistry.1$ext \\
+ %{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/servertool.1$ext servertool.1$ext \\
+ %{_mandir}/man1/servertool-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/tnameserv.1$ext tnameserv.1$ext \\
+ %{_mandir}/man1/tnameserv-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/policytool.1$ext policytool.1$ext \\
+ %{_mandir}/man1/policytool-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/unpack200.1$ext unpack200.1$ext \\
+ %{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1$ext
+
+for X in %{origin} %{javaver} ; do
+ alternatives --install %{_jvmdir}/jre-"$X" jre_"$X" %{_jvmdir}/%{jredir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+done
+
+update-alternatives --install %{_jvmdir}/jre-%{javaver}-%{origin} jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+# see pretrans where this file is declared
+# also see that pretrans is only for non-debug
+if [ ! "%{?1}" == %{debug_suffix} ]; then
+ if [ -f %{_libexecdir}/copy_jdk_configs_fixFiles.sh ] ; then
+ sh %{_libexecdir}/copy_jdk_configs_fixFiles.sh %{rpm_state_dir}/%{name}.%{_arch} %{_jvmdir}/%{sdkdir -- %{?1}}
+ fi
+fi
+
+exit 0
+}
+
+%define postun_script() %{expand:
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+if [ $1 -eq 0 ] ; then
+ /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+ %{update_desktop_icons}
+fi
+exit 0
+}
+
+
+%define postun_headless() %{expand:
+ alternatives --remove java %{jrebindir -- %{?1}}/java
+ alternatives --remove jre_%{origin} %{_jvmdir}/%{jredir -- %{?1}}
+ alternatives --remove jre_%{javaver} %{_jvmdir}/%{jredir -- %{?1}}
+ alternatives --remove jre_%{javaver}_%{origin} %{_jvmdir}/%{jrelnk -- %{?1}}
+}
+
+%define posttrans_script() %{expand:
+%{update_desktop_icons}
+}
+
+%define post_devel() %{expand:
+
+PRIORITY=%{priority}
+if [ "%{?1}" == %{debug_suffix} ]; then
+ let PRIORITY=PRIORITY-1
+fi
+
+ext=.gz
+alternatives \\
+ --install %{_bindir}/javac javac %{sdkbindir -- %{?1}}/javac $PRIORITY --family %{name}.%{_arch} \\
+ --slave %{_jvmdir}/java java_sdk %{_jvmdir}/%{sdkdir -- %{?1}} \\
+ --slave %{_bindir}/appletviewer appletviewer %{sdkbindir -- %{?1}}/appletviewer \\
+ --slave %{_bindir}/extcheck extcheck %{sdkbindir -- %{?1}}/extcheck \\
+ --slave %{_bindir}/idlj idlj %{sdkbindir -- %{?1}}/idlj \\
+ --slave %{_bindir}/jar jar %{sdkbindir -- %{?1}}/jar \\
+ --slave %{_bindir}/jarsigner jarsigner %{sdkbindir -- %{?1}}/jarsigner \\
+ --slave %{_bindir}/javadoc javadoc %{sdkbindir -- %{?1}}/javadoc \\
+ --slave %{_bindir}/javah javah %{sdkbindir -- %{?1}}/javah \\
+ --slave %{_bindir}/javap javap %{sdkbindir -- %{?1}}/javap \\
+ --slave %{_bindir}/jcmd jcmd %{sdkbindir -- %{?1}}/jcmd \\
+ --slave %{_bindir}/jconsole jconsole %{sdkbindir -- %{?1}}/jconsole \\
+ --slave %{_bindir}/jdb jdb %{sdkbindir -- %{?1}}/jdb \\
+ --slave %{_bindir}/jdeps jdeps %{sdkbindir -- %{?1}}/jdeps \\
+ --slave %{_bindir}/jhat jhat %{sdkbindir -- %{?1}}/jhat \\
+ --slave %{_bindir}/jinfo jinfo %{sdkbindir -- %{?1}}/jinfo \\
+ --slave %{_bindir}/jmap jmap %{sdkbindir -- %{?1}}/jmap \\
+ --slave %{_bindir}/jps jps %{sdkbindir -- %{?1}}/jps \\
+ --slave %{_bindir}/jrunscript jrunscript %{sdkbindir -- %{?1}}/jrunscript \\
+ --slave %{_bindir}/jsadebugd jsadebugd %{sdkbindir -- %{?1}}/jsadebugd \\
+ --slave %{_bindir}/jstack jstack %{sdkbindir -- %{?1}}/jstack \\
+ --slave %{_bindir}/jstat jstat %{sdkbindir -- %{?1}}/jstat \\
+ --slave %{_bindir}/jstatd jstatd %{sdkbindir -- %{?1}}/jstatd \\
+ --slave %{_bindir}/native2ascii native2ascii %{sdkbindir -- %{?1}}/native2ascii \\
+ --slave %{_bindir}/rmic rmic %{sdkbindir -- %{?1}}/rmic \\
+ --slave %{_bindir}/schemagen schemagen %{sdkbindir -- %{?1}}/schemagen \\
+ --slave %{_bindir}/serialver serialver %{sdkbindir -- %{?1}}/serialver \\
+ --slave %{_bindir}/wsgen wsgen %{sdkbindir -- %{?1}}/wsgen \\
+ --slave %{_bindir}/wsimport wsimport %{sdkbindir -- %{?1}}/wsimport \\
+ --slave %{_bindir}/xjc xjc %{sdkbindir -- %{?1}}/xjc \\
+ --slave %{_mandir}/man1/appletviewer.1$ext appletviewer.1$ext \\
+ %{_mandir}/man1/appletviewer-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/extcheck.1$ext extcheck.1$ext \\
+ %{_mandir}/man1/extcheck-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/idlj.1$ext idlj.1$ext \\
+ %{_mandir}/man1/idlj-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jar.1$ext jar.1$ext \\
+ %{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jarsigner.1$ext jarsigner.1$ext \\
+ %{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/javac.1$ext javac.1$ext \\
+ %{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/javadoc.1$ext javadoc.1$ext \\
+ %{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/javah.1$ext javah.1$ext \\
+ %{_mandir}/man1/javah-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/javap.1$ext javap.1$ext \\
+ %{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jcmd.1$ext jcmd.1$ext \\
+ %{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jconsole.1$ext jconsole.1$ext \\
+ %{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jdb.1$ext jdb.1$ext \\
+ %{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jdeps.1$ext jdeps.1$ext \\
+ %{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jhat.1$ext jhat.1$ext \\
+ %{_mandir}/man1/jhat-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jinfo.1$ext jinfo.1$ext \\
+ %{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jmap.1$ext jmap.1$ext \\
+ %{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jps.1$ext jps.1$ext \\
+ %{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jrunscript.1$ext jrunscript.1$ext \\
+ %{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jsadebugd.1$ext jsadebugd.1$ext \\
+ %{_mandir}/man1/jsadebugd-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jstack.1$ext jstack.1$ext \\
+ %{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jstat.1$ext jstat.1$ext \\
+ %{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/jstatd.1$ext jstatd.1$ext \\
+ %{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/native2ascii.1$ext native2ascii.1$ext \\
+ %{_mandir}/man1/native2ascii-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/rmic.1$ext rmic.1$ext \\
+ %{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/schemagen.1$ext schemagen.1$ext \\
+ %{_mandir}/man1/schemagen-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/serialver.1$ext serialver.1$ext \\
+ %{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/wsgen.1$ext wsgen.1$ext \\
+ %{_mandir}/man1/wsgen-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/wsimport.1$ext wsimport.1$ext \\
+ %{_mandir}/man1/wsimport-%{uniquesuffix -- %{?1}}.1$ext \\
+ --slave %{_mandir}/man1/xjc.1$ext xjc.1$ext \\
+ %{_mandir}/man1/xjc-%{uniquesuffix -- %{?1}}.1$ext
+
+for X in %{origin} %{javaver} ; do
+ alternatives \\
+ --install %{_jvmdir}/java-"$X" java_sdk_"$X" %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+done
+
+update-alternatives --install %{_jvmdir}/java-%{javaver}-%{origin} java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}} $PRIORITY --family %{name}.%{_arch}
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+/bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
+
+exit 0
+}
+
+%define postun_devel() %{expand:
+ alternatives --remove javac %{sdkbindir -- %{?1}}/javac
+ alternatives --remove java_sdk_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
+ alternatives --remove java_sdk_%{javaver} %{_jvmdir}/%{sdkdir -- %{?1}}
+ alternatives --remove java_sdk_%{javaver}_%{origin} %{_jvmdir}/%{sdkdir -- %{?1}}
+
+update-desktop-database %{_datadir}/applications &> /dev/null || :
+
+if [ $1 -eq 0 ] ; then
+ /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+ %{update_desktop_icons}
+fi
+exit 0
+}
+
+%define posttrans_devel() %{expand:
+%{update_desktop_icons}
+}
+
+%define post_javadoc() %{expand:
+
+PRIORITY=%{priority}
+if [ "%{?1}" == %{debug_suffix} ]; then
+ let PRIORITY=PRIORITY-1
+fi
+
+alternatives \\
+ --install %{_javadocdir}/java javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api \\
+ $PRIORITY --family %{name}
+exit 0
+}
+
+%define postun_javadoc() %{expand:
+ alternatives --remove javadocdir %{_javadocdir}/%{uniquejavadocdir -- %{?1}}/api
+exit 0
+}
+
+%define post_javadoc_zip() %{expand:
+
+PRIORITY=%{priority}
+if [ "%{?1}" == %{debug_suffix} ]; then
+ let PRIORITY=PRIORITY-1
+fi
+
+alternatives \\
+ --install %{_javadocdir}/java-zip javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip \\
+ $PRIORITY --family %{name}
+exit 0
+}
+
+%define postun_javadoc_zip() %{expand:
+ alternatives --remove javadoczip %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
+exit 0
+}
+
+%define files_jre() %{expand:
+%{_datadir}/icons/hicolor/*x*/apps/java-%{javaver}-%{origin}.png
+%{_datadir}/applications/*policytool%{?1}.desktop
+%{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjsoundalsa.so
+%{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libsplashscreen.so
+%{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libawt_xawt.so
+%{_jvmdir}/%{sdkdir -- %{?1}}/jre/lib/%{archinstall}/libjawt.so
+%{_jvmdir}/%{sdkdir -- %{?1}}/jre/bin/policytool
+}
+
+
+%define files_jre_headless() %{expand:
+%defattr(-,root,root,-)
+%dir %{_sysconfdir}/.java/.systemPrefs
+%dir %{_sysconfdir}/.java
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/ASSEMBLY_EXCEPTION
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/THIRD_PARTY_README
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}
+%{_jvmdir}/%{jrelnk -- %{?1}}
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security
+%{_jvmdir}/%{jredir -- %{?1}}/lib/security/cacerts
+%dir %{_jvmdir}/%{jredir -- %{?1}}
+%dir %{_jvmdir}/%{jredir -- %{?1}}/bin
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib
+%{_jvmdir}/%{jredir -- %{?1}}/bin/java
+%{_jvmdir}/%{jredir -- %{?1}}/bin/jjs
+%{_jvmdir}/%{jredir -- %{?1}}/bin/keytool
+%{_jvmdir}/%{jredir -- %{?1}}/bin/orbd
+%{_jvmdir}/%{jredir -- %{?1}}/bin/pack200
+%{_jvmdir}/%{jredir -- %{?1}}/bin/rmid
+%{_jvmdir}/%{jredir -- %{?1}}/bin/rmiregistry
+%{_jvmdir}/%{jredir -- %{?1}}/bin/servertool
+%{_jvmdir}/%{jredir -- %{?1}}/bin/tnameserv
+%{_jvmdir}/%{jredir -- %{?1}}/bin/unpack200
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/US_export_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/unlimited/local_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/US_export_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/policy/limited/local_policy.jar
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/java.policy
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/java.security
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/blacklisted.certs
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/logging.properties
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/calendars.properties
+%{_mandir}/man1/java-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jjs-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/keytool-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/orbd-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/pack200-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/rmid-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/rmiregistry-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/servertool-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/tnameserv-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/unpack200-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/policytool-%{uniquesuffix -- %{?1}}.1*
+%config(noreplace) %{_jvmdir}/%{jredir -- %{?1}}/lib/security/nss.cfg
+%ifarch %{jit_arches}
+%ifnarch %{power64}
+%attr(444, root, root) %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/classes.jsa
+%attr(444, root, root) %ghost %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/client/classes.jsa
+%endif
+%endif
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/server/
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/client/
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jli
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jli/libjli.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/jvm.cfg
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libattach.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libawt_headless.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libdt_socket.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libfontmanager.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libhprof.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libinstrument.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2gss.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2pcsc.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libj2pkcs11.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjaas_unix.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjava.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjava_crw_demo.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjavajpeg.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjdwp.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsdt.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsig.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libjsound.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/liblcms.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libmanagement.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libmlib_image.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnet.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnio.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libnpt.so
+%ifarch x86_64 %{ix86} %{aarch64}
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsaproc.so
+%endif
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsctp.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libsunec.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libunpack.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libverify.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libzip.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/charsets.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/classlist
+%{_jvmdir}/%{jredir -- %{?1}}/lib/content-types.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/currency.data
+%{_jvmdir}/%{jredir -- %{?1}}/lib/flavormap.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/hijrah-config-umalqura.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors/*
+%{_jvmdir}/%{jredir -- %{?1}}/lib/jce.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/jexec
+%{_jvmdir}/%{jredir -- %{?1}}/lib/jsse.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/jvm.hprof.txt
+%{_jvmdir}/%{jredir -- %{?1}}/lib/meta-index
+%{_jvmdir}/%{jredir -- %{?1}}/lib/net.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/psfont.properties.ja
+%{_jvmdir}/%{jredir -- %{?1}}/lib/psfontj2d.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/resources.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/rt.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/sound.properties
+%{_jvmdir}/%{jredir -- %{?1}}/lib/tzdb.dat
+%{_jvmdir}/%{jredir -- %{?1}}/lib/management-agent.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/management/*
+%{_jvmdir}/%{jredir -- %{?1}}/lib/cmm/*
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/cldrdata.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/dnsns.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/jaccess.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/localedata.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/meta-index
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/nashorn.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunec.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunjce_provider.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/sunpkcs11.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/zipfs.jar
+
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/images/cursors
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/management
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/cmm
+%dir %{_jvmdir}/%{jredir -- %{?1}}/lib/ext
+}
+
+%define files_devel() %{expand:
+%defattr(-,root,root,-)
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/ASSEMBLY_EXCEPTION
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/LICENSE
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/THIRD_PARTY_README
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/bin
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/include
+%dir %{_jvmdir}/%{sdkdir -- %{?1}}/lib
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/appletviewer
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/extcheck
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/idlj
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jar
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jarsigner
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javac
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javadoc
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javah
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/javap
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/java-rmi.cgi
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jcmd
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jconsole
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdb
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jdeps
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jhat
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jinfo
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jjs
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jmap
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jps
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jrunscript
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jsadebugd
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstack
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstat
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/jstatd
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/keytool
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/native2ascii
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/orbd
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/pack200
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/policytool
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmic
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmid
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/rmiregistry
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/schemagen
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/serialver
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/servertool
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/tnameserv
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/unpack200
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/wsgen
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/wsimport
+%{_jvmdir}/%{sdkdir -- %{?1}}/bin/xjc
+%{_jvmdir}/%{sdkdir -- %{?1}}/include/*
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/%{archinstall}
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ct.sym
+%if %{with_systemtap}
+%{_jvmdir}/%{sdkdir -- %{?1}}/tapset
+%endif
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/ir.idl
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jconsole.jar
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/orb.idl
+%ifarch x86_64 %{ix86}
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/sa-jdi.jar
+%endif
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/dt.jar
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/jexec
+%{_jvmdir}/%{sdkdir -- %{?1}}/lib/tools.jar
+%{_datadir}/applications/*jconsole%{?1}.desktop
+%{_mandir}/man1/appletviewer-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/extcheck-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/idlj-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jar-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jarsigner-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/javac-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/javadoc-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/javah-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/javap-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jconsole-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jcmd-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jdb-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jdeps-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jhat-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jinfo-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jmap-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jps-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jrunscript-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jsadebugd-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jstack-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jstat-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/jstatd-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/native2ascii-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/rmic-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/schemagen-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/serialver-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/wsgen-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/wsimport-%{uniquesuffix -- %{?1}}.1*
+%{_mandir}/man1/xjc-%{uniquesuffix -- %{?1}}.1*
+%if %{with_systemtap}
+%dir %{tapsetroot}
+%dir %{tapsetdirttapset}
+%dir %{tapsetdir}
+%{tapsetdir}/*%{_arch}%{?1}.stp
+%endif
+}
+
+%define files_demo() %{expand:
+%defattr(-,root,root,-)
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE
+}
+
+%define files_src() %{expand:
+%defattr(-,root,root,-)
+%doc README.md
+%{_jvmdir}/%{sdkdir -- %{?1}}/src.zip
+}
+
+%define files_javadoc() %{expand:
+%defattr(-,root,root,-)
+%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE
+}
+
+%define files_javadoc_zip() %{expand:
+%defattr(-,root,root,-)
+%doc %{_javadocdir}/%{uniquejavadocdir -- %{?1}}.zip
+%license %{buildoutputdir -- %{?1}}/images/%{jdkimage}/jre/LICENSE
+}
+
+%define files_accessibility() %{expand:
+%{_jvmdir}/%{jredir -- %{?1}}/lib/%{archinstall}/libatk-wrapper.so
+%{_jvmdir}/%{jredir -- %{?1}}/lib/ext/java-atk-wrapper.jar
+%{_jvmdir}/%{jredir -- %{?1}}/lib/accessibility.properties
+}
+
+# not-duplicated requires/provides/obsoletes for normal/debug packages
+%define java_rpo() %{expand:
+Requires: fontconfig%{?_isa}
+Requires: xorg-x11-fonts-Type1
+# Requires rest of java
+Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+# for java-X-openjdk package's desktop binding
+Recommends: gtk2%{?_isa}
+
+Provides: java-%{javaver}-%{origin} = %{epoch}:%{version}-%{release}
+
+# Standard JPackage base provides
+Provides: jre = %{javaver}%{?1}
+Provides: jre-%{origin}%{?1} = %{epoch}:%{version}-%{release}
+Provides: jre-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
+Provides: jre-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{origin}%{?1} = %{epoch}:%{version}-%{release}
+Provides: java%{?1} = %{epoch}:%{javaver}
+}
+
+%define java_headless_rpo() %{expand:
+# Require /etc/pki/java/cacerts
+Requires: ca-certificates
+# Require javapackages-filesystem for ownership of /usr/lib/jvm/
+Requires: javapackages-filesystem
+# Require zone-info data provided by tzdata-java sub-package
+Requires: tzdata-java >= 2015d
+# libsctp.so.1 is being `dlopen`ed on demand
+Requires: lksctp-tools%{?_isa}
+# there is a need to depend on the exact version of NSS
+Requires: nss%{?_isa} %{NSS_BUILDTIME_VERSION}
+Requires: nss-softokn%{?_isa} %{NSSSOFTOKN_BUILDTIME_VERSION}
+# tool to copy jdk's configs - should be Recommends only, but then only dnf/yum enforce it,
+# not rpm transaction and so no configs are persisted when pure rpm -u is run. It may be
+# considered as regression
+Requires: copy-jdk-configs >= 3.3
+OrderWithRequires: copy-jdk-configs
+# Post requires alternatives to install tool alternatives
+Requires(post): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(post): chkconfig >= 1.7
+# Postun requires alternatives to uninstall tool alternatives
+Requires(postun): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(postun): chkconfig >= 1.7
+# for optional support of kernel stream control, card reader and printing bindings
+Suggests: lksctp-tools%{?_isa}, pcsc-lite-devel%{?_isa}, cups
+
+# Standard JPackage base provides
+Provides: jre-headless%{?1} = %{epoch}:%{javaver}
+Provides: jre-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: jre-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: jre-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{origin}-headless%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-headless%{?1} = %{epoch}:%{javaver}
+
+# https://bugzilla.redhat.com/show_bug.cgi?id=1312019
+Provides: /usr/bin/jjs
+
+}
+
+%define java_devel_rpo() %{expand:
+# Requires base package
+Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+# Post requires alternatives to install tool alternatives
+Requires(post): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(post): chkconfig >= 1.7
+# Postun requires alternatives to uninstall tool alternatives
+Requires(postun): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(postun): chkconfig >= 1.7
+
+# Standard JPackage devel provides
+Provides: java-sdk-%{javaver}-%{origin}%{?1} = %{epoch}:%{version}
+Provides: java-sdk-%{javaver}%{?1} = %{epoch}:%{version}
+Provides: java-sdk-%{origin}%{?1} = %{epoch}:%{version}
+Provides: java-sdk%{?1} = %{epoch}:%{javaver}
+Provides: java-%{javaver}-devel%{?1} = %{epoch}:%{version}
+Provides: java-%{javaver}-%{origin}-devel%{?1} = %{epoch}:%{version}
+Provides: java-devel-%{origin}%{?1} = %{epoch}:%{version}
+Provides: java-devel%{?1} = %{epoch}:%{javaver}
+
+}
+
+
+%define java_demo_rpo() %{expand:
+Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+
+Provides: java-demo%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-demo%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-demo%{?1} = %{epoch}:%{version}-%{release}
+
+}
+
+%define java_javadoc_rpo() %{expand:
+OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+# Post requires alternatives to install javadoc alternative
+Requires(post): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(post): chkconfig >= 1.7
+# Postun requires alternatives to uninstall javadoc alternative
+Requires(postun): %{_sbindir}/alternatives
+# in version 1.7 and higher for --family switch
+Requires(postun): chkconfig >= 1.7
+
+# Standard JPackage javadoc provides
+Provides: java-javadoc%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-javadoc%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-javadoc%{?1} = %{epoch}:%{version}-%{release}
+}
+
+%define java_src_rpo() %{expand:
+Requires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+
+# Standard JPackage sources provides
+Provides: java-src%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-src%{?1} = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-src%{?1} = %{epoch}:%{version}-%{release}
+}
+
+%define java_accessibility_rpo() %{expand:
+Requires: java-atk-wrapper%{?_isa}
+Requires: %{name}%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+OrderWithRequires: %{name}-headless%{?1}%{?_isa} = %{epoch}:%{version}-%{release}
+
+Provides: java-accessibility = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-accessibility = %{epoch}:%{version}-%{release}
+Provides: java-%{javaver}-%{origin}-accessibility = %{epoch}:%{version}-%{release}
+
+}
+
+# Prevent brp-java-repack-jars from being run
+%global __jar_repack 0
+
+Name: java-%{javaver}-%{origin}
+Version: %{javaver}.%{updatever}.%{buildver}
+<<<<<<< HEAD
+Release: 0%{?dist}
+=======
+Release: 7%{?dist}
+>>>>>>> f9c2d20... Add another optimization gap fix for Zero.
+# java-1.5.0-ibm from jpackage.org set Epoch to 1 for unknown reasons
+# and this change was brought into RHEL-4. java-1.5.0-ibm packages
+# also included the epoch in their virtual provides. This created a
+# situation where in-the-wild java-1.5.0-ibm packages provided "java =
+# 1:1.5.0". In RPM terms, "1.6.0 < 1:1.5.0" since 1.6.0 is
+# interpreted as 0:1.6.0. So the "java >= 1.6.0" requirement would be
+# satisfied by the 1:1.5.0 packages. Thus we need to set the epoch in
+# JDK package >= 1.6.0 to 1, and packages referring to JDK virtual
+# provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
+
+Epoch: 1
+Summary: %{origin_nice} Runtime Environment %{majorver}
+Group: Development/Languages
+
+# HotSpot code is licensed under GPLv2
+# JDK library code is licensed under GPLv2 with the Classpath exception
+# The Apache license is used in code taken from Apache projects (primarily JAXP & JAXWS)
+# DOM levels 2 & 3 and the XML digital signature schemas are licensed under the W3C Software License
+# The JSR166 concurrency code is in the public domain
+# The BSD and MIT licenses are used for a number of third-party libraries (see THIRD_PARTY_README)
+# The OpenJDK source tree includes the JPEG library (IJG), zlib & libpng (zlib), giflib and LCMS (MIT)
+# The test code includes copies of NSS under the Mozilla Public License v2.0
+# The PCSClite headers are under a BSD with advertising license
+# The elliptic curve cryptography (ECC) source code is licensed under the LGPLv2.1 or any later version
+License: ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and MPLv2.0 and Public Domain and W3C and zlib
+URL: http://openjdk.java.net/
+
+# Shenandoah HotSpot
+# aarch64-port/jdk8u-shenandoah contains an integration forest of
+# OpenJDK 8u, the aarch64 port and Shenandoah
+# To regenerate, use:
+# VERSION=%%{shenandoah_revision}
+# FILE_NAME_ROOT=%%{shenandoah_project}-%%{shenandoah_repo}-${VERSION}
+# REPO_ROOT=<path to checked-out repository> generate_source_tarball.sh
+# where the source is obtained from http://hg.openjdk.java.net/%%{project}/%%{repo}
+Source0: %{shenandoah_project}-%{shenandoah_repo}-%{shenandoah_revision}.tar.xz
+
+# Custom README for -src subpackage
+Source2: README.md
+
+
+# run update_systemtap.sh to regenerate or update systemtap sources
+# update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
+Source8: systemtap_3.2_tapsets_hg-icedtea8-9d464368e06d.tar.xz
+
+# Desktop files. Adapted from IcedTea
+Source9: jconsole.desktop.in
+Source10: policytool.desktop.in
+
+# nss configuration file
+Source11: nss.cfg.in
+
+# Removed libraries that we link instead
+Source12: %{name}-remove-intree-libraries.sh
+
+# Ensure we aren't using the limited crypto policy
+Source13: TestCryptoLevel.java
+
+# Ensure ECDSA is working
+Source14: TestECDSA.java
+
+Source20: repackReproduciblePolycies.sh
+
+# New versions of config files with aarch64 support. This is not upstream yet.
+Source100: config.guess
+Source101: config.sub
+
+############################################
+#
+# RPM/distribution specific patches
+#
+############################################
+
+# Accessibility patches
+# Ignore AWTError when assistive technologies are loaded
+Patch1: %{name}-accessible-toolkit.patch
+# Restrict access to java-atk-wrapper classes
+Patch3: java-atk-wrapper-security.patch
+
+#############################################
+#
+# Upstreamable patches
+#
+#############################################
+# PR2737: Allow multiple initialization of PKCS11 libraries
+Patch5: multiple-pkcs11-library-init.patch
+# PR2095, RH1163501: 2048-bit DH upper bound too small for Fedora infrastructure (sync with IcedTea 2.x)
+Patch504: rh1163501.patch
+# S4890063, PR2304, RH1214835: HPROF: default text truncated when using doe=n option
+Patch511: rh1214835.patch
+# Turn off strict overflow on IndicRearrangementProcessor{,2}.cpp following 8140543: Arrange font actions
+Patch512: no_strict_overflow.patch
+# Support for building the SunEC provider with the system NSS installation
+# PR1983: Support using the system installation of NSS with the SunEC provider
+# PR2127: SunEC provider crashes when built using system NSS
+# PR2815: Race condition in SunEC provider with system NSS
+# PR2899: Don't use WithSeed versions of NSS functions as they don't fully process the seed
+# PR2934: SunEC provider throwing KeyException with current NSS
+# PR3479, RH1486025: ECC and NSS JVM crash
+Patch513: pr1983-jdk.patch
+Patch514: pr1983-root.patch
+Patch515: pr2127.patch
+Patch516: pr2815.patch
+Patch517: pr2899.patch
+Patch518: pr2934.patch
+Patch519: pr3479-rh1486025.patch
+# S8150954, RH1176206, PR2866: Taking screenshots on x11 composite desktop produces wrong result
+# In progress: http://mail.openjdk.java.net/pipermail/awt-dev/2016-March/010742.html
+Patch508: rh1176206-jdk.patch
+Patch509: rh1176206-root.patch
+# RH1337583, PR2974: PKCS#10 certificate requests now use CRLF line endings rather than system line endings
+Patch523: pr2974-rh1337583.patch
+# PR3083, RH1346460: Regression in SSL debug output without an ECC provider
+Patch528: pr3083-rh1346460.patch
+# RH1566890: CVE-2018-3639
+Patch529: rh1566890_embargoed20180521.patch
+# PR3601: Fix additional -Wreturn-type issues introduced by 8061651
+Patch530: pr3601.patch
+# PR3183: Support Fedora/RHEL system crypto policy
+Patch300: pr3183.patch
+
+#############################################
+#
+# Upstreamable debugging patches
+#
+#############################################
+# Patches 204 and 205 stop the build adding .gnu_debuglink sections to unstripped files
+# 8207234: More libraries with .gnu_debuglink sections added unconditionally
+Patch205: 8207234-dont-add-unnecessary-debug-links.patch
+
+# Arch-specific upstreamable patches
+# s390: PR2415: JVM -Xmx requirement is too high on s390
+Patch100: %{name}-s390-java-opts.patch
+# s390: Type fixing for s390
+Patch102: %{name}-size_t.patch
+# s390: PR3593: Use "%z" for size_t on s390 as size_t != intptr_t
+Patch103: pr3593-s390-size_t_format_flags.patch
+# x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
+Patch105: 8199936-pr3533-workaround.patch
+# AArch64: PR3519: Fix further functions with a missing return value (AArch64)
+Patch106: pr3519.patch
+
+#############################################
+#
+# Patches which need backporting to 8u
+#
+#############################################
+# S8073139, RH1191652; fix name of ppc64le architecture
+Patch601: %{name}-rh1191652-root.patch
+Patch602: %{name}-rh1191652-jdk.patch
+Patch603: %{name}-rh1191652-hotspot-aarch64.patch
+# Include all sources in src.zip
+Patch7: include-all-srcs.patch
+# 8035341: Allow using a system installed libpng
+Patch202: system-libpng.patch
+# 8042159: Allow using a system-installed lcms2
+Patch203: system-lcms.patch
+# S8074839, PR2462: Resolve disabled warnings for libunpack and the unpack200 binary
+# This fixes printf warnings that lead to build failure with -Werror=format-security from optflags
+Patch502: pr2462.patch
+# S8154313: Generated javadoc scattered all over the place
+Patch400: 8154313.patch
+# 8197429, PR3546, RH153662{2,3}: 32 bit java app started via JNI crashes with larger stack sizes
+Patch561: 8197429-pr3546-rh1536622.patch
+# 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
+Patch563: 8171000-pr3542-rh1402819.patch
+# 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds
+Patch564: 8197546-pr3542-rh1402819.patch
+# PR3559: Use ldrexd for atomic reads on ARMv7.
+Patch567: pr3559.patch
+# PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
+Patch571: pr3591.patch
+# 8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
+Patch572: 8184309-pr3596.patch
+# 8141570, PR3548: Fix Zero interpreter build for --disable-precompiled-headers
+Patch573: 8141570-pr3548.patch
+# 8143245, PR3548: Zero build requires disabled warnings
+Patch574: 8143245-pr3548.patch
+# 8197981, PR3548: Missing return statement in __sync_val_compare_and_swap_8
+Patch575: 8197981-pr3548.patch
+# 8064786, PR3599: Fix debug build after 8062808: Turn on the -Wreturn-type warning
+Patch576: 8064786-pr3599.patch
+# 8062808, PR3548: Turn on the -Wreturn-type warning
+Patch577: 8062808-pr3548.patch
+# 8207057, PR3613: Enable debug information for assembly code files
+<<<<<<< HEAD
+Patch206: 8207057-pr3613-hotspot-assembler-debuginfo.patch
+=======
+Patch206: 8207057-pr3613-assembler-debuginfo-hotspot.patch
+Patch207: 8207057-pr3613-assembler-debuginfo-root.patch
+# s390: JDK-8203030, Type fixing for s390
+Patch102: 8203030-size_t-fixes.patch
+# 8210761: libjsig is being compiled without optimization
+Patch620: 8210761-rh1630426-jsig-opt-fix.patch
+# 8210647: libsaproc is being compiled without optimization
+Patch621: 8210647-rh1630426-saproc-opt-fix.patch
+# 8210416: [linux] Poor StrictMath performance due to non-optimized compilation
+Patch622: 8210416-rh1630426-strict-math-opt.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Upstream 8u part.
+Patch623: 8210425-01-rh1630426-hotspot-opt-fix.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Aarch64-port 8u local part
+Patch624: 8210425-02-rh1630426-hotspot-opt-fix-aarch64.patch
+# 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+# Zero part of the fix for (arm/s390 arches)
+Patch625: 8210425-03-rh1630426-hotspot-opt-fix-zero.patch
+>>>>>>> f9c2d20... Add another optimization gap fix for Zero.
+
+#############################################
+#
+# Patches appearing in 8u192
+#
+#############################################
+# S8031668, PR2842: TOOLCHAIN_FIND_COMPILER unexpectedly resolves symbolic links
+Patch506: pr2842-01.patch
+# S8148351, PR2842: Only display resolved symlink for compiler, do not change path
+Patch507: pr2842-02.patch
+# S6260348, PR3066: GTK+ L&F JTextComponent not respecting desktop caret blink rate
+Patch526: 6260348-pr3066.patch
+# 8061305, PR3335, RH1423421: Javadoc crashes when method name ends with "Property"
+Patch538: 8061305-pr3335-rh1423421.patch
+# 8188030, PR3459, RH1484079: AWT java apps fail to start when some minimal fonts are present
+Patch560: 8188030-pr3459-rh1484079.patch
+# 8205104, PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
+Patch562: pr3539-rh1548475.patch
+# 8185723, PR3553: Zero: segfaults on Power PC 32-bit
+Patch565: 8185723-pr3553.patch
+# 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
+Patch566: 8186461-pr3557.patch
+# 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
+Patch569: 8201509-pr3579.patch
+# 8075942, PR3602: ArrayIndexOutOfBoundsException in sun.java2d.pisces.Dasher.goTo
+Patch578: 8075942-pr3602-rh1582032.patch
+# 8203182, PR3603: Release session if initialization of SunPKCS11 Signature fails
+Patch579: 8203182-pr3603-rh1568033.patch
+# 8206406, PR3610, RH1597825: StubCodeDesc constructor publishes partially-constructed objects on StubCodeDesc::_list
+Patch580: 8206406-pr3610-rh1597825.patch
+# 8146115, PR3508, RH1463098: Improve docker container detection and resource configuration usage
+Patch581: 8146115-pr3508-rh1463098.patch
+# 8206425: .gnu_debuglink sections added unconditionally when no debuginfo is stripped
+Patch204: 8206425-hotspot-remove-debuglink.patch
+
+#############################################
+#
+# Patches ineligible for 8u
+#
+#############################################
+# 8043805: Allow using a system-installed libjpeg
+Patch201: system-libjpeg.patch
+
+#############################################
+#
+# Local fixes
+#
+#############################################
+# PR1834, RH1022017: Reduce curves reported by SSL to those in NSS
+Patch525: pr1834-rh1022017.patch
+# Turn on AssumeMP by default on RHEL systems
+Patch534: always_assumemp.patch
+# PR2888: OpenJDK should check for system cacerts database (e.g. /etc/pki/java/cacerts)
+Patch539: pr2888.patch
+# PR3575, RH1567204: System cacerts database handling should not affect jssecacerts
+Patch540: pr3575-rh1567204.patch
+
+# Shenandoah fixes
+# PR3619: Shenandoah broken on s390
+Patch582: pr3619.patch
+# PR3620: Shenandoah broken on ppc64
+Patch583: pr3620.patch
+
+#############################################
+#
+# Non-OpenJDK fixes
+#
+#############################################
+Patch1000: enableCommentedOutSystemNss.patch
+
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: alsa-lib-devel
+BuildRequires: binutils
+BuildRequires: cups-devel
+BuildRequires: desktop-file-utils
+# elfutils only are OK for build without AOT
+BuildRequires: elfutils-devel
+BuildRequires: fontconfig
+BuildRequires: freetype-devel
+BuildRequires: giflib-devel
+BuildRequires: gcc-c++
+BuildRequires: gdb
+BuildRequires: gtk2-devel
+BuildRequires: lcms2-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
+BuildRequires: libxslt
+BuildRequires: libX11-devel
+BuildRequires: libXi-devel
+BuildRequires: libXinerama-devel
+BuildRequires: libXt-devel
+BuildRequires: libXtst-devel
+# Requirements for setting up the nss.cfg
+BuildRequires: nss-devel
+BuildRequires: pkgconfig
+BuildRequires: xorg-x11-proto-devel
+BuildRequires: zip
+# Use OpenJDK 7 where available (on RHEL) to avoid
+# having to use the rhel-7.x-java-unsafe-candidate hack
+%if ! 0%{?fedora} && 0%{?rhel} <= 7
+# Require a boot JDK which doesn't fail due to RH1482244
+BuildRequires: java-1.7.0-openjdk-devel >= 1.7.0.151-2.6.11.3
+%else
+BuildRequires: java-1.8.0-openjdk-devel
+%endif
+# Zero-assembler build requirement
+%ifnarch %{jit_arches}
+BuildRequires: libffi-devel
+%endif
+BuildRequires: tzdata-java >= 2015d
+# Earlier versions have a bug in tree vectorization on PPC
+BuildRequires: gcc >= 4.8.3-8
+# Build requirements for SunEC system NSS support
+BuildRequires: nss-softokn-freebl-devel >= 3.16.1
+
+%if %{with_systemtap}
+BuildRequires: systemtap-sdt-devel
+%endif
+
+# this is always built, also during debug-only build
+# when it is built in debug-only this package is just placeholder
+%{java_rpo %{nil}}
+
+%description
+The %{origin_nice} runtime environment.
+
+%if %{include_debug_build}
+%package debug
+Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
+Group: Development/Languages
+
+%{java_rpo -- %{debug_suffix_unquoted}}
+%description debug
+The %{origin_nice} runtime environment.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package headless
+Summary: %{origin_nice} Headless Runtime Environment %{majorver}
+Group: Development/Languages
+
+%{java_headless_rpo %{nil}}
+
+%description headless
+The %{origin_nice} runtime environment %{majorver} without audio and video support.
+%endif
+
+%if %{include_debug_build}
+%package headless-debug
+Summary: %{origin_nice} Runtime Environment %{debug_on}
+Group: Development/Languages
+
+%{java_headless_rpo -- %{debug_suffix_unquoted}}
+
+%description headless-debug
+The %{origin_nice} runtime environment %{majorver} without audio and video support.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package devel
+Summary: %{origin_nice} Development Environment %{majorver}
+Group: Development/Tools
+
+%{java_devel_rpo %{nil}}
+
+%description devel
+The %{origin_nice} development tools %{majorver}.
+%endif
+
+%if %{include_debug_build}
+%package devel-debug
+Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}
+Group: Development/Tools
+
+%{java_devel_rpo -- %{debug_suffix_unquoted}}
+
+%description devel-debug
+The %{origin_nice} development tools %{majorver}.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package demo
+Summary: %{origin_nice} Demos %{majorver}
+Group: Development/Languages
+
+%{java_demo_rpo %{nil}}
+
+%description demo
+The %{origin_nice} demos %{majorver}.
+%endif
+
+%if %{include_debug_build}
+%package demo-debug
+Summary: %{origin_nice} Demos %{majorver} %{debug_on}
+Group: Development/Languages
+
+%{java_demo_rpo -- %{debug_suffix_unquoted}}
+
+%description demo-debug
+The %{origin_nice} demos %{majorver}.
+%{debug_warning}
+%endif
+
+%if %{include_normal_build}
+%package src
+Summary: %{origin_nice} Source Bundle %{majorver}
+Group: Development/Languages
+
+%{java_src_rpo %{nil}}
+
+%description src
+The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver}
+class library source code for use by IDE indexers and debuggers.
+%endif
+
+%if %{include_debug_build}
+%package src-debug
+Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}
+Group: Development/Languages
+
+%{java_src_rpo -- %{debug_suffix_unquoted}}
+
+%description src-debug
+The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver}
+ class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.
+%endif
+
+%if %{include_normal_build}
+%package javadoc
+Summary: %{origin_nice} %{majorver} API documentation
+Group: Documentation
+Requires: javapackages-filesystem
+BuildArch: noarch
+
+%{java_javadoc_rpo %{nil}}
+
+%description javadoc
+The %{origin_nice} %{majorver} API documentation.
+%endif
+
+%if %{include_normal_build}
+%package javadoc-zip
+Summary: %{origin_nice} %{majorver} API documentation compressed in single archive
+Group: Documentation
+Requires: javapackages-filesystem
+BuildArch: noarch
+
+%{java_javadoc_rpo %{nil}}
+
+%description javadoc-zip
+The %{origin_nice} %{majorver} API documentation compressed in single archive.
+%endif
+
+%if %{include_debug_build}
+%package javadoc-debug
+Summary: %{origin_nice} %{majorver} API documentation %{for_debug}
+Group: Documentation
+Requires: javapackages-filesystem
+BuildArch: noarch
+
+%{java_javadoc_rpo -- %{debug_suffix_unquoted}}
+
+%description javadoc-debug
+The %{origin_nice} %{majorver} API documentation %{for_debug}.
+%endif
+
+%if %{include_debug_build}
+%package javadoc-zip-debug
+Summary: %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}
+Group: Documentation
+Requires: javapackages-filesystem
+BuildArch: noarch
+
+%{java_javadoc_rpo -- %{debug_suffix_unquoted}}
+
+%description javadoc-zip-debug
+The %{origin_nice} %{majorver} API documentation compressed in single archive %{for_debug}.
+%endif
+
+
+%if %{include_normal_build}
+%package accessibility
+Summary: %{origin_nice} %{majorver} accessibility connector
+
+%{java_accessibility_rpo %{nil}}
+
+%description accessibility
+Enables accessibility support in %{origin_nice} %{majorver} by using java-atk-wrapper. This allows
+compatible at-spi2 based accessibility programs to work for AWT and Swing-based
+programs.
+
+Please note, the java-atk-wrapper is still in beta, and %{origin_nice} %{majorver} itself is still
+being tuned to be working with accessibility features. There are known issues
+with accessibility on, so please do not install this package unless you really
+need to.
+%endif
+
+%if %{include_debug_build}
+%package accessibility-debug
+Summary: %{origin_nice} %{majorver} accessibility connector %{for_debug}
+
+%{java_accessibility_rpo -- %{debug_suffix_unquoted}}
+
+%description accessibility-debug
+See normal java-%{version}-openjdk-accessibility description.
+%endif
+
+
+%if %{with_openjfx_binding}
+%package openjfx
+Summary: OpenJDK x OpenJFX connector. This package adds symliks finishing Java FX integration to %{name}
+Requires: %{name}%{?_isa} = %{epoch}:%{version}-%{release}
+Requires: openjfx%{?_isa}
+Provides: javafx = %{epoch}:%{version}-%{release}
+%description openjfx
+Set of links from OpenJDK (jre) to OpenJFX
+
+%package openjfx-devel
+Summary: OpenJDK x OpenJFX connector for FX developers. This package adds symliks finishing Java FX integration to %{name}-devel
+Requires: %{name}-devel%{?_isa} = %{epoch}:%{version}-%{release}
+Requires: openjfx-devel%{?_isa}
+Provides: javafx-devel = %{epoch}:%{version}-%{release}
+%description openjfx-devel
+Set of links from OpenJDK (sdk) to OpenJFX
+
+%if %{include_debug_build}
+%package openjfx-debug
+Summary: OpenJDK x OpenJFX connector %{for_debug}. his package adds symliks finishing Java FX integration to %{name}-debug
+Requires: %{name}-debug%{?_isa} = %{epoch}:%{version}-%{release}
+Requires: openjfx%{?_isa}
+Provides: javafx-debug = %{epoch}:%{version}-%{release}
+%description openjfx-debug
+Set of links from OpenJDK-debug (jre) to normal OpenJFX. OpenJFX do not support debug buuilds of itself
+
+%package openjfx-devel-debug
+Summary: OpenJDK x OpenJFX connector for FX developers %{for_debug}. This package adds symliks finishing Java FX integration to %{name}-devel-debug
+Requires: %{name}-devel-debug%{?_isa} = %{epoch}:%{version}-%{release}
+Requires: openjfx-devel%{?_isa}
+Provides: javafx-devel-debug = %{epoch}:%{version}-%{release}
+%description openjfx-devel-debug
+Set of links from OpenJDK-debug (sdk) to normal OpenJFX. OpenJFX do not support debug buuilds of itself
+%endif
+%endif
+
+%prep
+if [ %{include_normal_build} -eq 0 -o %{include_normal_build} -eq 1 ] ; then
+ echo "include_normal_build is %{include_normal_build}"
+else
+ echo "include_normal_build is %{include_normal_build}, thats invalid. Use 1 for yes or 0 for no"
+ exit 11
+fi
+if [ %{include_debug_build} -eq 0 -o %{include_debug_build} -eq 1 ] ; then
+ echo "include_debug_build is %{include_debug_build}"
+else
+ echo "include_debug_build is %{include_debug_build}, thats invalid. Use 1 for yes or 0 for no"
+ exit 12
+fi
+if [ %{include_debug_build} -eq 0 -a %{include_normal_build} -eq 0 ] ; then
+ echo "You have disabled both include_debug_build and include_normal_build. That is a no go."
+ exit 13
+fi
+%setup -q -c -n %{uniquesuffix ""} -T -a 0
+# https://bugzilla.redhat.com/show_bug.cgi?id=1189084
+prioritylength=`expr length %{priority}`
+if [ $prioritylength -ne 7 ] ; then
+ echo "priority must be 7 digits in total, violated"
+ exit 14
+fi
+# For old patches
+ln -s %{top_level_dir_name} jdk8
+
+cp %{SOURCE2} .
+
+# replace outdated configure guess script
+#
+# the configure macro will do this too, but it also passes a few flags not
+# supported by openjdk configure script
+cp %{SOURCE100} openjdk/common/autoconf/build-aux/
+cp %{SOURCE101} openjdk/common/autoconf/build-aux/
+
+# OpenJDK patches
+
+# Remove libraries that are linked
+sh %{SOURCE12}
+
+# System library fixes
+%patch201
+%patch202
+%patch203
+
+# Debugging fixes
+%patch204
+%patch205
+%patch206
+
+%patch300
+
+%patch1
+%patch3
+%patch5
+%patch7
+
+# s390 build fixes
+%patch100
+%patch102
+%patch103
+
+# AArch64 fixes
+%patch106
+
+# x86 fixes
+%patch105
+
+# ppc64le fixes
+%patch603
+%patch601
+%patch602
+
+# Upstreamable fixes
+%patch502
+%patch504
+%patch506
+%patch507
+%patch508
+%patch509
+%patch511
+%patch512
+%patch513
+%patch514
+%patch515
+%patch516
+%patch517
+%patch518
+%patch519
+%patch400
+%patch523
+%patch526
+%patch528
+%patch529
+%patch530
+%patch538
+%patch560
+%patch561
+%patch562
+%patch563
+%patch564
+%patch565
+%patch566
+%patch567
+%patch569
+%patch571
+%patch572
+%patch573
+%patch574
+%patch575
+%patch576
+%patch577
+%patch578
+%patch579
+%patch580
+%patch581
+<<<<<<< HEAD
+=======
+%patch620
+%patch621
+%patch622
+%patch623
+%patch624
+%patch625
+>>>>>>> f9c2d20... Add another optimization gap fix for Zero.
+
+# RPM-only fixes
+%patch525
+%patch539
+%patch540
+
+# RHEL-only patches
+%if ! 0%{?fedora} && 0%{?rhel} <= 7
+%patch534
+%endif
+
+# Shenandoah patches
+%patch582
+%patch583
+
+%patch1000
+
+# Extract systemtap tapsets
+%if %{with_systemtap}
+tar --strip-components=1 -x -I xz -f %{SOURCE8}
+%if %{include_debug_build}
+cp -r tapset tapset%{debug_suffix}
+%endif
+
+
+for suffix in %{build_loop} ; do
+ for file in "tapset"$suffix/*.in; do
+ OUTPUT_FILE=`echo $file | sed -e "s:\.stp\.in$:%{version}-%{release}.%{_arch}.stp:g"`
+ sed -e "s:@ABS_SERVER_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/server/libjvm.so:g" $file > $file.1
+# TODO find out which architectures other than i686 have a client vm
+%ifarch %{ix86}
+ sed -e "s:@ABS_CLIENT_LIBJVM_SO@:%{_jvmdir}/%{sdkdir -- $suffix}/jre/lib/%{archinstall}/client/libjvm.so:g" $file.1 > $OUTPUT_FILE
+%else
+ sed -e "/@ABS_CLIENT_LIBJVM_SO@/d" $file.1 > $OUTPUT_FILE
+%endif
+ sed -i -e "s:@ABS_JAVA_HOME_DIR@:%{_jvmdir}/%{sdkdir -- $suffix}:g" $OUTPUT_FILE
+ sed -i -e "s:@INSTALL_ARCH_DIR@:%{archinstall}:g" $OUTPUT_FILE
+ sed -i -e "s:@prefix@:%{_jvmdir}/%{sdkdir -- $suffix}/:g" $OUTPUT_FILE
+ done
+done
+# systemtap tapsets ends
+%endif
+
+# Prepare desktop files
+for suffix in %{build_loop} ; do
+for file in %{SOURCE9} %{SOURCE10} ; do
+ FILE=`basename $file | sed -e s:\.in$::g`
+ EXT="${FILE##*.}"
+ NAME="${FILE%.*}"
+ OUTPUT_FILE=$NAME$suffix.$EXT
+ sed -e "s:@JAVA_HOME@:%{sdkbindir -- $suffix}:g" $file > $OUTPUT_FILE
+ sed -i -e "s:@JRE_HOME@:%{jrebindir -- $suffix}:g" $OUTPUT_FILE
+ sed -i -e "s:@ARCH@:%{version}-%{release}.%{_arch}$suffix:g" $OUTPUT_FILE
+ sed -i -e "s:@JAVA_MAJOR_VERSION@:%{majorver}:g" $OUTPUT_FILE
+ sed -i -e "s:@JAVA_VENDOR@:%{origin}:g" $OUTPUT_FILE
+done
+done
+
+# Setup nss.cfg
+sed -e "s:@NSS_LIBDIR@:%{NSS_LIBDIR}:g" %{SOURCE11} > nss.cfg
+
+
+%build
+# How many CPU's do we have?
+export NUM_PROC=%(/usr/bin/getconf _NPROCESSORS_ONLN 2> /dev/null || :)
+export NUM_PROC=${NUM_PROC:-1}
+%if 0%{?_smp_ncpus_max}
+# Honor %%_smp_ncpus_max
+[ ${NUM_PROC} -gt %{?_smp_ncpus_max} ] && export NUM_PROC=%{?_smp_ncpus_max}
+%endif
+
+%ifarch s390x sparc64 alpha %{power64} %{aarch64}
+export ARCH_DATA_MODEL=64
+%endif
+%ifarch alpha
+export CFLAGS="$CFLAGS -mieee"
+%endif
+
+# We use ourcppflags because the OpenJDK build seems to
+# pass EXTRA_CFLAGS to the HotSpot C++ compiler...
+# Explicitly set the C++ standard as the default has changed on GCC >= 6
+EXTRA_CFLAGS="%ourcppflags -std=gnu++98 -Wno-error -fno-delete-null-pointer-checks -fno-lifetime-dse"
+EXTRA_CPP_FLAGS="%ourcppflags -std=gnu++98 -fno-delete-null-pointer-checks -fno-lifetime-dse"
+
+%ifarch %{power64} ppc
+# fix rpmlint warnings
+EXTRA_CFLAGS="$EXTRA_CFLAGS -fno-strict-aliasing"
+%endif
+export EXTRA_CFLAGS
+
+(cd %{top_level_dir_name}/common/autoconf
+ bash ./autogen.sh
+)
+
+for suffix in %{build_loop} ; do
+if [ "$suffix" = "%{debug_suffix}" ] ; then
+debugbuild=%{debugbuild_parameter}
+else
+debugbuild=%{normalbuild_parameter}
+fi
+
+# Variable used in hs_err hook on build failures
+top_dir_abs_path=$(pwd)/%{top_level_dir_name}
+
+mkdir -p %{buildoutputdir -- $suffix}
+pushd %{buildoutputdir -- $suffix}
+
+NSS_LIBS="%{NSS_LIBS} -lfreebl" \
+NSS_CFLAGS="%{NSS_CFLAGS}" \
+bash ../../configure \
+%ifnarch %{jit_arches}
+ --with-jvm-variants=zero \
+%endif
+ --disable-zip-debug-info \
+ --with-milestone="fcs" \
+ --with-update-version=%{updatever} \
+ --with-build-number=%{buildver} \
+ --with-boot-jdk=/usr/lib/jvm/java-openjdk \
+ --with-debug-level=$debugbuild \
+ --enable-unlimited-crypto \
+ --enable-system-nss \
+ --with-zlib=system \
+ --with-libjpeg=system \
+ --with-giflib=system \
+ --with-libpng=system \
+ --with-lcms=system \
+ --with-stdc++lib=dynamic \
+ --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
+ --with-extra-cflags="$EXTRA_CFLAGS" \
+ --with-extra-ldflags="%{ourldflags}" \
+ --with-num-cores="$NUM_PROC"
+
+cat spec.gmk
+cat hotspot-spec.gmk
+
+# The combination of FULL_DEBUG_SYMBOLS=0 and ALT_OBJCOPY=/does_not_exist
+# disables FDS for all build configs and reverts to pre-FDS make logic.
+# STRIP_POLICY=none says don't do any stripping. DEBUG_BINARIES=true says
+# ignore all the other logic about which debug options and just do '-g'.
+
+make \
+ DEBUG_BINARIES=true \
+ JAVAC_FLAGS=-g \
+ STRIP_POLICY=no_strip \
+ POST_STRIP_CMD="" \
+ LOG=trace \
+ SCTP_WERROR= \
+ %{targets} || ( pwd; find $top_dir_abs_path -name "hs_err_pid*.log" | xargs cat && false )
+
+make zip-docs
+
+# the build (erroneously) removes read permissions from some jars
+# this is a regression in OpenJDK 7 (our compiler):
+# http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=1437
+find images/%{jdkimage} -iname '*.jar' -exec chmod ugo+r {} \;
+chmod ugo+r images/%{jdkimage}/lib/ct.sym
+
+# remove redundant *diz and *debuginfo files
+find images/%{jdkimage} -iname '*.diz' -exec rm {} \;
+find images/%{jdkimage} -iname '*.debuginfo' -exec rm {} \;
+
+# Build screws up permissions on binaries
+# https://bugs.openjdk.java.net/browse/JDK-8173610
+find images/%{jdkimage} -iname '*.so' -exec chmod +x {} \;
+find images/%{jdkimage}/bin/ -exec chmod +x {} \;
+
+popd >& /dev/null
+
+# Install nss.cfg right away as we will be using the JRE above
+export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
+
+# Install nss.cfg right away as we will be using the JRE above
+install -m 644 nss.cfg $JAVA_HOME/jre/lib/security/
+
+# Use system-wide tzdata
+rm $JAVA_HOME/jre/lib/tzdb.dat
+ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/jre/lib/tzdb.dat
+
+# build cycles
+done
+
+%check
+
+# We test debug first as it will give better diagnostics on a crash
+for suffix in %{rev_build_loop} ; do
+
+export JAVA_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{jdkimage}
+
+# Check unlimited policy has been used
+$JAVA_HOME/bin/javac -d . %{SOURCE13}
+$JAVA_HOME/bin/java TestCryptoLevel
+
+# Check ECC is working
+$JAVA_HOME/bin/javac -d . %{SOURCE14}
+$JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
+
+# Check debug symbols are present and can identify code
+find "$JAVA_HOME" -iname '*.so' -print0 | while read -d $'\0' lib
+do
+ if [ -f "$lib" ] ; then
+ echo "Testing $lib for debug symbols"
+ # All these tests rely on RPM failing the build if the exit code of any set
+ # of piped commands is non-zero.
+
+ # Test for .debug_* sections in the shared object. This is the main test
+ # Stripped objects will not contain these
+ eu-readelf -S "$lib" | grep "] .debug_"
+ test $(eu-readelf -S "$lib" | grep -E "\]\ .debug_(info|abbrev)" | wc --lines) == 2
+
+ # Test FILE symbols. These will most likely be removed by anything that
+ # manipulates symbol tables because it's generally useless. So a nice test
+ # that nothing has messed with symbols
+ old_IFS="$IFS"
+ IFS=$'\n'
+ for line in $(eu-readelf -s "$lib" | grep "00000000 0 FILE LOCAL DEFAULT")
+ do
+ # We expect to see .cpp files, except for architectures like aarch64 and
+ # s390 where we expect .o and .oS files
+ echo "$line" | grep -E "ABS ((.*/)?[-_a-zA-Z0-9]+\.(c|cc|cpp|cxx|o|oS))?$"
+ done
+ IFS="$old_IFS"
+
+ # If this is the JVM, look for javaCalls.(cpp|o) in FILEs, for extra sanity checking
+ if [ "`basename $lib`" = "libjvm.so" ]; then
+ eu-readelf -s "$lib" | \
+ grep -E "00000000 0 FILE LOCAL DEFAULT ABS javaCalls.(cpp|o)$"
+ fi
+
+ # Test that there are no .gnu_debuglink sections pointing to another
+ # debuginfo file. There shouldn't be any debuginfo files, so the link makes
+ # no sense either
+ eu-readelf -S "$lib" | grep 'gnu'
+ if eu-readelf -S "$lib" | grep '] .gnu_debuglink' | grep PROGBITS; then
+ echo "bad .gnu_debuglink section."
+ eu-readelf -x .gnu_debuglink "$lib"
+ false
+ fi
+ fi
+done
+
+# Make sure gdb can do a backtrace based on line numbers on libjvm.so
+# javaCalls.cpp:58 should map to:
+# http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/ff3b27e6bcc2/src/shar...
+# Using line number 1 might cause build problems. See:
+# https://bugzilla.redhat.com/show_bug.cgi?id=1539664
+# https://bugzilla.redhat.com/show_bug.cgi?id=1538767
+gdb -q "$JAVA_HOME/bin/java" <<EOF | tee gdb.out
+handle SIGSEGV pass nostop noprint
+handle SIGILL pass nostop noprint
+set breakpoint pending on
+break javaCalls.cpp:58
+commands 1
+backtrace
+quit
+end
+run -version
+EOF
+grep 'JavaCallWrapper::JavaCallWrapper' gdb.out
+
+# Check src.zip has all sources. See RHBZ#1130490
+jar -tf $JAVA_HOME/src.zip | grep 'sun.misc.Unsafe'
+
+# Check class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.lang.Object | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.lang.Object | grep LocalVariableTable
+
+# Check generated class files include useful debugging information
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep "Compiled from"
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LineNumberTable
+$JAVA_HOME/bin/javap -l java.nio.ByteBuffer | grep LocalVariableTable
+
+# build cycles check
+done
+
+%install
+STRIP_KEEP_SYMTAB=libjvm*
+
+for suffix in %{build_loop} ; do
+
+# Install the jdk
+pushd %{buildoutputdir -- $suffix}/images/%{jdkimage}
+
+# Install jsa directories so we can owe them
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/server/
+mkdir -p $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/client/
+
+ # Install main files.
+ install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
+ cp -a bin include lib src.zip $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
+ install -d -m 755 $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}
+ cp -a jre/bin jre/lib $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}
+
+%if %{with_systemtap}
+ # Install systemtap support files
+ install -dm 755 $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset
+ # note, that uniquesuffix is in BUILD dir in this case
+ cp -a $RPM_BUILD_DIR/%{uniquesuffix ""}/tapset$suffix/*.stp $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
+ pushd $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/tapset/
+ tapsetFiles=`ls *.stp`
+ popd
+ install -d -m 755 $RPM_BUILD_ROOT%{tapsetdir}
+ for name in $tapsetFiles ; do
+ targetName=`echo $name | sed "s/.stp/$suffix.stp/"`
+ ln -sf %{_jvmdir}/%{sdkdir -- $suffix}/tapset/$name $RPM_BUILD_ROOT%{tapsetdir}/$targetName
+ done
+%endif
+
+ # Remove empty cacerts database
+ rm -f $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security/cacerts
+ # Install cacerts symlink needed by some apps which hardcode the path
+ pushd $RPM_BUILD_ROOT%{_jvmdir}/%{jredir -- $suffix}/lib/security
+ ln -sf /etc/pki/java/cacerts .
+ popd
+
+ # Install versioned symlinks
+ pushd $RPM_BUILD_ROOT%{_jvmdir}
+ ln -sf %{jredir -- $suffix} %{jrelnk -- $suffix}
+ popd
+
+ # Remove javaws man page
+ rm -f man/man1/javaws*
+
+ # Install man pages
+ install -d -m 755 $RPM_BUILD_ROOT%{_mandir}/man1
+ for manpage in man/man1/*
+ do
+ # Convert man pages to UTF8 encoding
+ iconv -f ISO_8859-1 -t UTF8 $manpage -o $manpage.tmp
+ mv -f $manpage.tmp $manpage
+ install -m 644 -p $manpage $RPM_BUILD_ROOT%{_mandir}/man1/$(basename \
+ $manpage .1)-%{uniquesuffix -- $suffix}.1
+ done
+
+ # Install demos and samples.
+ cp -a demo $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
+ mkdir -p sample/rmi
+ if [ ! -e sample/rmi/java-rmi.cgi ] ; then
+ # hack to allow --short-circuit on install
+ mv bin/java-rmi.cgi sample/rmi
+ fi
+ cp -a sample $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}
+
+popd
+
+
+# Install Javadoc documentation
+install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
+cp -a %{buildoutputdir -- $suffix}/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}
+cp -a %{buildoutputdir -- $suffix}/bundles/jdk-%{javaver}_%{updatever}$suffix-%{buildver}-docs.zip $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
+
+# Install icons and menu entries
+for s in 16 24 32 48 ; do
+ install -D -p -m 644 \
+ openjdk/jdk/src/solaris/classes/sun/awt/X11/java-icon${s}.png \
+ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/java-%{javaver}-%{origin}.png
+done
+
+# Install desktop files
+install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps}
+for e in jconsole$suffix policytool$suffix ; do
+ desktop-file-install --vendor=%{uniquesuffix -- $suffix} --mode=644 \
+ --dir=$RPM_BUILD_ROOT%{_datadir}/applications $e.desktop
+done
+
+# Install /etc/.java/.systemPrefs/ directory
+# See https://bugzilla.redhat.com/show_bug.cgi?id=741821
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/.java/.systemPrefs
+
+# FIXME: remove SONAME entries from demo DSOs. See
+# https://bugzilla.redhat.com/show_bug.cgi?id=436497
+
+# Find non-documentation demo files.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/demo \
+ $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/sample \
+ -type f -o -type l | sort \
+ | grep -v README \
+ | sed 's|'$RPM_BUILD_ROOT'||' \
+ >> %{name}-demo.files"$suffix"
+# Find documentation demo files.
+find $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/demo \
+ $RPM_BUILD_ROOT%{_jvmdir}/%{sdkdir -- $suffix}/sample \
+ -type f -o -type l | sort \
+ | grep README \
+ | sed 's|'$RPM_BUILD_ROOT'||' \
+ | sed 's|^|%doc |' \
+ >> %{name}-demo.files"$suffix"
+
+# Create links which leads to separately installed java-atk-bridge and allow configuration
+# links points to java-atk-wrapper - an dependence
+ pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}
+ ln -s %{_libdir}/java-atk-wrapper/libatk-wrapper.so.0 libatk-wrapper.so
+ popd
+ pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/ext
+ ln -s %{_libdir}/java-atk-wrapper/java-atk-wrapper.jar java-atk-wrapper.jar
+ popd
+ pushd $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/
+ echo "#Config file to enable java-atk-wrapper" > accessibility.properties
+ echo "" >> accessibility.properties
+ echo "assistive_technologies=org.GNOME.Accessibility.AtkWrapper" >> accessibility.properties
+ echo "" >> accessibility.properties
+ popd
+
+# intentionally after all else, fx links with redirections on its own
+%if %{with_openjfx_binding}
+ FXSDK_FILES=%{name}-openjfx-devel.files"$suffix"
+ FXJRE_FILES=%{name}-openjfx.files"$suffix"
+ echo -n "" > $FXJRE_FILES
+ echo -n "" > $FXSDK_FILES
+ for file in %{jfx_jre_libs} ; do
+ srcfile=%{jfx_jre_libs_dir}/$file
+ targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/$file
+ ln -s $srcfile $RPM_BUILD_ROOT/$targetfile
+ echo $targetfile >> $FXJRE_FILES
+ done
+ for file in %{jfx_jre_native} ; do
+ srcfile=%{jfx_jre_native_dir}/$file
+ targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/%{archinstall}/$file
+ ln -s $srcfile $RPM_BUILD_ROOT/$targetfile
+ echo $targetfile >> $FXJRE_FILES
+ done
+ for file in %{jfx_jre_exts} ; do
+ srcfile=%{jfx_jre_exts_dir}/$file
+ targetfile=%{_jvmdir}/%{jredir -- $suffix}/lib/ext/$file
+ ln -s $srcfile $RPM_BUILD_ROOT/$targetfile
+ echo $targetfile >> $FXJRE_FILES
+ done
+ for file in %{jfx_sdk_libs} ; do
+ srcfile=%{jfx_sdk_libs_dir}/$file
+ targetfile=%{_jvmdir}/%{sdkdir -- $suffix}/lib/$file
+ ln -s $srcfile $RPM_BUILD_ROOT/$targetfile
+ echo $targetfile >> $FXSDK_FILES
+ done
+ for file in %{jfx_sdk_bins} ; do
+ srcfile=%{jfx_sdk_bins_dir}/$file
+ targetfile=%{_jvmdir}/%{sdkdir -- $suffix}/bin/$file
+ ln -s $srcfile $RPM_BUILD_ROOT/$targetfile
+ echo $targetfile >> $FXSDK_FILES
+ done
+%endif
+
+bash %{SOURCE20} $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix} %{javaver}
+# https://bugzilla.redhat.com/show_bug.cgi?id=1183793
+touch -t 201401010000 $RPM_BUILD_ROOT/%{_jvmdir}/%{jredir -- $suffix}/lib/security/java.security
+
+# stabilize permissions
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "*.so" -exec chmod 755 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -type d -exec chmod 755 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "ASSEMBLY_EXCEPTION" -exec chmod 644 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "LICENSE" -exec chmod 644 {} \; ;
+find $RPM_BUILD_ROOT/%{_jvmdir}/%{sdkdir -- $suffix}/ -name "THIRD_PARTY_README" -exec chmod 644 {} \; ;
+
+# end, dual install
+done
+
+%if %{include_normal_build}
+# intentionally only for non-debug
+%pretrans headless -p <lua>
+-- see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
+-- see https://bugzilla.redhat.com/show_bug.cgi?id=1290388 for pretrans over pre
+-- if copy-jdk-configs is in transaction, it installs in pretrans to temp
+-- if copy_jdk_configs is in temp, then it means that copy-jdk-configs is in transaction and so is
+-- preferred over one in %%{_libexecdir}. If it is not in transaction, then depends
+-- whether copy-jdk-configs is installed or not. If so, then configs are copied
+-- (copy_jdk_configs from %%{_libexecdir} used) or not copied at all
+local posix = require "posix"
+local debug = false
+
+SOURCE1 = "%{rpm_state_dir}/copy_jdk_configs.lua"
+SOURCE2 = "%{_libexecdir}/copy_jdk_configs.lua"
+
+local stat1 = posix.stat(SOURCE1, "type");
+local stat2 = posix.stat(SOURCE2, "type");
+
+ if (stat1 ~= nil) then
+ if (debug) then
+ print(SOURCE1 .." exists - copy-jdk-configs in transaction, using this one.")
+ end;
+ package.path = package.path .. ";" .. SOURCE1
+else
+ if (stat2 ~= nil) then
+ if (debug) then
+ print(SOURCE2 .." exists - copy-jdk-configs already installed and NOT in transaction. Using.")
+ end;
+ package.path = package.path .. ";" .. SOURCE2
+ else
+ if (debug) then
+ print(SOURCE1 .." does NOT exists")
+ print(SOURCE2 .." does NOT exists")
+ print("No config files will be copied")
+ end
+ return
+ end
+end
+-- run content of included file with fake args
+arg = {"--currentjvm", "%{uniquesuffix %{nil}}", "--jvmdir", "%{_jvmdir %{nil}}", "--origname", "%{name}", "--origjavaver", "%{javaver}", "--arch", "%{_arch}", "--temp", "%{rpm_state_dir}/%{name}.%{_arch}"}
+require "copy_jdk_configs.lua"
+
+%post
+%{post_script %{nil}}
+
+%post headless
+%{post_headless %{nil}}
+
+%postun
+%{postun_script %{nil}}
+
+%postun headless
+%{postun_headless %{nil}}
+
+%posttrans
+%{posttrans_script %{nil}}
+
+%post devel
+%{post_devel %{nil}}
+
+%postun devel
+%{postun_devel %{nil}}
+
+%posttrans devel
+%{posttrans_devel %{nil}}
+
+%post javadoc
+%{post_javadoc %{nil}}
+
+%postun javadoc
+%{postun_javadoc %{nil}}
+
+%post javadoc-zip
+%{post_javadoc_zip %{nil}}
+
+%postun javadoc-zip
+%{postun_javadoc_zip %{nil}}
+%endif
+
+%if %{include_debug_build}
+%post debug
+%{post_script -- %{debug_suffix_unquoted}}
+
+%post headless-debug
+%{post_headless -- %{debug_suffix_unquoted}}
+
+%postun debug
+%{postun_script -- %{debug_suffix_unquoted}}
+
+%postun headless-debug
+%{postun_headless -- %{debug_suffix_unquoted}}
+
+%posttrans debug
+%{posttrans_script -- %{debug_suffix_unquoted}}
+
+%post devel-debug
+%{post_devel -- %{debug_suffix_unquoted}}
+
+%postun devel-debug
+%{postun_devel -- %{debug_suffix_unquoted}}
+
+%posttrans devel-debug
+%{posttrans_devel -- %{debug_suffix_unquoted}}
+
+%post javadoc-debug
+%{post_javadoc -- %{debug_suffix_unquoted}}
+
+%postun javadoc-debug
+%{postun_javadoc -- %{debug_suffix_unquoted}}
+
+%post javadoc-zip-debug
+%{post_javadoc_zip -- %{debug_suffix_unquoted}}
+
+%postun javadoc-zip-debug
+%{postun_javadoc_zip -- %{debug_suffix_unquoted}}
+%endif
+
+%if %{include_normal_build}
+%files
+# main package builds always
+%{files_jre %{nil}}
+%else
+%files
+# placeholder
+%endif
+
+
+%if %{include_normal_build}
+%files headless
+# important note, see https://bugzilla.redhat.com/show_bug.cgi?id=1038092 for whole issue
+# all config/noreplace files (and more) have to be declared in pretrans. See pretrans
+%{files_jre_headless %{nil}}
+
+%files devel
+%{files_devel %{nil}}
+
+%files demo -f %{name}-demo.files
+%{files_demo %{nil}}
+
+%files src
+%{files_src %{nil}}
+
+%files javadoc
+%{files_javadoc %{nil}}
+
+# this puts huge file to /usr/share
+# unluckily ti is really a documentation file
+# and unluckily it really is architecture-dependent, as eg. aot and grail are now x86_64 only
+# same for debug variant
+%files javadoc-zip
+%{files_javadoc_zip %{nil}}
+
+%files accessibility
+%{files_accessibility %{nil}}
+
+%if %{with_openjfx_binding}
+%files openjfx -f %{name}-openjfx.files
+
+%files openjfx-devel -f %{name}-openjfx-devel.files
+%endif
+%endif
+
+%if %{include_debug_build}
+%files debug
+%{files_jre -- %{debug_suffix_unquoted}}
+
+%files headless-debug
+%{files_jre_headless -- %{debug_suffix_unquoted}}
+
+%files devel-debug
+%{files_devel -- %{debug_suffix_unquoted}}
+
+%files demo-debug -f %{name}-demo.files-debug
+%{files_demo -- %{debug_suffix_unquoted}}
+
+%files src-debug
+%{files_src -- %{debug_suffix_unquoted}}
+
+%files javadoc-debug
+%{files_javadoc -- %{debug_suffix_unquoted}}
+
+%files javadoc-zip-debug
+%{files_javadoc_zip -- %{debug_suffix_unquoted}}
+
+%files accessibility-debug
+%{files_accessibility -- %{debug_suffix_unquoted}}
+
+%if %{with_openjfx_binding}
+%files openjfx-debug -f %{name}-openjfx.files-debug
+
+%files openjfx-devel-debug -f %{name}-openjfx-devel.files-debug
+%endif
+%endif
+
+%changelog
+<<<<<<< HEAD
+=======
+* Fri Oct 12 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-7
+- Add patch 8210425-03-rh1630426-hotspot-opt-fix-zero.patch:
+ - Annother fix for optimization gaps (annocheck issues)
+ - Zero 8u version fix was missing. Hence, only shows up on Zero arches.
+
+* Mon Oct 08 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-6
+- Refreshed upstreamed patches (from 8u202):
+ - 8044235-include-all-srcs.patch: src.zip should include all sources.
+ - 8073139-rh1191652-hotspot-aarch64.patch,
+ 8073139-rh1191652-jdk.patch,
+ 8073139-rh1191652-root.patch: PPC64LE JVM reporting issues.
+- Moved both patch series to 8u202 sections.
+
+* Mon Oct 01 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-5
+- Add explicit requirement for libXcomposite which is used when performing
+ screenshots from Java.
+- Add explicit BR unzip required for building OpenJDK.
+
+* Thu Sep 27 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-4
+- Add fixes for optimization gaps (annocheck issues):
+ - 8210761: libjsig is being compiled without optimization
+ - 8210647: libsaproc is being compiled without optimization
+ - 8210416: [linux] Poor StrictMath performance due to non-optimized compilation
+ - 8210425: [x86] sharedRuntimeTrig/sharedRuntimeTrans compiled without optimization
+ 8u upstream and aarch64/jdk8u upstream versions.
+
+* Wed Sep 26 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-3
+- Renamed more patches for clarity:
+ include-all-srcs.patch => 8044235-include-all-srcs.patch
+ java-1.8.0-openjdk-rh1191652-hotspot-aarch64.patch => 8073139-rh1191652-hotspot-aarch64.patch
+ java-1.8.0-openjdk-rh1191652-jdk.patch => 8073139-rh1191652-jdk.patch
+ java-1.8.0-openjdk-rh1191652-root.patch => 8073139-rh1191652-root.patch
+
+* Tue Sep 18 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b15-2
+- Update(s) from upstreamed patches:
+ - 8036003-dont-add-unnecessary-debug-links.patch =>
+ 8036003-add-with-native-debug-symbols-configure-flag.patch
+ - rh1176206-jdk.patch =>
+ 8150954-pr2866-rh1176206-screenshot-xcomposite-jdk.patch =>
+ Deleted rh1176206-root.patch as thats no longer needed with
+ upstream 8150954.
+ - Refreshed 8165852-pr3468.patch from upstream.
+ - Refreshed 8201495-s390-java-opts.patch from upstream.
+ - 8207057-pr3613-hotspot-assembler-debuginfo.patch =>
+ 8207057-pr3613-assembler-debuginfo-hotspot.patch and
+ 8207057-pr3613-assembler-debuginfo-root.patch. From JDK 8u
+ review.
+- Renamed pr2842-02.patch => 8148351-pr2842-02.patch.
+- Renamed spec-only patch:
+ pr3183.patch => pr3183-rh1340845-system-crypto-policy.patch
+- Renamed java-1.8.0-openjdk-size_t.patch =>
+ 8201495-s390-java-opts.patch
+- Moved SunEC provider via system NSS to RPM specific patches section.
+- Moved upstream 8u patches to appropriate sections (8u192/8u202).
+- Removed rh1214835.patch since it's invalid. See:
+ https://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2304#c3
+- Use --with-native-debug-symbols=internal which JDK-8036003 adds.
+
+* Tue Sep 11 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.181.b15-1
+- fixed unexpanded arch in policy tool desktop file
+- fixed versions (8->1.8.0) of images used in desktop files
+
+>>>>>>> f9c2d20... Add another optimization gap fix for Zero.
+* Mon Aug 27 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b13-9
+- Adjust system jpeg patch, system-libjpeg.patch, so as to filter
+ -Wl,--as-needed. Resolves RHBZ#1622186.
+
+* Mon Aug 27 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.181.b13-8
+- Adjust system NSS patch, pr1983-jdk.patch, so as to filter
+ -Wl,--as-needed. Resolves RHBZ#1622186.
+
+* Thu Aug 23 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181.b15-0
+- Move to single OpenJDK tarball build, based on aarch64/shenandoah-jdk8u.
+- Update to aarch64-shenandoah-jdk8u181-b15.
+- Drop 8165489-pr3589.patch which was only applied to aarch64/jdk8u builds.
+- Move buildver to where it should be in the OpenJDK version.
+- Split ppc64 Shenandoah fix into separate patch file with its own bug ID (PR3620).
+- Update pr3539-rh1548475.patch to apply after 8187045.
+- Resolves: rhbz#1594249
+
+* Sat Aug 11 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- Remove unneeded functions from ppc shenandoahBarrierSet.
+- Resolves: rhbz#1594249
+
+* Wed Aug 08 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- Add missing shenandoahBarrierSet implementation for ppc64{be,le}.
+- Resolves: rhbz#1594249
+
+* Tue Aug 07 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- Fix wrong format specifiers in Shenandoah code.
+- Resolves: rhbz#1594249
+
+* Tue Aug 07 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- Avoid changing variable types to fix size_t, at least for now.
+- Resolves: rhbz#1594249
+
+* Tue Aug 07 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- More size_t fixes for Shenandoah.
+- Resolves: rhbz#1594249
+
+* Fri Aug 03 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.181-8.b13
+- Add additional s390 size_t case for Shenandoah.
+- Resolves: rhbz#1594249
+
+* Wed Aug 01 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.181.b13-7
+- build number moved from release to version
+
+* Mon Jul 23 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.181-7.b13
+- updated to u181
+- patches aligned according to rhel7 (full credit to gnu_andrew)
+- removed upstreamed patch104 pr3458-rh1540242-aarch64.patch
+- removed upstreamed patch568 8187577-pr3578.patch
+
+* Tue Jul 17 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.172-16.b11
+- added Recommends gtk2 for main package
+- added Suggests lksctp-tools, pcsc-lite-devel, cups for headless package
+- see RHBZ1598152
+* Tue Jul 10 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-13.b11
+- Fix hook to show hs_err*.log files on failures.
+
+* Mon Jul 02 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-12.b11
+- Fix requires/provides filters for internal libs. See
+ RHBZ#1590796
+
+* Mon Jun 25 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-12.b11
+- Add hook to show hs_err*.log files on failures.
+
+* Wed Jun 20 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-11.b11
+- Expose release/slowdebug builds being produced via conditionals.
+
+* Wed Jun 20 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-11.b11
+- Add additional fix (PR3601) to fix -Wreturn-type failures introduced by 8061651
+- Backport 8064786 (PR3601) to fix -Wreturn-type failure on debug builds.
+- Bring in PR3519 from IcedTea 3.7.0 to fix remaining -Wreturn-type failure on AArch64.
+- Sync with IcedTea 3.8.0 patches to use -Wreturn-type.
+- Add backports of 8141570, 8143245, 8197981 & 8062808.
+- Drop pr3458-rh1540242-zero.patch which is covered by 8143245.
+
+* Wed Jun 20 2018 Jiri Vanek <jvanek(a)redhat.com> - 11:1.8.0.172-10.b11
+- jsa files changed to 444 to pass rpm verification
+
+* Mon Jun 18 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-9.b11
+- Filter private provides/requires: 'lib.so(SUNWprivate_.*'
+
+* Thu Jun 14 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-8.b11
+- Add provides/requires for libjvm.so back. See RHBZ#1591215.
+
+* Wed Jun 13 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.172-7.b11
+- Fix reg-ex for filtering private libraries' provides/requires.
+
+* Wed Jun 13 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-6.b11
+- Remove build flags exemption for aarch64 now the platform is more mature and can bootstrap OpenJDK with these flags.
+- Remove duplicate -fstack-protector-strong; it is provided by the RHEL cflags.
+- Add missing changelog credits
+
+* Mon Jun 11 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.172-5.b11
+- Merge changes from RHEL 7
+
+* Mon Jun 11 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-5.b11
+- Read jssecacerts file prior to trying either cacerts file (system or local) (PR3575)
+
+* Mon Jun 11 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-5.b11
+- Fix a number of bad bug identifiers (PR3546 should be PR3578, PR3456 should be PR3546)
+
+* Thu Jun 07 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-5.b11
+- Update Shenandoah tarball to include 2018-05-15 merge.
+- Split PR3458/RH1540242 fix into AArch64 & Zero sections, so former can be skipped on Shenandoah builds.
+- Drop PR3573 patch applied upstream.
+- Restrict 8187577 fix to non-Shenandoah builds, as it's included in the new tarball.
+
+* Thu Jun 07 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.172-5.b11
+- Sync with IcedTea 3.8.0.
+- Label architecture-specific fixes with architecture concerned
+- x86: S8199936, PR3533: HotSpot generates code with unaligned stack, crashes on SSE operations (-mstackrealign workaround)
+- PR3539, RH1548475: Pass EXTRA_LDFLAGS to HotSpot build
+- 8171000, PR3542, RH1402819: Robot.createScreenCapture() crashes in wayland mode
+- 8197546, PR3542, RH1402819: Fix for 8171000 breaks Solaris + Linux builds
+- 8185723, PR3553: Zero: segfaults on Power PC 32-bit
+- 8186461, PR3557: Zero's atomic_copy64() should use SPE instructions on linux-powerpcspe
+- PR3559: Use ldrexd for atomic reads on ARMv7.
+- 8187577, PR3578: JVM crash during gc doing concurrent marking
+- 8201509, PR3579: Zero: S390 31bit atomic_copy64 inline assembler is wrong
+- 8165489, PR3589: Missing G1 barrier in Unsafe_GetObjectVolatile
+- PR3591: Fix for bug 3533 doesn't add -mstackrealign to JDK code
+- 8184309, PR3596: Build warnings from GCC 7.1 on Fedora 26
+
+* Wed Jun 06 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.172-1.b11
+- updated to u172-b11
+- removed patches:
+- patch207 8200556-pr3566.patch
+- patch104 pr3458-rh1540242.patch
+- patch209 8035496-hotspot.patch
+- patch700 pr3573.patch
+- fixed issue with atkwrapper wrongly palced broken symlink
+- fixed libjvm path for system tap
+- returned patch104 pr3458-rh1540242.patch
+
+* Wed Jun 06 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.172-2.b11
+- quoted sed expressions, changed possibly confussing # by @
+- added vendor(origin) into icons
+- removed last trace of relative symlinks
+- added BuildRequires of javapackages-tools to fix build failure after Requires change to javapackages-filesystem
+- aligning with java-openjdk in fedora:
+- slowdebug instead simply debug subpackage
+- purged provides
+- many macros renamed
+- typos correction
+- bumped jstack (may be wrong)
+- fixed issue with atkwrapper wrongly palced broken symlink
+
+* Wed Jun 06 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.172-1.b11
+- updated to u172-b11
+- removed patches:
+- patch207 8200556-pr3566.patch
+- patch104 pr3458-rh1540242.patch
+- patch209 8035496-hotspot.patch
+- patch700 pr3573.patch
+
+* Thu May 17 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.171-6.b10
+- Move to javapackages-filesystem over javapackages-tools
+ for directory ownership. Resolves RHBZ#1500288.
+
+* Fri May 04 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.171-5.b10
+- Remove duplicate patch rhbz_1538767_fix_linking2.patch. Just use
+ rhbz_1538767_fix_linking.patch.
+
+* Wed Apr 25 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.171-4.b10
+- Enable hardened build unconditionally (also for Zero).
+ Resolves RHBZ#1290936.
+
+* Tue Apr 24 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.171-3.b10
+- Enable hardened build for Aarch64.
+
+* Tue Apr 24 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.171-2.b10
+- Update rhbz1548475-LDFLAGSusage.patch to also set linker
+ flags for libsaproc.so and libjsig.so.
+
+* Wed Apr 18 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.171-1.b10
+- Update to aarch64-jdk8u171-b10 and aarch64-shenandoah-jdk8u171-b10.
+- Fix jconsole.desktop.in subcategory, replacing "Monitor" with "Profiling" (PR3550) (gnu_andrew)
+- Fix invalid license 'LGPL+' (should be LGPLv2+ for ECC code) and add misisng ones (gnu_andrew)
+
+* Wed Apr 18 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.162-7.b12
+- added ownership of policy dir and subdirs
+- removed ignored attributes for classes.jsa
+
+* Tue Apr 10 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.162-6.b12
+- Use correct patch for RHBZ#1538767 (JDK-8196516)
+
+* Mon Apr 02 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.162-5.b12
+- Cleanup from previous commit.
+- Remove unused upstream patch 8167200.hotspotAarch64.patch.
+
+* Thu Mar 29 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.162-4.b12
+- added experimental %%define _find_debuginfo_opts -g
+- in attempt to fix https://bugzilla.redhat.com/show_bug.cgi?id=1520879
+- no idea what will come out
+
+* Thu Mar 29 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.162-3.b12
+- returned patch562 rhbz_1540242.patch
+- added Patch563 rhbz_1536622-JDK8197429-jdk8.patch
+
+* Mon Mar 26 2018 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.162-2.b12
+- Added patch 540 rhbz1548475-LDFLAGSusage.patch to honor build flags fully
+
+* Wed Mar 21 2018 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.162-1.b12
+- Update to aarch64-jdk8u162-b12 and aarch64-shenandoah-jdk8u162-b12.
+- Remove upstreamed patches for 8181055/PR3394/RH1448880,
+- 8181419/PR3413/RH1463144, 8145913/PR3466/RH1498309,
+- 8168318/PR3466/RH1498320, 8170328/PR3466/RR1498321 and
+- 8181810/PR3466/RH1498319.
+
+* Wed Mar 07 2018 Adam Williamson <awilliam(a)redhat.com> - 1:1.8.0.161-9.b14
+- Rebuild to fix GCC 8 mis-compilation
+ See https://da.gd/YJVwk ("GCC 8 ABI change on x86_64")
+
+* Sun Feb 11 2018 Sandro Mani <manisandro(a)gmail.com> - 1:1.8.0.161-8.b14
+- Rebuild (giflib)
+
+* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain(a)fedoraproject.org> - 1:1.8.0.161-7.b14
+- Escape macros in %%changelog
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:1.8.0.161-6.b14
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Wed Jan 31 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.161-5.b14
+- Additional fix needed for FTBFS bug on aarch64.
+ Resolves RHBZ#1540242.
+
+* Wed Jan 31 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.161-4.b14
+- Add fix for FTBFS on aarch64 and armv7hl.
+ Resolves RHBZ#1540242.
+
+* Tue Jan 30 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.161-3.b14
+- Include Aarch64 build fixes post January 2018 CPU.
+
+* Mon Jan 29 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.161-2.b14
+- Work around ppc64le gdb backtrace problem in %%check.
+ See RHBZ#1539664
+
+* Wed Jan 24 2018 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.161-1.b14
+- Fix FTBFS due to link failure in libfontmanager.so
+- See RHBZ#1538767
+
+* Wed Jan 24 2018 jvanek <jvanek(a)redhat.com> - 1:1.8.0.161-0.b14
+- updated to u161, rmeoved upstreamed patches
+- removed patch555 8164293-pr3412-rh1459641.patch
+- removed patch550 8175813-pr3394-rh1448880.patch
+- removed patch547 8173941-pr3326.patch
+- removed patch532 8162384-pr3122-rh1358661.patch
+- removed patch535 8153711-pr3313-rh1284948.patch
+- removed patch561 8075484-pr3473-rh1490713.patch
+- removed patch554 8175887-pr3415.patch
+
+* Mon Nov 13 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.151-1.b12
+- added ownership of etc dirs
+- sysconfdir/.java/.systemPrefs
+- sysconfdir/.java
+
+* Wed Oct 25 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.151-1.b12
+- updated to aarch64-jdk8u151-b12 (from aarch64-port/jdk8u)
+- updated to aarch64-shenandoah-jdk8u151-b12 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-aarch64-jdk8u151-b12.tar.xz as new sources
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u151-b12.tar.xz as new sources for hotspot
+- tapset updated to 3.6pre02
+- policies adapted to new limited/unlimited schmea
+- above acomapnied by c-j-c 3.3
+- alligned patches and added PPC ones (thanx to gnu_andrew)
+- added patch209: 8035496-hotspot.patch
+- added patch210: suse_linuxfilestore.patch
+
+* Wed Oct 04 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.144-7.b01
+- updated to aarch64-shenandoah-jdk8u144-b02-shenandoah-merge-2017-10-02 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u144-b02-shenandoah-merge-2017-10-02.tar.xz as new sources for hotspot
+
+* Fri Sep 15 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.144-6.b01
+- added patch540, bug1484079.patch
+
+* Fri Sep 08 2017 Troy Dawson <tdawson(a)redhat.com> - 1:1.8.0.144-6.b01
+- Cleanup spec file conditionals
+
+* Fri Aug 25 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.144-4.b01
+- added ownership of diretories which were oonly listing files
+
+* Fri Aug 25 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.144-3.b01
+- added (experiment) "--" delimiter also to $suffix in expanding macros
+
+* Wed Aug 23 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.144-1.b01
+- Update to aarch64-jdk8u144-b01 and aarch64-shenandoah-jdk8u144-b01.
+- Exclude 8175887 from Shenandoah builds as it has been included in that repo.
+- Added 8164293-pr3412-rh1459641.patch backport from 8u development tree
+- get rid of bin/* and lib/*, fixed rhbz1480777
+- adapted to rpm 4.14: all expanding macros changed to define, all %1 and %%1 replaced by %%{?1}, all expandable macros parameter preffixed by --
+- get rid of generated filelists all except javafx and demos
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:1.8.0.141-5.b16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Sun Jul 30 2017 Florian Weimer <fweimer(a)redhat.com> - 1:1.8.0.141-4.b16
+- Rebuild with binutils fix for ppc64le (#1475636)
+
+* Wed Jul 26 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.141-3.b16
+- added patch208, aarch64BuildFailure.patch to fix condition found during jdk9 build
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 1:1.8.0.141-2.b16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Fri Jul 21 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.141-1.b16
+- updated to security u141.b16
+- sync patches with rhel7
+- removed no longer defined jvmjardir
+
+* Sat Jun 17 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-7.b12
+- adapted to no longer noarch openjfx-devel
+
+* Wed Jun 07 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-6.b12
+- added virtualprovides for javafx
+
+* Wed Jun 07 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-5.b12
+- fixed target of to fxrt.jar link
+- fixedname of libglass
+
+* Tue Jun 06 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-3.b12
+- source999 moved to source1
+- added two pathces 8181055-pr3394-rh1448880.patch and 8175813/PR3394/RH1448880
+- enabled (commented out) system NSS via patch1000, enableCommentedOutSystemNss.patch
+
+* Tue May 09 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-1.b12
+- added javafx binding subpackages
+
+* Thu Apr 20 2017 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.131-1.b12
+- updated to aarch64-jdk8u131-b12 (from aarch64-port/jdk8u)
+- updated to aarch64-shenandoah-jdk8u131-b12-shenandoah-merge-2017-04-20 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-aarch64-jdk8u131-b12.tar.xz as new sources
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u131-b12-shenandoah-merge-2017-04-20.tar.xz as new sources for hotspot
+
+* Sun Mar 19 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-12.b14
+- minor tweaks, egrep replaced by grep -E, added provides for some subpackages
+
+* Mon Mar 13 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-11.b14
+- sync from rhel, reordered patches, enabled shenanoah on aarch64
+- Patch OpenJDK to check the system cacerts database directly
+- Remove unneeded symlink to the system cacerts database
+- Drop outdated openssl dependency from when the RPM built the cacerts database
+- udpated to latest stable shenandoah hotspot
+
+* Mon Mar 13 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-10.b14
+- rhbz#1423751 - removed -fno-split-loops worakround as building against newer GCC7
+
+* Tue Feb 28 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-9.b14
+- updated to latest stable shenandoah hotspot
+- updated to properly tagged upstream forest (no update, just rename)
+- fixed update package to verify PR2126 patch and work with sha512
+
+* Tue Feb 28 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-8.b14
+- rebuild because of NSS
+
+* Tue Feb 21 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-7.b14
+- fixed the config(noreplace) issue with various left files lke java.security (rhbz#1183793)
+- by calling new c-j-c hooks
+- removed self-tail-bitting check check_sum_presented_in_spec
+- release 6+7 to verify update path
+
+* Mon Feb 20 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-5.b14
+- patch 536 reordered to 537
+- added patch 536 - Backport "8170888: [linux] Experimental support for cgroup memory limits in container (ie Docker) environments"
+- added patch 538 - 1423421: Javadoc crashes when method name ends with "Property"
+- rhbz#1423751 - added -fno-split-loops worakround sigsew when building with GCC7 (probably bug in jdk's JIT )
+
+* Fri Feb 17 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-4.b14
+- added Patch535 and 526
+- tweeked debugsymbols check for sigill
+
+* Wed Jan 25 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-2.b14
+- revertrd patch535, excludeECDHE-1415137.patch and related changes
+- issue casued by nss, see rhbz#1415137 c#35
+
+* Tue Jan 24 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-2.b14
+- added patch535, excludeECDHE-1415137.patch to tmp-worakround crash with nss
+
+* Tue Jan 24 2017 jvanek <jvanek(a)redhat.com> - 1:1.8.0.121-1.b14
+- updated to aarch64-jdk8u121-b14 (from openjdk8-forests/latest-aarch64)
+- updated to aarch64-shenandoah-jdk8u121-b14 (from openjdk8-forests/latest-shenandoah) of hotspot
+- used openjdk8-forests-latest-aarch64-aarch64-jdk8u121-b14.tar.xz as new sources
+- used openjdk8-forests-latest-shenandoah-aarch64-shenandoah-jdk8u121-b14.tar.xz as new sources for hotspot
+- deleted: 8044762-pr2960.patch 8049226-pr2960.patch 8154210.patch 8158260-pr2991-rh1341258.patch 8159244-pr3074.patch
+- adapted java-1.8.0-openjdk-size_t.patch pr1834-rh1022017.patch rh1163501.patch
+- updated from internal (rhel) repo OPENJDK_URL_DEFAULT=ssh://t...redhat.com//...ty/
+- with custom PR2126=/.../pr2126.patch (removed newly added brainpool curves)
+- withspecial values of PROJECT_NAME="openjdk8-forests", REPO_NAME="latest-aarch64"
+- with correct tag VERSION="aarch64-jdk8u121-b14"
+- and for shenandoah hotspot used custom repo REPO_NAME=latest-shenandoah
+- with correct tag VERSION="aarch64-shenandoah-jdk8u121-b14"
+- complete changes to generate_source_tarball.sh update_package.sh NOT commited (willbe regenerated from official repos soon)
+
+* Mon Jan 09 2017 jvanek <jvanek(a)redhat.com - 1:1.8.0.111-5.b16
+- Added arched dependencies to headless/main package
+
+* Thu Nov 03 2016 jvanek <jvanek(a)redhat.com - 1:1.8.0.111-3.b16
+- added patch207 - PR3183.patch
+- java SSL/TLS implementation: should follow the policies of system-wide crypto policy
+
+* Fri Oct 21 2016 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.111-2.b16
+- added dont-add-unnecessary-debug-links.patch
+- added hotspot-assembler-debuginfo.patch
+- returned accidentally removed hotspot-remove-debuglink.patch
+- eu-readelfs on libraries improved, added gdb call
+
+* Wed Oct 19 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.111-1.b16
+- updated to aarch64-jdk8u111-b16 (from aarch64-port/jdk8u)
+- updated to aarch64-shenandoah-jdk8u111-b16 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-aarch64-jdk8u111-b16.tar.xz as new sources
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u111-b16.tar.xz as new sources for hotspot
+- adapted patches
+
+* Wed Oct 5 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.102-3.b14
+- debug subpackages allowed on aarch64 and ppc64le
+- fontconfig and nss restricted by isa
+
+* Wed Aug 31 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.102-2.b14
+- declared check_sum_presented_in_spec and used in prep and check
+- it is checking that latest packed java.security is mentioned in listing
+- @prefix@ in tapsetfiles substitued by prefix as necessary to work with systemtap3 (rhbz1371005)
+
+* Thu Aug 25 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.102-1.b14
+- updated to aarch64-jdk8u102-b14 (from aarch64-port/jdk8u)
+- updated to aarch64-shenandoah-jdk8u102-b14 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-aarch64-jdk8u102-b14.tar.xz as new sources
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u102-b14.tar.xz as new sources for hotspot
+- removed upstreamed patches 519, 520 and 605
+- updated to systemtap 3, removed related patches 300 and 301
+- jjs provides moved to headless
+
+* Mon Aug 01 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.101-3.b14
+- Replace patch for S8162384 with upstream version. Document correctly along with SystemTap RH1204159 patch.
+- Resolves: rhbz#1358661
+- Replace patch for S8157306 with upstream version, documented & applied on all archs with conditional in patch
+- Resolves: rhbz#1360863
+
+* Mon Jul 25 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.101-2.b14
+- added patch532 hotspot-1358661.patch - to fix performance of bimorphic inlining may be bypassed by type speculation
+- added patch301 bz1204159_java8.patch - to fix systemtap on multiple jdks
+
+* Mon Jul 25 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.101-1.b14
+- updated to aarch64-jdk8u101-b14 (from aarch64-port/jdk8u)
+- updated to aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-aarch64-jdk8u101-b14.tar.xz as new sources
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u101-b14-shenandoah-merge-2016-07-25.tar.xz as new sources for hotspot
+- priority lowered for ine zero digit, tip moved to 999
+- added 6260348-pr3066.patch, pr3083-rh1346460.patch, 8159244-pr3074.patch, corba_typo_fix.patch
+renamed: jdk8-archivedJavadoc.patch -> 8154313.patch, pr2991-rh1341258.patch -> 8158260-pr2991-rh1341258.patch
+- not added 8147771-additional_hunk.patch, already in b14
+
+* Tue Jul 12 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.92-5.b14
+- added Provides: /usr/bin/jjs
+
+* Tue Jun 21 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.92-2.b14
+- family restricted by arch
+
+* Tue Jun 07 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.92-1.b14
+- updated to u92
+- removed upstreamed patches 8132051-aarch64.patch, 8143855.patch, criticalShenandoahFix.patch, rhbz1206656_fix_current_stack_pointer.patch
+- 8132051-zero.patch, remove_aarch64_template_for_gcc6.patch
+- jdwpCrash.abrt.patch renamed to 8044762-pr2960.patch
+- httpsFix1329342.patch renamed to pr2934.patch
+- added known regresisonos fixes for u92 scheduled for next u (519-525)
+
+* Thu May 19 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.91-7.b14
+- added patch519, jdwpCrash.abrt.patch to fix trasnportation error
+
+* Fri May 13 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.91-6.b14
+- Enable weak reference discovery in ShenandoahMarkCompact. Otherwise we never process any weak references in full-gc.
+
+* Tue May 03 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.91-5.b14
+- Restricted to depend on exactly same version of nss as used for build
+- Resolves: rhbz#1332456
+
+* Tue May 03 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.91-4.b14
+- updated to aarch64-shenandoah-jdk8u71-b15-beta02 (from aarch64-port/jdk8u-shenandoah) of hotspot
+- used aarch64-port-jdk8u-shenandoah-aarch64-shenandoah-jdk8u71-b15-beta02.tar.xz as new sources for hotspot
+- reverted nss version fix
+
+* Mon Apr 25 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.91-4.b14
+- Restricted to depend on exactly same version of nss as use dfor build
+- Resolves: rhbz#1332456
+
+* Mon Apr 25 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.91-3.b14
+- included shenandoah support in 64b intel
+
+* Sun Apr 24 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.91-2.b14
+- added patch518 httpsFix1329342.patch
+- test based on SOURCE14 enabled
+- Resolves: rhbz#1329342
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Roll back release number as release 1 never succeeded, even with tests disabled.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Add additional fix to Zero patch to properly handle result on 64-bit big-endian
+- Revert debugging options (aarch64 back to JIT, product build, no -Wno-error)
+- Enable full bootstrap on all architectures to check we are good to go.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Turn tests back on or build will not fail.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Temporarily remove power64 from JIT arches to see if endian issue appears on Zero.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Turn off Java-based checks in a vain attempt to get a complete build.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Turn off -Werror so s390 can build in slowdebug mode.
+- Add fix for formatting issue found by previous s390 build.
+- Resolves: rhbz#1325423
+
+* Tue Apr 12 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Revert settings to production defaults so we can at least get a build.
+- Switch to a slowdebug build to try and unearth remaining issue on s390x.
+- Resolves: rhbz#1325423
+
+* Mon Apr 11 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Disable ECDSA test for now until failure on RHEL 7 is fixed.
+- Resolves: rhbz#1325423
+
+* Mon Apr 11 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Add 8132051 port to Zero.
+- Turn on bootstrap build for all to ensure we are now good to go.
+- Resolves: rhbz#1325423
+
+* Mon Apr 11 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Add 8132051 port to AArch64.
+- Resolves: rhbz#1325423
+
+* Mon Apr 11 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Enable a full bootstrap on JIT archs. Full build held back by Zero archs anyway.
+- Resolves: rhbz#1325423
+
+* Sun Apr 10 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Use basename of test file to avoid misinterpretation of full path as a package
+- Resolves: rhbz#1325423
+
+* Sun Apr 10 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.91-1.b14
+- Update to u91b14.
+- Resolves: rhbz#1325423
+
+* Mon Apr 04 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.77-2.b03
+- added patch400 jdk8-archivedJavadoc.patch
+- added javadoc-zip(-debug) subpackage with compressed javadoc
+
+* Thu Mar 31 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.77-3.b03
+- Fix typo in test invocation.
+- Resolves: rhbz#1245810
+
+* Thu Mar 31 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.77-3.b03
+- Add ECDSA test to ensure ECC is working.
+- Resolves: rhbz#1245810
+
+* Wed Mar 30 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.77-2.b03
+- Avoid WithSeed versions of NSS functions as they do not fully process the seed
+- List current java.security md5sum so that java.security is replaced and ECC gets enabled.
+- Resolves: rhbz#1245810
+
+* Wed Mar 23 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.77-1.b03
+- Update to u77b03.
+
+* Thu Mar 03 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.72-13.b16
+- When using a compositing WM, the overlay window should be used, not the root window.
+
+* Mon Feb 29 2016 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.72-12.b15
+- Use a simple backport for PR2462/8074839.
+- Don't backport the crc check for pack.gz. It's not tested well upstream.
+
+* Mon Feb 29 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.72-5.b16
+- Fix regression introduced on s390 by large code cache change.
+- Update to u72b16.
+- Drop 8147805 and jvm.cfg fix which are applied upstream.
+
+* Wed Feb 24 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.72-11.b15
+- Add patches to allow the SunEC provider to be built with the system NSS install.
+- Re-generate source tarball so it includes ecc_impl.h.
+- Adjust tarball generation script to allow ecc_impl.h to be included.
+- Bring over NSS changes from java-1.7.0-openjdk spec file (NSS_CFLAGS/NSS_LIBS)
+- Remove patch which disables the SunEC provider as it is now usable.
+- Correct spelling mistakes in tarball generation script.
+- Move completely unrelated AArch64 gcc 6 patch into separate file.
+- Resolves: rhbz#1019554 (fedora bug)
+
+* Tue Feb 23 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.72-10.b15
+- returning accidentlay removed hunk from renamed and so wrongly merged remove_aarch64_jvm.cfg_divergence.patch
+
+* Mon Feb 22 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.72-9.b15
+- sync from rhel
+
+* Tue Feb 16 2016 Dan Hork <dan[at]danny.cz> - 1:1.8.0.72-8.b15
+- Refresh s390-java-opts patch
+
+* Tue Feb 16 2016 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.72-7.b15
+- Use -fno-lifetime-dse over -fno-guess-branch-probability.
+ See RHBZ#1306558.
+
+* Mon Feb 15 2016 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.72-6.b15
+- Add aarch64_FTBFS_rhbz_1307224.patch so as to resolve RHBZ#1307224.
+
+* Fri Feb 12 2016 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.72-5.b15
+- Add -fno-delete-null-pointer-checks -fno-guess-branch-probability flags to resolve x86/x86_64 crash.
+
+* Mon Feb 08 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.72-5.b15
+- Explicitly set the C++ standard to use, as the default has changed to C++ 2014 in GCC 6.
+- Turn off -Werror due to format warnings in HotSpot and -std usage warnings in SCTP.
+- Run tests under the check stage and use the debug build first.
+
+* Fri Feb 05 2016 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.71-4.b15
+- Backport S8148351: Only display resolved symlink for compiler, do not change path
+
+* Wed Feb 03 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.72-3.b15
+* touch -t 201401010000 java.security to try to worakround md5sums
+
+* Wed Jan 27 2016 jvanek <jvanek(a)redhat.com> - 1:1.8.0.72-1.b15
+- updated to aarch64-jdk8u72-b15 (from aarch64-port/jdk8u)
+- used aarch64-port-jdk8u-aarch64-jdk8u72-b15.tar.xz as new sources
+- removed already upstreamed patch501 8146566.patch
+
+* Wed Jan 20 2016 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.71-1.b15
+- sync with rhel7
+- security update to CPU 19.1.2016 to u71b15
+
+* Tue Dec 15 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-14.b17
+- pretrans moved back to lua nd now includes file from copy-jdk-configs instead of call it
+
+* Tue Dec 15 2015 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.65-13.b17
+- Disable hardened build on non-JIT arches.
+ Workaround for RHBZ#1290936.
+
+* Thu Dec 10 2015 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.65-12.b17
+-removed patch4 java-1.8.0-openjdk-PStack-808293.patch
+-removed patch13 libjpeg-turbo-1.4-compat.patch
+
+* Thu Dec 10 2015 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.65-11.b17
+- Define our own optimisation flags based on the optflags macro and pass to OpenJDK build cflags/cxxflags.
+- Remove -fno-devirtualize as we are now on GCC 5 where the GCC bug it worked around is fixed.
+- Pass __global_ldflags to --with-extra-ldflags so Fedora linker flags are used in the build.
+- Also Pass ourcppflags to the OpenJDK build cflags as it wrongly uses them for the HotSpot C++ build.
+- Add PR2428, PR2462 & S8143855 patches to fix build issues that arise.
+- Resolves: rhbz#1283949
+- Resolves: rhbz#1120792
+
+* Thu Dec 10 2015 Andrew Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.65-10.b17
+- Add patch to honour %%{_smp_ncpus_max} from Tuomo Soini
+- Resolves: rhbz#1152896
+
+* Wed Dec 09 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-9.b17
+- extracted lua scripts moved from pre where they don't work to pretrans
+- requirement on copy-jdk-configs made Week.
+
+* Tue Dec 08 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-8.b17
+- used extracted lua scripts.
+- now depnding on copy-jdk-configs
+- config files persisting in pre instead of %%pretrans
+
+* Tue Dec 08 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-7.b17
+- changed way of generating the sources. As result:
+- "updated" to aarch64-jdk8u65-b17 (from aarch64-port/jdk8u60)
+- used aarch64-port-jdk8u60-aarch64-jdk8u65-b17.tar.xz as new sources
+
+* Fri Nov 27 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-5.b17
+- added missing md5sums
+- moved to bundeld lcms
+
+* Wed Nov 25 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-4.b17
+- debug packages priority lowered by 1
+
+* Wed Nov 25 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-3.b17
+- depends on chkconfig >1.7 - added --family support
+
+* Fri Nov 13 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-2.b17
+- added and applied patch605 soundFontPatch.patch as repalcement for removed sound font links
+- removed hardcoded soundfont links
+
+* Thu Nov 12 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.65-1.b17
+- updated to u65b17
+
+* Mon Nov 09 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-17.b28
+- policytool manpage followed the binary from devel to jre
+
+* Mon Nov 02 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-16.b28
+added and applied patch604: aarch64-ifdefbugfix.patch to fix rhbz1276959
+
+* Thu Oct 15 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-15.b28
+- moved to single source integration forest
+- removed patch patch9999 enableArm64.patch
+- removed patch patch600 %%{name}-rh1191652-hotspot.patch
+
+* Thu Aug 27 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-14.b24
+- updated aarch64 tarball to contain whole forest of latest jdk8-aarch64-jdk8u60-b24.2.tar.xz
+- using this forest instead of only hotspot
+- generate_source_tarball.sh - temporarily excluded repos="hotspot" compression of download
+- not only openjdk/hotspot is replaced, by wholeopenjdk
+- ln -s openjdk jdk8 done after replacing of openjdk
+- patches 9999 601 and 602 exclded for aarch64
+
+* Wed Aug 26 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-13.b24
+- updated aarch64 hotpost to latest jdk8-aarch64-jdk8u60-b24.2.tar.xz
+
+* Wed Aug 19 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-12.b24
+- updated to freshly released jdk8u60-jdk8u60-b27
+
+* Thu Aug 13 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-11.b24
+- another touching attempt to polycies...
+
+* Mon Aug 03 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-10.b24
+- arch64 updated to u60-b24 with hope to fix rhbz1249037
+
+* Fri Jul 17 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-3.b24
+- added one more md5sum test (thanx to Severin!)
+ - I guess one more missing
+- doubled slash in md5sum test in post
+
+* Thu Jul 16 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-2.b24
+- updated to security u60-b24
+- moved to openjdk instead of jdk8 topdir in sources
+- removed upstreamed patch99 java-1.8.0-openjdk-linux-4.x.patch
+- removed upstreamed patch503 pr2444.patch
+- removed upstreamed patch505 1208369_memory_leak_gcc5.patch
+- removed upstreamed patch506: gif4.1.patch
+ - note: usptream version is suspicious
+ GIFLIB_MAJOR >= 5 SplashStreamGifInputFunc, NULL
+ ELSE SplashStreamGifInputFunc
+ - but the condition seems to be viceversa
+
+
+* Mon Jun 22 2015 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.60-7.b16
+- Require javapackages-tools instead of jpackage-utils.
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:1.8.0.60-6.b16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Tue Jun 09 2015 Dan Hork <dan[at]danny.cz> - 1:1.8.0.60-5.b16
+- allow build on Linux 4.x kernel
+- refresh s390 size_t patch
+
+* Fri Jun 05 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-4.b16
+- added requires lksctp-tools for headless subpackage to make sun.nio.ch.sctp work
+
+* Mon May 25 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-2.b16
+- Patch503 d318d83c4e74.patch, patch505 1208369_memory_leak_gcc5.patch (and patch506 gif4.1.patch)
+ moved out of "if with_systemtap" block
+
+* Mon May 25 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.60-1.b16
+- updated to u60b16
+- deleted upstreamed patches:
+ patch501 1182011_JavaPrintApiDoesNotPrintUmlautCharsWithPostscriptOutputCorrectly.patch
+ patch502 1182694_javaApplicationMenuMisbehave.patch
+ patch504 1210739_dns_naming_ipv6_addresses.patch
+ patch402 atomic_linux_zero.inline.hpp.patch
+ patch401 fix_ZERO_ARCHDEF_ppc.patch
+ patch400 ppc_stack_overflow_fix.patch
+ patch204 zero-interpreter-fix.patch
+- added Patch506 gif4.1.patch to allow build agaisnt giflib > 4.1
+
+* Wed May 13 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.45-38.b14
+- updated to 8u45-b14 with hope to fix rhbz#1123870
+
+* Wed May 13 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.45-37.b13
+- added runtime requires for tzdata
+- Remove reference to tz.properties which is no longer used (by gnu.andrew)
+
+* Wed Apr 29 2015 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.45-36.b13
+- Patch hotspot to not use undefined code rather than passing
+ -fno-tree-vrp via CFLAGS.
+ Resolves: RHBZ#1208369
+- Add upstream patch for DNS nameserver issue with IPv6 addresses.
+ Resolves: RHBZ#1210739
+
+* Wed Apr 29 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.45-35.b13
+- Omit jsa files from power64 file list as well, as they are never generated
+- moved to boot build by openjdk8
+- Use the template interpreter on ppc64le
+
+* Fri Apr 10 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.45-31.b13
+- repacked sources
+
+* Tue Apr 07 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.45-30.b13
+- updated to security u45
+- removed patch6: disable-doclint-by-default.patch
+- added patch d318d83c4e74.patch
+- added rhbz1206656_fix_current_stack_pointer.patch
+- renamed PStack-808293.patch -> java-1.8.0-openjdk-PStack-808293.patch
+- renamed remove-intree-libraries.sh -> java-1.8.0-openjdk-remove-intree-libraries.sh
+- renamed to preven conflix with jdk7
+
+* Fri Apr 03 2015 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-27.b25
+- Add -fno-tree-vrp to flags to prevent hotspot miscompilation.
+- Resolves: RHBZ#1208369
+
+* Thu Apr 02 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-27.b25
+- bumped release. Needed rebuild by itself on arm
+
+* Tue Mar 31 2015 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.40-26.b25
+- Make Zero build-able on ARM32.
+ Resolves: RHBZ#1206656
+
+* Fri Mar 27 2015 Dan Hork <dan[at]danny.cz> - 1:1.8.0.40-25.b25
+- refresh s390 patches
+
+* Fri Mar 27 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-24.b25
+- added patch501 1182011_JavaPrintApiDoesNotPrintUmlautCharsWithPostscriptOutputCorrectly.patch
+- added patch502 1182694_javaApplicationMenuMisbehave.patch
+- both upstreamed, will be gone with u60
+
+* Wed Mar 25 2015 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-23.b25
+- Disable various EC algorithms in configuration
+
+* Mon Mar 23 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-22.b25
+- sytemtap made working for dual package
+
+* Tue Mar 03 2015 Severin Gehwolf <sgehwolf(a)redhat.com> - 1:1.8.0.40-21.b25
+- Added compiler no-warn-
+
+* Fri Feb 20 2015 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-21.b25
+- Fix zero interpreter build.
+
+* Thu Feb 12 2015 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-21.b25
+- Fix building with gcc 5 by ignoring return-local-addr warning
+- Include additional debugging info for java class files and test that they are
+ present
+
+* Thu Feb 12 2015 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-20.b25
+- bumped to b25
+- removed upstreamed patch11 hotspot-build-j-directive.patch
+- policies repacked to stop spamming yum update
+- added and used source20 repackReproduciblePolycies.sh
+- added mehanism to force priority size
+
+* Fri Jan 09 2015 Dan Hork <dan[at]danny.cz> - 1:1.8.0.40-19.b12
+- refresh s390 patches
+
+* Fri Nov 07 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-18.b12
+- updated arm64 tarball to jdk8-jdk8u40-b12-aarch64-1263.tar.xz
+
+* Fri Nov 07 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-17.b12
+- obsoleted gcj and sindoc. rh1149674 and rh1149675
+- removed backup/restore on images and docs in favor of reconfigure in different directory
+
+* Mon Nov 03 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-16.b12
+- updated both noral and aarch64 tarballs to u40b12
+
+* Mon Nov 03 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-15.b02
+- enabled debug packages
+- removed all provides duplicating package name
+- comments about files moved inside files section (to prevent different javadoc postuns)
+ - see (RH1160693)
+
+* Fri Oct 31 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-13.b02
+- Build against libjpeg-turbo-1.4
+
+* Fri Oct 24 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-13.b02
+- preparing for parallel debug+normal build
+- files and scripelts moved to extendable macros as first step to dual build
+- install and build may be done in loop for both release and slowdebug
+- debugbuild off untill its completed
+
+* Fri Oct 24 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-12.b02
+- added patch12,removeSunEcProvider-RH1154143
+- xdump excluded from ppc64le (rh1156151)
+- Add check for src.zip completeness. See RH1130490 (by sgehwolf(a)redhat.com)
+- Resolves: rhbz#1125260
+
+* Thu Sep 25 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-11.b02
+- fixing flags usages (thanx to jerboaa!)
+
+* Thu Sep 25 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.20-10.b26
+- sync with rhel7
+
+* Wed Sep 17 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.20-9.b26
+- Remove LIBDIR and funny definition of _libdir.
+- Fix rpmlint warnings about macros in comments.
+
+* Thu Sep 11 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.20-8.b26
+- fixed headless to become headless again
+ - jre/bin/policytool added to not headless exclude list
+
+* Wed Sep 10 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.20-7.b26
+- Update aarch64 hotspot to latest upstream version
+
+* Fri Sep 05 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.40-6.b26
+- Use %%{power64} instead of %%{ppc64}.
+
+* Thu Sep 04 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-5.b26
+- Update aarch64 hotspot to jdk7u40-b02 to match the rest of the JDK
+- commented out patch2 (obsolated by 666)
+- all ppc64 added to jitarches
+
+* Thu Sep 04 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.20-4.b26
+- Use the cpp interpreter on ppc64le.
+
+* Wed Sep 03 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.20-3.b26
+- fixed RH1136544, orriginal issue, state of pc64le jit remians mistery
+
+* Wed Aug 27 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.20-2.b26
+- requirement Requires: javazi-1.8/tzdb.dat changed to tzdata-java >= 2014f-1
+- see RH1130800#c5
+
+* Wed Aug 27 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-1.b02
+- adapted aarch64 patch
+- removed upstreamed patch 0001-PPC64LE-arch-support-in-openjdk-1.8.patch
+
+* Wed Aug 27 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-1.b02
+- updated to u40-b02
+- adapted aarch64 patches
+
+* Wed Aug 27 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.40-1.b01
+- updated to u40-b01
+- adapted java-1.8.0-openjdk-accessible-toolkit.patch
+- adapted system-lcms.patch
+- removed patch8 set-active-window.patch
+- removed patch9 javadoc-error-jdk-8029145.patch
+- removed patch10 javadoc-error-jdk-8037484.patch
+- removed patch99 applet-hole.patch - itw 1.5.1 is able to ive without it
+
+* Tue Aug 19 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-19.b12
+- fixed desktop icons
+- Icon set to java-1.8.0
+- Development removed from policy tool
+
+* Mon Aug 18 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-18.b12
+- fixed jstack
+
+* Mon Aug 18 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-17.b12
+- added build requires and requires for headles _datadir/javazi-1.8/tzdb.dat
+- restriction of tzdata provider, so we will be aware of another possible failure
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org>
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Thu Aug 14 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-15.b12
+- fixed provides/obsolates
+
+* Tue Aug 12 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-14.b12
+- forced to build in fully versioned dir
+
+* Tue Aug 12 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-13.b12
+- fixing tapset to support multipleinstalls
+- added more config/norepalce
+- policitool moved to jre
+
+* Tue Aug 12 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-12.b12
+- bumped release to build by previous release.
+- forcing rebuild by jdk8
+- uncommenting forgotten comment on tzdb link
+
+* Tue Aug 12 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-11.b12
+- backporting old fixes:
+- get rid of jre-abrt, uniquesuffix, parallel install, jsa files,
+ config(norepalce) bug, -fstack-protector-strong, OrderWithRequires,
+ nss config, multilib arches, provides/requires excludes
+- some additional cosmetic changes
+
+* Tue Jul 22 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.11-8.b12
+- Modify aarch64-specific jvm.cfg to list server vm first
+
+* Mon Jul 21 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-7.b12
+- removed legacy aarch64 switches
+ - --with-jvm-variants=client and --disable-precompiled-headers
+
+* Tue Jul 15 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-6.b12
+- added patch patch9999 enableArm64.patch to enable new hotspot
+
+* Tue Jul 15 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-5.b12
+- Attempt to update aarch64 *jdk* to u11b12, by resticting aarch64 sources to hotpot only
+
+* Tue Jul 15 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.11-1.b12
+- updated to security u11b12
+
+* Tue Jun 24 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-13.b13
+- Obsolete java-1.7.0-openjdk
+
+* Wed Jun 18 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-12.b13
+- Use system tzdata from tzdata-java
+
+* Thu Jun 12 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-11.b13
+- Add patch from IcedTea to handle -j and -I correctly
+
+* Wed Jun 11 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-11.b13
+- Backport javadoc fixes from upstream
+- Related: rhbz#1107273
+
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:1.8.0.5-10.b13
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
+
+* Mon Jun 02 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-9.b13
+- Build with OpenJDK 8
+
+* Wed May 28 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-8.b13
+- Backport fix for JDK-8012224
+
+* Wed May 28 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-7.b13
+- Require fontconfig and minimal fonts (xorg-x11-fonts-Type1) explicitly
+- Resolves rhbz#1101394
+
+* Fri May 23 2014 Dan Hork <dan[at]danny.cz> - 1:1.8.0.5-6.b13
+- Enable build on s390/s390x
+
+* Tue May 20 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-5.b13
+- Only check for debug symbols in libjvm if it exists.
+
+* Fri May 16 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-4.b13
+- Include all sources in src.zip
+
+* Mon Apr 28 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-4.b13
+- Check for debug symbols in libjvm.so
+
+* Thu Apr 24 2014 Brent Baude <baude(a)us.ibm.com> - 1:1.8.0.5-3.b13
+- Add ppc64le support, bz# 1088344
+
+* Wed Apr 23 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-2.b13
+- Build with -fno-devirtualize
+- Don't strip debuginfo from files
+
+* Wed Apr 16 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-1.b13
+- Instrument build with various sanitizers.
+
+* Tue Apr 15 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.5-1.b13
+- Update to the latest security release: OpenJDK8 u5 b13
+
+* Fri Mar 28 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-2.b132
+- Include version information in desktop files
+- Move desktop files from tarball to top level source
+
+* Tue Mar 25 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-1.0.b132
+- Switch from java8- style provides to java- style
+- Bump priority to reflect java version
+
+* Fri Mar 21 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.35.b132
+- Disable doclint for compatiblity
+- Patch contributed by Andrew John Hughes
+
+* Tue Mar 11 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.34.b132
+- Include jdeps and jjs for aarch64. These are present in b128.
+
+* Mon Mar 10 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.33.b132
+- Update aarch64 tarball to the latest upstream release
+
+* Fri Mar 07 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.32.b132
+- Fix `java -version` output
+
+* Fri Mar 07 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.31.b132
+- updated to rc4 aarch64 tarball
+- outdated removed: patch2031 system-lcmsAARCH64.patch patch2011 system-libjpeg-aarch64.patch
+ patch2021 system-libpng-aarch64.patch
+
+* Thu Mar 06 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.30.b132
+- Update to b132
+
+* Thu Mar 06 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.29.b129
+- Fix typo in STRIP_POLICY
+
+* Mon Mar 03 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.28.b129
+- Remove redundant debuginfo files
+- Generate complete debug information for libjvm
+
+* Tue Feb 25 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.27.b129
+- Fix non-headless libraries
+
+* Tue Feb 25 2014 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.26.b129
+- Fix incorrect Requires
+
+* Thu Feb 13 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.26.b129
+- Add -headless subpackage based on java-1.7.0-openjdk
+- Add abrt connector support
+- Add -accessibility subpackage
+
+* Thu Feb 13 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.26.b129
+- Update to b129.
+
+* Fri Feb 07 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.25.b126
+- Update to candidate Reference Implementation release.
+
+* Fri Jan 31 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.24.b123
+- Forward port more patches from java-1.7.0-openjdk
+
+* Mon Jan 20 2014 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.23.b123
+- Update to jdk8-b123
+
+* Thu Nov 14 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.22.b115
+- Update to jdk8-b115
+
+* Wed Oct 30 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.21.b106
+- added jre/lib/security/blacklisted.certs for aarch64
+- updated to preview_rc2 aarch64 tarball
+
+* Sun Oct 06 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.20.b106
+- Fix paths in tapsets to work on non-x86_64
+- Use system libjpeg
+
+* Thu Sep 05 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.19.b106
+- Fix with_systemtap conditionals
+
+* Thu Sep 05 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.18.b106
+- Update to jdk8-b106
+
+* Tue Aug 13 2013 Deepak Bhole <dbhole(a)redhat.com> - 1:1.8.0.0-0.17.b89x
+- Updated aarch64 to latest head
+- Dropped upstreamed patches
+
+* Wed Aug 07 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.16.b89x
+- The zero fix only applies on b89 tarball
+
+* Tue Aug 06 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.16.b89x
+- Add patch to fix zero on 32-bit build
+
+* Mon Aug 05 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.16.b89x
+- Added additional build fixes for aarch64
+
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> - 1:1.8.0.0-0.16.b89x
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
+
+* Fri Aug 02 2013 Deepak Bhole <dbhole(a)redhat.com> - 1:1.8.0.0-0.15.b89
+- Added a missing includes patch (#302/%%{name}-arm64-missing-includes.patch)
+- Added --disable-precompiled-headers for arm64 build
+
+* Mon Jul 29 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.14.b89
+- added patch 301 - removeMswitchesFromx11.patch
+
+* Fri Jul 26 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.13.b89
+- added new aarch64 tarball
+
+* Thu Jul 25 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.12.b89
+- ifarchaarch64 then --with-jvm-variants=client
+
+* Tue Jul 23 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.11.b89
+- prelink dependence excluded also for aaech64
+- arm64 added to jitarches
+- added source100 config.guess to repalce the outdated one in-tree
+- added source101 config.sub to repalce the outdated one in-tree
+- added patch2011 system-libjpegAARCH64.patch (as aarch64-port is little bit diferent)
+- added patch2031 system-lcmsAARCH64.patch (as aarch64-port is little bit diferent)
+- added gcc-c++ build depndece so builddep will result to better situation
+
+* Tue Jul 23 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.10.b89
+- moved to latest working osurces
+
+* Tue Jul 23 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.10.b89
+- Moved to hg clone for generating sources.
+
+* Sun Jul 21 2013 Jiri Vanek <jvanek(a)redhat.com> - 1:1.8.0.0-0.9.b89
+- added aarch 64 tarball, proposed usage of clone instead of tarballs
+
+* Mon Jul 15 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.9.b89
+- Switch to xz for compression
+- Fixes RHBZ#979823
+
+* Mon Jul 15 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.9.b89
+- Priority should be 0 until openjdk8 is released by upstream
+- Fixes RHBZ#964409
+
+* Mon Jun 3 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.8.b89
+- Fix incorrect permissions on ct.sym
+
+* Mon May 20 2013 Omair Majid <omajid(a)redhat.com> - 1:1.8.0.0-0.7.b89
+- Fix incorrect permissions on jars
+
+* Fri May 10 2013 Adam Williamson <awilliam(a)redhat.com>
+- update scriptlets to follow current guidelines for updating icon cache
+
+* Tue Apr 30 2013 Omair Majid <omajid(a)redhat.com> 1:1.8.0.0-0.5.b87
+- Update to b87
+- Remove all rhino support; use nashorn instead
+- Remove upstreamed/unapplied patches
+
+* Tue Apr 23 2013 Karsten Hopp <karsten(a)redhat.com> 1:1.8.0.0-0.4.b79
+- update java-1.8.0-openjdk-ppc-zero-hotspot patch
+- use power64 macro
+
+* Thu Mar 28 2013 Omair Majid <omajid(a)redhat.com> 1:1.8.0.0-0.3.b79
+- Add build fix for zero
+- Drop gstabs fixes; enable full debug info instead
+
+* Wed Mar 13 2013 Omair Majid <omajid(a)redhat.com> 1:1.8.0.0-0.2.b79
+- Fix alternatives priority
+
+* Tue Mar 12 2013 Omair Majid <omajid(a)redhat.com> 1:1.8.0.0-0.1.b79.f19
+- Update to jdk8-b79
+- Initial version for Fedora 19
+
+* Tue Sep 04 2012 Andrew John Hughes <gnu.andrew(a)redhat.com> - 1:1.8.0.0-b53.1
+- Initial build from java-1.7.0-openjdk RPM
5 years, 6 months
Architecture specific change in rpms/dracut.git
by githook-noreply@fedoraproject.org
The package rpms/dracut.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/dracut.git/commit/?id=9d5d7534b92....
Change:
+%ifnarch s390 s390x
Thanks.
Full change:
============
commit 19aece0514a00d6d5c4deffbf4609cbda9e06b92
Author: Harald Hoyer <harald(a)redhat.com>
Date: Wed Oct 24 15:16:19 2018 +0200
dracut - 049-11.git20181024
- git snapshot
diff --git a/0004.patch b/0004.patch
new file mode 100644
index 0000000..f9ebdd5
--- /dev/null
+++ b/0004.patch
@@ -0,0 +1,31 @@
+From 83cbc06ab91288e2d931b4f36935bfdb79a99b0e Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Fri, 12 Oct 2018 13:07:13 +0800
+Subject: [PATCH] 40network: Don't include 40network by default
+
+commit 7347391 ('network-legacy: split off from network module')
+splitted network function to network-legacy and removed check() function
+of 40network. This caused 40network to be included even if network is
+not needed.
+
+Signed-off-by: Kairui Song <kasong(a)redhat.com>
+---
+ modules.d/40network/module-setup.sh | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index 57c0a45e..e8541636 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -1,5 +1,10 @@
+ #!/bin/bash
+
++# called by dracut
++check() {
++ return 255
++}
++
+ # called by dracut
+ depends() {
+ echo -n "kernel-network-modules "
+
diff --git a/0005.patch b/0005.patch
new file mode 100644
index 0000000..c694a3e
--- /dev/null
+++ b/0005.patch
@@ -0,0 +1,31 @@
+From b9af0fcdfb2364245b333a123cdb07523855079f Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Thu, 18 Oct 2018 17:05:22 +0800
+Subject: [PATCH] 99squash: Don't clean up squahfs on isolate
+
+The only time we need to cleanup squahfs manually is on switch root, to
+release resource and memory. We've covered that by setting
+"Conflicts=initrd-switch-root.target" for squash cleanup service.
+On shutdown systemd will take care of squahfs mounts. But for other
+isolate, files in initramfs are most likely still required, so don't
+clean up squahfs. For example, kdump's emergency handler will isolate
+into its own target, if squahfs is cleaned up it will fail.
+
+Signed-off-by: Kairui Song <kasong(a)redhat.com>
+---
+ modules.d/99squash/squash-mnt-clear.service | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/modules.d/99squash/squash-mnt-clear.service b/modules.d/99squash/squash-mnt-clear.service
+index 8dd17812..f8d5db46 100644
+--- a/modules.d/99squash/squash-mnt-clear.service
++++ b/modules.d/99squash/squash-mnt-clear.service
+@@ -9,6 +9,7 @@ After=dracut-initqueue.service dracut-pre-pivot.service
+ Before=initrd-cleanup.service
+ ConditionPathExists=/squash/root
+ Conflicts=initrd-switch-root.target
++IgnoreOnIsolate=true
+
+ [Service]
+ Type=oneshot
+
diff --git a/0006.patch b/0006.patch
new file mode 100644
index 0000000..2466495
--- /dev/null
+++ b/0006.patch
@@ -0,0 +1,28 @@
+From e54ab383f7529f340d69536709624dffb30046a1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Renaud=20M=C3=A9trich?= <rmetrich(a)redhat.com>
+Date: Fri, 19 Oct 2018 13:21:37 +0200
+Subject: [PATCH] fips: check fips integrity just before mounting local
+ filesystems in /sysroot
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Renaud Mtrich <rmetrich(a)redhat.com>
+---
+ modules.d/01fips/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
+index f3af4d90..808292af 100755
+--- a/modules.d/01fips/module-setup.sh
++++ b/modules.d/01fips/module-setup.sh
+@@ -52,7 +52,7 @@ installkernel() {
+ # called by dracut
+ install() {
+ local _dir
+- inst_hook pre-trigger 01 "$moddir/fips-boot.sh"
++ inst_hook pre-mount 01 "$moddir/fips-boot.sh"
+ inst_hook pre-pivot 01 "$moddir/fips-noboot.sh"
+ inst_script "$moddir/fips.sh" /sbin/fips.sh
+
+
diff --git a/0007.patch b/0007.patch
new file mode 100644
index 0000000..3cec53c
--- /dev/null
+++ b/0007.patch
@@ -0,0 +1,26 @@
+From 7117bf627028298970d8a6a5e153e1942f3430f3 Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin(a)suse.com>
+Date: Fri, 19 Oct 2018 14:30:36 +0200
+Subject: [PATCH] 99base: Allow files with backslashes in hostonly files
+
+Files with blackslashes are routinely by systemd.
+
+Reference: bsc#1090884
+---
+ modules.d/99base/dracut-lib.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index f71e757c..ab348855 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -1327,7 +1327,7 @@ show_memstats()
+ remove_hostonly_files() {
+ rm -fr /etc/cmdline /etc/cmdline.d/*.conf "$hookdir/initqueue/finished"
+ if [ -f /lib/dracut/hostonly-files ]; then
+- while read line || [ -n "$line" ]; do
++ while read -r line || [ -n "$line" ]; do
+ [ -e "$line" ] || [ -h "$line" ] || continue
+ rm -f "$line"
+ done < /lib/dracut/hostonly-files
+
diff --git a/0008.patch b/0008.patch
new file mode 100644
index 0000000..32f57a8
--- /dev/null
+++ b/0008.patch
@@ -0,0 +1,24 @@
+From b38b7fef36333a59890233dccfbbb6d2c40ebe83 Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin(a)suse.com>
+Date: Fri, 19 Oct 2018 14:39:30 +0200
+Subject: [PATCH] 95dasd_rules: mark dasd rules host_only
+
+Reference: bsc#1090884
+---
+ modules.d/95dasd_rules/module-setup.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
+index 488400c3..124dbad9 100755
+--- a/modules.d/95dasd_rules/module-setup.sh
++++ b/modules.d/95dasd_rules/module-setup.sh
+@@ -54,6 +54,8 @@ install() {
+ if [[ $hostonly ]] ; then
+ inst_rules_wildcard 51-dasd-*.rules
+ inst_rules_wildcard 41-s390x-dasd-*.rules
++ mark_hostonly /etc/udev/rules.d/51-dasd-*.rules
++ mark_hostonly /etc/udev/rules.d/41-s390x-dasd-*.rules
+ fi
+ inst_rules 59-dasd.rules
+ }
+
diff --git a/0009.patch b/0009.patch
new file mode 100644
index 0000000..138face
--- /dev/null
+++ b/0009.patch
@@ -0,0 +1,37 @@
+From 765b20333d9589e09b29dbe0d8304a56745623c6 Mon Sep 17 00:00:00 2001
+From: Dusty Mabe <dusty(a)dustymabe.com>
+Date: Mon, 22 Oct 2018 13:25:29 -0400
+Subject: [PATCH] 95iscsi: drop systemd dracut service dependencies for iscsid
+
+These dependencies cause an odd issue where swap devices specified
+by resume= on the kernel command line will cause systemd device
+timeouts to occur on boot. According to @haraldh these lines aren't
+needed because the socket activiation will take care of it for us.
+Removing these lines now as it fixes the resume= device timeout issue.
+
+Fixes #480
+Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1641268
+---
+ modules.d/95iscsi/module-setup.sh | 8 --------
+ 1 file changed, 8 deletions(-)
+
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 5c2073bb..3c791001 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -257,14 +257,6 @@ install() {
+ ; do
+ ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/basic.target.wants/${i}"
+ done
+-
+- # Make sure iscsid is started after dracut-cmdline and ready for the initqueue
+- mkdir -p "${initdir}/$systemdsystemunitdir/iscsid.service.d"
+- (
+- echo "[Unit]"
+- echo "After=dracut-cmdline.service"
+- echo "Before=dracut-initqueue.service"
+- ) > "${initdir}/$systemdsystemunitdir/iscsid.service.d/dracut.conf"
+ fi
+ inst_dir /var/lib/iscsi
+ dracut_need_initqueue
+
diff --git a/0010.patch b/0010.patch
new file mode 100644
index 0000000..abb96eb
--- /dev/null
+++ b/0010.patch
@@ -0,0 +1,40 @@
+From 0eef73ea43427cdb82fa031e09978d3cea6e188a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Wed, 24 Oct 2018 15:14:03 +0200
+Subject: [PATCH] Makefile: add srpm target
+
+---
+ Makefile | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 80623437..503d069f 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,7 +40,7 @@ man8pages = dracut.8 \
+
+ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
+
+-.PHONY: install clean archive rpm testimage test all check AUTHORS doc dracut-version.sh
++.PHONY: install clean archive rpm srpm testimage test all check AUTHORS doc dracut-version.sh
+
+ all: dracut-version.sh dracut.pc dracut-install skipcpio/skipcpio
+
+@@ -216,6 +216,17 @@ rpm: dracut-$(VERSION).tar.xz syncheck
+ --define "_rpmdir $$PWD" -ba dracut.spec; ) && \
+ ( mv "$$rpmbuild"/{,$$(arch)/}*.rpm $(DESTDIR).; rm -fr -- "$$rpmbuild"; ls $(DESTDIR)*.rpm )
+
++srpm: dracut-$(VERSION).tar.xz syncheck
++ rpmbuild=$$(mktemp -d -t rpmbuild-dracut.XXXXXX); src=$$(pwd); \
++ cp dracut-$(VERSION).tar.xz "$$rpmbuild"; \
++ LC_MESSAGES=C $$src/git2spec.pl $(VERSION) "$$rpmbuild" < dracut.spec > $$rpmbuild/dracut.spec; \
++ (cd "$$rpmbuild"; \
++ [ -f $$src/lgpl-2.1.txt ] && cp $$src/lgpl-2.1.txt . || wget https://www.gnu.org/licenses/lgpl-2.1.txt; \
++ rpmbuild --define "_topdir $$PWD" --define "_sourcedir $$PWD" \
++ --define "_specdir $$PWD" --define "_srcrpmdir $$PWD" \
++ --define "_rpmdir $$PWD" -bs dracut.spec; ) && \
++ ( mv "$$rpmbuild"/*.src.rpm $(DESTDIR).; rm -fr -- "$$rpmbuild"; ls $(DESTDIR)*.rpm )
++
+ syncheck:
+ @ret=0;for i in dracut-initramfs-restore.sh modules.d/*/*.sh; do \
+ [ "$${i##*/}" = "module-setup.sh" ] && continue; \
diff --git a/dracut.spec b/dracut.spec
index 01d8083..b36312e 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -5,7 +5,7 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
-%define dist_free_release 4.git20181010
+%define dist_free_release 11.git20181024
Name: dracut
Version: 049
@@ -31,6 +31,13 @@ Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar
Patch1: 0001.patch
Patch2: 0002.patch
Patch3: 0003.patch
+Patch4: 0004.patch
+Patch5: 0005.patch
+Patch6: 0006.patch
+Patch7: 0007.patch
+Patch8: 0008.patch
+Patch9: 0009.patch
+Patch10: 0010.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@@ -476,6 +483,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%endif
%changelog
+* Wed Oct 24 2018 Harald Hoyer <harald(a)redhat.com> - 049-11.git20181024
+- git snapshot
+
* Wed Oct 10 2018 Harald Hoyer <harald(a)redhat.com> - 049-4.git20181010
- fixed spec file
- git snapshot
commit 737328c260fa0efbca7b3900f5588523f8e55d82
Author: Harald Hoyer <harald(a)redhat.com>
Date: Wed Oct 10 12:37:42 2018 +0200
dracut - 049-4.git20181010
- fixed spec file
- git snapshot
diff --git a/0001.patch b/0001.patch
new file mode 100644
index 0000000..e7b9b16
--- /dev/null
+++ b/0001.patch
@@ -0,0 +1,42 @@
+From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym(a)gentoo.org>
+Date: Thu, 4 Oct 2018 16:45:47 -0400
+Subject: [PATCH] dracut-install: simplify ldd parsing logic
+
+The previous logic would not handle absolute paths on the left side of
+the "=>" properly. For example, on Gentoo ARM64, ldd outputs this:
+
+ /lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1
+
+At runtime, the kernel tries to load the file from /lib, and fails if we
+only provide it in /lib64.
+
+Instead of looking for the first slash after the "=>", just look for the
+first slash, period. This would fail if we somehow had a relative path
+on the left side (foo/libbar.so), but I'm not aware of any binaries that
+would contain such an entry in DT_NEEDED.
+
+Bug: https://bugs.gentoo.org/667752
+Signed-off-by: Mike Gilbert <floppym(a)gentoo.org>
+---
+ install/dracut-install.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/install/dracut-install.c b/install/dracut-install.c
+index 88bca1d4..5f352b36 100644
+--- a/install/dracut-install.c
++++ b/install/dracut-install.c
+@@ -479,11 +479,7 @@ static int resolve_deps(const char *src)
+ if (strstr(buf, destrootdir))
+ break;
+
+- p = strstr(buf, "=>");
+- if (!p)
+- p = buf;
+-
+- p = strchr(p, '/');
++ p = strchr(buf, '/');
+ if (p) {
+ char *q;
+
+
diff --git a/0002.patch b/0002.patch
new file mode 100644
index 0000000..bed89a4
--- /dev/null
+++ b/0002.patch
@@ -0,0 +1,44 @@
+From f51ab4a81f1fedb9eac31ecd22a3f87db3951650 Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Sat, 29 Sep 2018 17:14:31 +0800
+Subject: [PATCH] dracut.spec: Fix error introduced by 70291ed
+
+70291e0 ('dracut.spec: Add dracut-squash package') introduced a new
+dracut-squash package, but by accident it overrided some other package
+spec and the dependency name is wrong. This patch will fix it.
+---
+ dracut.spec | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 155868ce..0c266192 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -181,7 +181,7 @@ This package contains tools to assemble the local initrd and host configuration.
+ %package squash
+ Summary: dracut module to build an initramfs with most files in a squashfs image
+ Requires: %{name} = %{version}-%{release}
+-Requires: squash-tools
++Requires: squashfs-tools
+
+ %description squash
+ This package provides a dracut module to build an initramfs, but store most files
+@@ -452,14 +452,14 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %doc %{_mandir}/man8/dracut-catimages.8*
+ %endif
+
+-%files squash
+-%{dracutlibdir}/modules.d/99squash
+-
+ %{_bindir}/dracut-catimages
+ %dir /boot/dracut
+ %dir /var/lib/dracut
+ %dir /var/lib/dracut/overlay
+
++%files squash
++%{dracutlibdir}/modules.d/99squash
++
+ %files config-generic
+ %{dracutlibdir}/dracut.conf.d/02-generic-image.conf
+
+
diff --git a/0003.patch b/0003.patch
new file mode 100644
index 0000000..348735a
--- /dev/null
+++ b/0003.patch
@@ -0,0 +1,23 @@
+From db4d6bb42c3e9a2bf7a62d8327cc3c13e5594935 Mon Sep 17 00:00:00 2001
+From: Pedro Monreal <pmgdeb(a)gmail.com>
+Date: Mon, 8 Oct 2018 11:09:11 +0200
+Subject: [PATCH] Added space in Resolving executable dependencies done as in
+ the rest of the messages
+
+---
+ dracut.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index e683a9bc..fb50cfda 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1572,7 +1572,7 @@ if [[ $kernel_only != yes ]]; then
+ dinfo "*** Resolving executable dependencies ***"
+ find "$initdir" -type f -perm /0111 -not -path '*.ko' -print0 \
+ | xargs -r -0 $DRACUT_INSTALL ${initdir:+-D "$initdir"} -R ${DRACUT_FIPS_MODE:+-f} --
+- dinfo "*** Resolving executable dependencies done***"
++ dinfo "*** Resolving executable dependencies done ***"
+ fi
+
+ # Now we are done with lazy resolving, always install dependencies
diff --git a/dracut.spec b/dracut.spec
index 722951c..01d8083 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -5,7 +5,7 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
-%define dist_free_release 1
+%define dist_free_release 4.git20181010
Name: dracut
Version: 049
@@ -28,6 +28,9 @@ URL: https://dracut.wiki.kernel.org/
# Source can be generated by
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};...
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
+Patch1: 0001.patch
+Patch2: 0002.patch
+Patch3: 0003.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@@ -182,7 +185,7 @@ This package contains tools to assemble the local initrd and host configuration.
%package squash
Summary: dracut module to build an initramfs with most files in a squashfs image
Requires: %{name} = %{version}-%{release}
-Requires: squash-tools
+Requires: squashfs-tools
%description squash
This package provides a dracut module to build an initramfs, but store most files
@@ -453,14 +456,14 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%doc %{_mandir}/man8/dracut-catimages.8*
%endif
-%files squash
-%{dracutlibdir}/modules.d/99squash
-
%{_bindir}/dracut-catimages
%dir /boot/dracut
%dir /var/lib/dracut
%dir /var/lib/dracut/overlay
+%files squash
+%{dracutlibdir}/modules.d/99squash
+
%files config-generic
%{dracutlibdir}/dracut.conf.d/02-generic-image.conf
@@ -473,6 +476,10 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%endif
%changelog
+* Wed Oct 10 2018 Harald Hoyer <harald(a)redhat.com> - 049-4.git20181010
+- fixed spec file
+- git snapshot
+
* Mon Oct 08 2018 Harald Hoyer <harald(a)redhat.com> - 049-1
- version 049
commit 1844656c3d8937e7aa743c53869d5498cf8351dd
Author: Harald Hoyer <harald(a)redhat.com>
Date: Mon Oct 8 17:17:14 2018 +0200
new sources
diff --git a/.gitignore b/.gitignore
index 6651693..44cc998 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,4 @@
/dracut-046.tar.xz
/dracut-047.tar.xz
/dracut-048.tar.xz
+/dracut-049.tar.xz
diff --git a/sources b/sources
index 8b9a5ec..9d4179d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (dracut-048.tar.xz) = 73f1ce3df680586c43c096564ed6fa576078270eddcfca4439094d2d83746b630dae2d7c1c4f857b644c62ebf732ce86c885538a09153e5dc020017c08f1b863
+SHA512 (dracut-049.tar.xz) = 85937166adf227b6a47e40b541f171e2e6c6a7950655512870a05566363af3df567d7d5fdea00ef63b3e3dbab229f6d15c8aace5d359348a31ec9ff5da32e523
commit 4454e5464fa91535c23e9acbe467a6eb09b615c5
Author: Harald Hoyer <harald(a)redhat.com>
Date: Mon Oct 8 17:14:50 2018 +0200
dracut - 049-1
- version 049
diff --git a/0001.patch b/0001.patch
deleted file mode 100644
index 668a523..0000000
--- a/0001.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9a9c67d61b1e522a7cb72bfc488f4610b4c5ff0b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Fri, 6 Jul 2018 11:56:23 +0200
-Subject: [PATCH] TEST-30-ISCSI: readd multiple target test
-
----
- test/TEST-30-ISCSI/test.sh | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
-index e667587a..f6cc56d5 100755
---- a/test/TEST-30-ISCSI/test.sh
-+++ b/test/TEST-30-ISCSI/test.sh
-@@ -76,6 +76,13 @@ do_test_run() {
- "rd.iscsi.initiator=$initiator" \
- || return 1
-
-+ run_client "netroot=iscsi target1 target2" \
-+ "root=LABEL=sysroot" \
-+ "ip=dhcp" \
-+ "netroot=iscsi:192.168.51.1::::iqn.2009-06.dracut:target1" \
-+ "netroot=iscsi:192.168.50.1::::iqn.2009-06.dracut:target2" \
-+ "rd.iscsi.initiator=$initiator" \
-+ || return 1
-
- echo "All tests passed [OK]"
- return 0
-
diff --git a/0002.patch b/0002.patch
deleted file mode 100644
index fe2efa4..0000000
--- a/0002.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-From d63a4e285ea7f4c2249dd3b53f4ed2fdd1f0e374 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 12 Jul 2018 15:18:48 +0200
-Subject: [PATCH] TEST-40-NBD: disable for now
-
-nbd is always broken
----
- test/TEST-40-NBD/test.sh | 115 +++++++++++++++++++++++++----------------------
- 1 file changed, 62 insertions(+), 53 deletions(-)
-
-diff --git a/test/TEST-40-NBD/test.sh b/test/TEST-40-NBD/test.sh
-index 4931bb73..12736a15 100755
---- a/test/TEST-40-NBD/test.sh
-+++ b/test/TEST-40-NBD/test.sh
-@@ -8,6 +8,11 @@ KVERSION=${KVERSION-$(uname -r)}
- #DEBUGFAIL="rd.shell rd.break rd.debug systemd.log_target=console loglevel=7 systemd.log_level=debug"
- #SERIAL="tcp:127.0.0.1:9999"
-
-+test_check() {
-+ echo "nbd is constantly broken. skipping"
-+ return 1
-+}
-+
- run_server() {
- # Start server first
- echo "NBD TEST SETUP: Starting DHCP/NBD server"
-@@ -107,76 +112,76 @@ client_run() {
- # The default is ext3,errors=continue so use that to determine
- # if our options were parsed and used
- client_test "NBD root=nbd:IP:port" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw rd.luks=0" || return 1
-+ "root=nbd:192.168.50.1:raw rd.luks=0" || return 1
-
- client_test "NBD root=nbd:IP:port::fsopts" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw::errors=panic rd.luks=0" \
-- ext3 errors=panic || return 1
-+ "root=nbd:192.168.50.1:raw::errors=panic rd.luks=0" \
-+ ext3 errors=panic || return 1
-
- client_test "NBD root=nbd:IP:port:fstype" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:ext2 rd.luks=0" ext2 || return 1
-+ "root=nbd:192.168.50.1:raw:ext2 rd.luks=0" ext2 || return 1
-
- client_test "NBD root=nbd:IP:port:fstype:fsopts" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:ext2:errors=panic rd.luks=0" \
-- ext2 errors=panic || return 1
-+ "root=nbd:192.168.50.1:raw:ext2:errors=panic rd.luks=0" \
-+ ext2 errors=panic || return 1
-
- client_test "NBD Bridge root=nbd:IP:port:fstype:fsopts" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:ext2:errors=panic bridge rd.luks=0" \
-- ext2 errors=panic || return 1
-+ "root=nbd:192.168.50.1:raw:ext2:errors=panic bridge rd.luks=0" \
-+ ext2 errors=panic || return 1
-
-- # There doesn't seem to be a good way to validate the NBD options, so
-- # just check that we don't screw up the other options
-+ # There doesn't seem to be a good way to validate the NBD options, so
-+ # just check that we don't screw up the other options
-
- client_test "NBD root=nbd:IP:port:::NBD opts" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:::bs=2048 rd.luks=0" || return 1
-+ "root=nbd:192.168.50.1:raw:::bs=2048 rd.luks=0" || return 1
-
- client_test "NBD root=nbd:IP:port:fstype::NBD opts" 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:ext2::bs=2048 rd.luks=0" ext2 || return 1
-+ "root=nbd:192.168.50.1:raw:ext2::bs=2048 rd.luks=0" ext2 || return 1
-
- client_test "NBD root=nbd:IP:port:fstype:fsopts:NBD opts" \
-- 52:54:00:12:34:00 \
-- "root=nbd:192.168.50.1:raw:ext2:errors=panic:bs=2048 rd.luks=0" \
-- ext2 errors=panic || return 1
-+ 52:54:00:12:34:00 \
-+ "root=nbd:192.168.50.1:raw:ext2:errors=panic:bs=2048 rd.luks=0" \
-+ ext2 errors=panic || return 1
-
- # DHCP root-path parsing
-
- client_test "NBD root=dhcp DHCP root-path nbd:srv:port" 52:54:00:12:34:01 \
-- "root=dhcp rd.luks=0" || return 1
-+ "root=dhcp rd.luks=0" || return 1
-
- client_test "NBD Bridge root=dhcp DHCP root-path nbd:srv:port" 52:54:00:12:34:01 \
-- "root=dhcp bridge rd.luks=0" || return 1
-+ "root=dhcp bridge rd.luks=0" || return 1
-
- client_test "NBD root=dhcp DHCP root-path nbd:srv:port:fstype" \
-- 52:54:00:12:34:02 "root=dhcp rd.luks=0" ext2 || return 1
-+ 52:54:00:12:34:02 "root=dhcp rd.luks=0" ext2 || return 1
-
- client_test "NBD root=dhcp DHCP root-path nbd:srv:port::fsopts" \
-- 52:54:00:12:34:03 "root=dhcp rd.luks=0" ext3 errors=panic || return 1
-+ 52:54:00:12:34:03 "root=dhcp rd.luks=0" ext3 errors=panic || return 1
-
- client_test "NBD root=dhcp DHCP root-path nbd:srv:port:fstype:fsopts" \
-- 52:54:00:12:34:04 "root=dhcp rd.luks=0" ext2 errors=panic || return 1
-+ 52:54:00:12:34:04 "root=dhcp rd.luks=0" ext2 errors=panic || return 1
-
- # netroot handling
-
- client_test "NBD netroot=nbd:IP:port" 52:54:00:12:34:00 \
-- "netroot=nbd:192.168.50.1:raw rd.luks=0" || return 1
-+ "netroot=nbd:192.168.50.1:raw rd.luks=0" || return 1
-
- client_test "NBD netroot=dhcp DHCP root-path nbd:srv:port:fstype:fsopts" \
-- 52:54:00:12:34:04 "netroot=dhcp rd.luks=0" ext2 errors=panic || return 1
-+ 52:54:00:12:34:04 "netroot=dhcp rd.luks=0" ext2 errors=panic || return 1
-
- # Encrypted root handling via LVM/LUKS over NBD
-
- . $TESTDIR/luks.uuid
-
- client_test "NBD root=LABEL=dracut netroot=nbd:IP:port" \
-- 52:54:00:12:34:00 \
-- "root=LABEL=dracut rd.luks.uuid=$ID_FS_UUID rd.lv.vg=dracut netroot=nbd:192.168.50.1:encrypted" || return 1
-+ 52:54:00:12:34:00 \
-+ "root=LABEL=dracut rd.luks.uuid=$ID_FS_UUID rd.lv.vg=dracut netroot=nbd:192.168.50.1:encrypted" || return 1
-
- # XXX This should be ext2,errors=panic but that doesn't currently
- # XXX work when you have a real root= line in addition to netroot=
- # XXX How we should work here needs clarification
- client_test "NBD root=LABEL=dracut netroot=dhcp (w/ fstype and opts)" \
-- 52:54:00:12:34:05 \
-- "root=LABEL=dracut rd.luks.uuid=$ID_FS_UUID rd.lv.vg=dracut netroot=dhcp" || return 1
-+ 52:54:00:12:34:05 \
-+ "root=LABEL=dracut rd.luks.uuid=$ID_FS_UUID rd.lv.vg=dracut netroot=dhcp" || return 1
-
- if [[ -s server.pid ]]; then
- sudo kill -TERM $(cat $TESTDIR/server.pid)
-@@ -197,14 +202,15 @@ make_encrypted_root() {
- . $basedir/dracut-init.sh
- mkdir -p "$initdir"
- (
-- cd "$initdir"; mkdir -p dev sys proc etc var/run tmp
-- mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin
-+ cd "$initdir"
-+ mkdir -p dev sys proc etc var tmp run root usr/bin usr/lib usr/lib64 usr/sbin
- for i in bin sbin lib lib64; do
- ln -sfnr usr/$i $i
- done
-+ ln -s ../run var/run
- )
- inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \
-- mount dmesg mkdir cp ping
-+ mount dmesg mkdir cp ping
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
-@@ -221,11 +227,12 @@ make_encrypted_root() {
- export initdir=$TESTDIR/overlay
- . $basedir/dracut-init.sh
- (
-- cd "$initdir"; mkdir -p dev sys proc etc var/run tmp
-- mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin
-+ cd "$initdir"
-+ mkdir -p dev sys proc etc tmp var run root usr/bin usr/lib usr/lib64 usr/sbin
- for i in bin sbin lib lib64; do
- ln -sfnr usr/$i $i
- done
-+ ln -s ../run var/run
- )
- inst_multiple mke2fs poweroff cp umount tune2fs
- inst_hook shutdown-emergency 000 ./hard-off.sh
-@@ -239,10 +246,10 @@ make_encrypted_root() {
- # We do it this way so that we do not risk trashing the host mdraid
- # devices, volume groups, encrypted partitions, etc.
- $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-- -m "dash crypt lvm mdraid udev-rules base rootfs-block fs-lib kernel-modules" \
-- -d "piix ide-gd_mod ata_piix ext2 ext3 sd_mod" \
-- --no-hostonly-cmdline -N \
-- -f $TESTDIR/initramfs.makeroot $KVERSION || return 1
-+ -m "dash crypt lvm mdraid udev-rules base rootfs-block fs-lib kernel-modules" \
-+ -d "piix ide-gd_mod ata_piix ext2 ext3 sd_mod" \
-+ --no-hostonly-cmdline -N \
-+ -f $TESTDIR/initramfs.makeroot $KVERSION || return 1
- rm -rf -- $TESTDIR/overlay
-
- # Invoke KVM and/or QEMU to actually create the target filesystem.
-@@ -269,14 +276,15 @@ make_client_root() {
- . $basedir/dracut-init.sh
- mkdir -p "$initdir"
- (
-- cd "$initdir"; mkdir -p dev sys proc etc var/run tmp
-- mkdir -p root usr/bin usr/lib usr/lib64 usr/sbin
-+ cd "$initdir"
-+ mkdir -p dev sys proc etc var tmp run root usr/bin usr/lib usr/lib64 usr/sbin
- for i in bin sbin lib lib64; do
- ln -sfnr usr/$i $i
- done
-+ ln -s ../run var/run
- )
- inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
-- dmesg mkdir cp ping
-+ dmesg mkdir cp ping
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
-@@ -311,7 +319,8 @@ make_server_root() {
- mkdir -p "$initdir"
- (
- cd "$initdir";
-- mkdir -p dev sys proc etc var/run var/lib/dhcpd tmp etc/nbd-server
-+ mkdir -p run dev sys proc etc var var/lib/dhcpd tmp etc/nbd-server
-+ ln -s ../run var/run
- )
- cat > "$initdir/etc/nbd-server/config" <<EOF
- [generic]
-@@ -323,8 +332,8 @@ exportname = /dev/sdc
- port = 2001
- EOF
- inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
-- dmesg mkdir cp ping grep \
-- sleep nbd-server chmod modprobe vi
-+ dmesg mkdir cp ping grep \
-+ sleep nbd-server chmod modprobe vi
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
-@@ -369,9 +378,9 @@ test_setup() {
- inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
- inst ./cryptroot-ask.sh /sbin/cryptroot-ask
-
--# inst ./debug-shell.service /lib/systemd/system/debug-shell.service
--# mkdir -p "${initdir}/lib/systemd/system/sysinit.target.wants"
--# ln -fs ../debug-shell.service "${initdir}/lib/systemd/system/sysinit.target.wants/debug-shell.service"
-+ # inst ./debug-shell.service /lib/systemd/system/debug-shell.service
-+ # mkdir -p "${initdir}/lib/systemd/system/sysinit.target.wants"
-+ # ln -fs ../debug-shell.service "${initdir}/lib/systemd/system/sysinit.target.wants/debug-shell.service"
-
- . $TESTDIR/luks.uuid
- mkdir -p $initdir/etc
-@@ -380,17 +389,17 @@ test_setup() {
- )
-
- sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-- -m "dash udev-rules rootfs-block fs-lib base debug kernel-modules" \
-- -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000" \
-- --no-hostonly-cmdline -N \
-- -f $TESTDIR/initramfs.server $KVERSION || return 1
-+ -m "dash udev-rules rootfs-block fs-lib base debug kernel-modules" \
-+ -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000" \
-+ --no-hostonly-cmdline -N \
-+ -f $TESTDIR/initramfs.server $KVERSION || return 1
-
- sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
-- -o "plymouth" \
-- -a "debug watchdog" \
-- -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000 i6300esb ib700wdt" \
-- --no-hostonly-cmdline -N \
-- -f $TESTDIR/initramfs.testing $KVERSION || return 1
-+ -o "plymouth" \
-+ -a "debug watchdog" \
-+ -d "af_packet piix ide-gd_mod ata_piix ext2 ext3 sd_mod e1000 i6300esb ib700wdt" \
-+ --no-hostonly-cmdline -N \
-+ -f $TESTDIR/initramfs.testing $KVERSION || return 1
- }
-
- kill_server() {
-
diff --git a/0003.patch b/0003.patch
deleted file mode 100644
index 49af4dd..0000000
--- a/0003.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-From 1caaeaae1ecbaadf69e3ac90d77a5da5a9d250b1 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 12 Jul 2018 15:19:17 +0200
-Subject: [PATCH] modules.d/95fcoe/cleanup-fcoe.sh: chmod +x
-
----
- modules.d/95fcoe/cleanup-fcoe.sh | 0
- 1 file changed, 0 insertions(+), 0 deletions(-)
-
-diff --git a/modules.d/95fcoe/cleanup-fcoe.sh b/modules.d/95fcoe/cleanup-fcoe.sh
-old mode 100644
-new mode 100755
-
diff --git a/0004.patch b/0004.patch
deleted file mode 100644
index c25a352..0000000
--- a/0004.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 7047294617bbdd3ffb2466c73db56fda4e6156db Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Tue, 17 Jul 2018 17:16:07 +0800
-Subject: [PATCH] Record loaded kernel modules when hostonly mode is enabled
-
-A hostonly image will not include every possibly required kernel module,
-so if any hardware or configuration changed, the image may fail to boot.
-
-One way to know if there are any hardware change or configuration change
-that will require an image rebuild or not is to check the loaded kernel
-module list. If the loaded kernel module list differs from last build
-time, then the image may require to be rebuilt.
-
-This commit will let dracut record the loaded kernel module list when
-the image is being built, so other tools or services can compare this
-list with currently loaded kernel modules to decide if dracut should be
-called to rebuild the image.
-
-To retrieve the loaded kernel modules list when an image is built, use
-lsinitrd command:
-
-lsinitrd $image -f */lib/dracut/loaded-kernel-modules.txt
----
- dracut-functions.sh | 11 +++++++++++
- dracut.sh | 3 +++
- 2 files changed, 14 insertions(+)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index ccc48971..7c408f83 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -676,6 +676,17 @@ get_ucode_file ()
- fi
- }
-
-+# Get currently loaded modules
-+# sorted, and delimited by newline
-+get_loaded_kernel_modules ()
-+{
-+ local modules=( )
-+ while read _module _size _used _used_by; do
-+ modules+=( "$_module" )
-+ done <<< $(lsmod | sed -n '1!p')
-+ printf '%s\n' "${modules[@]}" | sort
-+}
-+
- # Not every device in /dev/mapper should be examined.
- # If it is an LVM device, touch only devices which have /dev/VG/LV symlink.
- lvm_internal_dev() {
-diff --git a/dracut.sh b/dracut.sh
-index cfa4abde..6614d27d 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1492,6 +1492,9 @@ dinfo "*** Including modules done ***"
-
- ## final stuff that has to happen
- if [[ $no_kernel != yes ]]; then
-+ if [[ $hostonly ]]; then
-+ echo "$(get_loaded_kernel_modules)" > $initdir/lib/dracut/loaded-kernel-modules.txt
-+ fi
-
- if [[ $drivers ]]; then
- hostonly='' instmods $drivers
-
diff --git a/0005.patch b/0005.patch
deleted file mode 100644
index 9e131e9..0000000
--- a/0005.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From e331e06a3910ef3fe6837f3e93a48123a7cc822b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Wed, 18 Jul 2018 12:41:01 +0200
-Subject: [PATCH] dracut-install: skip modules with empty path
-
-if kmod_module_get_path(module) returns NULL, skip the module
----
- install/dracut-install.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/install/dracut-install.c b/install/dracut-install.c
-index 001225b4..88bca1d4 100644
---- a/install/dracut-install.c
-+++ b/install/dracut-install.c
-@@ -1244,7 +1244,7 @@ static int install_dependent_modules(struct kmod_list *modlist)
- path = kmod_module_get_path(mod);
-
- name = kmod_module_get_name(mod);
-- if (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0)) {
-+ if ((path == NULL) || (arg_mod_filter_noname && (regexec(&mod_filter_noname, name, 0, NULL, 0) == 0))) {
- kmod_module_unref(mod);
- continue;
- }
-
diff --git a/0006.patch b/0006.patch
deleted file mode 100644
index 5149e18..0000000
--- a/0006.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From a0eadcdc644d571da58f718d73dacb4f68bef56b Mon Sep 17 00:00:00 2001
-From: Hannes Reinecke <hare(a)suse.de>
-Date: Thu, 5 Dec 2013 09:29:28 +0100
-Subject: [PATCH] 00warpclock: Set correct timezone
-
-Add module for setting correct timezone.
-
-References: bnc#830060
-
-For now, this module will not be included automatically due to different
-expectations (see e.g. https://bugzilla.redhat.com/show_bug.cgi?id=981617)
-
-Signed-off-by: Hannes Reinecke <hare(a)suse.de>
-Signed-off-by: Daniel Molkentin <daniel.molkentin(a)suse.com>
----
- modules.d/00warpclock/module-setup.sh | 29 +++++++++++++++++++++++++++++
- modules.d/00warpclock/warpclock.sh | 9 +++++++++
- 2 files changed, 38 insertions(+)
-
-diff --git a/modules.d/00warpclock/module-setup.sh b/modules.d/00warpclock/module-setup.sh
-new file mode 100644
-index 00000000..ea1348ed
---- /dev/null
-+++ b/modules.d/00warpclock/module-setup.sh
-@@ -0,0 +1,29 @@
-+#!/bin/bash
-+# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-+# ex: ts=8 sw=4 sts=4 et filetype=sh
-+
-+# called by dracut
-+check() {
-+ # hwclock does not exist on S390(x), bail out silently then
-+ local _arch=$(uname -m)
-+ [ "$_arch" = "s390" -o "$_arch" = "s390x" ] && return 1
-+
-+ [ -e /etc/localtime -a -e /etc/adjtime ] || return 1
-+ require_binaries /sbin/hwclock || return 1
-+
-+ return 255
-+}
-+
-+# called by dracut
-+depends() {
-+ return 0
-+}
-+
-+# called by dracut
-+install() {
-+ inst /usr/share/zoneinfo/UTC
-+ inst /etc/localtime
-+ inst /etc/adjtime
-+ inst_hook pre-trigger 00 "$moddir/warpclock.sh"
-+ inst /sbin/hwclock
-+}
-diff --git a/modules.d/00warpclock/warpclock.sh b/modules.d/00warpclock/warpclock.sh
-new file mode 100644
-index 00000000..f64818c6
---- /dev/null
-+++ b/modules.d/00warpclock/warpclock.sh
-@@ -0,0 +1,9 @@
-+#!/bin/sh
-+
-+if test -e /etc/adjtime ; then
-+ while read line ; do
-+ if test "$line" = LOCAL ; then
-+ hwclock --systz
-+ fi
-+ done < /etc/adjtime
-+fi
-
diff --git a/0007.patch b/0007.patch
deleted file mode 100644
index a5cb8df..0000000
--- a/0007.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From aac3a0652adc2b200d5b8fedfbce99cfde88b525 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 26 Jul 2018 09:54:13 +0200
-Subject: [PATCH] NEWS: forgot to update the latest version
-
----
- NEWS | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/NEWS b/NEWS
-index 2de38ad7..60b430aa 100644
---- a/NEWS
-+++ b/NEWS
-@@ -1,4 +1,4 @@
--dracut-047
-+dracut-048
- ==========
-
- dracut.sh:
-
diff --git a/0008.patch b/0008.patch
deleted file mode 100644
index 41df023..0000000
--- a/0008.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From f81c864eede2a11bfeb849cb2a2634be034ed7fb Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Wed, 25 Jul 2018 16:34:08 +0800
-Subject: [PATCH] lsinitrd: allow to only unpack certain files
-
-Before this patch, "--unpack" will always unpack the whole image.
-Make "--unpack" be able to unpack only certain files, it will be
-easier to retrieve files from initramfs image.
-
-Signed-off-by: Kairui Song <kasong(a)redhat.com>
----
- lsinitrd.sh | 16 +++++++++++++---
- 1 file changed, 13 insertions(+), 3 deletions(-)
-
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index 80fbf922..1b9a93b6 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -159,8 +159,15 @@ list_files()
-
- unpack_files()
- {
-- $CAT "$image" 2>/dev/null | cpio -id --quiet $verbose
-- ((ret+=$?))
-+ if (( ${#filenames[@]} > 0 )); then
-+ for f in "${!filenames[@]}"; do
-+ $CAT "$image" 2>/dev/null | cpio -id --quiet $verbose $f
-+ ((ret+=$?))
-+ done
-+ else
-+ $CAT "$image" 2>/dev/null | cpio -id --quiet $verbose
-+ ((ret+=$?))
-+ fi
- }
-
-
-@@ -175,7 +182,10 @@ case $bin in
- CAT="cat --"
- is_early=$(cpio --extract --verbose --quiet --to-stdout -- 'early_cpio' < "$image" 2>/dev/null)
- if [[ "$is_early" ]]; then
-- if [[ -n "$unpackearly" ]]; then
-+ if [[ -n "$unpack" ]]; then
-+ # should use --unpackearly for early CPIO
-+ :
-+ elif [[ -n "$unpackearly" ]]; then
- unpack_files
- elif (( ${#filenames[@]} > 0 )); then
- extract_files
-
diff --git a/0009.patch b/0009.patch
deleted file mode 100644
index e1fcd0b..0000000
--- a/0009.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 986b12d391b8de6c820da1af9bfdb4153c340370 Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Wed, 25 Jul 2018 16:47:37 +0800
-Subject: [PATCH] lsinitrd: optimize performance when handling multiple files
-
-Currently, when trying to unpack or print the content of multiple
-files, lsinitrd will decompress the image and pipe the decompressed
-content to cpio to retrive each file if the image is compressed.
-Which mean if we want to extract 10 files the image will be decompressed
-10 times, which is a waste of time.
-
-This patch will let lsinitrd decompress the image file to a temp file
-first if multiple file names are given, then cpio will read from the
-decompressed temp file, which will speed up a lot.
-
-Time consumption test for command:
-`lsinitrd initramfs-4.16.15-300.fc28.x86_64.img \
- usr/lib/dracut/build-parameter.txt \
- usr/lib/dracut/modules.txt \
- etc/machine-id \
- etc/hostname \
- usr/lib/udev/rules.d/99-systemd.rules`
-
-Before the patch:
-2.37user 0.33system 0:02.12elapsed
-
-After the patch:
-0.50user 0.42system 0:00.72elapsed
-
-There would be a more significant time difference if we try to
-extract more files.
----
- lsinitrd.sh | 11 +++++++++++
- 1 file changed, 11 insertions(+)
-
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index 1b9a93b6..0cb89e9c 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -251,6 +251,17 @@ if [[ $SKIP ]]; then
- CAT=skipcpio
- fi
-
-+if (( ${#filenames[@]} > 1 )); then
-+ TMPFILE="$(mktemp -t --suffix=.cpio lsinitrd.XXXXXX)"
-+ $CAT "$image" 2>/dev/null > $TMPFILE
-+ trap "rm -f '$TMPFILE'" EXIT
-+ pre_decompress()
-+ {
-+ cat $TMPFILE
-+ }
-+ CAT=pre_decompress
-+fi
-+
- ret=0
-
- if [[ -n "$unpack" ]]; then
-
diff --git a/0010.patch b/0010.patch
deleted file mode 100644
index 018a9a4..0000000
--- a/0010.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 143420bc05079ffa040a63decbb2585c59e44011 Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Wed, 25 Jul 2018 23:50:47 +0800
-Subject: [PATCH] lsinitrd: update help message and man page
-
-Signed-off-by: Kairui Song <kasong(a)redhat.com>
----
- lsinitrd.1.asc | 6 ++++++
- lsinitrd.sh | 3 +++
- 2 files changed, 9 insertions(+)
-
-diff --git a/lsinitrd.1.asc b/lsinitrd.1.asc
-index b6a704c2..193a4471 100644
---- a/lsinitrd.1.asc
-+++ b/lsinitrd.1.asc
-@@ -34,11 +34,17 @@ OPTIONS
- **-k, --kver**_<kernel version>_::
- inspect the initramfs of <kernel version>.
-
-+**-m, --mod**::
-+ list dracut modules included of the initramfs image.
-+
- **--unpack**::
- unpack the initramfs to the current directory, instead of displaying the contents.
-+ If optional filenames are given, will only unpack specified files, else the whole image will be unpacked.
-+ Won't unpack anything from early cpio part.
-
- **--unpackearly**::
- unpack the early microcode initramfs to the current directory, instead of displaying the contents.
-+ Same as --unpack, but only unpack files from early cpio part.
-
- **-v, --verbose**::
- unpack verbosely
-diff --git a/lsinitrd.sh b/lsinitrd.sh
-index 0cb89e9c..a2fa4d7a 100755
---- a/lsinitrd.sh
-+++ b/lsinitrd.sh
-@@ -28,7 +28,10 @@ usage()
- echo "-m, --mod list modules."
- echo "-f, --file <filename> print the contents of <filename>."
- echo "--unpack unpack the initramfs, instead of displaying the contents."
-+ echo " If optional filenames are given, will only unpack specified files,"
-+ echo " else the whole image will be unpacked. Won't unpack anything from early cpio part."
- echo "--unpackearly unpack the early microcode part of the initramfs."
-+ echo " Same as --unpack, but only unpack files from early cpio part."
- echo "-v, --verbose unpack verbosely."
- echo "-k, --kver <kernel version> inspect the initramfs of <kernel version>."
- echo
-
diff --git a/0011.patch b/0011.patch
deleted file mode 100644
index 3b0f9c6..0000000
--- a/0011.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-From 819ea3865161d440353b2f961f3dfeaabeed333d Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 26 Jul 2018 12:49:45 +0200
-Subject: [PATCH] Bring back 51-dracut-rescue-postinst.sh
-
-can only be obsoleted after F30
----
- 51-dracut-rescue-postinst.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++
- dracut.spec | 6 ++++
- 2 files changed, 74 insertions(+)
-
-diff --git a/51-dracut-rescue-postinst.sh b/51-dracut-rescue-postinst.sh
-new file mode 100755
-index 00000000..67f5b717
---- /dev/null
-+++ b/51-dracut-rescue-postinst.sh
-@@ -0,0 +1,68 @@
-+#!/bin/bash
-+
-+export LANG=C
-+
-+KERNEL_VERSION="$1"
-+KERNEL_IMAGE="$2"
-+
-+[[ -f /etc/os-release ]] && . /etc/os-release
-+
-+if [[ ! -f /etc/machine-id ]] || [[ ! -s /etc/machine-id ]]; then
-+ systemd-machine-id-setup
-+fi
-+
-+[[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
-+
-+[[ $MACHINE_ID ]] || exit 1
-+[[ -f $KERNEL_IMAGE ]] || exit 1
-+
-+INITRDFILE="/boot/initramfs-0-rescue-${MACHINE_ID}.img"
-+NEW_KERNEL_IMAGE="${KERNEL_IMAGE%/*}/vmlinuz-0-rescue-${MACHINE_ID}"
-+
-+[[ -f $INITRDFILE ]] && [[ -f $NEW_KERNEL_IMAGE ]] && exit 0
-+
-+dropindirs_sort()
-+{
-+ suffix=$1; shift
-+ args=("$@")
-+ files=$(
-+ while (( $# > 0 )); do
-+ for i in ${1}/*${suffix}; do
-+ [[ -f $i ]] && echo ${i##*/}
-+ done
-+ shift
-+ done | sort -Vu
-+ )
-+
-+ for f in $files; do
-+ for d in "${args[@]}"; do
-+ if [[ -f "$d/$f" ]]; then
-+ echo "$d/$f"
-+ continue 2
-+ fi
-+ done
-+ done
-+}
-+
-+# source our config dir
-+for f in $(dropindirs_sort ".conf" "/etc/dracut.conf.d" "/usr/lib/dracut/dracut.conf.d"); do
-+ [[ -e $f ]] && . "$f"
-+done
-+
-+[[ $dracut_rescue_image != "yes" ]] && exit 0
-+
-+if [[ ! -f $INITRDFILE ]]; then
-+ dracut --no-hostonly -a "rescue" "$INITRDFILE" "$KERNEL_VERSION"
-+ ((ret+=$?))
-+fi
-+
-+if [[ ! -f $NEW_KERNEL_IMAGE ]]; then
-+ cp --reflink=auto "$KERNEL_IMAGE" "$NEW_KERNEL_IMAGE"
-+ ((ret+=$?))
-+fi
-+
-+new-kernel-pkg --install "$KERNEL_VERSION" --kernel-image "$NEW_KERNEL_IMAGE" --initrdfile "$INITRDFILE" --banner "$NAME $VERSION_ID Rescue $MACHINE_ID"
-+
-+((ret+=$?))
-+
-+exit $ret
-diff --git a/dracut.spec b/dracut.spec
-index c218b63d..10cd7839 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -259,6 +259,10 @@ rm -f -- $RPM_BUILD_ROOT%{_bindir}/lsinitrd
- %if 0%{?fedora} || 0%{?rhel}
- echo 'hostonly="no"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-generic-image.conf
- echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/02-rescue.conf
-+
-+# FIXME: remove after F30
-+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d
-+install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
- %endif
-
- %files
-@@ -452,6 +456,8 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
- %{dracutlibdir}/dracut.conf.d/02-rescue.conf
- %if 0%{?fedora} || 0%{?rhel}
- %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
-+# FIXME: remove after F30
-+%{_sysconfdir}/kernel/postinst.d/51-dracut-rescue-postinst.sh
- %endif
-
- %changelog
-
diff --git a/0012.patch b/0012.patch
deleted file mode 100644
index 4d98cd6..0000000
--- a/0012.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 25111d717eab662bd104295f034ed7d2d6cc606b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 26 Jul 2018 13:00:24 +0200
-Subject: [PATCH] dracut.spec: add 00warpclock dracut module
-
----
- dracut.spec | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/dracut.spec b/dracut.spec
-index 10cd7839..754ed3c9 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -317,6 +317,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %endif
- %{dracutlibdir}/modules.d/00bash
- %{dracutlibdir}/modules.d/00systemd
-+%{dracutlibdir}/modules.d/00warpclock
- %{dracutlibdir}/modules.d/01systemd-initrd
- %{dracutlibdir}/modules.d/03modsign
- %{dracutlibdir}/modules.d/03rescue
-
diff --git a/0013.patch b/0013.patch
deleted file mode 100644
index 05d76aa..0000000
--- a/0013.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 55a12055c511979be0a471d0d7c24c040b830887 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 26 Jul 2018 13:04:20 +0200
-Subject: [PATCH] dracut.spec: Remove needless use of %defattr
-
----
- dracut.spec | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index 754ed3c9..9b9d497a 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -266,7 +266,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %endif
-
- %files
--%defattr(-,root,root,0755)
- %if %{with doc}
- %doc README HACKING TODO AUTHORS NEWS dracut.html dracut.png dracut.svg
- %endif
-@@ -407,7 +406,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %endif
-
- %files network
--%defattr(-,root,root,0755)
- %{dracutlibdir}/modules.d/02systemd-networkd
- %{dracutlibdir}/modules.d/40network
- %{dracutlibdir}/modules.d/45ifcfg
-@@ -426,18 +424,15 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %{dracutlibdir}/modules.d/99uefi-lib
-
- %files caps
--%defattr(-,root,root,0755)
- %{dracutlibdir}/modules.d/02caps
-
- %files live
--%defattr(-,root,root,0755)
- %{dracutlibdir}/modules.d/99img-lib
- %{dracutlibdir}/modules.d/90dmsquash-live
- %{dracutlibdir}/modules.d/90dmsquash-live-ntfs
- %{dracutlibdir}/modules.d/90livenet
-
- %files tools
--%defattr(-,root,root,0755)
-
- %if %{with doc}
- %doc %{_mandir}/man8/dracut-catimages.8*
-@@ -449,11 +444,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %dir /var/lib/dracut/overlay
-
- %files config-generic
--%defattr(-,root,root,0755)
- %{dracutlibdir}/dracut.conf.d/02-generic-image.conf
-
- %files config-rescue
--%defattr(-,root,root,0755)
- %{dracutlibdir}/dracut.conf.d/02-rescue.conf
- %if 0%{?fedora} || 0%{?rhel}
- %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
-
diff --git a/0014.patch b/0014.patch
deleted file mode 100644
index 2f8ea48..0000000
--- a/0014.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 33782aebbffa005415e1a03deeae837d8cf5665e Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github(a)gmail.com>
-Date: Mon, 30 Jul 2018 02:26:01 +0900
-Subject: [PATCH] spec: warpclock is not available on s390 or s390x
-
----
- dracut.spec | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/dracut.spec b/dracut.spec
-index 9b9d497a..ce69fa1f 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -224,6 +224,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
-
- %ifnarch s390 s390x
- # remove architecture specific modules
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
-@@ -316,7 +317,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %endif
- %{dracutlibdir}/modules.d/00bash
- %{dracutlibdir}/modules.d/00systemd
-+%ifnarch s390 s390x
- %{dracutlibdir}/modules.d/00warpclock
-+%endif
- %{dracutlibdir}/modules.d/01systemd-initrd
- %{dracutlibdir}/modules.d/03modsign
- %{dracutlibdir}/modules.d/03rescue
-
diff --git a/0015.patch b/0015.patch
deleted file mode 100644
index 25b6599..0000000
--- a/0015.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From be98291cafa1080ed18a976c6452ae2be1c7c747 Mon Sep 17 00:00:00 2001
-From: Yu Watanabe <watanabe.yu+github(a)gmail.com>
-Date: Mon, 30 Jul 2018 02:26:48 +0900
-Subject: [PATCH] spec: sort modules
-
-Also drops remaining %defattr.
----
- dracut.spec | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index ce69fa1f..d24c6f36 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -320,6 +320,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %ifnarch s390 s390x
- %{dracutlibdir}/modules.d/00warpclock
- %endif
-+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
-+%{dracutlibdir}/modules.d/01fips
-+%endif
- %{dracutlibdir}/modules.d/01systemd-initrd
- %{dracutlibdir}/modules.d/03modsign
- %{dracutlibdir}/modules.d/03rescue
-@@ -403,11 +406,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %{_prefix}/lib/kernel/install.d/50-dracut.install
- %endif
-
--%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
--%defattr(-,root,root,0755)
--%{dracutlibdir}/modules.d/01fips
--%endif
--
- %files network
- %{dracutlibdir}/modules.d/02systemd-networkd
- %{dracutlibdir}/modules.d/40network
-@@ -436,7 +434,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %{dracutlibdir}/modules.d/90livenet
-
- %files tools
--
- %if %{with doc}
- %doc %{_mandir}/man8/dracut-catimages.8*
- %endif
-
diff --git a/0016.patch b/0016.patch
deleted file mode 100644
index 7b6e41d..0000000
--- a/0016.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 99df3d22be14690260371311086a439c83fdc6b4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 2 Aug 2018 16:32:41 +0200
-Subject: [PATCH] mdraid/parse-md.sh: also accept rd.md.uuid with ":"
-
-convert rd.md.uuid=32ef2172:f056:6fa7:66a8:2f7fc8b1798
-to udev rules in the correct UUID format 32ef2172-f056-6fa7-66a8-2f7fcf8b1798
----
- modules.d/90mdraid/parse-md.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
-index c422b24e..428f9515 100755
---- a/modules.d/90mdraid/parse-md.sh
-+++ b/modules.d/90mdraid/parse-md.sh
-@@ -14,6 +14,9 @@ else
- if [ "${line%%UUID CHECK}" != "$line" ]; then
- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
- for uuid in $MD_UUID; do
-+ uuid=$(str_replace "$uuid" "-" "")
-+ uuid=$(str_replace "$uuid" ":" "")
-+ uuid="$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
- printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
- done;
-@@ -29,6 +32,7 @@ else
- if strstr "$uuid" "-"; then
- # convert ID_FS_UUID to MD_UUID format
- uuid=$(str_replace "$uuid" "-" "")
-+ uuid=$(str_replace "$uuid" ":" "")
- uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
- fi
- wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}"
-
diff --git a/0017.patch b/0017.patch
deleted file mode 100644
index 1e9e238..0000000
--- a/0017.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From a0c915b1e4585ccf286dd38a5cd7d8b89e0346c5 Mon Sep 17 00:00:00 2001
-From: Nicolas Chauvet <kwizart(a)gmail.com>
-Date: Fri, 3 Aug 2018 23:39:51 +0200
-Subject: [PATCH] Add gpio and pinctrl drivers for arm*/aarch64
-
-This is needed since few gpio/pinctrl can be built as modules and are
-useful on early boot.
-
-One example is jetson-tx1 where sata and external mmc can work only
-after loading pinctrl-max77620 and gpio-max77620 modules.
-
-Having theses kind of drivers bundled into the initramfs will also
-avoid some deferred probes.
-
-V2: add pinctrl for all arches
-
-Signed-off-by: Nicolas Chauvet <kwizart(a)gmail.com>
----
- modules.d/90kernel-modules/module-setup.sh | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
-index 89b33ce6..f01470e7 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -25,7 +25,7 @@ installkernel() {
- ohci-hcd ohci-pci \
- uhci-hcd \
- xhci-hcd xhci-pci xhci-plat-hcd \
-- pinctrl-cherryview \
-+ "=drivers/pinctrl" \
- ${NULL}
-
- hostonly=$(optional_hostonly) instmods \
-@@ -50,6 +50,7 @@ installkernel() {
- "=drivers/clk" \
- "=drivers/dma" \
- "=drivers/extcon" \
-+ "=drivers/gpio" \
- "=drivers/hwspinlock" \
- "=drivers/i2c/busses" \
- "=drivers/mfd" \
-
diff --git a/0018.patch b/0018.patch
deleted file mode 100644
index 2627700..0000000
--- a/0018.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From a762dedb60aef8f43a625e1e3c10c97664f1d74a Mon Sep 17 00:00:00 2001
-From: Lukas Nykryn <lnykryn(a)redhat.com>
-Date: Thu, 9 Aug 2018 12:14:20 +0200
-Subject: [PATCH] dracut-functions: fix the word splitting
-
----
- dracut-functions.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut-functions.sh b/dracut-functions.sh
-index 7c408f83..1431dd18 100755
---- a/dracut-functions.sh
-+++ b/dracut-functions.sh
-@@ -683,7 +683,7 @@ get_loaded_kernel_modules ()
- local modules=( )
- while read _module _size _used _used_by; do
- modules+=( "$_module" )
-- done <<< $(lsmod | sed -n '1!p')
-+ done <<< "$(lsmod | sed -n '1!p')"
- printf '%s\n' "${modules[@]}" | sort
- }
-
-
diff --git a/0019.patch b/0019.patch
deleted file mode 100644
index 2b299e8..0000000
--- a/0019.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 746135dd1ebc8dc7e26132bfa14ac159db7b2b95 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 13 Aug 2018 10:01:36 +0200
-Subject: [PATCH] mdraid: better handling of various UUID formats
-
----
- modules.d/90mdraid/mdraid_start.sh | 4 ++++
- modules.d/90mdraid/parse-md.sh | 19 ++++++++-----------
- 2 files changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/modules.d/90mdraid/mdraid_start.sh b/modules.d/90mdraid/mdraid_start.sh
-index 2f5daff1..77e843d7 100755
---- a/modules.d/90mdraid/mdraid_start.sh
-+++ b/modules.d/90mdraid/mdraid_start.sh
-@@ -39,6 +39,9 @@ _md_force_run() {
- _offroot=$(strstr "$(mdadm --help-options 2>&1)" offroot && echo --offroot)
-
- if [ -n "$_MD_UUID" ]; then
-+ _MD_UUID=$(str_replace "$_MD_UUID" "-" "")
-+ _MD_UUID=$(str_replace "$_MD_UUID" ":" "")
-+
- for _md in /dev/md[0-9_]*; do
- [ -b "$_md" ] || continue
- _UUID=$(
-@@ -50,6 +53,7 @@ _md_force_run() {
- )
-
- [ -z "$_UUID" ] && continue
-+ _UUID=$(str_replace "$_UUID" ":" "")
-
- # check if we should handle this device
- strstr " $_MD_UUID " " $_UUID " || continue
-diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
-index 428f9515..4d9baa52 100755
---- a/modules.d/90mdraid/parse-md.sh
-+++ b/modules.d/90mdraid/parse-md.sh
-@@ -1,6 +1,9 @@
- #!/bin/sh
-
- MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
-+# normalize the uuid
-+MD_UUID=$(str_replace "$MD_UUID" "-" "")
-+MD_UUID=$(str_replace "$MD_UUID" ":" "")
-
- if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
- info "rd.md=0: removing MD RAID activation"
-@@ -12,13 +15,12 @@ else
- [ -e "$f" ] || continue
- while read line || [ -n "$line" ]; do
- if [ "${line%%UUID CHECK}" != "$line" ]; then
-+ for uuid in $MD_UUID; do
-+ printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
-+ done;
- printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
- for uuid in $MD_UUID; do
-- uuid=$(str_replace "$uuid" "-" "")
-- uuid=$(str_replace "$uuid" ":" "")
-- uuid="$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
-- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
-- printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
-+ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
- done;
- printf 'GOTO="md_end"\n'
- printf 'LABEL="md_uuid_ok"\n'
-@@ -29,12 +31,7 @@ else
- mv "${f}.new" "$f"
- done
- for uuid in $MD_UUID; do
-- if strstr "$uuid" "-"; then
-- # convert ID_FS_UUID to MD_UUID format
-- uuid=$(str_replace "$uuid" "-" "")
-- uuid=$(str_replace "$uuid" ":" "")
-- uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
-- fi
-+ uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
- wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}"
- done
- fi
-
diff --git a/0020.patch b/0020.patch
deleted file mode 100644
index 25ea3d5..0000000
--- a/0020.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 6f0500ed4afa29ae8edc997933d598bc5862b4ce Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 13 Aug 2018 10:56:53 +0200
-Subject: [PATCH] iscsi: remove $() where it does not fit
-
-also simplify iscsiadm command to one call
----
- modules.d/95iscsi/iscsiroot.sh | 33 ++++++++++++++++++---------------
- 1 file changed, 18 insertions(+), 15 deletions(-)
-
-diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
-index 5ac0ad9a..76c8b3fe 100755
---- a/modules.d/95iscsi/iscsiroot.sh
-+++ b/modules.d/95iscsi/iscsiroot.sh
-@@ -109,7 +109,7 @@ handle_netroot()
- arg=$(getarg rd.iscsi.in.password -d iscsi_in_password=)
- [ -n "$arg" ] && iscsi_in_password=$arg
- for p in $(getargs rd.iscsi.param -d iscsi_param); do
-- iscsi_param="$iscsi_param $p"
-+ iscsi_param="$iscsi_param $p"
- done
-
- parse_iscsi_root "$1" || return 1
-@@ -208,28 +208,31 @@ handle_netroot()
- echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
- fi
-
-- ### ToDo: Upstream calls systemd-run - Shall we, do we have to port this?
--
- targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
- [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
-
- for target in $iscsi_target_name; do
- case "$targets" in
- *$target*)
-+ EXTRA=""
- if [ -n "$iscsi_iface_name" ]; then
-- $(iscsiadm -m iface -I $iscsi_iface_name --op=new)
-- [ -n "$iscsi_initiator" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.initiatorname --value=$iscsi_initiator)
-- [ -n "$iscsi_netdev_name" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.net_ifacename --value=$iscsi_netdev_name)
-- COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} -I $iscsi_iface_name --op=update"
-- else
-- COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} --op=update"
-+ iscsiadm -m iface -I $iscsi_iface_name --op=new
-+ EXTRA=" ${iscsi_netdev_name:+--name=iface.net_ifacename --value=$iscsi_netdev_name} "
-+ EXTRA="$EXTRA ${iscsi_initiator:+--name=iface.initiatorname --value=$iscsi_initiator} "
- fi
-- $($COMMAND --name=node.startup --value=onboot)
-- [ -n "$iscsi_username" ] && $($COMMAND --name=node.session.auth.username --value=$iscsi_username)
-- [ -n "$iscsi_password" ] && $($COMMAND --name=node.session.auth.password --value=$iscsi_password)
-- [ -n "$iscsi_in_username" ] && $($COMMAND --name=node.session.auth.username_in --value=$iscsi_in_username)
-- [ -n "$iscsi_in_password" ] && $($COMMAND --name=node.session.auth.password_in --value=$iscsi_in_password)
-- [ -n "$iscsi_param" ] && for param in $iscsi_param; do $($COMMAND --name=${param%=*} --value=${param#*=}); done
-+ [ -n "$iscsi_param" ] && for param in $iscsi_param; do EXTRA="$EXTRA --name=${param%=*} --value=${param#*=}"; done
-+
-+ iscsiadm -m node -T $target \
-+ ${iscsi_iface_name:+-I $iscsi_iface_name} \
-+ -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} \
-+ --op=update \
-+ --name=node.startup --value=onboot \
-+ ${iscsi_username:+ --name=node.session.auth.username --value=$iscsi_username} \
-+ ${iscsi_password:+ --name=node.session.auth.password --value=$iscsi_password} \
-+ ${iscsi_in_username:+--name=node.session.auth.username_in --value=$iscsi_in_username} \
-+ ${iscsi_in_password:+--name=node.session.auth.password_in --value=$iscsi_in_password} \
-+ $EXTRA \
-+ $NULL
- ;;
- *)
- ;;
-
diff --git a/0021.patch b/0021.patch
deleted file mode 100644
index e387044..0000000
--- a/0021.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 0a80cda0ea1186bb3b384158aeda491443ae93ff Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 13 Aug 2018 11:30:03 +0200
-Subject: [PATCH] dracut.spec: remove warpclock from z-series, not the other
- way round
-
----
- dracut.spec | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index d24c6f36..09c74478 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -224,7 +224,6 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
-
- %ifnarch s390 s390x
- # remove architecture specific modules
--rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
-@@ -236,6 +235,8 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95qeth_rules
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
- rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
-+%else
-+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
- %endif
-
- mkdir -p $RPM_BUILD_ROOT/boot/dracut
-
diff --git a/0022.patch b/0022.patch
deleted file mode 100644
index 7d855ba..0000000
--- a/0022.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 26aea0299a7ec702972cbf8b5556731b762dcde9 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 13 Aug 2018 11:37:44 +0200
-Subject: [PATCH] multipath-shutdown: fix shell syntax
-
-seems like a misplaced $()
----
- modules.d/90multipath/multipath-shutdown.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90multipath/multipath-shutdown.sh b/modules.d/90multipath/multipath-shutdown.sh
-index 47e9990c..f160f45e 100755
---- a/modules.d/90multipath/multipath-shutdown.sh
-+++ b/modules.d/90multipath/multipath-shutdown.sh
-@@ -1,7 +1,7 @@
- #!/bin/bash
-
- for i in $(multipath -l -v1); do
-- if ! $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
-+ if ! dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1' ; then
- dmsetup message $i 0 fail_if_no_path
- fi
- done
-
diff --git a/0023.patch b/0023.patch
deleted file mode 100644
index c776b02..0000000
--- a/0023.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 6058b06b86ce1a505a640c78896eae32768077c1 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 13 Aug 2018 16:27:59 +0200
-Subject: [PATCH] test/{TEST-50-MULTINIC,TEST-70-BONDBRIDGETEAMVLAN}: use
- qemu-3.0 syntax
-
-use qemu-3.0 syntax for network devices
----
- test/TEST-50-MULTINIC/test.sh | 20 +++++-----
- test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh | 4 ++
- test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 53 ++++++++++++++------------
- 3 files changed, 43 insertions(+), 34 deletions(-)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index 7c108aa0..de40790f 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -51,15 +51,17 @@ client_test() {
- fi
-
- $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-- -net socket,vlan=0,connect=127.0.0.1:12350 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-- -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
-- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-+ -net socket,connect=127.0.0.1:12350 \
-+ -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-+ -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-+ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-+ -netdev hubport,id=n1,hubid=1 \
-+ -netdev hubport,id=n2,hubid=2 \
-+ --device e1000,netdev=n1,mac=52:54:00:12:34:98 \
-+ -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
- -initrd "$TESTDIR"/initramfs.testing
-
- { read OK; read IFACES; } < "$TESTDIR"/client.img
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-index 562feae6..503ed9ed 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-@@ -67,6 +67,10 @@ ip addr add 192.168.55.1/24 dev ens4.2
- ip addr add 192.168.56.1/24 dev ens4.3
- ip addr add 192.168.57.1/24 dev ens4.4
- linkup ens4
-+ip link set dev ens4.1 up
-+ip link set dev ens4.2 up
-+ip link set dev ens4.3 up
-+ip link set dev ens4.4 up
- ip link set dev eth2 name ens5
- ip addr add 192.168.51.1/24 dev ens5
- linkup ens5
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-index 277bbd01..eadf09f1 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-@@ -18,14 +18,14 @@ run_server() {
- -hda "$TESTDIR"/server.ext3 \
- -m 512M -smp 2 \
- -display none \
-- -net socket,vlan=0,listen=127.0.0.1:12370 \
-- -net socket,vlan=1,listen=127.0.0.1:12371 \
-- -net socket,vlan=2,listen=127.0.0.1:12372 \
-- -net socket,vlan=3,listen=127.0.0.1:12373 \
-- -net nic,vlan=0,macaddr=52:54:01:12:34:56,model=e1000 \
-- -net nic,vlan=1,macaddr=52:54:01:12:34:57,model=e1000 \
-- -net nic,vlan=2,macaddr=52:54:01:12:34:58,model=e1000 \
-- -net nic,vlan=3,macaddr=52:54:01:12:34:59,model=e1000 \
-+ -netdev socket,id=n0,listen=127.0.0.1:12370 \
-+ -netdev socket,id=n1,listen=127.0.0.1:12371 \
-+ -netdev socket,id=n2,listen=127.0.0.1:12372 \
-+ -netdev socket,id=n3,listen=127.0.0.1:12373 \
-+ -device e1000,netdev=n0,mac=52:54:01:12:34:56 \
-+ -device e1000,netdev=n1,mac=52:54:01:12:34:57 \
-+ -device e1000,netdev=n2,mac=52:54:01:12:34:58 \
-+ -device e1000,netdev=n3,mac=52:54:01:12:34:59 \
- ${SERIAL:+-serial "$SERIAL"} \
- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
- -watchdog i6300esb -watchdog-action poweroff \
-@@ -58,22 +58,25 @@ client_test() {
- echo "Unable to make client sda image" 1>&2
- return 1
- fi
-+ if [[ $do_vlan13 ]]; then
-+ nic1=" -netdev socket,connect=127.0.0.1:12371,id=n1"
-+ nic3=" -netdev socket,connect=127.0.0.1:12373,id=n3"
-+ else
-+ nic1=" -netdev hubport,id=n1,hubid=2"
-+ nic3=" -netdev hubport,id=n3,hubid=3"
-+ fi
-
- $testdir/run-qemu -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-- -net socket,vlan=0,connect=127.0.0.1:12370 \
-- ${do_vlan13:+-net socket,vlan=1,connect=127.0.0.1:12371} \
-- -net socket,vlan=2,connect=127.0.0.1:12372 \
-- ${do_vlan13:+-net socket,vlan=3,connect=127.0.0.1:12373} \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:01,model=e1000 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:02,model=e1000 \
-- -net nic,vlan=1,macaddr=52:54:00:12:34:03,model=e1000 \
-- -net nic,vlan=2,macaddr=52:54:00:12:34:04,model=e1000 \
-- -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \
-+ -netdev socket,connect=127.0.0.1:12370,id=s1 -netdev hubport,hubid=1,id=h1,netdev=s1 \
-+ -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
-+ -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
-+ $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
-+ -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
-+ $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
- -watchdog i6300esb -watchdog-action poweroff \
- -no-reboot \
- -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
- -initrd "$TESTDIR"/initramfs.testing
--
- {
- read OK
- if [[ "$OK" != "OK" ]]; then
-@@ -113,19 +116,19 @@ test_client() {
- client_test "Multiple VLAN" \
- "yes" \
- "
--vlan=vlan0001:ens4
--vlan=vlan2:ens4
--vlan=ens4.3:ens4
--vlan=ens4.0004:ens4
-+vlan=vlan0001:ens5
-+vlan=vlan2:ens5
-+vlan=ens5.3:ens5
-+vlan=ens5.0004:ens5
- ip=ens3:dhcp
- ip=192.168.54.101::192.168.54.1:24:test:vlan0001:none
- ip=192.168.55.102::192.168.55.1:24:test:vlan2:none
--ip=192.168.56.103::192.168.56.1:24:test:ens4.3:none
--ip=192.168.57.104::192.168.57.1:24:test:ens4.0004:none
-+ip=192.168.56.103::192.168.56.1:24:test:ens5.3:none
-+ip=192.168.57.104::192.168.57.1:24:test:ens5.0004:none
- rd.neednet=1
- root=nfs:192.168.50.1:/nfs/client bootdev=ens3
- " \
-- 'ens3 ens4.0004 ens4.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4.0004 # Generated by dracut initrd NAME="ens4.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens4.0004" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4.3 # Generated by dracut initrd NAME="ens4.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens4.3" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan0001 # Generated by dracut initrd NAME="vlan0001" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.54.101" PREFIX="24" GATEWAY="192.168.54.1" TYPE=Vlan DEVICE="vlan0001" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan2 # Generated by dracut initrd NAME="vlan2" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.55.102" PREFIX="24" GATEWAY="192.168.55.1" TYPE=Vlan DEVICE="vlan2" VLAN=yes PHYSDEV="ens4" EOF ' \
-+ 'ens3 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.0004 # Generated by dracut initrd NAME="ens5.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens5.0004" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.3 # Generated by dracut initrd NAME="ens5.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens5.3" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan0001 # Generated by dracut initrd NAME="vlan0001" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.54.101" PREFIX="24" GATEWAY="192.168.54.1" TYPE=Vlan DEVICE="vlan0001" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan2 # Generated by dracut initrd NAME="vlan2" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.55.102" PREFIX="24" GATEWAY="192.168.55.1" TYPE=Vlan DEVICE="vlan2" VLAN=yes PHYSDEV="ens5" EOF ' \
- || return 1
-
- client_test "Multiple Bonds" \
-
diff --git a/0024.patch b/0024.patch
deleted file mode 100644
index 5660d8b..0000000
--- a/0024.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From ab94a204e0cb22bcaa2b2863dee9ffb9f22e91c5 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 11:03:11 +0200
-Subject: [PATCH] load modules earlier for iscsi via dhcp root-path
-
----
- modules.d/95iscsi/parse-iscsiroot.sh | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
-index f884e684..7a64d888 100755
---- a/modules.d/95iscsi/parse-iscsiroot.sh
-+++ b/modules.d/95iscsi/parse-iscsiroot.sh
-@@ -90,19 +90,13 @@ if [ -n "$iscsi_firmware" ]; then
- initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'"
- fi
-
--if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then
-- return 1
--fi
--
--initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT"
--
--initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi qedi
--
- # ISCSI actually supported?
- if ! [ -e /sys/module/iscsi_tcp ]; then
- modprobe -b -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi"
- fi
-
-+modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi
-+
- if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then
- if ! getargbool 1 rd.neednet >/dev/null || ! getarg "ip="; then
- initqueue --unique --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'"
-@@ -141,6 +135,11 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ]
- fi
- fi
-
-+if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then
-+ return 1
-+fi
-+
-+initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT"
-
- for nroot in $(getargs netroot); do
- [ "${nroot%%:*}" = "iscsi" ] || continue
-
diff --git a/0025.patch b/0025.patch
deleted file mode 100644
index f2cbdcf..0000000
--- a/0025.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From ffbd37d7844b96611506eb4631a3e4f3b5e74c86 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 11:03:48 +0200
-Subject: [PATCH] TEST-31-ISCSI-MULTI: use different port than TEST-30
-
----
- test/TEST-31-ISCSI-MULTI/test.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
-index 2f2b6ed5..c2f86ac8 100755
---- a/test/TEST-31-ISCSI-MULTI/test.sh
-+++ b/test/TEST-31-ISCSI-MULTI/test.sh
-@@ -24,7 +24,7 @@ run_server() {
- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
- -net nic,macaddr=52:54:00:12:34:56,model=e1000 \
- -net nic,macaddr=52:54:00:12:34:57,model=e1000 \
-- -net socket,listen=127.0.0.1:12330 \
-+ -net socket,listen=127.0.0.1:12331 \
- -no-reboot \
- -append "panic=1 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \
- -initrd $TESTDIR/initramfs.server \
-@@ -49,7 +49,7 @@ run_client() {
- -m 512M -smp 2 -nographic \
- -net nic,macaddr=52:54:00:12:34:00,model=e1000 \
- -net nic,macaddr=52:54:00:12:34:01,model=e1000 \
-- -net socket,connect=127.0.0.1:12330 \
-+ -net socket,connect=127.0.0.1:12331 \
- -no-reboot \
- -append "panic=1 rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \
- -initrd $TESTDIR/initramfs.testing
-
diff --git a/0026.patch b/0026.patch
deleted file mode 100644
index d30bef7..0000000
--- a/0026.patch
+++ /dev/null
@@ -1,231 +0,0 @@
-From 82fe4ea0a5a745c920aa396775b9ebb52b4d2927 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 11:04:17 +0200
-Subject: [PATCH] enable parallel test suite
-
-$ time sudo make -j SKIP=14 V=2 check
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-13-ENC-RAID-LVM'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-40-NBD'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-04-FULL-SYSTEMD'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-12-RAID-DEG'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-15-BTRFSRAID'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-16-DMSQUASH'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-17-LVM-THIN'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-11-LVM'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-31-ISCSI-MULTI'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-20-NFS'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-99-RPM'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-02-SYSTEMD'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-30-ISCSI'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-01-BASIC'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-03-USR-MOUNT'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-70-BONDBRIDGETEAMVLAN'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-50-MULTINIC'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-10-RAID'
-make[1]: Entering directory '/home/harald/git/dracut/test/TEST-18-LVM-ENC-LV'
-TEST: root filesystem on an encrypted LVM PV on a degraded RAID-5 [STARTED]
-TEST: root filesystem on NBD [STARTED]
-TEST: root filesystem on NBD [SKIPPED]
-TEST: Full systemd serialization/deserialization test with /usr mount [STARTED]
-TEST: root filesystem on multiple device btrfs [STARTED]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-40-NBD'
-TEST: root filesystem on a LiveCD dmsquash filesystem [STARTED]
-TEST: root filesystem on a LiveCD dmsquash filesystem [SKIPPED]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-16-DMSQUASH'
-TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [STARTED]
-TEST: root filesystem on LVM PV [STARTED]
-TEST: rpm integrity after dracut and kernel install [STARTED]
-TEST: root filesystem on NFS [STARTED]
-TEST: root filesystem over iSCSI [STARTED]
-TEST: root filesystem on LVM PV with thin pool [STARTED]
-TEST: root filesystem over iSCSI [STARTED]
-TEST: root filesystem on a ext3 filesystem [STARTED]
-TEST: root filesystem on a ext3 filesystem [STARTED]
-TEST: root filesystem on a btrfs filesystem with /usr subvolume [STARTED]
-TEST: root filesystem on NFS with bridging/bonding/vlan [STARTED]
-TEST: root filesystem on NFS with multiple nics [STARTED]
-TEST: root filesystem on an encrypted LVM PV on a RAID-5 [STARTED]
-TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [STARTED]
-TEST: root filesystem on LVM PV [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-11-LVM'
-TEST: root filesystem on multiple device btrfs [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-15-BTRFSRAID'
-TEST: root filesystem on LVM PV with thin pool [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-17-LVM-THIN'
-TEST: root filesystem on a ext3 filesystem [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-02-SYSTEMD'
-TEST: root filesystem on a btrfs filesystem with /usr subvolume [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-03-USR-MOUNT'
-TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-18-LVM-ENC-LV'
-TEST: Full systemd serialization/deserialization test with /usr mount [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-04-FULL-SYSTEMD'
-TEST: root filesystem on an encrypted LVM PV on a RAID-5 [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-10-RAID'
-TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-13-ENC-RAID-LVM'
-TEST: root filesystem over iSCSI [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-30-ISCSI'
-TEST: root filesystem on a ext3 filesystem [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-01-BASIC'
-TEST: root filesystem over iSCSI [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-31-ISCSI-MULTI'
-TEST: rpm integrity after dracut and kernel install [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-99-RPM'
-TEST: root filesystem on NFS [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-20-NFS'
-TEST: root filesystem on NFS with bridging/bonding/vlan [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-70-BONDBRIDGETEAMVLAN'
-TEST: root filesystem on an encrypted LVM PV on a degraded RAID-5 [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-12-RAID-DEG'
-TEST: root filesystem on NFS with multiple nics [OK]
-make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-50-MULTINIC'
-
-real 9m3,969s
-user 22m50,323s
-sys 5m24,411s
----
- test/Makefile | 21 +++++++++--------
- test/test-functions | 68 ++++++++++++++++++++++++++++-------------------------
- 2 files changed, 47 insertions(+), 42 deletions(-)
-
-diff --git a/test/Makefile b/test/Makefile
-index eaa944fb..0b33660b 100644
---- a/test/Makefile
-+++ b/test/Makefile
-@@ -1,15 +1,16 @@
--.PHONY: all check clean
-+.PHONY: all check clean $(wildcard TEST-??-*)
-
--check:
-+$(wildcard TEST-??-*):
- @[ "$$EUID" == "0" ] || { echo "'check' must be run as root! Please use 'sudo'."; exit 1; }
-- @{ ret=0; \
-- for i in TEST-[0-9]*; do \
-- [ -d $$i ] || continue ; \
-- [ -f $$i/Makefile ] || continue ; \
-- if [ -n "$$TESTS" ]; then t=$${i##TEST-}; t=$${t%%-*}; [ "$${TESTS#*$$t*}" != "$$TESTS" ] || continue; fi; \
-- if [ -n "$$SKIP" ]; then t=$${i##TEST-}; t=$${t%%-*}; [ "$${SKIP#*$$t*}" != "$$SKIP" ] && continue; fi; \
-- $(MAKE) -C $$i all ; ret=$$((ret + $$?)); \
-- done; exit $$ret; }
-+ @{ \
-+ [ -d $@ ] || exit 0; \
-+ [ -f $@/Makefile ] || exit 0; \
-+ if [ -n "$$TESTS" ]; then t=$${$@##TEST-}; t=$${t%%-*}; [ "$${TESTS#*$$t*}" != "$$TESTS" ] || exit 0; fi; \
-+ if [ -n "$$SKIP" ]; then t=$${$@##TEST-}; t=$${t%%-*}; [ "$${SKIP#*$$t*}" != "$$SKIP" ] && exit 0; fi; \
-+ $(MAKE) -C $@ all ; \
-+ }
-+
-+check: $(wildcard TEST-??-*)
-
- clean:
- @for i in TEST-[0-9]*; do \
-diff --git a/test/test-functions b/test/test-functions
-index 2b8a4d26..57611ff5 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -4,14 +4,14 @@ export PATH
-
- [[ -e .testdir ]] && . .testdir
- if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
-- TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
-+ TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
- fi
- echo "TESTDIR=\"$TESTDIR\"" > .testdir
- export TESTDIR
-
- command -v test_check &>/dev/null || test_check() {
-- :
--}
-+ :
-+ }
-
- # terminal sequence to set color to a 'success' color (currently: green)
- function SETCOLOR_SUCCESS() { echo -en '\033[0;32m'; }
-@@ -22,6 +22,11 @@ function SETCOLOR_WARNING() { echo -en '\033[0;33m'; }
- # terminal sequence to reset to the default color.
- function SETCOLOR_NORMAL() { echo -en '\033[0;39m'; }
-
-+COLOR_SUCCESS='\033[0;32m'
-+COLOR_FAILURE='\033[0;31m'
-+COLOR_WARNING='\033[0;33m'
-+COLOR_NORMAL='\033[0;39m'
-+
- check_root() {
- if (( $EUID != 0 )); then
- SETCOLOR_FAILURE; echo "Tests must be run as root! Please use 'sudo'."; SETCOLOR_NORMAL
-@@ -49,45 +54,44 @@ while (($# > 0)); do
- exit $?;;
- --all)
- check_root
-- echo -n "TEST: $TEST_DESCRIPTION ";
- if ! test_check 2&>test.log ; then
-- SETCOLOR_WARNING
-- echo "[SKIPPED]"
-- SETCOLOR_NORMAL
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
- exit 0;
-+ else
-+ echo "TEST: $TEST_DESCRIPTION [STARTED]";
- fi
- if [ "$V" != "1" ]; then
-- (
-- test_setup && test_run
-- ret=$?
-- test_cleanup
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir
-- exit $ret
-- ) </dev/null >test.log 2>&1
-+ (
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir
-+ exit $ret
-+ ) </dev/null >test.log 2>&1
- else
-- set -o pipefail
-- (
-- test_setup && test_run
-- ret=$?
-- test_cleanup
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir
-- exit $ret
-- ) </dev/null 2>&1 | tee test.log
-+ set -o pipefail
-+ (
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir
-+ exit $ret
-+ ) </dev/null 2>&1 | tee test.log
- fi
- ret=$?
- set +o pipefail
- if [ $ret -eq 0 ]; then
-- rm -- test.log
-- SETCOLOR_SUCCESS
-- echo "[OK]"
-- SETCOLOR_NORMAL
-+ rm -- test.log
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
- else
-- SETCOLOR_FAILURE
-- echo "[FAILED]"
-- SETCOLOR_NORMAL
-- echo "see $(pwd)/test.log"
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
-+ if [ "$V" == "2" ]; then
-+ cat $(pwd)/test.log
-+ else
-+ echo "see $(pwd)/test.log"
-+ fi
- fi
- exit $ret;;
- *) break ;;
-
diff --git a/0027.patch b/0027.patch
deleted file mode 100644
index 1156414..0000000
--- a/0027.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 393da0c370deaea03b7f72a35782fde506526a49 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 11:35:26 +0200
-Subject: [PATCH] TEST-50-MULTINIC: s/--device/-device
-
----
- test/TEST-50-MULTINIC/test.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index de40790f..2640c318 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -57,7 +57,7 @@ client_test() {
- -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
- -netdev hubport,id=n1,hubid=1 \
- -netdev hubport,id=n2,hubid=2 \
-- --device e1000,netdev=n1,mac=52:54:00:12:34:98 \
-+ -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
- -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
- -watchdog i6300esb -watchdog-action poweroff \
- -no-reboot \
-
diff --git a/0028.patch b/0028.patch
deleted file mode 100644
index 738236d..0000000
--- a/0028.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 827a5b1a80c63f62fbe70945d46a8eb9453fc9fe Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 11:37:57 +0200
-Subject: [PATCH] test: also output server.log on failure
-
----
- test/test-functions | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index 57611ff5..f27be912 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -75,6 +75,9 @@ while (($# > 0)); do
- test_setup && test_run
- ret=$?
- test_cleanup
-+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
-+ mv [[ -f "$TESTDIR"/server.log ]] ./
-+ fi
- rm -fr -- "$TESTDIR"
- rm -f -- .testdir
- exit $ret
-@@ -88,7 +91,8 @@ while (($# > 0)); do
- else
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- if [ "$V" == "2" ]; then
-- cat $(pwd)/test.log
-+ cat $(pwd)/server.log $(pwd)/test.log
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- else
- echo "see $(pwd)/test.log"
- fi
-
diff --git a/0029.patch b/0029.patch
deleted file mode 100644
index ce571e1..0000000
--- a/0029.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 94cc856cb8e4a325cc26a3bcc2d9e92da6a2be69 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 13:57:15 +0200
-Subject: [PATCH] TEST-70-BONDBRIDGETEAMVLAN: load vlan kernel modules
-
----
- test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-index 503ed9ed..b9f01c9b 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
-@@ -49,7 +49,7 @@ linkup() {
- && wait_for_if_up $1 2>/dev/null
- }
-
--modprobe -b -q 8021q
-+modprobe --all -b -q 8021q ipvlan macvlan
- >/dev/watchdog
- ip addr add 127.0.0.1/8 dev lo
- linkup lo
-
diff --git a/0030.patch b/0030.patch
deleted file mode 100644
index 5a1f421..0000000
--- a/0030.patch
+++ /dev/null
@@ -1,338 +0,0 @@
-From ca8f1c1ba3e5f1ebfb2e5e70ea4d4b7a791b0bc2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 13:58:21 +0200
-Subject: [PATCH] test: fixed KVERSION and qemu backwards compatiblity
-
----
- test/TEST-50-MULTINIC/test.sh | 137 ++++++++++++++++++--------------
- test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 52 ++++++++----
- 2 files changed, 115 insertions(+), 74 deletions(-)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index 2640c318..02443c40 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -12,19 +12,36 @@ run_server() {
- echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
-
- fsck -a "$TESTDIR"/server.ext3 || return 1
-- $testdir/run-qemu \
-- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-- -m 512M -smp 2 \
-- -display none \
-- -net socket,listen=127.0.0.1:12350 \
-- -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
-- ${SERIAL:+-serial "$SERIAL"} \
-- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-- -initrd "$TESTDIR"/initramfs.server \
-- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
-+
-+ if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
-+ $testdir/run-qemu \
-+ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-+ -m 512M -smp 2 \
-+ -display none \
-+ -net socket,listen=127.0.0.1:12350 \
-+ -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
-+ ${SERIAL:+-serial "$SERIAL"} \
-+ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-+ -initrd "$TESTDIR"/initramfs.server \
-+ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
-+ else
-+ $testdir/run-qemu \
-+ -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-+ -net socket,vlan=0,connect=127.0.0.1:12350 \
-+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-+ -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
-+ -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-+ -initrd "$TESTDIR"/initramfs.testing
-+ fi
-+
- sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
-
- # Cleanup the terminal if we have one
-@@ -51,18 +68,18 @@ client_test() {
- fi
-
- $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-- -net socket,connect=127.0.0.1:12350 \
-- -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-- -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-- -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-- -netdev hubport,id=n1,hubid=1 \
-- -netdev hubport,id=n2,hubid=2 \
-- -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
-- -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-- -initrd "$TESTDIR"/initramfs.testing
-+ -net socket,connect=127.0.0.1:12350 \
-+ -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-+ -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-+ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-+ -netdev hubport,id=n1,hubid=1 \
-+ -netdev hubport,id=n2,hubid=2 \
-+ -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
-+ -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-+ -initrd "$TESTDIR"/initramfs.testing
-
- { read OK; read IFACES; } < "$TESTDIR"/client.img
-
-@@ -110,58 +127,58 @@ test_client() {
-
- # PXE Style BOOTIF=
- client_test "MULTINIC root=nfs BOOTIF=" \
-- 00 01 02 \
-- "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
-- "ens3" || return 1
-+ 00 01 02 \
-+ "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
-+ "ens3" || return 1
-
- client_test "MULTINIC root=nfs BOOTIF= ip=ens4:dhcp" \
-- 00 01 02 \
-- "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens4:dhcp" \
-- "ens3 ens4" || return 1
-+ 00 01 02 \
-+ "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens4:dhcp" \
-+ "ens3 ens4" || return 1
-
- # PXE Style BOOTIF= with dhcp root-path
- client_test "MULTINIC root=dhcp BOOTIF=" \
-- 00 01 02 \
-- "root=dhcp BOOTIF=52-54-00-12-34-02" \
-- "ens5" || return 1
-+ 00 01 02 \
-+ "root=dhcp BOOTIF=52-54-00-12-34-02" \
-+ "ens5" || return 1
-
- # Multinic case, where only one nic works
- client_test "MULTINIC root=nfs ip=dhcp" \
-- FF 00 FE \
-- "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
-- "ens4" || return 1
-+ FF 00 FE \
-+ "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
-+ "ens4" || return 1
-
- # Require two interfaces
- client_test "MULTINIC root=nfs ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
-- 00 01 02 \
-- "root=nfs:192.168.50.1:/nfs/client ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
-- "ens4 ens5" || return 1
-+ 00 01 02 \
-+ "root=nfs:192.168.50.1:/nfs/client ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
-+ "ens4 ens5" || return 1
-
- # Require three interfaces with dhcp root-path
- client_test "MULTINIC root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
-- 00 01 02 \
-- "root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
-- "ens3 ens4 ens5" || return 1
-+ 00 01 02 \
-+ "root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
-+ "ens3 ens4 ens5" || return 1
-
- client_test "MULTINIC bonding" \
-- 00 01 02 \
-- "root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
-- "bond0" || return 1
-+ 00 01 02 \
-+ "root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
-+ "bond0" || return 1
-
- client_test "MULTINIC bridging" \
-- 00 01 02 \
-- "root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens3,ens6,ens7" \
-- "bridge0" || return 1
-+ 00 01 02 \
-+ "root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens3,ens6,ens7" \
-+ "bridge0" || return 1
- return 0
- }
-
- test_setup() {
-- # Make server root
-+ # Make server root
- dd if=/dev/null of="$TESTDIR"/server.ext3 bs=1M seek=120
- mke2fs -j -F -- "$TESTDIR"/server.ext3
- mkdir -- "$TESTDIR"/mnt
- sudo mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt
--
-+ kernel=$KVERSION
- (
- export initdir="$TESTDIR"/mnt
- . "$basedir"/dracut-init.sh
-@@ -185,9 +202,9 @@ test_setup() {
- done
-
- inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
-- dmesg mkdir cp ping exportfs \
-- modprobe rpc.nfsd rpc.mountd showmount tcpdump \
-- /etc/services sleep mount chmod
-+ dmesg mkdir cp ping exportfs \
-+ modprobe rpc.nfsd rpc.mountd showmount tcpdump \
-+ /etc/services sleep mount chmod
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f "${_terminfodir}"/l/linux ] && break
- done
-@@ -212,7 +229,7 @@ test_setup() {
- inst_libdir_file 'libnfsidmap*.so*'
-
- _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
-- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
-+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
- _nsslibs=${_nsslibs#|}
- _nsslibs=${_nsslibs%|}
-
-@@ -241,7 +258,7 @@ test_setup() {
- done
- )
- inst_multiple sh shutdown poweroff stty cat ps ln ip \
-- mount dmesg mkdir cp ping grep ls
-+ mount dmesg mkdir cp ping grep ls
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [[ -f ${_terminfodir}/l/linux ]] && break
- done
-@@ -258,7 +275,7 @@ test_setup() {
- inst_libdir_file 'libnfsidmap*.so*'
-
- _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' -- /etc/nsswitch.conf \
-- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
-+ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
- _nsslibs=${_nsslibs#|}
- _nsslibs=${_nsslibs%|}
-
-@@ -282,14 +299,16 @@ test_setup() {
- )
-
- # Make server's dracut image
-- $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
-+ $basedir/dracut.sh \
-+ -l -i "$TESTDIR"/overlay / \
- -m "dash udev-rules base rootfs-block fs-lib debug kernel-modules watchdog" \
- -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
- --no-hostonly-cmdline -N \
- -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1
-
- # Make client's dracut image
-- $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
-+ $basedir/dracut.sh \
-+ -l -i "$TESTDIR"/overlay / \
- -o "plymouth" \
- -a "debug" \
- -d "af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
-diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-index eadf09f1..8c11a7d3 100755
---- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-+++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
-@@ -14,6 +14,7 @@ run_server() {
- echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
-
- fsck -a "$TESTDIR"/server.ext3 || return 1
-+
- $testdir/run-qemu \
- -hda "$TESTDIR"/server.ext3 \
- -m 512M -smp 2 \
-@@ -66,17 +67,38 @@ client_test() {
- nic3=" -netdev hubport,id=n3,hubid=3"
- fi
-
-- $testdir/run-qemu -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-- -netdev socket,connect=127.0.0.1:12370,id=s1 -netdev hubport,hubid=1,id=h1,netdev=s1 \
-- -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
-- -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
-- $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
-- -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
-- $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
-- -initrd "$TESTDIR"/initramfs.testing
-+ if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
-+ $testdir/run-qemu \
-+ -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-+ -netdev socket,connect=127.0.0.1:12370,id=s1 \
-+ -netdev hubport,hubid=1,id=h1,netdev=s1 \
-+ -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
-+ -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
-+ $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
-+ -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
-+ $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
-+ -initrd "$TESTDIR"/initramfs.testing
-+ else
-+ $testdir/run-qemu \
-+ -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-+ -net socket,vlan=0,connect=127.0.0.1:12370 \
-+ ${do_vlan13:+-net socket,vlan=1,connect=127.0.0.1:12371} \
-+ -net socket,vlan=2,connect=127.0.0.1:12372 \
-+ ${do_vlan13:+-net socket,vlan=3,connect=127.0.0.1:12373} \
-+ -net nic,vlan=0,macaddr=52:54:00:12:34:01,model=e1000 \
-+ -net nic,vlan=0,macaddr=52:54:00:12:34:02,model=e1000 \
-+ -net nic,vlan=1,macaddr=52:54:00:12:34:03,model=e1000 \
-+ -net nic,vlan=2,macaddr=52:54:00:12:34:04,model=e1000 \
-+ -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
-+ -initrd "$TESTDIR"/initramfs.testing
-+ fi
-+
- {
- read OK
- if [[ "$OK" != "OK" ]]; then
-@@ -167,7 +189,7 @@ test_setup() {
- mke2fs -j -F -- "$TESTDIR"/server.ext3
- mkdir -- "$TESTDIR"/mnt
- mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt
--
-+ kernel=$KVERSION
- (
- export initdir="$TESTDIR"/mnt
- . "$basedir"/dracut-init.sh
-@@ -203,7 +225,7 @@ test_setup() {
- [ -f /etc/netconfig ] && inst_multiple /etc/netconfig
- type -P dhcpd >/dev/null && inst_multiple dhcpd
- [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
-- instmods nfsd sunrpc ipv6 lockd af_packet 8021q
-+ instmods nfsd sunrpc ipv6 lockd af_packet 8021q ipvlan macvlan
- inst_simple /etc/os-release
- inst ./server-init.sh /sbin/init
- inst ./hosts /etc/hosts
-@@ -286,7 +308,7 @@ test_setup() {
- $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
- --no-early-microcode \
- -m "udev-rules base rootfs-block fs-lib debug kernel-modules watchdog" \
-- -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
-+ -d "ipvlan macvlan af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
- --no-hostonly-cmdline -N \
- -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1
-
-@@ -295,7 +317,7 @@ test_setup() {
- --no-early-microcode \
- -o "plymouth" \
- -a "debug" \
-- -d "af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
-+ -d "ipvlan macvlan af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
- --no-hostonly-cmdline -N \
- -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1
- }
-
diff --git a/0031.patch b/0031.patch
deleted file mode 100644
index 4967ae3..0000000
--- a/0031.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From bb75d16521a9d76ccedbf06f3a6239efbbca77d7 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 14:07:12 +0200
-Subject: [PATCH] kernel-network-modules: add vlan kernel modules
-
----
- modules.d/90kernel-network-modules/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90kernel-network-modules/module-setup.sh b/modules.d/90kernel-network-modules/module-setup.sh
-index 16ed3a74..600ef112 100755
---- a/modules.d/90kernel-network-modules/module-setup.sh
-+++ b/modules.d/90kernel-network-modules/module-setup.sh
-@@ -28,7 +28,7 @@ installkernel() {
- =drivers/net/phy \
- =drivers/net/team \
- =drivers/net/ethernet \
-- ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net xennet
-+ ecb arc4 bridge stp llc ipv6 bonding 8021q ipvlan macvlan af_packet virtio_net xennet
- hostonly="" instmods iscsi_ibft crc32c iscsi_boot_sysfs
- }
-
-
diff --git a/0032.patch b/0032.patch
deleted file mode 100644
index af3d99e..0000000
--- a/0032.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From f9c8b3112aee5216a6bb5a42fb46146f6f228854 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 14:12:54 +0200
-Subject: [PATCH] TEST-50-MULTINIC/test.sh: fixed server startup
-
----
- test/TEST-50-MULTINIC/test.sh | 9 ++++++---
- 1 file changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index 02443c40..d7cec437 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -29,7 +29,9 @@ run_server() {
- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
- else
- $testdir/run-qemu \
-- -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
-+ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-+ -m 512M -smp 2 \
-+ -display none \
- -net socket,vlan=0,connect=127.0.0.1:12350 \
- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-@@ -38,8 +40,9 @@ run_server() {
- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
- -watchdog i6300esb -watchdog-action poweroff \
- -no-reboot \
-- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
-- -initrd "$TESTDIR"/initramfs.testing
-+ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-+ -initrd "$TESTDIR"/initramfs.server \
-+ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
- fi
-
- sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
-
diff --git a/0033.patch b/0033.patch
deleted file mode 100644
index e102129..0000000
--- a/0033.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 604c09b1dacd4a364ee88d0e405a4e6692bdc1c2 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 15:28:56 +0200
-Subject: [PATCH] TEST-31-ISCSI-MULTI/test.sh: fixed test description
-
----
- test/TEST-31-ISCSI-MULTI/test.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
-index c2f86ac8..1ed3fb7b 100755
---- a/test/TEST-31-ISCSI-MULTI/test.sh
-+++ b/test/TEST-31-ISCSI-MULTI/test.sh
-@@ -1,5 +1,5 @@
- #!/bin/bash
--TEST_DESCRIPTION="root filesystem over iSCSI"
-+TEST_DESCRIPTION="root filesystem over multiple iSCSI"
-
- KVERSION=${KVERSION-$(uname -r)}
-
-
diff --git a/0034.patch b/0034.patch
deleted file mode 100644
index b78aca3..0000000
--- a/0034.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From a2dbecfcd65ac243363c9544442f7bf526ec6091 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 15:42:21 +0200
-Subject: [PATCH] test: add TEST_RUN_ID
-
----
- test/test-functions | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index f27be912..bde5f742 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -2,11 +2,11 @@
- PATH=/sbin:/bin:/usr/sbin:/usr/bin
- export PATH
-
--[[ -e .testdir ]] && . .testdir
-+[[ -e .testdir${TEST_RUN_ID:+-$TEST_RUN_ID} ]] && . .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
- TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
- fi
--echo "TESTDIR=\"$TESTDIR\"" > .testdir
-+echo "TESTDIR=\"$TESTDIR\"" > .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- export TESTDIR
-
- command -v test_check &>/dev/null || test_check() {
-@@ -50,11 +50,11 @@ while (($# > 0)); do
- echo "TEST CLEANUP: $TEST_DESCRIPTION"
- test_cleanup
- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $?;;
- --all)
- check_root
-- if ! test_check 2&>test.log ; then
-+ if ! test_check 2&>test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
- exit 0;
- else
-@@ -66,9 +66,9 @@ while (($# > 0)); do
- ret=$?
- test_cleanup
- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
-- ) </dev/null >test.log 2>&1
-+ ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
- else
- set -o pipefail
- (
-@@ -76,25 +76,25 @@ while (($# > 0)); do
- ret=$?
- test_cleanup
- if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
-- mv [[ -f "$TESTDIR"/server.log ]] ./
-+ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- fi
- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
-- ) </dev/null 2>&1 | tee test.log
-+ ) </dev/null 2>&1 | tee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- fi
- ret=$?
- set +o pipefail
- if [ $ret -eq 0 ]; then
-- rm -- test.log
-+ rm -- test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
- else
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- if [ "$V" == "2" ]; then
-- cat $(pwd)/server.log $(pwd)/test.log
-+ cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- else
-- echo "see $(pwd)/test.log"
-+ echo "see $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
- fi
- fi
- exit $ret;;
-
diff --git a/0035.patch b/0035.patch
deleted file mode 100644
index 9741f85..0000000
--- a/0035.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0f294d90b246e15d00dd56627a8085e5bfc5bf85 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 15:54:42 +0200
-Subject: [PATCH] TEST-31-ISCSI-MULTI: increase verbose level
-
----
- test/TEST-31-ISCSI-MULTI/test.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
-index 1ed3fb7b..5c38249c 100755
---- a/test/TEST-31-ISCSI-MULTI/test.sh
-+++ b/test/TEST-31-ISCSI-MULTI/test.sh
-@@ -3,9 +3,9 @@ TEST_DESCRIPTION="root filesystem over multiple iSCSI"
-
- KVERSION=${KVERSION-$(uname -r)}
-
--DEBUGFAIL="loglevel=1"
-+#DEBUGFAIL="loglevel=1"
- #DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 "
--#DEBUGFAIL="rd.debug loglevel=7 "
-+DEBUGFAIL="rd.debug loglevel=7 "
- #SERVER_DEBUG="rd.debug loglevel=7"
- #SERIAL="tcp:127.0.0.1:9999"
-
-
diff --git a/0036.patch b/0036.patch
deleted file mode 100644
index 77f3c49..0000000
--- a/0036.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 3c1a083e5c5e56bf2e26aa806f023d4f053fc7b7 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:01:39 +0200
-Subject: [PATCH] add travis build job
-
----
- .travis.yml | 15 +++++++++++++++
- fedora-test.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 70 insertions(+)
-
-diff --git a/.travis.yml b/.travis.yml
-new file mode 100644
-index 00000000..16f9a511
---- /dev/null
-+++ b/.travis.yml
-@@ -0,0 +1,15 @@
-+sudo: required
-+
-+services:
-+ - docker
-+
-+env:
-+ matrix:
-+ - IMAGE=latest
-+ - IMAGE=rawhide
-+
-+before_script:
-+- docker pull fedora:$IMAGE
-+
-+script:
-+- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
-diff --git a/fedora-test.sh b/fedora-test.sh
-new file mode 100755
-index 00000000..ee506caf
---- /dev/null
-+++ b/fedora-test.sh
-@@ -0,0 +1,55 @@
-+#!/bin/bash
-+
-+set -ex
-+
-+cd ${0%/*}
-+
-+RUN_ID="$1"
-+
-+dnf -y update --best --allowerasing
-+
-+dnf -y install --best --allowerasing \
-+ dash \
-+ asciidoc \
-+ mdadm \
-+ lvm2 \
-+ dmraid \
-+ cryptsetup \
-+ nfs-utils \
-+ nbd \
-+ dhcp-server \
-+ scsi-target-utils \
-+ iscsi-initiator-utils \
-+ strace \
-+ btrfs-progs \
-+ kmod-devel \
-+ gcc \
-+ bzip2 \
-+ xz \
-+ tar \
-+ wget \
-+ rpm-build \
-+ make \
-+ git \
-+ bash-completion \
-+ sudo \
-+ kernel \
-+ dhcp-client \
-+ /usr/bin/qemu-kvm \
-+ e2fsprogs \
-+ $NULL
-+
-+./configure
-+
-+NCPU=$(getconf _NPROCESSORS_ONLN)
-+
-+make -j$NCPU all syncheck rpm
-+
-+cd test
-+
-+time sudo make -j$((NCPU/2+1)) \
-+ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
-+ TEST_RUN_ID=$RUN_ID \
-+ -k V=2 \
-+ SKIP="14 16" \
-+ check
-
diff --git a/0037.patch b/0037.patch
deleted file mode 100644
index 6a4263b..0000000
--- a/0037.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From b7774da97ca743ada8a94d5eab4484cb96504ca0 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:18:53 +0200
-Subject: [PATCH] might even run without kvm
-
----
- .travis.yml | 5 +----
- test/run-qemu | 1 +
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 16f9a511..a71d9be2 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -1,15 +1,12 @@
-+language: generic
- sudo: required
--
- services:
- - docker
--
- env:
- matrix:
- - IMAGE=latest
- - IMAGE=rawhide
--
- before_script:
- - docker pull fedora:$IMAGE
--
- script:
- - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
-diff --git a/test/run-qemu b/test/run-qemu
-index a4e15548..c28de2db 100755
---- a/test/run-qemu
-+++ b/test/run-qemu
-@@ -8,6 +8,7 @@ $(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu "
- [[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS=""
- [[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS=""
- [[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS=""
-+[[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
- [[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm"
-
- [[ $BIN ]] || {
-
diff --git a/0038.patch b/0038.patch
deleted file mode 100644
index 2b03b1f..0000000
--- a/0038.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From fba4d2843382540839d90abbaa2cae0d5bf1c2dd Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:30:42 +0200
-Subject: [PATCH] TEST-50-MULTINIC: fixed server.log
-
----
- test/TEST-50-MULTINIC/test.sh | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index d7cec437..0a4d29c2 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -38,6 +38,8 @@ run_server() {
- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
- -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
-+ ${SERIAL:+-serial "$SERIAL"} \
-+ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
- -watchdog i6300esb -watchdog-action poweroff \
- -no-reboot \
- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-
diff --git a/0039.patch b/0039.patch
deleted file mode 100644
index 33b0ab2..0000000
--- a/0039.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From cafe6675c2e54cbdc576785bc98e5f7fda76ba7c Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:31:00 +0200
-Subject: [PATCH] test/run-qemu: move -cpu host to kvm args
-
----
- fedora-test.sh | 1 +
- test/run-qemu | 12 ++++++------
- 2 files changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/fedora-test.sh b/fedora-test.sh
-index ee506caf..146c7f2f 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -36,6 +36,7 @@ dnf -y install --best --allowerasing \
- kernel \
- dhcp-client \
- /usr/bin/qemu-kvm \
-+ /usr/bin/qemu-system-$(uname -i) \
- e2fsprogs \
- $NULL
-
-diff --git a/test/run-qemu b/test/run-qemu
-index c28de2db..4eb497ff 100755
---- a/test/run-qemu
-+++ b/test/run-qemu
-@@ -4,12 +4,12 @@
- export PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
- [[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS=""
--$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu "
--[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS=""
--[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS=""
--[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS=""
-+$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu host"
-+[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS="-cpu host"
-+[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS="-cpu host"
-+[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS="-cpu host"
- [[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
--[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm"
-+[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm -cpu host"
-
- [[ $BIN ]] || {
- echo "Could not find a working KVM or QEMU to test with!" >&2
-@@ -31,4 +31,4 @@ if ! [ -f "$VMLINUZ" ]; then
- fi
- fi
-
--exec sudo $BIN $ARGS -kernel $VMLINUZ -cpu host "$@"
-+exec sudo $BIN $ARGS -kernel $VMLINUZ "$@"
-
diff --git a/0040.patch b/0040.patch
deleted file mode 100644
index d65f542..0000000
--- a/0040.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 9288d21b9fd992cc7a32fbf79ad4f80b070e2277 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:37:01 +0200
-Subject: [PATCH] TEST-50-MULTINIC: removed bogus qemu compat server call
-
----
- test/TEST-50-MULTINIC/test.sh | 46 ++++++++++++-------------------------------
- 1 file changed, 13 insertions(+), 33 deletions(-)
-
-diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
-index 0a4d29c2..495a66f2 100755
---- a/test/TEST-50-MULTINIC/test.sh
-+++ b/test/TEST-50-MULTINIC/test.sh
-@@ -13,39 +13,19 @@ run_server() {
-
- fsck -a "$TESTDIR"/server.ext3 || return 1
-
-- if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
-- $testdir/run-qemu \
-- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-- -m 512M -smp 2 \
-- -display none \
-- -net socket,listen=127.0.0.1:12350 \
-- -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
-- ${SERIAL:+-serial "$SERIAL"} \
-- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-- -initrd "$TESTDIR"/initramfs.server \
-- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
-- else
-- $testdir/run-qemu \
-- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-- -m 512M -smp 2 \
-- -display none \
-- -net socket,vlan=0,connect=127.0.0.1:12350 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
-- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
-- -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
-- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
-- ${SERIAL:+-serial "$SERIAL"} \
-- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
-- -watchdog i6300esb -watchdog-action poweroff \
-- -no-reboot \
-- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-- -initrd "$TESTDIR"/initramfs.server \
-- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
-- fi
-+ $testdir/run-qemu \
-+ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
-+ -m 512M -smp 2 \
-+ -display none \
-+ -net socket,listen=127.0.0.1:12350 \
-+ -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
-+ ${SERIAL:+-serial "$SERIAL"} \
-+ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
-+ -watchdog i6300esb -watchdog-action poweroff \
-+ -no-reboot \
-+ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
-+ -initrd "$TESTDIR"/initramfs.server \
-+ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
-
- sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
-
-
diff --git a/0041.patch b/0041.patch
deleted file mode 100644
index ca75cee..0000000
--- a/0041.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From d15c15c8f54d3aa97f7906e4f926584ac646fc5e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:54:27 +0200
-Subject: [PATCH] test/test-functions: be verbose for any $V not empty
-
----
- test/test-functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index bde5f742..d6b28d20 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -60,7 +60,7 @@ while (($# > 0)); do
- else
- echo "TEST: $TEST_DESCRIPTION [STARTED]";
- fi
-- if [ "$V" != "1" ]; then
-+ if ! [[ "$V" ]]; then
- (
- test_setup && test_run
- ret=$?
-
diff --git a/0042.patch b/0042.patch
deleted file mode 100644
index 6410dbe..0000000
--- a/0042.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 1363167d655f8d08ea8fd71e56c8c85ff94ccc04 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 16:58:52 +0200
-Subject: [PATCH] Update README.md
-
----
- README.md | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/README.md b/README.md
-index e229641b..36ae7e1b 100644
---- a/README.md
-+++ b/README.md
-@@ -2,6 +2,10 @@
-
- dracut is an initramfs infrastructure.
-
-+## Travis
-+
-+[![Build Status](https://travis-ci.org/dracutdevs/dracut.svg?branch=master)](https...
-+
- ## CentOS CI
-
- [![Build Status](https://ci.centos.org/job/dracut-push-master/badge/icon)](https:/...
-
diff --git a/0043.patch b/0043.patch
deleted file mode 100644
index 302e140..0000000
--- a/0043.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 75b8b144a1cf5c7e15e0454f847615cadf6518e9 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 17:02:14 +0200
-Subject: [PATCH] fedora-test.sh: don't parallelize travis tests
-
----
- fedora-test.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/fedora-test.sh b/fedora-test.sh
-index 146c7f2f..9528f08c 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -48,7 +48,7 @@ make -j$NCPU all syncheck rpm
-
- cd test
-
--time sudo make -j$((NCPU/2+1)) \
-+time sudo make \
- KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
- TEST_RUN_ID=$RUN_ID \
- -k V=2 \
-
diff --git a/0044.patch b/0044.patch
deleted file mode 100644
index 5e1c34c..0000000
--- a/0044.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From da5a44cfb727561e3a2b8e6e24003cd410537cfc Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Tue, 14 Aug 2018 17:06:58 +0200
-Subject: [PATCH] .travis.yml: add gitter notifications
-
----
- .travis.yml | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/.travis.yml b/.travis.yml
-index a71d9be2..96dcd951 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -10,3 +10,11 @@ before_script:
- - docker pull fedora:$IMAGE
- script:
- - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
-+notifications:
-+ webhooks:
-+ urls:
-+ - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
-+ on_success: change # options: [always|never|change] default: always
-+ on_failure: always # options: [always|never|change] default: always
-+ on_start: never # options: [always|never|change] default: always
-+
-
diff --git a/0045.patch b/0045.patch
deleted file mode 100644
index dd8a201..0000000
--- a/0045.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 65d16d19141d0378f6cbab33b435a231ffdd37c4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 08:50:11 +0200
-Subject: [PATCH] travis: extend matrix
-
----
- .travis.yml | 45 ++++++++++++++++++++++++++++++++++++++++++---
- fedora-test.sh | 4 +++-
- 2 files changed, 45 insertions(+), 4 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 96dcd951..fbaafdac 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -4,12 +4,51 @@ services:
- - docker
- env:
- matrix:
-- - IMAGE=latest
-- - IMAGE=rawhide
-+ - IMAGE=latest TESTS=01
-+ - IMAGE=latest TESTS=02
-+ - IMAGE=latest TESTS=03
-+ - IMAGE=latest TESTS=04
-+ - IMAGE=latest TESTS=10
-+ - IMAGE=latest TESTS=11
-+ - IMAGE=latest TESTS=12
-+ - IMAGE=latest TESTS=13
-+ - IMAGE=latest TESTS=14
-+ - IMAGE=latest TESTS=15
-+ - IMAGE=latest TESTS=16
-+ - IMAGE=latest TESTS=17
-+ - IMAGE=latest TESTS=18
-+ - IMAGE=latest TESTS=20
-+ - IMAGE=latest TESTS=30
-+ - IMAGE=latest TESTS=31
-+ - IMAGE=latest TESTS=40
-+ - IMAGE=latest TESTS=50
-+ - IMAGE=latest TESTS=70
-+ - IMAGE=latest TESTS=99
-+ - IMAGE=rawhide TESTS=01
-+ - IMAGE=rawhide TESTS=02
-+ - IMAGE=rawhide TESTS=03
-+ - IMAGE=rawhide TESTS=04
-+ - IMAGE=rawhide TESTS=10
-+ - IMAGE=rawhide TESTS=11
-+ - IMAGE=rawhide TESTS=12
-+ - IMAGE=rawhide TESTS=13
-+ - IMAGE=rawhide TESTS=14
-+ - IMAGE=rawhide TESTS=15
-+ - IMAGE=rawhide TESTS=16
-+ - IMAGE=rawhide TESTS=17
-+ - IMAGE=rawhide TESTS=18
-+ - IMAGE=rawhide TESTS=20
-+ - IMAGE=rawhide TESTS=30
-+ - IMAGE=rawhide TESTS=31
-+ - IMAGE=rawhide TESTS=40
-+ - IMAGE=rawhide TESTS=50
-+ - IMAGE=rawhide TESTS=70
-+ - IMAGE=rawhide TESTS=99
-+
- before_script:
- - docker pull fedora:$IMAGE
- script:
--- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
-+- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ $TESTS
- notifications:
- webhooks:
- urls:
-diff --git a/fedora-test.sh b/fedora-test.sh
-index 9528f08c..df7147c6 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -2,9 +2,10 @@
-
- set -ex
-
--cd ${0%/*}
-+[[ -d ${0%/*} ]] && cd ${0%/*}
-
- RUN_ID="$1"
-+TESTS=$2
-
- dnf -y update --best --allowerasing
-
-@@ -51,6 +52,7 @@ cd test
- time sudo make \
- KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
- TEST_RUN_ID=$RUN_ID \
-+ ${TESTS:+TESTS="$TESTS"} \
- -k V=2 \
- SKIP="14 16" \
- check
-
diff --git a/0046.patch b/0046.patch
deleted file mode 100644
index 8618614..0000000
--- a/0046.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 1ebbe2eb7b177f169e48df6318d9169e9ae1afe9 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:10:29 +0200
-Subject: [PATCH] travis: combine jobs
-
----
- .travis.yml | 64 +++++++++++++++++++++----------------------------------------
- 1 file changed, 22 insertions(+), 42 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index fbaafdac..f2cd8b26 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -1,49 +1,29 @@
- language: generic
- sudo: required
- services:
-- - docker
-+- docker
- env:
- matrix:
-- - IMAGE=latest TESTS=01
-- - IMAGE=latest TESTS=02
-- - IMAGE=latest TESTS=03
-- - IMAGE=latest TESTS=04
-- - IMAGE=latest TESTS=10
-- - IMAGE=latest TESTS=11
-- - IMAGE=latest TESTS=12
-- - IMAGE=latest TESTS=13
-- - IMAGE=latest TESTS=14
-- - IMAGE=latest TESTS=15
-- - IMAGE=latest TESTS=16
-- - IMAGE=latest TESTS=17
-- - IMAGE=latest TESTS=18
-- - IMAGE=latest TESTS=20
-- - IMAGE=latest TESTS=30
-- - IMAGE=latest TESTS=31
-- - IMAGE=latest TESTS=40
-- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS=70
-- - IMAGE=latest TESTS=99
-- - IMAGE=rawhide TESTS=01
-- - IMAGE=rawhide TESTS=02
-- - IMAGE=rawhide TESTS=03
-- - IMAGE=rawhide TESTS=04
-- - IMAGE=rawhide TESTS=10
-- - IMAGE=rawhide TESTS=11
-- - IMAGE=rawhide TESTS=12
-- - IMAGE=rawhide TESTS=13
-- - IMAGE=rawhide TESTS=14
-- - IMAGE=rawhide TESTS=15
-- - IMAGE=rawhide TESTS=16
-- - IMAGE=rawhide TESTS=17
-- - IMAGE=rawhide TESTS=18
-- - IMAGE=rawhide TESTS=20
-- - IMAGE=rawhide TESTS=30
-- - IMAGE=rawhide TESTS=31
-- - IMAGE=rawhide TESTS=40
-- - IMAGE=rawhide TESTS=50
-- - IMAGE=rawhide TESTS=70
-- - IMAGE=rawhide TESTS=99
-+ - IMAGE=latest TESTS=01
-+ - IMAGE=latest TESTS="02 03 04"
-+ - IMAGE=latest TESTS="10 11 12 13 15 17 18"
-+ - IMAGE=latest TESTS=20
-+ - IMAGE=latest TESTS=30
-+ - IMAGE=latest TESTS=31
-+ - IMAGE=latest TESTS=40
-+ - IMAGE=latest TESTS=50
-+ - IMAGE=latest TESTS=70
-+ - IMAGE=latest TESTS=99
-+ - IMAGE=rawhide TESTS=01
-+ - IMAGE=rawhide TESTS="02 03 04"
-+ - IMAGE=rawhide TESTS="10 11 12 13 15 17 18"
-+ - IMAGE=rawhide TESTS=20
-+ - IMAGE=rawhide TESTS=30
-+ - IMAGE=rawhide TESTS=31
-+ - IMAGE=rawhide TESTS=40
-+ - IMAGE=rawhide TESTS=50
-+ - IMAGE=rawhide TESTS=70
-+ - IMAGE=rawhide TESTS=99
-
- before_script:
- - docker pull fedora:$IMAGE
-@@ -52,7 +32,7 @@ script:
- notifications:
- webhooks:
- urls:
-- - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
-+ - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
- on_success: change # options: [always|never|change] default: always
- on_failure: always # options: [always|never|change] default: always
- on_start: never # options: [always|never|change] default: always
-
diff --git a/0047.patch b/0047.patch
deleted file mode 100644
index 7e63148..0000000
--- a/0047.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 311198868044b79e8e4f37872514f580b51e4ceb Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:19:52 +0200
-Subject: [PATCH] dracut.sh: remove bogus dir removal for --rebuild
-
----
- dracut.sh | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/dracut.sh b/dracut.sh
-index 6614d27d..8ee8c168 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -474,9 +474,6 @@ if [[ $append_args_l == "yes" ]]; then
- eval set -- "$TEMP"
- rearrange_params "$@"
- fi
--
-- # clean the temporarily used scratch-pad directory
-- rm -rf $scratch_dir
- fi
-
- unset PARMS_TO_STORE
-
diff --git a/0048.patch b/0048.patch
deleted file mode 100644
index bf00e5d..0000000
--- a/0048.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 01f9d0d9bf47f80823094de6b184ee67023406c7 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:26:35 +0200
-Subject: [PATCH] travis: combine more tests
-
----
- .travis.yml | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index f2cd8b26..a99418e3 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -5,21 +5,17 @@ services:
- env:
- matrix:
- - IMAGE=latest TESTS=01
-- - IMAGE=latest TESTS="02 03 04"
-- - IMAGE=latest TESTS="10 11 12 13 15 17 18"
-+ - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
- - IMAGE=latest TESTS=20
-- - IMAGE=latest TESTS=30
-- - IMAGE=latest TESTS=31
-+ - IMAGE=latest TESTS="30 31"
- - IMAGE=latest TESTS=40
- - IMAGE=latest TESTS=50
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
- - IMAGE=rawhide TESTS=01
-- - IMAGE=rawhide TESTS="02 03 04"
-- - IMAGE=rawhide TESTS="10 11 12 13 15 17 18"
-+ - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
- - IMAGE=rawhide TESTS=20
-- - IMAGE=rawhide TESTS=30
-- - IMAGE=rawhide TESTS=31
-+ - IMAGE=rawhide TESTS="30 31"
- - IMAGE=rawhide TESTS=40
- - IMAGE=rawhide TESTS=50
- - IMAGE=rawhide TESTS=70
-@@ -28,7 +24,7 @@ env:
- before_script:
- - docker pull fedora:$IMAGE
- script:
--- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ $TESTS
-+- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
- notifications:
- webhooks:
- urls:
-
diff --git a/0049.patch b/0049.patch
deleted file mode 100644
index f471892..0000000
--- a/0049.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 3c8d3a65656707148d5f9e5de1c0191339a72053 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:35:33 +0200
-Subject: [PATCH] travis: don't run TEST-40-NBD
-
----
- .travis.yml | 16 +++++++---------
- fedora-test.sh | 1 -
- 2 files changed, 7 insertions(+), 10 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index a99418e3..d6d3947c 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -4,19 +4,17 @@ services:
- - docker
- env:
- matrix:
-- - IMAGE=latest TESTS=01
-- - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
-- - IMAGE=latest TESTS=20
-- - IMAGE=latest TESTS="30 31"
-- - IMAGE=latest TESTS=40
-- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS=70
-- - IMAGE=latest TESTS=99
-+ - IMAGE=latest TESTS=01
-+ - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
-+ - IMAGE=latest TESTS=20
-+ - IMAGE=latest TESTS="30 31"
-+ - IMAGE=latest TESTS=50
-+ - IMAGE=latest TESTS=70
-+ - IMAGE=latest TESTS=99
- - IMAGE=rawhide TESTS=01
- - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
- - IMAGE=rawhide TESTS=20
- - IMAGE=rawhide TESTS="30 31"
-- - IMAGE=rawhide TESTS=40
- - IMAGE=rawhide TESTS=50
- - IMAGE=rawhide TESTS=70
- - IMAGE=rawhide TESTS=99
-diff --git a/fedora-test.sh b/fedora-test.sh
-index df7147c6..5e7d34d6 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -54,5 +54,4 @@ time sudo make \
- TEST_RUN_ID=$RUN_ID \
- ${TESTS:+TESTS="$TESTS"} \
- -k V=2 \
-- SKIP="14 16" \
- check
-
diff --git a/0050.patch b/0050.patch
deleted file mode 100644
index a5606f0..0000000
--- a/0050.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 79afb279c273d46b65fafc2c686ed99c5433fe94 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:48:02 +0200
-Subject: [PATCH] travis: fedora-test.sh send dnf output to dev/null
-
----
- fedora-test.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/fedora-test.sh b/fedora-test.sh
-index 5e7d34d6..e7d0f633 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -7,7 +7,7 @@ set -ex
- RUN_ID="$1"
- TESTS=$2
-
--dnf -y update --best --allowerasing
-+dnf -y update --best --allowerasing &>/dev/null
-
- dnf -y install --best --allowerasing \
- dash \
-@@ -39,7 +39,7 @@ dnf -y install --best --allowerasing \
- /usr/bin/qemu-kvm \
- /usr/bin/qemu-system-$(uname -i) \
- e2fsprogs \
-- $NULL
-+ $NULL &>/dev/null
-
- ./configure
-
-
diff --git a/0051.patch b/0051.patch
deleted file mode 100644
index b6f5692..0000000
--- a/0051.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From c31a80c9edf8603cbdc5d2fe4465571a2ffcdff0 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 09:50:52 +0200
-Subject: [PATCH] TEST-01: remove memdebug
-
----
- .travis.yml | 6 ++----
- test/TEST-01-BASIC/test.sh | 2 +-
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index d6d3947c..1f50b6d9 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -4,15 +4,13 @@ services:
- - docker
- env:
- matrix:
-- - IMAGE=latest TESTS=01
-- - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
-+ - IMAGE=latest TESTS="01 02 03 04 10 11 12 13 15 17 18"
- - IMAGE=latest TESTS=20
- - IMAGE=latest TESTS="30 31"
- - IMAGE=latest TESTS=50
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
-- - IMAGE=rawhide TESTS=01
-- - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
-+ - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
- - IMAGE=rawhide TESTS=20
- - IMAGE=rawhide TESTS="30 31"
- - IMAGE=rawhide TESTS=50
-diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
-index 137249f4..455afef6 100755
---- a/test/TEST-01-BASIC/test.sh
-+++ b/test/TEST-01-BASIC/test.sh
-@@ -15,7 +15,7 @@ test_run() {
- -net none \
- -watchdog i6300esb -watchdog-action poweroff \
- -no-reboot \
-- -append "panic=1 root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL rd.memdebug=4" \
-+ -append "panic=1 root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \
- -initrd $TESTDIR/initramfs.testing || return 1
- grep -F -m 1 -q dracut-root-block-success $TESTDIR/result || return 1
- }
-
diff --git a/0052.patch b/0052.patch
deleted file mode 100644
index 9264dce..0000000
--- a/0052.patch
+++ /dev/null
@@ -1,149 +0,0 @@
-From 51d0a545557d535f814e402fff20274f9e125d85 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:16:52 +0200
-Subject: [PATCH] travis: use own logtee.c to reduce log output
-
----
- .travis.yml | 12 ++++++------
- Makefile | 3 +++
- fedora-test.sh | 2 +-
- logtee.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
- test/test-functions | 15 ++++++++++++++-
- 5 files changed, 70 insertions(+), 8 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 1f50b6d9..5298a816 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -10,12 +10,12 @@ env:
- - IMAGE=latest TESTS=50
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
-- - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
-- - IMAGE=rawhide TESTS=20
-- - IMAGE=rawhide TESTS="30 31"
-- - IMAGE=rawhide TESTS=50
-- - IMAGE=rawhide TESTS=70
-- - IMAGE=rawhide TESTS=99
-+# - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
-+# - IMAGE=rawhide TESTS=20
-+# - IMAGE=rawhide TESTS="30 31"
-+# - IMAGE=rawhide TESTS=50
-+# - IMAGE=rawhide TESTS=70
-+# - IMAGE=rawhide TESTS=99
-
- before_script:
- - docker pull fedora:$IMAGE
-diff --git a/Makefile b/Makefile
-index 414fb330..cd02dab0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -63,6 +63,9 @@ install/strv.o: install/strv.c install/strv.h install/util.h install/macro.h ins
- install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
- $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS)
-
-+logtee: logtee.c
-+ $(CC) $(LDFLAGS) -o $@ $<
-+
- dracut-install: install/dracut-install
- ln -fs $< $@
-
-diff --git a/fedora-test.sh b/fedora-test.sh
-index e7d0f633..af38bc33 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -45,7 +45,7 @@ dnf -y install --best --allowerasing \
-
- NCPU=$(getconf _NPROCESSORS_ONLN)
-
--make -j$NCPU all syncheck rpm
-+make -j$NCPU all syncheck rpm logtee
-
- cd test
-
-diff --git a/logtee.c b/logtee.c
-new file mode 100644
-index 00000000..2f1937d4
---- /dev/null
-+++ b/logtee.c
-@@ -0,0 +1,46 @@
-+#define _GNU_SOURCE
-+#include <fcntl.h>
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <unistd.h>
-+#include <errno.h>
-+#include <limits.h>
-+
-+int
-+main(int argc, char *argv[])
-+{
-+ int fd;
-+ int len, slen;
-+
-+ if (argc != 2) {
-+ fprintf(stderr, "Usage: %s <file>\n", argv[0]);
-+ exit(EXIT_FAILURE);
-+ }
-+
-+ fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
-+ if (fd == -1) {
-+ perror("open");
-+ exit(EXIT_FAILURE);
-+ }
-+
-+ fprintf(stderr, "Logging to %s: ", argv[1]);
-+
-+ do {
-+ len = splice(STDIN_FILENO, NULL, fd, NULL,
-+ 65536, SPLICE_F_MOVE);
-+
-+ if (len < 0) {
-+ if (errno == EAGAIN)
-+ continue;
-+ perror("tee");
-+ exit(EXIT_FAILURE);
-+ } else
-+ if (len == 0)
-+ break;
-+ fprintf(stderr, ".", len);
-+ } while (1);
-+ close(fd);
-+ fprintf(stderr, "\n");
-+ exit(EXIT_SUCCESS);
-+}
-+
-diff --git a/test/test-functions b/test/test-functions
-index d6b28d20..02ceafec 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -60,7 +60,7 @@ while (($# > 0)); do
- else
- echo "TEST: $TEST_DESCRIPTION [STARTED]";
- fi
-- if ! [[ "$V" ]]; then
-+ if [[ "$V" == "1" ]]; then
- (
- test_setup && test_run
- ret=$?
-@@ -69,6 +69,19 @@ while (($# > 0)); do
- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
- ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
-+ elif [[ "$V" == "2" ]]; then
-+ set -o pipefail
-+ (
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
-+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
-+ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ fi
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-+ exit $ret
-+ ) </dev/null 2>&1 | $basedir/logtee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- else
- set -o pipefail
- (
-
diff --git a/0053.patch b/0053.patch
deleted file mode 100644
index 006c0e5..0000000
--- a/0053.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 110063c5850ea1cb95dd2af171adff1a03305e60 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:29:16 +0200
-Subject: [PATCH] travis: git check
-
----
- .travis.yml | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/.travis.yml b/.travis.yml
-index 5298a816..72cfe8f9 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -19,6 +19,9 @@ env:
-
- before_script:
- - docker pull fedora:$IMAGE
-+- git describe --abbrev=0 --tags || :
-+- git describe --tags || :
-+
- script:
- - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
- notifications:
-
diff --git a/0054.patch b/0054.patch
deleted file mode 100644
index 31318d1..0000000
--- a/0054.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 6f90be2971439e84c4efb61d1fc888b165b3f3ca Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:33:06 +0200
-Subject: [PATCH] travis: fixup
-
----
- .travis.yml | 13 ++++---------
- 1 file changed, 4 insertions(+), 9 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 72cfe8f9..cd05ceae 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -10,20 +10,15 @@ env:
- - IMAGE=latest TESTS=50
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
--# - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
--# - IMAGE=rawhide TESTS=20
--# - IMAGE=rawhide TESTS="30 31"
--# - IMAGE=rawhide TESTS=50
--# - IMAGE=rawhide TESTS=70
--# - IMAGE=rawhide TESTS=99
-
- before_script:
--- docker pull fedora:$IMAGE
--- git describe --abbrev=0 --tags || :
--- git describe --tags || :
-+ - docker pull fedora:$IMAGE
-+ - git describe --abbrev=0 --tags || :
-+ - git describe --tags || :
-
- script:
- - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
-+
- notifications:
- webhooks:
- urls:
-
diff --git a/0055.patch b/0055.patch
deleted file mode 100644
index 0dd70c6..0000000
--- a/0055.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 2b77ba0b75dad8f87c141fc517f2999b2e45ae0c Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:36:17 +0200
-Subject: [PATCH] travis: fight with yaml
-
----
- .travis.yml | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index cd05ceae..38b29ca4 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -13,8 +13,9 @@ env:
-
- before_script:
- - docker pull fedora:$IMAGE
-- - git describe --abbrev=0 --tags || :
-- - git describe --tags || :
-+ - |
-+ git describe --abbrev=0 --tags || :
-+ git describe --tags || :
-
- script:
- - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
-
diff --git a/0056.patch b/0056.patch
deleted file mode 100644
index 680bd88..0000000
--- a/0056.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 9f02b291ac9c315b94d42c4c029645fb1298dac4 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:39:49 +0200
-Subject: [PATCH] travis: git pull --tags
-
----
- .travis.yml | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/.travis.yml b/.travis.yml
-index 38b29ca4..01be428f 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -13,6 +13,7 @@ env:
-
- before_script:
- - docker pull fedora:$IMAGE
-+ - git pull --tags
- - |
- git describe --abbrev=0 --tags || :
- git describe --tags || :
-
diff --git a/0057.patch b/0057.patch
deleted file mode 100644
index 413d889..0000000
--- a/0057.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0ae584824519995219857ca7f447e73f31a6da9a Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 10:46:57 +0200
-Subject: [PATCH] travis: git pull more depth
-
----
- .travis.yml | 2 +-
- Makefile | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 01be428f..2df45f4d 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -13,7 +13,7 @@ env:
-
- before_script:
- - docker pull fedora:$IMAGE
-- - git pull --tags
-+ - git pull --depth=100
- - |
- git describe --abbrev=0 --tags || :
- git describe --tags || :
-diff --git a/Makefile b/Makefile
-index cd02dab0..80623437 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,7 +1,7 @@
- -include dracut-version.sh
-
--VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags 2>/dev/null || echo $(DRACUT_VERSION))
--GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } )
-+VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags --always 2>/dev/null || echo $(DRACUT_VERSION))
-+GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags --always 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } )
-
- -include Makefile.inc
-
-
diff --git a/0058.patch b/0058.patch
deleted file mode 100644
index 017b251..0000000
--- a/0058.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 67f43d2124cb827f45f4a1f3a2c1aae7cb08378e Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:13:55 +0200
-Subject: [PATCH] test: fixed test.log name
-
----
- test/test-functions | 14 +++++++-------
- 1 file changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index 02ceafec..0c9d88c8 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -54,7 +54,7 @@ while (($# > 0)); do
- exit $?;;
- --all)
- check_root
-- if ! test_check 2&>test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
-+ if ! test_check 2&>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
- exit 0;
- else
-@@ -68,7 +68,7 @@ while (($# > 0)); do
- rm -fr -- "$TESTDIR"
- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
-- ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
-+ ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
- elif [[ "$V" == "2" ]]; then
- set -o pipefail
- (
-@@ -81,7 +81,7 @@ while (($# > 0)); do
- rm -fr -- "$TESTDIR"
- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
-- ) </dev/null 2>&1 | $basedir/logtee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- else
- set -o pipefail
- (
-@@ -94,20 +94,20 @@ while (($# > 0)); do
- rm -fr -- "$TESTDIR"
- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
- exit $ret
-- ) </dev/null 2>&1 | tee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- fi
- ret=$?
- set +o pipefail
- if [ $ret -eq 0 ]; then
-- rm -- test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ rm -- test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
- else
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- if [ "$V" == "2" ]; then
-- cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- else
-- echo "see $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
-+ echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
- fi
- fi
- exit $ret;;
-
diff --git a/0059.patch b/0059.patch
deleted file mode 100644
index 1f96b3f..0000000
--- a/0059.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From f59664a01fa9b525e211fbcb837bf8b54cac9acb Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:14:11 +0200
-Subject: [PATCH] logtee: reduce output
-
----
- logtee.c | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/logtee.c b/logtee.c
-index 2f1937d4..2690e72d 100644
---- a/logtee.c
-+++ b/logtee.c
-@@ -6,6 +6,8 @@
- #include <errno.h>
- #include <limits.h>
-
-+#define BUFLEN 4096
-+
- int
- main(int argc, char *argv[])
- {
-@@ -25,9 +27,11 @@ main(int argc, char *argv[])
-
- fprintf(stderr, "Logging to %s: ", argv[1]);
-
-+ slen = 0;
-+
- do {
- len = splice(STDIN_FILENO, NULL, fd, NULL,
-- 65536, SPLICE_F_MOVE);
-+ BUFLEN, SPLICE_F_MOVE);
-
- if (len < 0) {
- if (errno == EAGAIN)
-@@ -37,10 +41,14 @@ main(int argc, char *argv[])
- } else
- if (len == 0)
- break;
-- fprintf(stderr, ".", len);
-+ slen += len;
-+ if ((slen/BUFLEN) > 0) {
-+ fprintf(stderr, ".");
-+ }
-+ slen = slen % BUFLEN;
-+
- } while (1);
- close(fd);
- fprintf(stderr, "\n");
- exit(EXIT_SUCCESS);
--}
--
-+}
-\ No newline at end of file
-
diff --git a/0060.patch b/0060.patch
deleted file mode 100644
index e616f92..0000000
--- a/0060.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c128b969bb860dee863fcd3beed1f4097f6fb44a Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:15:16 +0200
-Subject: [PATCH] travis: combine more tests
-
----
- .travis.yml | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 2df45f4d..dfb4a616 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -4,12 +4,12 @@ services:
- - docker
- env:
- matrix:
-- - IMAGE=latest TESTS="01 02 03 04 10 11 12 13 15 17 18"
-+ - IMAGE=latest TESTS="01 02 03 04 10 11"
-+ - IMAGE=latest TESTS="12 13 15 17 18"
- - IMAGE=latest TESTS=20
- - IMAGE=latest TESTS="30 31"
- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS=70
-- - IMAGE=latest TESTS=99
-+ - IMAGE=latest TESTS="70 99"
-
- before_script:
- - docker pull fedora:$IMAGE
-
diff --git a/0061.patch b/0061.patch
deleted file mode 100644
index e322ac1..0000000
--- a/0061.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From f8cad00948c10107f84b9fcba812589a256f8f80 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:47:21 +0200
-Subject: [PATCH] test: for V=2 tail only the last MB of logs
-
----
- test/test-functions | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index 0c9d88c8..6d7f418b 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -104,7 +104,7 @@ while (($# > 0)); do
- else
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- if [ "$V" == "2" ]; then
-- cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- else
- echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
-
diff --git a/0062.patch b/0062.patch
deleted file mode 100644
index 7fbef0d..0000000
--- a/0062.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 9c034dc326b4acd8e66af15f76f151311a5408bb Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:57:30 +0200
-Subject: [PATCH] travis: no rpm check for all matrix tests
-
----
- .travis.yml | 10 +++++-----
- fedora-test.sh | 24 ++++++++++++++----------
- 2 files changed, 19 insertions(+), 15 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index dfb4a616..075cbc6a 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -4,12 +4,12 @@ services:
- - docker
- env:
- matrix:
-- - IMAGE=latest TESTS="01 02 03 04 10 11"
-- - IMAGE=latest TESTS="12 13 15 17 18"
-+ - IMAGE=latest
-+ - IMAGE=latest TESTS="01 02 03 04 10 11 12"
-+ - IMAGE=latest TESTS="13 15 17 18"
- - IMAGE=latest TESTS=20
-- - IMAGE=latest TESTS="30 31"
-- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS="70 99"
-+ - IMAGE=latest TESTS="30 31 99"
-+ - IMAGE=latest TESTS="50 70"
-
- before_script:
- - docker pull fedora:$IMAGE
-diff --git a/fedora-test.sh b/fedora-test.sh
-index af38bc33..87023a84 100755
---- a/fedora-test.sh
-+++ b/fedora-test.sh
-@@ -45,13 +45,17 @@ dnf -y install --best --allowerasing \
-
- NCPU=$(getconf _NPROCESSORS_ONLN)
-
--make -j$NCPU all syncheck rpm logtee
--
--cd test
--
--time sudo make \
-- KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
-- TEST_RUN_ID=$RUN_ID \
-- ${TESTS:+TESTS="$TESTS"} \
-- -k V=2 \
-- check
-+if ! [[ $TESTS ]]; then
-+ make -j$NCPU all syncheck rpm logtee
-+else
-+ make -j$NCPU all logtee
-+
-+ cd test
-+
-+ time sudo make \
-+ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
-+ TEST_RUN_ID=$RUN_ID \
-+ ${TESTS:+TESTS="$TESTS"} \
-+ -k V=2 \
-+ check
-+fi
-
diff --git a/0063.patch b/0063.patch
deleted file mode 100644
index f291125..0000000
--- a/0063.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 5a8f1aef556056de88d55bb398443fe2b57eae52 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 11:59:09 +0200
-Subject: [PATCH] TEST-15-BTRFSRAID: sync in test-init
-
-strange failure
----
- test/TEST-15-BTRFSRAID/test-init.sh | 1 +
- test/TEST-15-BTRFSRAID/test.sh | 3 ++-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/test/TEST-15-BTRFSRAID/test-init.sh b/test/TEST-15-BTRFSRAID/test-init.sh
-index 8f7cdf3a..ab9021df 100755
---- a/test/TEST-15-BTRFSRAID/test-init.sh
-+++ b/test/TEST-15-BTRFSRAID/test-init.sh
-@@ -2,6 +2,7 @@
- export PATH=/sbin:/bin:/usr/sbin:/usr/bin
- exec >/dev/console 2>&1
- echo "dracut-root-block-success" >/dev/sda1
-+sync
- export TERM=linux
- export PS1='initramfs-test:\w\$ '
- [ -f /etc/fstab ] || ln -s /proc/mounts /etc/fstab
-diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
-index b8969863..3936ade2 100755
---- a/test/TEST-15-BTRFSRAID/test.sh
-+++ b/test/TEST-15-BTRFSRAID/test.sh
-@@ -15,6 +15,7 @@ test_run() {
- -append "panic=1 root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
- -initrd $TESTDIR/initramfs.testing
- dd if=$DISKIMAGE bs=512 count=4 skip=2048 | grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
-+ return 0
- }
-
- test_setup() {
-@@ -38,7 +39,7 @@ test_setup() {
- mkdir -p -- var/lib/nfs/rpc_pipefs
- )
- inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \
-- mount dmesg dhclient mkdir cp ping dhclient
-+ mount dmesg dhclient mkdir cp ping dhclient sync
- for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
- [ -f ${_terminfodir}/l/linux ] && break
- done
-
diff --git a/0064.patch b/0064.patch
deleted file mode 100644
index 41044cc..0000000
--- a/0064.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 2699d8ff7eb41ffafba46194f29bab9670b9e874 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 12:03:40 +0200
-Subject: [PATCH] TEST-99-RPM: removed --releasever
-
----
- test/TEST-99-RPM/test.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
-index b76a061b..984b9385 100755
---- a/test/TEST-99-RPM/test.sh
-+++ b/test/TEST-99-RPM/test.sh
-@@ -35,7 +35,7 @@ test_run() {
- dnf_or_yum_cmd=yum
- command -v dnf >/dev/null && { dnf_or_yum="dnf"; dnf_or_yum_cmd="dnf --allowerasing"; }
- for (( i=0; i < 5 ; i++)); do
-- $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever 29 --disablerepo='*' \
-+ $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --disablerepo='*' \
- --enablerepo=fedora --enablerepo=updates \
- install -y \
- $dnf_or_yum \
-
diff --git a/0065.patch b/0065.patch
deleted file mode 100644
index d2c4ac3..0000000
--- a/0065.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 7c62555bcffd7565883738df5e8c2150e887694f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 13:05:42 +0200
-Subject: [PATCH] TEST-15-BTRFSRAID: use seperate disk image for boot result
-
----
- test/TEST-15-BTRFSRAID/test-init.sh | 2 +-
- test/TEST-15-BTRFSRAID/test.sh | 10 ++++++----
- 2 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/test/TEST-15-BTRFSRAID/test-init.sh b/test/TEST-15-BTRFSRAID/test-init.sh
-index ab9021df..ed66a2b3 100755
---- a/test/TEST-15-BTRFSRAID/test-init.sh
-+++ b/test/TEST-15-BTRFSRAID/test-init.sh
-@@ -1,7 +1,7 @@
- #!/bin/sh
- export PATH=/sbin:/bin:/usr/sbin:/usr/bin
- exec >/dev/console 2>&1
--echo "dracut-root-block-success" >/dev/sda1
-+echo "dracut-root-block-success" >/dev/sda
- sync
- export TERM=linux
- export PS1='initramfs-test:\w\$ '
-diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
-index 3936ade2..092ed254 100755
---- a/test/TEST-15-BTRFSRAID/test.sh
-+++ b/test/TEST-15-BTRFSRAID/test.sh
-@@ -7,15 +7,17 @@ KVERSION=${KVERSION-$(uname -r)}
- #DEBUGFAIL="rd.shell"
- test_run() {
- DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-root.img
-+ MARKER_DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-marker.img
-+ dd if=/dev/zero of=$MARKER_DISKIMAGE bs=512 count=10
- $testdir/run-qemu \
-- -drive format=raw,index=0,media=disk,file=$DISKIMAGE \
-- -m 512M -smp 2 -nographic \
-+ -drive format=raw,index=0,media=disk,file=$MARKER_DISKIMAGE \
-+ -drive format=raw,index=1,media=disk,file=$DISKIMAGE \
-+ -m 512M -smp 2 -nographic \
- -net none \
- -no-reboot \
- -append "panic=1 root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
- -initrd $TESTDIR/initramfs.testing
-- dd if=$DISKIMAGE bs=512 count=4 skip=2048 | grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
-- return 0
-+ grep -F -m 1 -q dracut-root-block-success $MARKER_DISKIMAGE || return 1
- }
-
- test_setup() {
-
diff --git a/0066.patch b/0066.patch
deleted file mode 100644
index fb3bb99..0000000
--- a/0066.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 286685cb720f4150f363487c3702ea12d838f7df Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 13:20:40 +0200
-Subject: [PATCH] TEST-99-RPM: use releasever of the host system
-
----
- test/TEST-99-RPM/test.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
-index 984b9385..b4aca176 100755
---- a/test/TEST-99-RPM/test.sh
-+++ b/test/TEST-99-RPM/test.sh
-@@ -30,12 +30,12 @@ test_run() {
- "$TESTDIR"/dracut-[0-9]*.$(arch).rpm \
- "$TESTDIR"/dracut-network-[0-9]*.$(arch).rpm \
- "$rootdir/$TESTDIR/"
--
-+ . /etc/os-release
- dnf_or_yum=yum
- dnf_or_yum_cmd=yum
- command -v dnf >/dev/null && { dnf_or_yum="dnf"; dnf_or_yum_cmd="dnf --allowerasing"; }
- for (( i=0; i < 5 ; i++)); do
-- $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --disablerepo='*' \
-+ $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever "$VERSION_ID" --disablerepo='*' \
- --enablerepo=fedora --enablerepo=updates \
- install -y \
- $dnf_or_yum \
-
diff --git a/0067.patch b/0067.patch
deleted file mode 100644
index e260427..0000000
--- a/0067.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From f059ce76826645569575ee9631b23806764095fe Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 13:56:19 +0200
-Subject: [PATCH] travis: reshuffle tests
-
----
- .travis.yml | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 075cbc6a..8e20054a 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -5,11 +5,11 @@ services:
- env:
- matrix:
- - IMAGE=latest
-- - IMAGE=latest TESTS="01 02 03 04 10 11 12"
-- - IMAGE=latest TESTS="13 15 17 18"
-- - IMAGE=latest TESTS=20
-- - IMAGE=latest TESTS="30 31 99"
-- - IMAGE=latest TESTS="50 70"
-+ - IMAGE=latest TESTS="13 15 17 18 30 31"
-+ - IMAGE=latest TESTS="10 20"
-+ - IMAGE=latest TESTS="01 02 03 04 70"
-+ - IMAGE=latest TESTS="11 12 99"
-+ - IMAGE=latest TESTS="50"
-
- before_script:
- - docker pull fedora:$IMAGE
-
diff --git a/0068.patch b/0068.patch
deleted file mode 100644
index 4b87a32..0000000
--- a/0068.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 06e12e4ba8d827eedd0882d9918f94758d52a579 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 14:25:23 +0200
-Subject: [PATCH] travis: rebalance tests
-
----
- .travis.yml | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 8e20054a..91ecafed 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -7,12 +7,16 @@ env:
- - IMAGE=latest
- - IMAGE=latest TESTS="13 15 17 18 30 31"
- - IMAGE=latest TESTS="10 20"
-- - IMAGE=latest TESTS="01 02 03 04 70"
-- - IMAGE=latest TESTS="11 12 99"
-- - IMAGE=latest TESTS="50"
-+ - IMAGE=latest TESTS="01 02 03 04 11 70"
-+ - IMAGE=latest TESTS="12"
-+ - IMAGE=latest TESTS="50 99"
-
- before_script:
- - docker pull fedora:$IMAGE
-+ - |
-+ sudo modprobe kvm-intel nested=y || :
-+ sudo modprobe kvm-amd nested=y || :
-+ dmesg | tail || :
- - git pull --depth=100
- - |
- git describe --abbrev=0 --tags || :
-
diff --git a/0069.patch b/0069.patch
deleted file mode 100644
index 9cabe22..0000000
--- a/0069.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From bd03d374b704324b595e2af1901e590ff7c5a92b Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 14:28:54 +0200
-Subject: [PATCH] travis: modprobe amd nested=1
-
-GREAT!
-
-$ modinfo kvm-intel kvm-amd| fgrep nested
-parm: nested:bool
-parm: nested:int
----
- .travis.yml | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 91ecafed..0932805f 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -14,8 +14,8 @@ env:
- before_script:
- - docker pull fedora:$IMAGE
- - |
-- sudo modprobe kvm-intel nested=y || :
-- sudo modprobe kvm-amd nested=y || :
-+ sudo modprobe kvm-intel nested=1 || :
-+ sudo modprobe kvm-amd nested=1 || :
- dmesg | tail || :
- - git pull --depth=100
- - |
-
diff --git a/0070.patch b/0070.patch
deleted file mode 100644
index 9d5aa11..0000000
--- a/0070.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From a17440713acdc943983c61cf12c56aa0a7e3a58d Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 14:48:21 +0200
-Subject: [PATCH] travis: reshuffle tests
-
-long running tests first
----
- .travis.yml | 22 +++++++++++++++++-----
- 1 file changed, 17 insertions(+), 5 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 0932805f..f1aab2a9 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -5,11 +5,23 @@ services:
- env:
- matrix:
- - IMAGE=latest
-- - IMAGE=latest TESTS="13 15 17 18 30 31"
-- - IMAGE=latest TESTS="10 20"
-- - IMAGE=latest TESTS="01 02 03 04 11 70"
-- - IMAGE=latest TESTS="12"
-- - IMAGE=latest TESTS="50 99"
-+ - IMAGE=latest TESTS=01
-+ - IMAGE=latest TESTS=12
-+ - IMAGE=latest TESTS=20
-+ - IMAGE=latest TESTS=50
-+ - IMAGE=latest TESTS=31
-+ - IMAGE=latest TESTS=30
-+ - IMAGE=latest TESTS=70
-+ - IMAGE=latest TESTS=99
-+ - IMAGE=latest TESTS=02
-+ - IMAGE=latest TESTS=03
-+ - IMAGE=latest TESTS=04
-+ - IMAGE=latest TESTS=10
-+ - IMAGE=latest TESTS=11
-+ - IMAGE=latest TESTS=13
-+ - IMAGE=latest TESTS=15
-+ - IMAGE=latest TESTS=17
-+ - IMAGE=latest TESTS=18
-
- before_script:
- - docker pull fedora:$IMAGE
-
diff --git a/0071.patch b/0071.patch
deleted file mode 100644
index 34ebb94..0000000
--- a/0071.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f19063ac71b9a82d19f3be7f252bf90d98be454f Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Thu, 16 Aug 2018 15:28:04 +0200
-Subject: [PATCH] travis: one last job reshuffle
-
----
- .travis.yml | 15 +++------------
- 1 file changed, 3 insertions(+), 12 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index f1aab2a9..83e9b4d1 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -5,23 +5,14 @@ services:
- env:
- matrix:
- - IMAGE=latest
-- - IMAGE=latest TESTS=01
-+ - IMAGE=latest TESTS="01 02 03 04"
- - IMAGE=latest TESTS=12
- - IMAGE=latest TESTS=20
- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS=31
-- - IMAGE=latest TESTS=30
-+ - IMAGE=latest TESTS="30 31"
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
-- - IMAGE=latest TESTS=02
-- - IMAGE=latest TESTS=03
-- - IMAGE=latest TESTS=04
-- - IMAGE=latest TESTS=10
-- - IMAGE=latest TESTS=11
-- - IMAGE=latest TESTS=13
-- - IMAGE=latest TESTS=15
-- - IMAGE=latest TESTS=17
-- - IMAGE=latest TESTS=18
-+ - IMAGE=latest TESTS="10 11 13 15 17"
-
- before_script:
- - docker pull fedora:$IMAGE
-
diff --git a/0072.patch b/0072.patch
deleted file mode 100644
index 36d2b42..0000000
--- a/0072.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 09132c732a36cc892310b26c829ac00c007d84ec Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Fri, 17 Aug 2018 15:38:03 +0200
-Subject: [PATCH] test/test-functions: fixed V=1 logic
-
----
- test/test-functions | 96 ++++++++++++++++++++++++++---------------------------
- 1 file changed, 48 insertions(+), 48 deletions(-)
-
-diff --git a/test/test-functions b/test/test-functions
-index 6d7f418b..a6254ec7 100644
---- a/test/test-functions
-+++ b/test/test-functions
-@@ -38,79 +38,79 @@ while (($# > 0)); do
- case $1 in
- --run)
- check_root
-- echo "TEST RUN: $TEST_DESCRIPTION"
-- test_check && test_run
-- exit $?;;
-+ echo "TEST RUN: $TEST_DESCRIPTION"
-+ test_check && test_run
-+ exit $?;;
- --setup)
- check_root
-- echo "TEST SETUP: $TEST_DESCRIPTION"
-- test_check && test_setup
-- exit $?;;
-+ echo "TEST SETUP: $TEST_DESCRIPTION"
-+ test_check && test_setup
-+ exit $?;;
- --clean)
-- echo "TEST CLEANUP: $TEST_DESCRIPTION"
-- test_cleanup
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-- exit $?;;
-+ echo "TEST CLEANUP: $TEST_DESCRIPTION"
-+ test_cleanup
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-+ exit $?;;
- --all)
- check_root
- if ! test_check 2&>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
-- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
-- exit 0;
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
-+ exit 0;
- else
-- echo "TEST: $TEST_DESCRIPTION [STARTED]";
-+ echo "TEST: $TEST_DESCRIPTION [STARTED]";
- fi
- if [[ "$V" == "1" ]]; then
-- (
-- test_setup && test_run
-- ret=$?
-- test_cleanup
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-- exit $ret
-- ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
-- elif [[ "$V" == "2" ]]; then
- set -o pipefail
- (
-- test_setup && test_run
-- ret=$?
-- test_cleanup
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
- if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
- mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- fi
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-- exit $ret
-- ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-- else
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-+ exit $ret
-+ ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ elif [[ "$V" == "2" ]]; then
- set -o pipefail
- (
-- test_setup && test_run
-- ret=$?
-- test_cleanup
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
- if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
- mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
- fi
-- rm -fr -- "$TESTDIR"
-- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-- exit $ret
-- ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-+ exit $ret
-+ ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ else
-+ (
-+ test_setup && test_run
-+ ret=$?
-+ test_cleanup
-+ rm -fr -- "$TESTDIR"
-+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
-+ exit $ret
-+ ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
- fi
-- ret=$?
-+ ret=$?
- set +o pipefail
-- if [ $ret -eq 0 ]; then
-+ if [ $ret -eq 0 ]; then
- rm -- test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
-- else
-- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
-+ else
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- if [ "$V" == "2" ]; then
-- tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
-+ tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
-+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
- else
-- echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
-+ echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
- fi
-- fi
-- exit $ret;;
-+ fi
-+ exit $ret;;
- *) break ;;
- esac
- shift
-
diff --git a/0073.patch b/0073.patch
deleted file mode 100644
index 19fd209..0000000
--- a/0073.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ee18dd2b88d6767902d442baa92c95f7be69c265 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Fri, 17 Aug 2018 12:50:29 +0200
-Subject: [PATCH] ifcfg/write-ifcfg.sh: aggregate resolv.conf
-
-The old code used /tmp/net.$netif.resolv.conf with $netif being randomly
-chosen.
-
-As it is not known which nameserver have which priority, just sort them
-and deduplicate.
----
- modules.d/45ifcfg/module-setup.sh | 1 +
- modules.d/45ifcfg/write-ifcfg.sh | 5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh
-index 6791985a..c89def3e 100755
---- a/modules.d/45ifcfg/module-setup.sh
-+++ b/modules.d/45ifcfg/module-setup.sh
-@@ -14,6 +14,7 @@ depends() {
-
- # called by dracut
- install() {
-+ inst_binary sort
- inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh"
- }
-
-diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
-index 25c81be3..3bf847a5 100755
---- a/modules.d/45ifcfg/write-ifcfg.sh
-+++ b/modules.d/45ifcfg/write-ifcfg.sh
-@@ -286,7 +286,10 @@ echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
- echo "files /var/lib/dhclient" >> /run/initramfs/rwtab
- {
- cp /tmp/net.* /run/initramfs/
-- cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf
-+ for i in /tmp/net.*.resolv.conf; do
-+ [ -f "$i" ] && cat "$i"
-+ done | sort -u > /run/initramfs/state/etc/resolv.conf
-+ [ -s /run/initramfs/state/etc/resolv.conf ] || rm -f /run/initramfs/state/etc/resolv.conf
- copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts
- cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient
- } > /dev/null 2>&1
-
diff --git a/0074.patch b/0074.patch
deleted file mode 100644
index 33d82c1..0000000
--- a/0074.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From e0e6d96d696349c69cffd72a9c4eaf3be3dd22d5 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Mon, 20 Aug 2018 10:04:52 +0200
-Subject: [PATCH] travis: re-enable test 14
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1615271
----
- .travis.yml | 15 ++++++++++++---
- 1 file changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/.travis.yml b/.travis.yml
-index 83e9b4d1..f913db57 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -5,14 +5,23 @@ services:
- env:
- matrix:
- - IMAGE=latest
-- - IMAGE=latest TESTS="01 02 03 04"
-+ - IMAGE=latest TESTS=01
- - IMAGE=latest TESTS=12
- - IMAGE=latest TESTS=20
- - IMAGE=latest TESTS=50
-- - IMAGE=latest TESTS="30 31"
-+ - IMAGE=latest TESTS=30
-+ - IMAGE=latest TESTS=31
- - IMAGE=latest TESTS=70
- - IMAGE=latest TESTS=99
-- - IMAGE=latest TESTS="10 11 13 15 17"
-+ - IMAGE=latest TESTS=02
-+ - IMAGE=latest TESTS=03
-+ - IMAGE=latest TESTS=04
-+ - IMAGE=latest TESTS=10
-+ - IMAGE=latest TESTS=11
-+ - IMAGE=latest TESTS=13
-+ - IMAGE=latest TESTS=14
-+ - IMAGE=latest TESTS=15
-+ - IMAGE=latest TESTS=17
-
- before_script:
- - docker pull fedora:$IMAGE
-
diff --git a/0075.patch b/0075.patch
deleted file mode 100644
index beefa3c..0000000
--- a/0075.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From e791d753bed41315cfbd8611e65cc8cd64ea2d15 Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Wed, 1 Aug 2018 18:40:20 -0400
-Subject: [PATCH] livenet: Enable OverlayFS overlay in sysroot.mount generator.
-
-Adjust sysroot.mount configuration for rd.live.overlay.overlayfs option.
-Use link at /dev/root as a consistent flag for wait_for_dev.
-Adjust documentation.
----
- dracut.cmdline.7.asc | 9 +++++----
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 5 +++--
- modules.d/90dmsquash-live/parse-dmsquash-live.sh | 2 +-
- modules.d/90livenet/livenet-generator.sh | 18 ++++++++++++++----
- 4 files changed, 23 insertions(+), 11 deletions(-)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index 9252d253..df633e5d 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -930,7 +930,8 @@ NOTE: There must be enough free RAM available to hold the complete image.
- This method is very suitable for diskless boots.
-
- **root=**live:__<url>__::
--Boots a live image retrieved from __<url>__. Valid handlers: __http, https, ftp, torrent, tftp__.
-+Boots a live image retrieved from __<url>__. Requires dracut 'livenet' module.
-+Valid handlers: __http, https, ftp, torrent, tftp__.
- +
- [listing]
- .Example
-@@ -955,7 +956,7 @@ By default, this is __squashfs.img__.
- Copy the complete image to RAM and use this for booting. This is useful
- when the image resides on, i.e., a DVD which needs to be ejected later on.
-
--**rd.live.overlay=**__<devspec>__:__(<pathspec>|auto)__|__none__::
-+**rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
- Allow the usage of a permanent overlay.
- - _<devspec>_ specifies the path to a device with a mountable filesystem.
- - _<pathspec>_ is the path to a file within that filesystem, which shall be
-@@ -1005,10 +1006,10 @@ extended attributes and provides a valid d_type in readdir responses, such as
- with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
- overlay can extend the available root filesystem storage up to the capacity of
- the LiveOS device.
--
-++
- If a persistent overlay is detected at the standard LiveOS path, the overlay &
- overlay type detected (whether OverlayFS or Device-mapper) will be used.
--
-++
- The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
- be mounted read only through a higher level transient overlay directory, has
- been implemented through the multiple lower layers feature of OverlayFS.
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 8f3b2bf9..ac603408 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -376,19 +376,20 @@ if [ -n "$overlayfs" ]; then
- mount -r $FSIMG /run/rootfsbase
- fi
- if [ -z "$DRACUT_SYSTEMD" ]; then
-- #FIXME What to link to /dev/root? Is it even needed?
- printf 'mount -t overlay LiveOS_rootfs -o%s,%s %s\n' "$ROOTFLAGS" \
- 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
- "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- fi
-+ _dev=/run/rootfsbase
- else
-- ln -s /dev/mapper/live-rw /dev/root
-+ _dev=/dev/mapper/live-rw
- if [ -z "$DRACUT_SYSTEMD" ]; then
- [ -n "$ROOTFLAGS" ] && ROOTFLAGS="-o $ROOTFLAGS"
- printf 'mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- fi
- ln -s $BASE_LOOPDEV /run/rootfsbase
- fi
-+ln -s $_dev /dev/root
-
- need_shutdown
-
-diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-index a9b78ab5..0eedf1f6 100755
---- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-+++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-@@ -57,6 +57,6 @@ info "root was $liveroot, is now $root"
- # make sure that init doesn't complain
- [ -z "$root" ] && root="live"
-
--wait_for_dev -n /run/rootfsbase
-+wait_for_dev -n /dev/root
-
- return 0
-diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
-index a349cd0b..e2b5b6eb 100755
---- a/modules.d/90livenet/livenet-generator.sh
-+++ b/modules.d/90livenet/livenet-generator.sh
-@@ -43,19 +43,29 @@ GENERATOR_DIR="$2"
-
- [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
-
-+getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
-+[ -e /xor_overlayfs ] && xor_overlayfs="yes"
- ROOTFLAGS="$(getarg rootflags)"
- {
- echo "[Unit]"
- echo "Before=initrd-root-fs.target"
- echo "[Mount]"
- echo "Where=/sysroot"
-- echo "What=/dev/mapper/live-rw"
-- [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
-+ if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
-+ echo "What=LiveOS_rootfs"
-+ echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
-+ echo "Type=overlay"
-+ _dev=LiveOS_rootfs
-+ else
-+ echo "What=/dev/mapper/live-rw"
-+ [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
-+ _dev=$'dev-mapper-live\\x2drw'
-+ fi
- } > "$GENERATOR_DIR"/sysroot.mount
-
--mkdir -p "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d"
-+mkdir -p "$GENERATOR_DIR/$_dev.device.d"
- {
- echo "[Unit]"
- echo "JobTimeoutSec=3000"
- echo "JobRunningTimeoutSec=3000"
--} > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf"
-+} > "$GENERATOR_DIR/$_dev.device.d/timeout.conf"
-
diff --git a/0076.patch b/0076.patch
deleted file mode 100644
index 933102e..0000000
--- a/0076.patch
+++ /dev/null
@@ -1,361 +0,0 @@
-From 789668deb3e6f8584ffab964d2204ddcb75f0a06 Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Mon, 20 Aug 2018 09:47:50 -0400
-Subject: [PATCH] dmsquash-live: Support a flattened squashfs.img
-
-A simplified root filesystem structure may be provided for OverlayFS
-overlays by squashing the root filesystem directly instead of squashing
-an embedded image file at /LiveOS/rootfs.img. Detect and configure
-such a squashed root filesystem for live booting.
-
-For OverlayFS boots, avoid the read-only Device-mapper linear device
- at /dev/mapper/live-base.
-Create a consistent device link at /dev/live-base for the read-only
- base loop device for all overlayed live root filesystems.
-Consistently provide a link at /dev/root for wait_for_dev.
-
-Update documentation.
----
- dracut.cmdline.7.asc | 126 +++++++++++++++---------
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 51 ++++++----
- 2 files changed, 110 insertions(+), 67 deletions(-)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index df633e5d..882035af 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -838,23 +838,24 @@ Booting live images
- Dracut offers multiple options for live booted images:
-
- =====================
--SquashFS with read-only filesystem image::: The system will boot with a read
--only filesystem from the SquashFS and apply a writable device-mapper snapshot
--over the read only filesystem. Using this method ensures a relatively fast
--boot and lower RAM usage. Users **must be careful** to avoid writing too many
--blocks to the snapshot volume. Once the blocks of the snapshot overlay are
--exhausted, the root filesystem becomes read only and may cause application
--failures. The overlay file is marked 'Overflow', and a difficult recovery is
--required to repair and enlarge the overlay offline. Non-persistent overlays
--are sparse files in RAM that only consume content space as required blocks are
--allocated. They default to an apparent size of 32 GiB in RAM. The size can be
--adjusted with the **rd.live.overlay.size=** kernel command line option.
-+SquashFS with read-only filesystem image::: The system will boot with a
-+read-only filesystem from the SquashFS and apply a writable Device-mapper
-+snapshot or an OverlayFS overlay mount for the read-only base filesystem. This
-+method ensures a relatively fast boot and lower RAM usage. Users **must be
-+careful** to avoid writing too many blocks to a snapshot volume. Once the
-+blocks of the snapshot overlay are exhausted, the root filesystem becomes
-+read-only and may cause application failures. The snapshot overlay file is
-+marked 'Overflow', and a difficult recovery is required to repair and enlarge
-+the overlay offline. Non-persistent overlays are sparse files in RAM that only
-+consume content space as required blocks are allocated. They default to an
-+apparent size of 32 GiB in RAM. The size can be adjusted with the
-+**rd.live.overlay.size=** kernel command line option.
- +
--The filesystem structure is expected to be:
-+The filesystem structure is traditionally expected to be:
- +
- [listing]
- --
--squashfs.img | Squashfs from LiveCD .iso downloaded via network
-+squashfs.img | SquashFS from LiveCD .iso
- !(mount)
- /LiveOS
- |- rootfs.img | Filesystem image to mount read-only
-@@ -865,21 +866,35 @@ squashfs.img | Squashfs from LiveCD .iso downloaded via network
- ... |
- --
- +
--Dracut uses this method of live booting by default. No additional command line
--options are required other than **root=live:<URL>** to specify the location
--of your squashed filesystem.
-+For OverlayFS mount overlays, the filesystem structure may also be a direct
-+compression of the root filesystem:
-++
-+[listing]
-+--
-+squashfs.img | SquashFS from LiveCD .iso
-+ !(mount)
-+ /bin | Live filesystem
-+ /boot |
-+ /dev |
-+ ... |
-+--
-++
-+Dracut uses one of the overlay methods of live booting by default. No
-+additional command line options are required other than **root=live:<URL>** to
-+specify the location of your squashed filesystem.
- +
- - The compressed SquashFS image can be copied during boot to RAM at
- `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
--- A device with a persistent overlay can be booted read only by using the
-+- A device with a persistent overlay can be booted read-only by using the
- **rd.live.overlay.readonly** option on the kernel command line. This will
--cause a temporary, writable overlay to be stacked over a read-only snapshot
--of the root filesystem.
-+either cause a temporary, writable overlay to be stacked over a read-only
-+snapshot of the root filesystem or the OverlayFS mount will use an additional
-+lower layer with the root filesystem.
- +
- Uncompressed live filesystem image:::
- When the live system was installed with the '--skipcompress' option of the
- __livecd-iso-to-disk__ installation script for Live USB devices, the root
--filesystem image, `rootfs.img`, is expanded on installation and no SquashFS
-+filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
- is involved during boot.
- +
- - If **rd.live.ram=1** is used in this situation, the full, uncompressed
-@@ -887,12 +902,12 @@ root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
- `/run` tmpfs.
- +
- - If **rd.live.overlay=none** is provided as a kernel command line option,
--a writable, linear device-mapper target is created on boot with no overlay.
-+a writable, linear Device-mapper target is created on boot with no overlay.
-
--writable filesystem image:::
-+Writable filesystem image:::
- The system will retrieve a compressed filesystem image, extract it to
- `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
--writable, linear device-mapper target at `/dev/mapper/live-rw`, and mount that
-+writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
- as a writable volume at `/`. More RAM is required during boot but the live
- filesystem is easier to manage if it becomes full. Users can make a filesystem
- image of any size and that size will be maintained when the system boots. There
-@@ -902,7 +917,7 @@ The filesystem structure is expected to be:
- +
- [listing]
- --
--rootfs.tgz | Compressed tarball containing fileystem image
-+rootfs.tgz | Compressed tarball containing filesystem image
- !(unpack)
- /rootfs.img | Filesystem image at /run/initramfs/fsimg/
- !(mount)
-@@ -930,11 +945,11 @@ NOTE: There must be enough free RAM available to hold the complete image.
- This method is very suitable for diskless boots.
-
- **root=**live:__<url>__::
--Boots a live image retrieved from __<url>__. Requires dracut 'livenet' module.
--Valid handlers: __http, https, ftp, torrent, tftp__.
-+Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
-+module. Valid handlers: __http, https, ftp, torrent, tftp__.
- +
- [listing]
--.Example
-+.Examples
- --
- root=live:http://example.com/liveboot.img
- root=live:ftp://ftp.example.com/liveboot.img
-@@ -946,7 +961,7 @@ Enables debug output from the live boot process.
-
- **rd.live.dir=**__<path>__::
- Specifies the directory within the boot device where the squashfs.img or
--rootfs.img can be found. By default, this is __LiveOS__.
-+rootfs.img can be found. By default, this is `/LiveOS`.
-
- **rd.live.squashimg=**__<filename of SquashFS image>__::
- Specifies the filename for a SquashFS image of the root filesystem.
-@@ -954,35 +969,52 @@ By default, this is __squashfs.img__.
-
- **rd.live.ram=**1::
- Copy the complete image to RAM and use this for booting. This is useful
--when the image resides on, i.e., a DVD which needs to be ejected later on.
-+when the image resides on, e.g., a DVD which needs to be ejected later on.
-
- **rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
--Allow the usage of a permanent overlay.
--- _<devspec>_ specifies the path to a device with a mountable filesystem.
--- _<pathspec>_ is the path to a file within that filesystem, which shall be
-+Manage the usage of a permanent overlay.
-++
-+--
-+* _<devspec>_ specifies the path to a device with a mountable filesystem.
-+* _<pathspec>_ is the path to a file within that filesystem, which shall be
- used to persist the changes made to the device specified by the
- **root=live:__<url>__** option.
--- _none_ specifies no overlay when an uncompressed live root filesystem is
--available.
--If a persistent overlay is detected at the standard LiveOS path, the overlay &
--overlay type detected (whether Device-mapper or OverlayFS) will be used.
-++
-+The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
-+`/<+++<b>rd.live.dir</b>+++>/overlay-<label>-<uuid>`, where _<label>_ is the
-+device LABEL, and _<uuid>_ is the device UUID.
-+* _none_ (the word itself) specifies that no overlay will be used, such as when
-+an uncompressed, writable live root filesystem is available.
-++
-+If a persistent overlay __is detected__ at the standard LiveOS path, the
-+overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
-+used.
-+--
- +
- [listing]
--.Example
-+.Examples
- --
- rd.live.overlay=/dev/sdb1:persistent-overlay.img
-+rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
- --
-
- **rd.live.overlay.size=**__<size_MiB>__::
--Specifies a non-persistent overlay size in MiB. The default is _32768_.
-+Specifies a non-persistent Device-mapper overlay size in MiB. The default is
-+_32768_.
-
- **rd.live.overlay.readonly=**1::
--Specifies a non-persistent, writable snapshot overlay to be stacked over a
--read-only snapshot of the root filesystem, `/dev/mapper/live-ro`, or a read-
--only loop device of a writable `rootfs.img`.
-+This is used to boot with a normally read-write persistent overlay in a
-+read-only mode. With this option, either an additional, non-persistent,
-+writable snapshot overlay will be stacked over a read-only snapshot,
-+`/dev/mapper/livero`, of the base filesystem with the persistent overlay, or a
-+read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
-+mount will use the persistent overlay directory linked at `/run/overlayfsr` as
-+an additional lower layer along with the base root filesystem and apply a
-+transient, writable upper directory overlay, in order to complete the booted
-+root filesystem.
-
- **rd.live.overlay.reset=**1::
--Specifies that a persistent overlay should be reset on boot. All root
-+Specifies that a persistent overlay should be reset on boot. All previous root
- filesystem changes are vacated by this action.
-
- **rd.live.overlay.thin=**1::
-@@ -993,25 +1025,25 @@ that memory is given back to the kernel when the filesystem does not claim it
- anymore.
-
- **rd.live.overlay.overlayfs=**1::
--Enables the use of the **OverlayFS** kernel module, if available, to provide a
-+Enables the use of the *OverlayFS* kernel module, if available, to provide a
- copy-on-write union directory for the root filesystem. OverlayFS overlays are
- directories of the files that have changed on the read-only base (lower)
- filesystem. The root filesystem is provided through a special overlay type
- mount that merges the lower and upper directories. If an OverlayFS upper
- directory is not present on the boot device, a tmpfs directory will be created
--at /run/overlayfs to provide temporary storage. Persistent storage can be
-+at `/run/overlayfs` to provide temporary storage. Persistent storage can be
- provided on vfat or msdos formatted devices by supplying the OverlayFS upper
- directory within an embedded filesystem that supports the creation of trusted.*
- extended attributes and provides a valid d_type in readdir responses, such as
- with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
- overlay can extend the available root filesystem storage up to the capacity of
--the LiveOS device.
-+the LiveOS disk device.
- +
- If a persistent overlay is detected at the standard LiveOS path, the overlay &
--overlay type detected (whether OverlayFS or Device-mapper) will be used.
-+overlay type detected, whether OverlayFS or Device-mapper, will be used.
- +
- The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
--be mounted read only through a higher level transient overlay directory, has
-+be mounted read-only through a higher level transient overlay directory, has
- been implemented through the multiple lower layers feature of OverlayFS.
-
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index ac603408..0c5e010e 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -250,13 +250,11 @@ do_live_overlay() {
- echo 0 $sz snapshot $base $over PO 8 | dmsetup create live-rw
- fi
-
-- # Create a device that always points to a ro base image
-- if [ -n "$overlayfs" ]; then
-- BASE_LOOPDUP=$(losetup -f --show -r $BASE_LOOPDEV)
-- echo 0 $sz linear $BASE_LOOPDUP 0 | dmsetup create --readonly live-base
-- else
-+ # Create a device for the ro base of overlayed file systems.
-+ if [ -z "$overlayfs" ]; then
- echo 0 $sz linear $BASE_LOOPDEV 0 | dmsetup create --readonly live-base
- fi
-+ ln -s $BASE_LOOPDEV /dev/live-base
- }
-
- # we might have a genMinInstDelta delta file for anaconda to take advantage of
-@@ -291,10 +289,21 @@ if [ -e "$SQUASHED" ]; then
- mkdir -m 0755 -p /run/initramfs/squashfs
- mount -n -t squashfs -o ro $SQUASHED_LOOPDEV /run/initramfs/squashfs
-
-- if [ -f /run/initramfs/squashfs/LiveOS/rootfs.img ]; then
-- FSIMG="/run/initramfs/squashfs/LiveOS/rootfs.img"
-- elif [ -f /run/initramfs/squashfs/LiveOS/ext3fs.img ]; then
-- FSIMG="/run/initramfs/squashfs/LiveOS/ext3fs.img"
-+ if [ -d /run/initramfs/squashfs/LiveOS ]; then
-+ if [ -f /run/initramfs/squashfs/LiveOS/rootfs.img ]; then
-+ FSIMG="/run/initramfs/squashfs/LiveOS/rootfs.img"
-+ elif [ -f /run/initramfs/squashfs/LiveOS/ext3fs.img ]; then
-+ FSIMG="/run/initramfs/squashfs/LiveOS/ext3fs.img"
-+ fi
-+ elif [ -d /run/initramfs/squashfs/proc ]; then
-+ FSIMG=$SQUASHED
-+ if [ -z "$overlayfs" ]; then
-+ overlayfs="yes"
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
-+ fi
-+ else
-+ die "Failed to find a root filesystem in $SQUASHED."
-+ exit 1
- fi
- else
- # we might have an embedded fs image to use as rootfs (uncompressed live)
-@@ -312,8 +321,8 @@ else
- fi
- fi
-
--if [ -n "$FSIMG" ] ; then
-- if [ -n "$writable_fsimg" ] ; then
-+if [ -n "$FSIMG" ]; then
-+ if [ -n "$writable_fsimg" ]; then
- # mount the provided filesystem read/write
- echo "Unpacking live filesystem (may take some time)" > /dev/kmsg
- mkdir -m 0755 /run/initramfs/fsimg/
-@@ -336,9 +345,13 @@ if [ -n "$FSIMG" ] ; then
- setup=yes
- fi
- fi
-- BASE_LOOPDEV=$(losetup -f --show $opt $FSIMG)
-- sz=$(blockdev --getsz $BASE_LOOPDEV)
-- if [ "$setup" == rw ]; then
-+ if [ "$FSIMG" = "$SQUASHED" ]; then
-+ BASE_LOOPDEV=$SQUASHED_LOOPDEV
-+ else
-+ BASE_LOOPDEV=$(losetup -f --show $opt $FSIMG)
-+ sz=$(blockdev --getsz $BASE_LOOPDEV)
-+ fi
-+ if [ "$setup" = rw ]; then
- echo 0 $sz linear $BASE_LOOPDEV 0 | dmsetup create live-rw
- else
- # Add a DM snapshot or OverlayFS for writes.
-@@ -346,8 +359,6 @@ if [ -n "$FSIMG" ] ; then
- fi
- fi
-
--[ -e "$SQUASHED" ] && [ -z "$overlayfs" ] && umount -l /run/initramfs/squashfs
--
- if [ -b "$OSMIN_LOOPDEV" ]; then
- # set up the devicemapper snapshot device, which will merge
- # the normal live fs image, and the delta, into a minimzied fs image
-@@ -380,17 +391,17 @@ if [ -n "$overlayfs" ]; then
- 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
- "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- fi
-- _dev=/run/rootfsbase
- else
-- _dev=/dev/mapper/live-rw
- if [ -z "$DRACUT_SYSTEMD" ]; then
- [ -n "$ROOTFLAGS" ] && ROOTFLAGS="-o $ROOTFLAGS"
- printf 'mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- fi
-- ln -s $BASE_LOOPDEV /run/rootfsbase
- fi
--ln -s $_dev /dev/root
-+[ -e "$SQUASHED" ] && umount -l /run/initramfs/squashfs
-+
-+ln -s null /dev/root
-
- need_shutdown
-
- exit 0
-+
-
diff --git a/0077.patch b/0077.patch
deleted file mode 100644
index dd46af6..0000000
--- a/0077.patch
+++ /dev/null
@@ -1,193 +0,0 @@
-From eb18a1fe29a3ffcd646fe6d25ae2d7d998b63e71 Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Mon, 20 Aug 2018 19:52:53 -0400
-Subject: [PATCH] dmsquash-live, livenet: Simplify OverlayFS read-only overlay
- setup.
-
-Use multiple lower layer directories in a single OverlayFS mount with
- a transient overlay directory.
-Tolerate a command line with rd.live.overlay.readonly and NO persistent
- overlay by reconfiguring the OverlayFS mount options.
-Use more compatible shell syntax for testing symlinks, and use printf
- instead of echo -e.
----
- modules.d/90dmsquash-live/dmsquash-generator.sh | 9 ++++++-
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 34 ++++++++++++++-----------
- modules.d/90livenet/livenet-generator.sh | 9 ++++++-
- 3 files changed, 35 insertions(+), 17 deletions(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
-index fe190012..1129ddff 100755
---- a/modules.d/90dmsquash-live/dmsquash-generator.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
-@@ -54,8 +54,10 @@ GENERATOR_DIR="$2"
- [ -z "$GENERATOR_DIR" ] && exit 1
- [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
-
-+getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
- getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
- [ -e /xor_overlayfs ] && xor_overlayfs="yes"
-+[ -e /xor_readonly ] && xor_readonly="--readonly"
- ROOTFLAGS="$(getarg rootflags)"
- {
- echo "[Unit]"
-@@ -64,7 +66,12 @@ ROOTFLAGS="$(getarg rootflags)"
- echo "Where=/sysroot"
- if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
- echo "What=LiveOS_rootfs"
-- echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
-+ if [ "$readonly_overlay$xor_readonly" = "--readonly" ]; then
-+ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
-+ else
-+ ovlfs=lowerdir=/run/rootfsbase
-+ fi
-+ echo "Options=${ROOTFLAGS},${ovlfs},upperdir=/run/overlayfs,workdir=/run/ovlwork"
- echo "Type=overlay"
- _dev=LiveOS_rootfs
- else
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 0c5e010e..0f3d8f89 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -137,7 +137,7 @@ do_live_overlay() {
- fi
- if [ -n "$overlayfs" ]; then
- unset -v overlayfs
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
- setup="yes"
- else
-@@ -148,7 +148,7 @@ do_live_overlay() {
- ln -s /run/initramfs/overlayfs/ovlwork /run/ovlwork$opt
- if [ -z "$overlayfs" ]; then
- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
- setup="yes"
- fi
-@@ -159,7 +159,7 @@ do_live_overlay() {
- ln -s /run/initramfs/overlayfs$pathspec/../ovlwork /run/ovlwork$opt
- if [ -z "$overlayfs" ]; then
- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
- setup="yes"
- fi
-@@ -168,8 +168,7 @@ do_live_overlay() {
- modprobe overlay
- if [ $? != 0 ]; then
- m='OverlayFS is not available; using temporary Device-mapper overlay.'
-- unset -v overlayfs setup
-- [ -n "$reloadsysrootmountunit" ] && unset -v reloadsysrootmountunit
-+ unset -v overlayfs setup reloadsysrootmountunit
- fi
- fi
-
-@@ -181,7 +180,7 @@ do_live_overlay() {
- m=' Unable to find a persistent overlay; using a temporary one.'
- m="$m"$'\n All root filesystem changes will be lost on shutdown.'
- m="$m"$'\n Press [Enter] to continue.'
-- echo -e "\n\n\n\n${m}\n\n\n" > /dev/kmsg
-+ printf "\n\n\n\n${m}\n\n\n" > /dev/kmsg
- if [ -n "$DRACUT_SYSTEMD" ]; then
- if type plymouth >/dev/null 2>&1 && plymouth --ping ; then
- if getargbool 0 rhgb || getargbool 0 splash ; then
-@@ -203,6 +202,11 @@ do_live_overlay() {
- if [ -n "$overlayfs" ]; then
- mkdir -m 0755 /run/overlayfs
- mkdir -m 0755 /run/ovlwork
-+ if [ -n "$readonly_overlay" ] && ! [ -h /run/overlayfs-r ]; then
-+ info "No persistent overlay found."
-+ unset -v readonly_overlay
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="${reloadsysrootmountunit}:>/xor_readonly;"
-+ fi
- else
- dd if=/dev/null of=/overlay bs=1024 count=1 seek=$((overlay_size*1024)) 2> /dev/null
- if [ -n "$setup" -a -n "$readonly_overlay" ]; then
-@@ -256,6 +260,7 @@ do_live_overlay() {
- fi
- ln -s $BASE_LOOPDEV /dev/live-base
- }
-+# end do_live_overlay()
-
- # we might have a genMinInstDelta delta file for anaconda to take advantage of
- if [ -e /run/initramfs/live/${live_dir}/osmin.img ]; then
-@@ -299,7 +304,7 @@ if [ -e "$SQUASHED" ]; then
- FSIMG=$SQUASHED
- if [ -z "$overlayfs" ]; then
- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
- else
- die "Failed to find a root filesystem in $SQUASHED."
-@@ -366,7 +371,7 @@ if [ -b "$OSMIN_LOOPDEV" ]; then
- fi
-
- if [ -n "$reloadsysrootmountunit" ]; then
-- > /xor_overlayfs
-+ eval "$reloadsysrootmountunit"
- systemctl daemon-reload
- fi
-
-@@ -374,21 +379,20 @@ ROOTFLAGS="$(getarg rootflags)"
-
- if [ -n "$overlayfs" ]; then
- mkdir -m 0755 /run/rootfsbase
-- if [ -n "$reset_overlay" ] && [ -L /run/overlayfs ]; then
-+ if [ -n "$reset_overlay" ] && [ -h /run/overlayfs ]; then
- ovlfs=$(readlink /run/overlayfs)
- info "Resetting the OverlayFS overlay directory."
- rm -r -- ${ovlfs}/* ${ovlfs}/.* >/dev/null 2>&1
- fi
-- if [ -n "$readonly_overlay" ]; then
-- mkdir -m 0755 /run/rootfsbase-r
-- mount -r $FSIMG /run/rootfsbase-r
-- mount -t overlay LiveOS_rootfs-r -oro,lowerdir=/run/overlayfs-r:/run/rootfsbase-r /run/rootfsbase
-+ if [ -n "$readonly_overlay" ] && [ -h /run/overlayfs-r ]; then
-+ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
- else
-- mount -r $FSIMG /run/rootfsbase
-+ ovlfs=lowerdir=/run/rootfsbase
- fi
-+ mount -r $FSIMG /run/rootfsbase
- if [ -z "$DRACUT_SYSTEMD" ]; then
- printf 'mount -t overlay LiveOS_rootfs -o%s,%s %s\n' "$ROOTFLAGS" \
-- 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
-+ "$ovlfs",upperdir=/run/overlayfs,workdir=/run/ovlwork \
- "$NEWROOT" > $hookdir/mount/01-$$-live.sh
- fi
- else
-diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
-index e2b5b6eb..f0d12851 100755
---- a/modules.d/90livenet/livenet-generator.sh
-+++ b/modules.d/90livenet/livenet-generator.sh
-@@ -43,8 +43,10 @@ GENERATOR_DIR="$2"
-
- [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
-
-+getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
- getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
- [ -e /xor_overlayfs ] && xor_overlayfs="yes"
-+[ -e /xor_readonly ] && xor_readonly="--readonly"
- ROOTFLAGS="$(getarg rootflags)"
- {
- echo "[Unit]"
-@@ -53,7 +55,12 @@ ROOTFLAGS="$(getarg rootflags)"
- echo "Where=/sysroot"
- if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
- echo "What=LiveOS_rootfs"
-- echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
-+ if [ "$readonly_overlay$xor_readonly" = "--readonly" ]; then
-+ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
-+ else
-+ ovlfs=lowerdir=/run/rootfsbase
-+ fi
-+ echo "Options=${ROOTFLAGS},${ovlfs},upperdir=/run/overlayfs,workdir=/run/ovlwork"
- echo "Type=overlay"
- _dev=LiveOS_rootfs
- else
-
diff --git a/0078.patch b/0078.patch
deleted file mode 100644
index 5fd699f..0000000
--- a/0078.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 9f3c31cd8d68b5272f803063247362a644720227 Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Mon, 20 Aug 2018 18:43:19 +0800
-Subject: [PATCH] 99base: enable initqueue if extra devices are added
-
-When extra devices are added, initqueue should be enabled to make sure
-those devices are present, so following services and routines could
-use those devices.
-
-See PR #442 for more detail.
----
- modules.d/99base/module-setup.sh | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
-index a1569b12..731c6dcc 100755
---- a/modules.d/99base/module-setup.sh
-+++ b/modules.d/99base/module-setup.sh
-@@ -94,6 +94,9 @@ install() {
-
- ## save host_devs which we need bring up
- if [[ $hostonly_cmdline == "yes" ]]; then
-+ if [[ -n $add_device ]]; then
-+ dracut_need_initqueue
-+ fi
- if [[ -f "$initdir/lib/dracut/need-initqueue" ]] || ! dracut_module_included "systemd"; then
- (
- if dracut_module_included "systemd"; then
-
diff --git a/0079.patch b/0079.patch
deleted file mode 100644
index 80384b5..0000000
--- a/0079.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 09ba1b289f2cba613c1950b03f0f549ebb7eb83f Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Mon, 20 Aug 2018 18:40:05 +0800
-Subject: [PATCH] kernel-modules: add nfit
-
-To support pmem devices, nfit module is required
----
- modules.d/90kernel-modules/module-setup.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
-index f01470e7..3dfceff0 100755
---- a/modules.d/90kernel-modules/module-setup.sh
-+++ b/modules.d/90kernel-modules/module-setup.sh
-@@ -41,7 +41,7 @@ installkernel() {
- yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
- atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
- virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
-- "=drivers/pcmcia" =ide nvme vmd
-+ "=drivers/pcmcia" =ide nvme vmd nfit
-
- if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
- # arm/aarch64 specific modules
-
diff --git a/0080.patch b/0080.patch
deleted file mode 100644
index 0ede47d..0000000
--- a/0080.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ae9bc0d72ffea2c960c95d7b705b1b76ae53d692 Mon Sep 17 00:00:00 2001
-From: Tony Asleson <tasleson(a)redhat.com>
-Date: Thu, 23 Aug 2018 15:08:59 -0500
-Subject: [PATCH] stratis: Add additional binaries
-
-Include all binaries that could be called by the daemon.
-
-Signed-off-by: Tony Asleson <tasleson(a)redhat.com>
----
- modules.d/90stratis/module-setup.sh | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/modules.d/90stratis/module-setup.sh b/modules.d/90stratis/module-setup.sh
-index 2787b63b..29f0765b 100755
---- a/modules.d/90stratis/module-setup.sh
-+++ b/modules.d/90stratis/module-setup.sh
-@@ -2,7 +2,7 @@
-
- # called by dracut
- check() {
-- require_binaries stratisd-init thin_check thin_repair || return 1
-+ require_binaries stratisd-init thin_check thin_repair mkfs.xfs xfs_admin xfs_growfs || return 1
- return 255
- }
-
-@@ -20,7 +20,7 @@ installkernel() {
- # called by dracut
- install() {
-
-- inst_multiple stratisd-init thin_check thin_repair
-+ inst_multiple stratisd-init thin_check thin_repair mkfs.xfs xfs_admin xfs_growfs
-
- if dracut_module_included "systemd"; then
- inst_simple "${moddir}/stratisd-init.service" "${systemdsystemunitdir}/stratisd-init.service"
-
diff --git a/0081.patch b/0081.patch
deleted file mode 100644
index d64429d..0000000
--- a/0081.patch
+++ /dev/null
@@ -1,106 +0,0 @@
-From d09218823c787d23b3fdc3e450bb27b20f71f089 Mon Sep 17 00:00:00 2001
-From: Tobias Klauser <tklauser(a)distanz.ch>
-Date: Wed, 29 Aug 2018 11:53:14 +0200
-Subject: [PATCH] Fix misspellings in man pages and usage
-
-Also remove some trailing whitespaces from the same files.
-
-Signed-off-by: Tobias Klauser <tklauser(a)distanz.ch>
----
- dracut.cmdline.7.asc | 2 +-
- dracut.modules.7.asc | 6 +++---
- dracut.usage.asc | 4 ++--
- mkinitrd-suse.8.asc | 6 +++---
- 4 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
-index 882035af..3cee5a00 100644
---- a/dracut.cmdline.7.asc
-+++ b/dracut.cmdline.7.asc
-@@ -601,7 +601,7 @@ NFS
- mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
- dhcp next_server. If server-ip is an IPv6 address it has to be put in
- brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
-- ":" or "," and are seperated by ",".
-+ ":" or "," and are separated by ",".
-
- **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
- root=dhcp alone directs initrd to look at the DHCP root-path where NFS
-diff --git a/dracut.modules.7.asc b/dracut.modules.7.asc
-index 69ac6c44..c34d005d 100644
---- a/dracut.modules.7.asc
-+++ b/dracut.modules.7.asc
-@@ -212,7 +212,7 @@ check() should return with:
-
- 0:: Include the dracut module in the initramfs.
-
--1:: Do not include the dracut module. The requirements are not fullfilled
-+1:: Do not include the dracut module. The requirements are not fulfilled
- (missing tools, etc.)
-
- 255:: Only include the dracut module, if another module requires it or if
-@@ -255,8 +255,8 @@ not lead to an error.
- ==== inst <src> [<dst>]
-
- installs _one_ file <src> either to the same place in the initramfs or to an
--optional <dst>. inst with more than two arguments is treated the same as
--inst_multiple, all arguments are treated as files to install and none as
-+optional <dst>. inst with more than two arguments is treated the same as
-+inst_multiple, all arguments are treated as files to install and none as
- install destinations.
-
- ==== inst_hook <hookdir> <prio> <src>
-diff --git a/dracut.usage.asc b/dracut.usage.asc
-index 2b25588f..2b598ee6 100644
---- a/dracut.usage.asc
-+++ b/dracut.usage.asc
-@@ -243,7 +243,7 @@ If your root partition is on a network drive, you have to have the network
- dracut modules installed to create a network aware initramfs image.
-
- If you specify ip=dhcp on the kernel command line, then dracut asks a dhcp
--server about the ip adress for the machine. The dhcp server can also serve an
-+server about the ip address for the machine. The dhcp server can also serve an
- additional root-path, which will set the root device for dracut. With this
- mechanism, you have static configuration on your client machine and a
- centralized boot configuration on your TFTP/DHCP server. If you can't pass a
-@@ -252,7 +252,7 @@ method described in <<Injecting>>.
-
- ==== Reducing the Image Size
-
--To reduce the size of the initramfs, you should create it with by ommitting all
-+To reduce the size of the initramfs, you should create it with by omitting all
- dracut modules, which you know, you don't need to boot the machine.
-
- You can also specify the exact dracut and kernel modules to produce a very tiny
-diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
-index 91ec4695..e39ac52b 100644
---- a/mkinitrd-suse.8.asc
-+++ b/mkinitrd-suse.8.asc
-@@ -18,7 +18,7 @@ DESCRIPTION
- version <kernel-version> by calling *dracut*.
-
- [IMPORTANT]
--This version of mkinitrd is provided for compability with older
-+This version of mkinitrd is provided for compatibility with older
- versions of mkinitrd. If a more fine grained control over the
- resulting image is needed, *dracut* should be called directly.
-
-@@ -30,7 +30,7 @@ OPTIONS
- **-k**_<kernel_list>_::
- List of kernel images for which initrd files are created (relative
- to _boot_dir_), Image name should begin with the following string,
-- defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x and _vmlinuz_
-+ defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x and _vmlinuz_
- for everything else.
-
- **-i**_<initrd_list>_::
-@@ -51,7 +51,7 @@ OPTIONS
-
- **-d**_<root_device>_::
- Root device, defaults to the device from which the root_dir is
-- mounted; overwrites the rootdev enviroment variable if set
-+ mounted; overwrites the rootdev environment variable if set
-
- **-s**_<size>_::
- Add splash animation and bootscreen to initrd.
-
diff --git a/0082.patch b/0082.patch
deleted file mode 100644
index 149f2e5..0000000
--- a/0082.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From e9a84e0a215fb5a79e563f665bc406c0ea177d32 Mon Sep 17 00:00:00 2001
-From: Daniel Molkentin <dmolkentin(a)suse.com>
-Date: Wed, 5 Sep 2018 12:06:06 +0200
-Subject: [PATCH] 98dracut-systemd: Start systemd-vconsole-setup before
- dracut-cmdline-ask
-
-This is what happened before this patch (edited for brevity):
-
- dracut-cmdline-ask.service in modules.d/98dracut-systemd, which invokes
- dracut-cmdline-ask.sh. This script and systemd-vconsole-setup are
- started in parallel for the same console (tty1).
-
- Then dracut-cmdline-ask quits immediately without doing anything (unless
- rd.cmdline=ask is given). As this is a bash script and it gets tty as
- stdin as specified in its *.service, this triggers the hangup of tty1 at
- its exit.
-
- Meanwhile systemd-vconsole-setup continues and tries some ioctls after
- that, but they fail because of the hung up tty1.
-
-The usual culprit for starting systemd-vconsole-setup early on is
-plymouth-start.service, even if plymouth.enable=0 is set.
-
-A popular (and annoying) symptom of this as reported by users was
-the inability use their configured keyboard layout in plymouth when
-unlocking their crypted block devices.
-
-Reference: boo#1055834
----
- modules.d/98dracut-systemd/dracut-cmdline-ask.service | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
-index ce7deda5..b96c2aaf 100644
---- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service
-+++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
-@@ -7,6 +7,8 @@ Description=dracut ask for additional cmdline parameters
- DefaultDependencies=no
- Before=dracut-cmdline.service
- After=systemd-journald.socket
-+After=systemd-vconsole-setup.service
-+Requires=systemd-vconsole-setup.service
- Wants=systemd-journald.socket
- ConditionPathExists=/usr/lib/initrd-release
- ConditionKernelCommandLine=|rd.cmdline=ask
-
diff --git a/0083.patch b/0083.patch
deleted file mode 100644
index 100fbb5..0000000
--- a/0083.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From a7d8fc280c172ab023ce6170c33c323fb7c87adf Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Mon, 3 Sep 2018 17:01:53 -0400
-Subject: [PATCH] dmsquash-live: Avoid grep and sed in this module.
-
-strstr and variable string manipulations suffice.
----
- modules.d/90dmsquash-live/dmsquash-generator.sh | 4 ++--
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 6 +++---
- modules.d/90dmsquash-live/module-setup.sh | 2 +-
- modules.d/90dmsquash-live/parse-dmsquash-live.sh | 4 ++--
- 4 files changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
-index 1129ddff..f57b1fc5 100755
---- a/modules.d/90dmsquash-live/dmsquash-generator.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
-@@ -18,12 +18,12 @@ fi
- case "$liveroot" in
- live:LABEL=*|LABEL=*) \
- root="${root#live:}"
-- root="$(echo $root | sed 's,/,\\x2f,g')"
-+ root="${root//\//\\x2f}"
- root="live:/dev/disk/by-label/${root#LABEL=}"
- rootok=1 ;;
- live:CDLABEL=*|CDLABEL=*) \
- root="${root#live:}"
-- root="$(echo $root | sed 's,/,\\x2f,g')"
-+ root="${root//\//\\x2f}"
- root="live:/dev/disk/by-label/${root#CDLABEL=}"
- rootok=1 ;;
- live:UUID=*|UUID=*) \
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 0f3d8f89..330ba3e9 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -109,15 +109,15 @@ do_live_overlay() {
-
- if [ -z "$overlay" ]; then
- pathspec="/${live_dir}/overlay-$l-$u"
-- elif ( echo $overlay | grep -q ":" ); then
-+ elif strstr $overlay ":"; then
- # pathspec specified, extract
-- pathspec=$( echo $overlay | sed -e 's/^.*://' )
-+ pathspec=${overlay##*:}
- fi
-
- if [ -z "$pathspec" -o "$pathspec" = "auto" ]; then
- pathspec="/${live_dir}/overlay-$l-$u"
- fi
-- devspec=$( echo $overlay | sed -e 's/:.*$//' )
-+ devspec=${overlay%%:*}
-
- # need to know where to look for the overlay
- if [ -z "$setup" -a -n "$devspec" -a -n "$pathspec" -a -n "$overlay" ]; then
-diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh
-index 48418a06..f251258f 100755
---- a/modules.d/90dmsquash-live/module-setup.sh
-+++ b/modules.d/90dmsquash-live/module-setup.sh
-@@ -22,7 +22,7 @@ installkernel() {
-
- # called by dracut
- install() {
-- inst_multiple umount dmsetup blkid dd losetup grep blockdev find
-+ inst_multiple umount dmsetup blkid dd losetup blockdev find
- inst_multiple -o checkisomd5
- inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh"
- inst_hook cmdline 31 "$moddir/parse-iso-scan.sh"
-diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-index 0eedf1f6..4d46a360 100755
---- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-+++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
-@@ -20,12 +20,12 @@ modprobe -q loop
- case "$liveroot" in
- live:LABEL=*|LABEL=*) \
- root="${root#live:}"
-- root="$(echo $root | sed 's,/,\\x2f,g')"
-+ root="${root//\//\\x2f}"
- root="live:/dev/disk/by-label/${root#LABEL=}"
- rootok=1 ;;
- live:CDLABEL=*|CDLABEL=*) \
- root="${root#live:}"
-- root="$(echo $root | sed 's,/,\\x2f,g')"
-+ root="${root//\//\\x2f}"
- root="live:/dev/disk/by-label/${root#CDLABEL=}"
- rootok=1 ;;
- live:UUID=*|UUID=*) \
-
diff --git a/0084.patch b/0084.patch
deleted file mode 100644
index ef1ee87..0000000
--- a/0084.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 44d1688164040f088fd66fb8a2d458e1f61836ce Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Mon, 3 Sep 2018 19:02:23 -0400
-Subject: [PATCH] dmsquash-live-root: Manage absent overlayfs module better.
-
-die when required; systemctl reload otherwise.
----
- modules.d/90dmsquash-live/dmsquash-live-root.sh | 26 +++++++++++++++----------
- 1 file changed, 16 insertions(+), 10 deletions(-)
-
-diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-index 330ba3e9..6324fe83 100755
---- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
-+++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
-@@ -146,10 +146,10 @@ do_live_overlay() {
- [ -d /run/initramfs/overlayfs/ovlwork ]; then
- ln -s /run/initramfs/overlayfs/overlayfs /run/overlayfs$opt
- ln -s /run/initramfs/overlayfs/ovlwork /run/ovlwork$opt
-- if [ -z "$overlayfs" ]; then
-- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
-+ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
-+ reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
-+ overlayfs="required"
- setup="yes"
- fi
- fi
-@@ -157,18 +157,24 @@ do_live_overlay() {
- [ -d /run/initramfs/overlayfs$pathspec/../ovlwork ]; then
- ln -s /run/initramfs/overlayfs$pathspec /run/overlayfs$opt
- ln -s /run/initramfs/overlayfs$pathspec/../ovlwork /run/ovlwork$opt
-- if [ -z "$overlayfs" ]; then
-- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
-+ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
-+ reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
-+ overlayfs="required"
- setup="yes"
- fi
- fi
- if [ -n "$overlayfs" ]; then
- modprobe overlay
- if [ $? != 0 ]; then
-+ if [ "$overlayfs" = required ]; then
-+ die "OverlayFS is required but not available."
-+ exit 1
-+ fi
-+ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
- m='OverlayFS is not available; using temporary Device-mapper overlay.'
-- unset -v overlayfs setup reloadsysrootmountunit
-+ info $m
-+ unset -v overlayfs setup
- fi
- fi
-
-@@ -302,10 +308,10 @@ if [ -e "$SQUASHED" ]; then
- fi
- elif [ -d /run/initramfs/squashfs/proc ]; then
- FSIMG=$SQUASHED
-- if [ -z "$overlayfs" ]; then
-- overlayfs="yes"
-- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
-+ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
-+ reloadsysrootmountunit=":>/xor_overlayfs;"
- fi
-+ overlayfs="required"
- else
- die "Failed to find a root filesystem in $SQUASHED."
- exit 1
-
diff --git a/0085.patch b/0085.patch
deleted file mode 100644
index 0a44482..0000000
--- a/0085.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8dd7bb48fcd9d19dd2d7cec2577cd2c6b414fd8b Mon Sep 17 00:00:00 2001
-From: Frederick Grose <fgrose(a)sugarlabs.org>
-Date: Mon, 3 Sep 2018 19:41:58 -0400
-Subject: [PATCH] dmsquash-live/apply-live-updates: Test proper file link.
-
-Update flag link to /dev/root as required by commit
-789668deb3e6f8584ffab964d2204ddcb75f0a06.
----
- modules.d/90dmsquash-live/apply-live-updates.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/90dmsquash-live/apply-live-updates.sh b/modules.d/90dmsquash-live/apply-live-updates.sh
-index bcca761b..3df2d4ad 100755
---- a/modules.d/90dmsquash-live/apply-live-updates.sh
-+++ b/modules.d/90dmsquash-live/apply-live-updates.sh
-@@ -1,6 +1,6 @@
- #!/bin/sh
-
--if [ -L /run/rootfsbase ] && [ -d /run/initramfs/live/updates -o -d /updates ]; then
-+if [ -h /dev/root ] && [ -d /run/initramfs/live/updates -o -d /updates ]; then
- info "Applying updates to live image..."
- mount -o bind /run $NEWROOT/run
- # avoid overwriting symlinks (e.g. /lib -> /usr/lib) with directories
-
diff --git a/0086.patch b/0086.patch
deleted file mode 100644
index 970ae94..0000000
--- a/0086.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From b3480d31b01e66e21a70b7dab55eac95449126c7 Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander(a)tsoy.me>
-Date: Sat, 8 Sep 2018 17:02:03 +0300
-Subject: [PATCH] Prevent environment leaking into initrd-release
-
-On my system the following initrd-release is generated:
-...
-VERSION="4 dracut-048 dracut-048"
-...
-
-VERSION is not defined in /etc/os-release, so the variable is
-concatenated with its previous value:
-
-* "4" comes from the kernel build system since dracut is called from the
- kernel install hook ("4" is a major kernel version);
-* first "dracut-048" comes from the "systemd-initrd" module;
-* second "dracut-048" comes from the "base" module.
----
- modules.d/01systemd-initrd/module-setup.sh | 9 ++++-----
- modules.d/99base/module-setup.sh | 9 ++++-----
- 2 files changed, 8 insertions(+), 10 deletions(-)
-
-diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
-index c1ccd2af..cb8a8fa6 100755
---- a/modules.d/01systemd-initrd/module-setup.sh
-+++ b/modules.d/01systemd-initrd/module-setup.sh
-@@ -38,13 +38,12 @@ install() {
-
- ln_r "${systemdsystemunitdir}/initrd.target" "${systemdsystemunitdir}/default.target"
-
-+ local VERSION=""
-+ local PRETTY_NAME=""
- if [ -e /etc/os-release ]; then
- . /etc/os-release
-- VERSION+=" "
-- PRETTY_NAME+=" "
-- else
-- VERSION=""
-- PRETTY_NAME=""
-+ [[ -n ${VERSION} ]] && VERSION+=" "
-+ [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
- fi
- NAME=dracut
- ID=dracut
-diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
-index 731c6dcc..21523fc9 100755
---- a/modules.d/99base/module-setup.sh
-+++ b/modules.d/99base/module-setup.sh
-@@ -63,13 +63,12 @@ install() {
- echo ro >> "${initdir}/etc/cmdline.d/base.conf"
- fi
-
-+ local VERSION=""
-+ local PRETTY_NAME=""
- if [ -e /etc/os-release ]; then
- . /etc/os-release
-- VERSION+=" "
-- PRETTY_NAME+=" "
-- else
-- VERSION=""
-- PRETTY_NAME=""
-+ [[ -n ${VERSION} ]] && VERSION+=" "
-+ [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
- fi
- NAME=dracut
- ID=dracut
-
diff --git a/0087.patch b/0087.patch
deleted file mode 100644
index 23b3ca2..0000000
--- a/0087.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 838f22259a50e5f92429ecdd24b897c1128edc98 Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander(a)tsoy.me>
-Date: Sun, 9 Sep 2018 02:47:09 +0300
-Subject: [PATCH] install: avoid non-portable __WORDSIZE
-
-Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified
-by any spec. Use explicit size comparisons if we're not interested in the
-WORDSIZE, anyway.
-
-Patch ported from systemd.
-(commit 8507eb20b64010b26f23822cbf442bb0bf96511c)
-
-Original-patch-by: Emil Renner Berthing <systemd(a)esmil.dk>
-Bug: https://bugs.gentoo.org/602122
----
- install/util.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/install/util.h b/install/util.h
-index 2ad3254d..c13b1a27 100644
---- a/install/util.h
-+++ b/install/util.h
-@@ -167,7 +167,7 @@ int safe_atoi(const char *s, int *ret_i);
- int safe_atollu(const char *s, unsigned long long *ret_u);
- int safe_atolli(const char *s, long long int *ret_i);
-
--#if __WORDSIZE == 32
-+#if LONG_MAX == INT_MAX
- static inline int safe_atolu(const char *s, unsigned long *ret_u) {
- assert_cc(sizeof(unsigned long) == sizeof(unsigned));
- return safe_atou(s, (unsigned*) ret_u);
-
diff --git a/0088.patch b/0088.patch
deleted file mode 100644
index 58d0f89..0000000
--- a/0088.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From f4334e9bdf5ff85d5f9d9eb12f51a6b78e94101e Mon Sep 17 00:00:00 2001
-From: Alexander Tsoy <alexander(a)tsoy.me>
-Date: Sun, 9 Sep 2018 13:57:33 +0300
-Subject: [PATCH] base/dracut-lib.sh: use "command -v" in pidof()
-
-"type -P" doesn't work in dash
----
- modules.d/99base/dracut-lib.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
-index b78272a3..f71e757c 100755
---- a/modules.d/99base/dracut-lib.sh
-+++ b/modules.d/99base/dracut-lib.sh
-@@ -1060,7 +1060,7 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
- debug_on
- return 1
- fi
-- _exe=$(type -P "$1")
-+ _exe=$(command -v "$1")
- for i in /proc/*/exe; do
- [ -e "$i" ] || continue
- if [ -n "$_exe" ]; then
-
diff --git a/0089.patch b/0089.patch
deleted file mode 100644
index 3de1342..0000000
--- a/0089.patch
+++ /dev/null
@@ -1,349 +0,0 @@
-From 095e1f37c41e8995c95635a47dbe2bf61d8ee2bc Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Tue, 11 Sep 2018 19:32:24 +0800
-Subject: [PATCH] Add support for building a squashed initramfs
-
-With all files stored in ramfs, and most of them are not compressed,
-the initramfs will take up a lot of memory. Besides, if the file number
-is large, each file will waste some memory due to page fragmetation.
-This is due to ramfs' design, at least one page will be allocated for
-one file however small the file is. On machine with large page size,
-this will become worse and waste too many memory.
-
-One approach to reducing the memory usage is to reduce the number of
-files that got directly loaded into the root ramfs, and compress files
-by put most files will into a read-only squash image and keep a minimum
-set of executable and libraries outside as the loader for the squash
-image. After the squash image is mounted, the real 'init' will be
-executed and then everything behaves as usual.
-
-This patch will introduce a '99squash' module which will never be
-included by default. User can force add it, and if it is included,
-dracut will perform some extra steps before creating the final image:
-
-For now, "/etc" and "/usr" will be moved into the squashfs image.
-"/init" will be renamed to "/init.stock" and replaced by "/init.squash".
-Files and folders need to be accessible before mounting the image will
-be still avaliable at their original place. And due to squashfs is
-readonly, an overlayfs layer will be created on top of squashfs mount
-point, as many dracut module require readwrite access to "/etc" and
-"/usr", "init.squash" will ultimately call "/init.stock".
-
-An extra systemd service will be installed. This service will umount all
-squashfs related mount points right before switch-root to release
-resources properly. This service will not actually do anything if
-switch-root is not used.
-
-This is very helpful when mem resource is very limited, like Kdump.
-According to my tests, this squash module can help save about 35MB of
-memory with 64K page size, or about 15MB with 4K page size on an
-ordinary kdump capture routine. This module could also help reduce
-memory usage for normal boot up process.
-
-Won't change any behavior if squash module is not enabled.
-
-Signed-off-by: Kairui Song <kasong(a)redhat.com>
----
- dracut.sh | 114 ++++++++++++++++++++++++++++
- modules.d/99squash/clear-squash.sh | 9 +++
- modules.d/99squash/init.sh | 7 ++
- modules.d/99squash/module-setup.sh | 29 +++++++
- modules.d/99squash/setup-squash.sh | 61 +++++++++++++++
- modules.d/99squash/shutdown.sh | 7 ++
- modules.d/99squash/squash-mnt-clear.service | 19 +++++
- 7 files changed, 246 insertions(+)
-
-diff --git a/dracut.sh b/dracut.sh
-index 8ee8c168..e683a9bc 100755
---- a/dracut.sh
-+++ b/dracut.sh
-@@ -1747,6 +1747,120 @@ fi
-
- dinfo "*** Creating image file '$outfile' ***"
-
-+if dracut_module_included "squash"; then
-+ if ! check_kernel_config CONFIG_SQUASHFS; then
-+ dfatal "CONFIG_SQUASHFS have to be enabled for dracut squash module to work"
-+ exit 1
-+ fi
-+ if ! check_kernel_config CONFIG_OVERLAY_FS; then
-+ dfatal "CONFIG_OVERLAY_FS have to be enabled for dracut squash module to work"
-+ exit 1
-+ fi
-+ if ! check_kernel_config CONFIG_DEVTMPFS; then
-+ dfatal "CONFIG_DEVTMPFS have to be enabled for dracut squash module to work"
-+ exit 1
-+ fi
-+
-+ readonly squash_dir="${DRACUT_TMPDIR}/squashfs"
-+ readonly squash_img=$initdir/squash/root.img
-+
-+ # Currently only move "usr" "etc" to squashdir
-+ readonly squash_candidate=( "usr" "etc" )
-+
-+ mkdir -m 0755 -p $squash_dir
-+ for folder in "${squash_candidate[@]}"; do
-+ mv $initdir/$folder $squash_dir/$folder
-+ done
-+
-+ # Reinstall required files, because we have moved some important folders to $squash_dir
-+ inst_multiple "echo" "sh" "mount" "modprobe" "mkdir" \
-+ "systemctl" "udevadm" "$systemdutildir/systemd"
-+ hostonly="" instmods "loop" "squashfs" "overlay"
-+
-+ for folder in "${squash_candidate[@]}"; do
-+ # Remove duplicated files in squashfs image, save some more space
-+ [[ ! -d $initdir/$folder/ ]] && continue
-+ for file in $(find $initdir/$folder/ -not -type d);
-+ do
-+ if [[ -e $squash_dir${file#$initdir} ]]; then
-+ mv $squash_dir${file#$initdir} $file
-+ fi
-+ done
-+ done
-+
-+ # Move some files out side of the squash image, including:
-+ # - Files required to boot and mount the squashfs image
-+ # - Files need to be accessable without mounting the squash image
-+ required_in_root() {
-+ local file=$1
-+ local _sqsh_file=$squash_dir/$file
-+ local _init_file=$initdir/$file
-+
-+ if [[ -e $_init_file ]]; then
-+ return
-+ fi
-+
-+ if [[ ! -e $_sqsh_file ]] && [[ ! -L $_sqsh_file ]]; then
-+ derror "$file is required to boot a squashed initramfs but it's not installed!"
-+ return
-+ fi
-+
-+ if [[ ! -d $(dirname $_init_file) ]]; then
-+ required_in_root $(dirname $file)
-+ fi
-+
-+ if [[ -d $_sqsh_file ]]; then
-+ if [[ -L $_sqsh_file ]]; then
-+ cp --preserve=all -P $_sqsh_file $_init_file
-+ else
-+ mkdir $_init_file
-+ fi
-+ else
-+ if [[ -L $_sqsh_file ]]; then
-+ cp --preserve=all -P $_sqsh_file $_init_file
-+ _sqsh_file=$(realpath $_sqsh_file 2>/dev/null)
-+ if [[ -e $_sqsh_file ]] && [[ "$_sqsh_file" == "$squash_dir"* ]]; then
-+ # Relative symlink
-+ required_in_root ${_sqsh_file#$squash_dir/}
-+ return
-+ fi
-+ if [[ -e $squash_dir$_sqsh_file ]]; then
-+ # Absolute symlink
-+ required_in_root ${_sqsh_file#/}
-+ return
-+ fi
-+ required_in_root ${module_spec#$squash_dir/}
-+ else
-+ mv $_sqsh_file $_init_file
-+ fi
-+ fi
-+ }
-+
-+ required_in_root etc/initrd-release
-+
-+ for module_spec in $squash_dir/usr/lib/modules/*/modules.*;
-+ do
-+ required_in_root ${module_spec#$squash_dir/}
-+ done
-+
-+ for dracut_spec in $squash_dir/usr/lib/dracut/*;
-+ do
-+ required_in_root ${dracut_spec#$squash_dir/}
-+ done
-+
-+ mv $initdir/init $initdir/init.stock
-+ mv $initdir/shutdown $initdir/shutdown.stock
-+ ln -s squash/init.sh $initdir/init
-+ ln -s squash/shutdown.sh $initdir/shutdown
-+
-+ mksquashfs $squash_dir $squash_img -comp xz -b 64K -Xdict-size 100% &> /dev/null
-+
-+ if [[ $? != 0 ]]; then
-+ dfatal "dracut: Failed making squash image"
-+ exit 1
-+ fi
-+fi
-+
- if [[ $uefi = yes ]]; then
- readonly uefi_outdir="$DRACUT_TMPDIR/uefi"
- mkdir "$uefi_outdir"
-diff --git a/modules.d/99squash/clear-squash.sh b/modules.d/99squash/clear-squash.sh
-new file mode 100755
-index 00000000..34cb4cf5
---- /dev/null
-+++ b/modules.d/99squash/clear-squash.sh
-@@ -0,0 +1,9 @@
-+#!/bin/sh
-+SQUASH_MNT_REC=/squash/mounts
-+SQUASH_MNTS=( )
-+
-+while read mnt; do
-+ SQUASH_MNTS+=( "$mnt" )
-+done <<< "$(cat $SQUASH_MNT_REC)"
-+
-+umount --lazy -- ${SQUASH_MNTS[@]}
-diff --git a/modules.d/99squash/init.sh b/modules.d/99squash/init.sh
-new file mode 100755
-index 00000000..bca49db5
---- /dev/null
-+++ b/modules.d/99squash/init.sh
-@@ -0,0 +1,7 @@
-+#!/bin/sh
-+/squash/setup-squash.sh
-+
-+exec /init.stock
-+
-+echo "Something went wrong when trying to start original init executable!"
-+exit 1
-diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
-new file mode 100644
-index 00000000..935fd721
---- /dev/null
-+++ b/modules.d/99squash/module-setup.sh
-@@ -0,0 +1,29 @@
-+#!/bin/bash
-+
-+check() {
-+ return 255
-+}
-+
-+depends() {
-+ echo "bash systemd systemd-initrd"
-+ return 0
-+}
-+
-+installkernel() {
-+ hostonly="" instmods squashfs loop overlay
-+}
-+
-+install() {
-+ if ! type -P mksquashfs >/dev/null || ! type -P unsquashfs >/dev/null ; then
-+ derror "squash module requires squashfs-tools to be installed."
-+ return 1
-+ fi
-+
-+ inst_multiple kmod modprobe mount mkdir ln echo
-+ inst $moddir/setup-squash.sh /squash/setup-squash.sh
-+ inst $moddir/clear-squash.sh /squash/clear-squash.sh
-+ inst $moddir/init.sh /squash/init.sh
-+
-+ inst "$moddir/squash-mnt-clear.service" "$systemdsystemunitdir/squash-mnt-clear.service"
-+ ln_r "$systemdsystemunitdir/squash-mnt-clear.service" "$systemdsystemunitdir/initrd.target.wants/squash-mnt-clear.service"
-+}
-diff --git a/modules.d/99squash/setup-squash.sh b/modules.d/99squash/setup-squash.sh
-new file mode 100755
-index 00000000..d2740e7c
---- /dev/null
-+++ b/modules.d/99squash/setup-squash.sh
-@@ -0,0 +1,61 @@
-+#!/bin/sh
-+PATH=/bin:/sbin
-+
-+SQUASH_IMG=/squash/root.img
-+SQUASH_MNT=/squash/root
-+SQUASH_MNT_REC=/squash/mounts
-+SQUASHED_MNT="usr etc"
-+
-+echo $SQUASH_MNT > $SQUASH_MNT_REC
-+
-+# Following mount points are neccessary for mounting a squash image
-+
-+[ ! -d /proc/self ] && \
-+ mount -t proc -o nosuid,noexec,nodev proc /proc
-+
-+[ ! -d /sys/kernel ] && \
-+ mount -t sysfs -o nosuid,noexec,nodev sysfs /sys
-+
-+[ ! -e /dev/loop-control ] && \
-+ mount -t devtmpfs -o mode=0755,noexec,nosuid,strictatime devtmpfs /dev
-+
-+# Need a loop device backend, overlayfs, and squashfs module
-+modprobe loop
-+if [ $? != 0 ]; then
-+ echo "Unable to setup loop module"
-+fi
-+
-+modprobe squashfs
-+if [ $? != 0 ]; then
-+ echo "Unable to setup squashfs module"
-+fi
-+
-+modprobe overlay
-+if [ $? != 0 ]; then
-+ echo "Unable to setup overlay module"
-+fi
-+
-+[ ! -d "$SQUASH_MNT" ] && \
-+ mkdir -m 0755 -p $SQUASH_MNT
-+
-+# Mount the squashfs image
-+mount -t squashfs -o ro,loop $SQUASH_IMG $SQUASH_MNT
-+
-+if [ $? != 0 ]; then
-+ echo "Unable to mount squashed initramfs image"
-+fi
-+
-+for file in $SQUASHED_MNT; do
-+ lowerdir=$SQUASH_MNT/$file
-+ workdir=/squash/overlay-work/$file
-+ upperdir=/$file
-+ mntdir=/$file
-+
-+ mkdir -m 0755 -p $workdir
-+ mkdir -m 0755 -p $mntdir
-+
-+ mount -t overlay overlay -o\
-+ lowerdir=$lowerdir,upperdir=$upperdir,workdir=$workdir $mntdir
-+
-+ echo $mntdir >> $SQUASH_MNT_REC
-+done
-diff --git a/modules.d/99squash/shutdown.sh b/modules.d/99squash/shutdown.sh
-new file mode 100755
-index 00000000..535779f4
---- /dev/null
-+++ b/modules.d/99squash/shutdown.sh
-@@ -0,0 +1,7 @@
-+#!/bin/sh
-+/squash/setup-squash.sh
-+
-+exec /shutdown.stock
-+
-+echo "Something went wrong when trying to start original shutdown executable!"
-+exit 1
-diff --git a/modules.d/99squash/squash-mnt-clear.service b/modules.d/99squash/squash-mnt-clear.service
-new file mode 100644
-index 00000000..8dd17812
---- /dev/null
-+++ b/modules.d/99squash/squash-mnt-clear.service
-@@ -0,0 +1,19 @@
-+# This file is part of dracut.
-+#
-+
-+[Unit]
-+Description=Cleanup squashfs mounts when switch root
-+DefaultDependencies=no
-+After=initrd.target
-+After=dracut-initqueue.service dracut-pre-pivot.service
-+Before=initrd-cleanup.service
-+ConditionPathExists=/squash/root
-+Conflicts=initrd-switch-root.target
-+
-+[Service]
-+Type=oneshot
-+RemainAfterExit=yes
-+StandardInput=null
-+StandardOutput=syslog+console
-+StandardError=syslog+console
-+ExecStop=/squash/clear-squash.sh
-
diff --git a/0090.patch b/0090.patch
deleted file mode 100644
index 82b559a..0000000
--- a/0090.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 24f3463bff8600d562975c9a7c44365066a50ca4 Mon Sep 17 00:00:00 2001
-From: Kairui Song <kasong(a)redhat.com>
-Date: Thu, 20 Sep 2018 17:23:19 +0800
-Subject: [PATCH] dracut.spec: Add dracut-squash package
-
-As 99squash module requires extra dependency and it introduces new
-files, add a new sub package for this module.
----
- dracut.spec | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/dracut.spec b/dracut.spec
-index 09c74478..d9cfdf1c 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -178,6 +178,16 @@ Requires: %{name} = %{version}-%{release}
- %description tools
- This package contains tools to assemble the local initrd and host configuration.
-
-+%package squash
-+Summary: dracut module to build an initramfs with most files in a squashfs image
-+Requires: %{name} = %{version}-%{release}
-+Requires: squash-tools
-+
-+%description squash
-+This package provides a dracut module to build an initramfs, but store most files
-+in a squashfs image, result in a smaller initramfs size and reduce runtime memory
-+usage.
-+
- %prep
- %autosetup -n %{name}-%{version} -S git_am
- cp %{SOURCE1} .
-@@ -439,6 +449,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
- %doc %{_mandir}/man8/dracut-catimages.8*
- %endif
-
-+%files squash
-+%{dracutlibdir}/modules.d/99squash
-+
- %{_bindir}/dracut-catimages
- %dir /boot/dracut
- %dir /var/lib/dracut
-
diff --git a/0091.patch b/0091.patch
deleted file mode 100644
index bc86778..0000000
--- a/0091.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 0454dc247a146fabd66232c26536514dca1f6044 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Tue, 18 Sep 2018 11:17:54 +0200
-Subject: [PATCH] network: configure NetworkManager to use dhclient
-
-If the network module obtained a lease using dhclient, NetworkManager
-must be configured to use it too, otherwise it would obtain a different
-lease (and could potentially break a connection to the network volume).
----
- modules.d/40network/ifup.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
-index 54981386..ea2a67ff 100755
---- a/modules.d/40network/ifup.sh
-+++ b/modules.d/40network/ifup.sh
-@@ -41,6 +41,12 @@ do_dhcp() {
- return 1
- fi
-
-+ if [ ! -e /run/NetworkManager/conf.d/10-dracut-dhclient.conf ]; then
-+ mkdir -p /run/NetworkManager/conf.d
-+ echo '[main]' > /run/NetworkManager/conf.d/10-dracut-dhclient.conf
-+ echo 'dhcp=dhclient' >>/run/NetworkManager/conf.d/10-dracut-dhclient.conf
-+ fi
-+
- while [ $_COUNT -lt $_DHCPRETRY ]; do
- info "Starting dhcp for interface $netif"
- dhclient "$@" \
-
diff --git a/0092.patch b/0092.patch
deleted file mode 100644
index ed20a76..0000000
--- a/0092.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 9e82732dd412a49cbdf9c4b998f04ac0a39e393f Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Thu, 30 Aug 2018 16:21:17 +0200
-Subject: [PATCH] iscsi: do not replace the configuration in the host system
-
- ln: failed to create symbolic link '/usr/lib/systemd/system/sockets.target.wants/iscsid.socket': Permission denied
- ln: failed to create symbolic link '/usr/lib/systemd/system/sockets.target.wants/iscsiuio.socket': Permission denied
-
-No way. Just ensure the links are there in the initramfs image. In fact,
-that is already the case for iscsiuio.socket. Add iscsid.socket too.
----
- modules.d/95iscsi/module-setup.sh | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
-index d8405fce..04beae4c 100755
---- a/modules.d/95iscsi/module-setup.sh
-+++ b/modules.d/95iscsi/module-setup.sh
-@@ -208,9 +208,6 @@ install() {
- inst_libdir_file 'libgcc_s.so*'
- inst_multiple umount hostname iscsi-iname iscsiadm iscsid
-
-- ln -sf $systemdsystemunitdir/iscsid.socket $systemdsystemunitdir/sockets.target.wants/iscsid.socket
-- ln -sf $systemdsystemunitdir/iscsiuio.socket $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
--
- inst_multiple -o \
- $systemdsystemunitdir/iscsid.socket \
- $systemdsystemunitdir/iscsid.service \
-@@ -243,6 +240,7 @@ install() {
-
- mkdir -p "${initdir}/$systemdsystemunitdir/sockets.target.wants"
- for i in \
-+ iscsid.socket \
- iscsiuio.socket \
- ; do
- ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/sockets.target.wants/${i}"
-
diff --git a/0093.patch b/0093.patch
deleted file mode 100644
index 45f9dce..0000000
--- a/0093.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 5e615f4eb488e469395e7e30059a22d8225d9a0a Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Thu, 30 Aug 2018 18:38:34 +0200
-Subject: [PATCH] iscsi: do not install all of /etc/iscsi unless hostonly
-
-/etc/iscsi/initiatorname.iscsi would leak the host initiator name (that
-is host configuration) to the initramfs. Perhaps other files too.
----
- modules.d/95iscsi/module-setup.sh | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
-index 04beae4c..5c2073bb 100755
---- a/modules.d/95iscsi/module-setup.sh
-+++ b/modules.d/95iscsi/module-setup.sh
-@@ -216,7 +216,11 @@ install() {
- $systemdsystemunitdir/sockets.target.wants/iscsid.socket \
- $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
-
-- [[ -d /etc/iscsi ]] && inst_dir $(/usr/bin/find /etc/iscsi)
-+ if [[ $hostonly ]]; then
-+ inst_dir $(/usr/bin/find /etc/iscsi)
-+ else
-+ inst_simple /etc/iscsi/iscsid.conf
-+ fi
-
- # Detect iBFT and perform mandatory steps
- if [[ $hostonly_cmdline == "yes" ]] ; then
-
diff --git a/0094.patch b/0094.patch
deleted file mode 100644
index 5f8dc65..0000000
--- a/0094.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0aa2e5f7280a0f88d5f8d69dd9467e7b81d6a231 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Thu, 30 Aug 2018 18:41:37 +0200
-Subject: [PATCH] iscsi: start iscsid even w/o systemd
-
----
- modules.d/95iscsi/iscsiroot.sh | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
-index 76c8b3fe..4efc1d12 100755
---- a/modules.d/95iscsi/iscsiroot.sh
-+++ b/modules.d/95iscsi/iscsiroot.sh
-@@ -194,6 +194,12 @@ handle_netroot()
- sleep 1
- fi
- fi
-+
-+ if [ -z "$DRACUT_SYSTEMD" ]; then
-+ iscsid
-+ sleep 2
-+ fi
-+
- # FIXME $iscsi_protocol??
-
- if [ "$root" = "dhcp" ] || [ "$netroot" = "dhcp" ]; then
-
diff --git a/0095.patch b/0095.patch
deleted file mode 100644
index 9ed7f9b..0000000
--- a/0095.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 1c4a51c39c8ed9908ae8118eff78d3476eaddf61 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Fri, 31 Aug 2018 16:51:38 +0200
-Subject: [PATCH] network: fix an error message
-
----
- modules.d/40network/netroot.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules.d/40network/netroot.sh b/modules.d/40network/netroot.sh
-index c80a59fe..207364cd 100755
---- a/modules.d/40network/netroot.sh
-+++ b/modules.d/40network/netroot.sh
-@@ -46,7 +46,7 @@ if [ -z "$2" ]; then
- # we die. Otherwise we just warn
- if [ -z "$new_root_path" ] ; then
- [ -n "$BOOTDEV" ] && die "No dhcp root-path received for '$BOOTDEV'"
-- warn "No dhcp root-path received for '$BOOTDEV' trying other interfaces if available"
-+ warn "No dhcp root-path received for '$netif' trying other interfaces if available"
- exit 1
- fi
-
-
diff --git a/0096.patch b/0096.patch
deleted file mode 100644
index f67d657..0000000
--- a/0096.patch
+++ /dev/null
@@ -1,287 +0,0 @@
-From 734739187bfab24f063904ea18f0bdf03b4a136c Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Thu, 30 Aug 2018 16:44:22 +0200
-Subject: [PATCH] network-legacy: split off from network module
-
----
- dracut.spec | 1 +
- .../dhclient-script.sh | 0
- .../{40network => 35network-legacy}/dhclient.conf | 0
- .../{40network => 35network-legacy}/dhcp-root.sh | 0
- modules.d/{40network => 35network-legacy}/ifup.sh | 0
- .../kill-dhclient.sh | 0
- modules.d/35network-legacy/module-setup.sh | 93 ++++++++++++++++++++++
- .../net-genrules.sh | 0
- .../{40network => 35network-legacy}/parse-bond.sh | 0
- .../parse-bridge.sh | 0
- .../{40network => 35network-legacy}/parse-ibft.sh | 0
- .../parse-ifname.sh | 0
- .../parse-ip-opts.sh | 0
- .../{40network => 35network-legacy}/parse-team.sh | 0
- .../{40network => 35network-legacy}/parse-vlan.sh | 0
- modules.d/40network/module-setup.sh | 76 +-----------------
- 16 files changed, 95 insertions(+), 75 deletions(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index d9cfdf1c..f6486d50 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -419,6 +419,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
-
- %files network
- %{dracutlibdir}/modules.d/02systemd-networkd
-+%{dracutlibdir}/modules.d/35network-legacy
- %{dracutlibdir}/modules.d/40network
- %{dracutlibdir}/modules.d/45ifcfg
- %{dracutlibdir}/modules.d/90kernel-network-modules
-diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/35network-legacy/dhclient-script.sh
-similarity index 100%
-rename from modules.d/40network/dhclient-script.sh
-rename to modules.d/35network-legacy/dhclient-script.sh
-diff --git a/modules.d/40network/dhclient.conf b/modules.d/35network-legacy/dhclient.conf
-similarity index 100%
-rename from modules.d/40network/dhclient.conf
-rename to modules.d/35network-legacy/dhclient.conf
-diff --git a/modules.d/40network/dhcp-root.sh b/modules.d/35network-legacy/dhcp-root.sh
-similarity index 100%
-rename from modules.d/40network/dhcp-root.sh
-rename to modules.d/35network-legacy/dhcp-root.sh
-diff --git a/modules.d/40network/ifup.sh b/modules.d/35network-legacy/ifup.sh
-similarity index 100%
-rename from modules.d/40network/ifup.sh
-rename to modules.d/35network-legacy/ifup.sh
-diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/35network-legacy/kill-dhclient.sh
-similarity index 100%
-rename from modules.d/40network/kill-dhclient.sh
-rename to modules.d/35network-legacy/kill-dhclient.sh
-diff --git a/modules.d/35network-legacy/module-setup.sh b/modules.d/35network-legacy/module-setup.sh
-new file mode 100755
-index 00000000..71abda36
---- /dev/null
-+++ b/modules.d/35network-legacy/module-setup.sh
-@@ -0,0 +1,93 @@
-+#!/bin/bash
-+
-+# called by dracut
-+check() {
-+ local _program
-+
-+ require_binaries ip dhclient sed awk grep || return 1
-+ require_any_binary arping arping2 || return 1
-+
-+ return 255
-+}
-+
-+# called by dracut
-+depends() {
-+ return 0
-+}
-+
-+# called by dracut
-+installkernel() {
-+ return 0
-+}
-+
-+# called by dracut
-+install() {
-+ local _arch _i _dir
-+ inst_multiple ip dhclient sed awk grep
-+
-+ inst_multiple -o arping arping2
-+ strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
-+
-+ inst_multiple -o ping ping6
-+ inst_multiple -o teamd teamdctl teamnl
-+ inst_simple /etc/libnl/classid
-+ inst_script "$moddir/ifup.sh" "/sbin/ifup"
-+ inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
-+ inst_simple -H "/etc/dhclient.conf"
-+ cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
-+ inst_hook pre-udev 60 "$moddir/net-genrules.sh"
-+ inst_hook cmdline 91 "$moddir/dhcp-root.sh"
-+ inst_hook cmdline 92 "$moddir/parse-ibft.sh"
-+ inst_hook cmdline 95 "$moddir/parse-vlan.sh"
-+ inst_hook cmdline 96 "$moddir/parse-bond.sh"
-+ inst_hook cmdline 96 "$moddir/parse-team.sh"
-+ inst_hook cmdline 97 "$moddir/parse-bridge.sh"
-+ inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
-+ inst_hook cmdline 99 "$moddir/parse-ifname.sh"
-+ inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
-+
-+ # install all config files for teaming
-+ unset TEAM_MASTER
-+ unset TEAM_CONFIG
-+ unset TEAM_PORT_CONFIG
-+ unset HWADDR
-+ unset SUBCHANNELS
-+ for i in /etc/sysconfig/network-scripts/ifcfg-*; do
-+ [ -e "$i" ] || continue
-+ case "$i" in
-+ *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
-+ continue
-+ ;;
-+ esac
-+ (
-+ . "$i"
-+ if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
-+ && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
-+ if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
-+ mkdir -p $initdir/etc/teamd
-+ printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
-+ elif [ -n "$TEAM_PORT_CONFIG" ]; then
-+ inst_simple "$i"
-+
-+ HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
-+ if [ -n "$HWADDR" ]; then
-+ ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
-+ fi
-+
-+ SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
-+ if [ -n "$SUBCHANNELS" ]; then
-+ ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
-+ fi
-+ fi
-+ fi
-+ )
-+ done
-+
-+ _arch=$(uname -m)
-+
-+ inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
-+ {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
-+
-+ dracut_need_initqueue
-+}
-+
-diff --git a/modules.d/40network/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh
-similarity index 100%
-rename from modules.d/40network/net-genrules.sh
-rename to modules.d/35network-legacy/net-genrules.sh
-diff --git a/modules.d/40network/parse-bond.sh b/modules.d/35network-legacy/parse-bond.sh
-similarity index 100%
-rename from modules.d/40network/parse-bond.sh
-rename to modules.d/35network-legacy/parse-bond.sh
-diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/35network-legacy/parse-bridge.sh
-similarity index 100%
-rename from modules.d/40network/parse-bridge.sh
-rename to modules.d/35network-legacy/parse-bridge.sh
-diff --git a/modules.d/40network/parse-ibft.sh b/modules.d/35network-legacy/parse-ibft.sh
-similarity index 100%
-rename from modules.d/40network/parse-ibft.sh
-rename to modules.d/35network-legacy/parse-ibft.sh
-diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/35network-legacy/parse-ifname.sh
-similarity index 100%
-rename from modules.d/40network/parse-ifname.sh
-rename to modules.d/35network-legacy/parse-ifname.sh
-diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/35network-legacy/parse-ip-opts.sh
-similarity index 100%
-rename from modules.d/40network/parse-ip-opts.sh
-rename to modules.d/35network-legacy/parse-ip-opts.sh
-diff --git a/modules.d/40network/parse-team.sh b/modules.d/35network-legacy/parse-team.sh
-similarity index 100%
-rename from modules.d/40network/parse-team.sh
-rename to modules.d/35network-legacy/parse-team.sh
-diff --git a/modules.d/40network/parse-vlan.sh b/modules.d/35network-legacy/parse-vlan.sh
-similarity index 100%
-rename from modules.d/40network/parse-vlan.sh
-rename to modules.d/35network-legacy/parse-vlan.sh
-diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
-index a1010911..fbd43925 100755
---- a/modules.d/40network/module-setup.sh
-+++ b/modules.d/40network/module-setup.sh
-@@ -1,18 +1,8 @@
- #!/bin/bash
-
--# called by dracut
--check() {
-- local _program
--
-- require_binaries ip dhclient sed awk grep || return 1
-- require_any_binary arping arping2 || return 1
--
-- return 255
--}
--
- # called by dracut
- depends() {
-- echo "kernel-network-modules"
-+ echo "network-legacy"
- return 0
- }
-
-@@ -24,74 +14,10 @@ installkernel() {
- # called by dracut
- install() {
- local _arch _i _dir
-- inst_multiple ip dhclient sed awk grep
--
-- inst_multiple -o arping arping2
-- strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
-
-- inst_multiple -o ping ping6
-- inst_multiple -o teamd teamdctl teamnl
-- inst_simple /etc/libnl/classid
-- inst_script "$moddir/ifup.sh" "/sbin/ifup"
- inst_script "$moddir/netroot.sh" "/sbin/netroot"
-- inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
- inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
-- inst_simple -H "/etc/dhclient.conf"
-- cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
- inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
-- inst_hook pre-udev 60 "$moddir/net-genrules.sh"
-- inst_hook cmdline 91 "$moddir/dhcp-root.sh"
-- inst_hook cmdline 92 "$moddir/parse-ibft.sh"
-- inst_hook cmdline 95 "$moddir/parse-vlan.sh"
-- inst_hook cmdline 96 "$moddir/parse-bond.sh"
-- inst_hook cmdline 96 "$moddir/parse-team.sh"
-- inst_hook cmdline 97 "$moddir/parse-bridge.sh"
-- inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
-- inst_hook cmdline 99 "$moddir/parse-ifname.sh"
-- inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
--
-- # install all config files for teaming
-- unset TEAM_MASTER
-- unset TEAM_CONFIG
-- unset TEAM_PORT_CONFIG
-- unset HWADDR
-- unset SUBCHANNELS
-- for i in /etc/sysconfig/network-scripts/ifcfg-*; do
-- [ -e "$i" ] || continue
-- case "$i" in
-- *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
-- continue
-- ;;
-- esac
-- (
-- . "$i"
-- if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
-- && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
-- if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
-- mkdir -p $initdir/etc/teamd
-- printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
-- elif [ -n "$TEAM_PORT_CONFIG" ]; then
-- inst_simple "$i"
--
-- HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
-- if [ -n "$HWADDR" ]; then
-- ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
-- fi
--
-- SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
-- if [ -n "$SUBCHANNELS" ]; then
-- ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
-- fi
-- fi
-- fi
-- )
-- done
--
-- _arch=$(uname -m)
--
-- inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
-- {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
-
- dracut_need_initqueue
- }
--
-
diff --git a/0097.patch b/0097.patch
deleted file mode 100644
index 95b0689..0000000
--- a/0097.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 08bdadbf315cced437385228b2434a02a19090e4 Mon Sep 17 00:00:00 2001
-From: Lubomir Rintel <lkundrak(a)v3.sk>
-Date: Thu, 30 Aug 2018 16:44:22 +0200
-Subject: [PATCH] network-manager: add module
-
----
- dracut.spec | 1 +
- modules.d/35network-manager/module-setup.sh | 52 +++++++++++++++++++++++++++++
- modules.d/35network-manager/nm-config.sh | 3 ++
- modules.d/35network-manager/nm-run.sh | 16 +++++++++
- modules.d/40network/module-setup.sh | 7 +++-
- 5 files changed, 78 insertions(+), 1 deletion(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index f6486d50..b6099824 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -419,6 +419,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
-
- %files network
- %{dracutlibdir}/modules.d/02systemd-networkd
-+%{dracutlibdir}/modules.d/35network-manager
- %{dracutlibdir}/modules.d/35network-legacy
- %{dracutlibdir}/modules.d/40network
- %{dracutlibdir}/modules.d/45ifcfg
-diff --git a/modules.d/35network-manager/module-setup.sh b/modules.d/35network-manager/module-setup.sh
-new file mode 100755
-index 00000000..62aba3c6
---- /dev/null
-+++ b/modules.d/35network-manager/module-setup.sh
-@@ -0,0 +1,52 @@
-+#!/bin/bash
-+
-+# called by dracut
-+check() {
-+ local _program
-+
-+ require_binaries sed grep || return 1
-+
-+ # do not add this module by default
-+ return 255
-+}
-+
-+# called by dracut
-+depends() {
-+ return 0
-+}
-+
-+# called by dracut
-+installkernel() {
-+ return 0
-+}
-+
-+# called by dracut
-+install() {
-+ local _nm_version
-+
-+ _nm_version=$(NetworkManager --version)
-+
-+ inst_multiple sed grep
-+
-+ inst NetworkManager
-+ inst /usr/libexec/nm-initrd-generator
-+ inst_multiple -o teamd dhclient
-+ inst_hook cmdline 99 "$moddir/nm-config.sh"
-+ inst_hook initqueue/settled 99 "$moddir/nm-run.sh"
-+ inst_rules 85-nm-unmanaged.rules
-+ inst_libdir_file "NetworkManager/$_nm_version/libnm-device-plugin-team.so"
-+
-+ if [[ -x "$initdir/usr/sbin/dhclient" ]]; then
-+ inst /usr/libexec/nm-dhcp-helper
-+ elif ! [[ -e "$initdir/etc/machine-id" ]]; then
-+ # The internal DHCP client silently fails if we
-+ # have no machine-id
-+ systemd-machine-id-setup --root="$initdir"
-+ fi
-+
-+ # We don't install the ifcfg files from the host automatically.
-+ # But if the user chooses to include them, we pull in the machinery to read them.
-+ if ! [[ -d "$initdir/etc/sysconfig/network-scripts" ]]; then
-+ inst_libdir_file "NetworkManager/$_nm_version/libnm-settings-plugin-ifcfg-rh.so"
-+ fi
-+}
-diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
-new file mode 100755
-index 00000000..1339ebe7
---- /dev/null
-+++ b/modules.d/35network-manager/nm-config.sh
-@@ -0,0 +1,3 @@
-+#!/bin/sh
-+
-+/usr/libexec/nm-initrd-generator -- $(getcmdline)
-diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
-new file mode 100755
-index 00000000..f6defa99
---- /dev/null
-+++ b/modules.d/35network-manager/nm-run.sh
-@@ -0,0 +1,16 @@
-+#!/bin/sh
-+
-+if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
-+ /usr/sbin/NetworkManager --configure-and-quit=initrd --debug --log-level=trace
-+else
-+ /usr/sbin/NetworkManager --configure-and-quit=initrd --no-daemon
-+fi
-+
-+for _i in /sys/class/net/*/
-+do
-+ state=/run/NetworkManager/devices/$(cat $_i/ifindex)
-+ grep -q managed=true $state 2>/dev/null || continue
-+ ifname=$(basename $_i)
-+ sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
-+ /sbin/netroot $ifname
-+done
-diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
-index fbd43925..57c0a45e 100755
---- a/modules.d/40network/module-setup.sh
-+++ b/modules.d/40network/module-setup.sh
-@@ -2,7 +2,12 @@
-
- # called by dracut
- depends() {
-- echo "network-legacy"
-+ echo -n "kernel-network-modules "
-+ if ! dracut_module_included "network-legacy" && [ -x "/usr/libexec/nm-initrd-generator" ] ; then
-+ echo "network-manager"
-+ else
-+ echo "network-legacy"
-+ fi
- return 0
- }
-
-
diff --git a/0098.patch b/0098.patch
deleted file mode 100644
index bbf8f16..0000000
--- a/0098.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 4be697e5c19f18a17ec18368ded0787d6f32baf5 Mon Sep 17 00:00:00 2001
-From: Harald Hoyer <harald(a)redhat.com>
-Date: Fri, 21 Sep 2018 12:41:00 +0200
-Subject: [PATCH] dracut.spec: fixed invalid spec line
-
----
- dracut.spec | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dracut.spec b/dracut.spec
-index b6099824..c6fbdc77 100644
---- a/dracut.spec
-+++ b/dracut.spec
-@@ -49,7 +49,7 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt
- %endif
-
- %if 0%{?suse_version}
---BuildRequires: docbook-xsl-stylesheets libxslt
-+BuildRequires: docbook-xsl-stylesheets libxslt
- %endif
-
- BuildRequires: asciidoc
diff --git a/dracut.spec b/dracut.spec
index 4690c65..722951c 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -5,10 +5,10 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
-%define dist_free_release 99.git20180921
+%define dist_free_release 1
Name: dracut
-Version: 048
+Version: 049
Release: %{dist_free_release}%{?dist}
Summary: Initramfs generator using udev
@@ -28,104 +28,6 @@ URL: https://dracut.wiki.kernel.org/
# Source can be generated by
# http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%%{version};...
Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
-Patch1: 0001.patch
-Patch2: 0002.patch
-Patch3: 0003.patch
-Patch4: 0004.patch
-Patch5: 0005.patch
-Patch6: 0006.patch
-Patch7: 0007.patch
-Patch8: 0008.patch
-Patch9: 0009.patch
-Patch10: 0010.patch
-Patch11: 0011.patch
-Patch12: 0012.patch
-Patch13: 0013.patch
-Patch14: 0014.patch
-Patch15: 0015.patch
-Patch16: 0016.patch
-Patch17: 0017.patch
-Patch18: 0018.patch
-Patch19: 0019.patch
-Patch20: 0020.patch
-Patch21: 0021.patch
-Patch22: 0022.patch
-Patch23: 0023.patch
-Patch24: 0024.patch
-Patch25: 0025.patch
-Patch26: 0026.patch
-Patch27: 0027.patch
-Patch28: 0028.patch
-Patch29: 0029.patch
-Patch30: 0030.patch
-Patch31: 0031.patch
-Patch32: 0032.patch
-Patch33: 0033.patch
-Patch34: 0034.patch
-Patch35: 0035.patch
-Patch36: 0036.patch
-Patch37: 0037.patch
-Patch38: 0038.patch
-Patch39: 0039.patch
-Patch40: 0040.patch
-Patch41: 0041.patch
-Patch42: 0042.patch
-Patch43: 0043.patch
-Patch44: 0044.patch
-Patch45: 0045.patch
-Patch46: 0046.patch
-Patch47: 0047.patch
-Patch48: 0048.patch
-Patch49: 0049.patch
-Patch50: 0050.patch
-Patch51: 0051.patch
-Patch52: 0052.patch
-Patch53: 0053.patch
-Patch54: 0054.patch
-Patch55: 0055.patch
-Patch56: 0056.patch
-Patch57: 0057.patch
-Patch58: 0058.patch
-Patch59: 0059.patch
-Patch60: 0060.patch
-Patch61: 0061.patch
-Patch62: 0062.patch
-Patch63: 0063.patch
-Patch64: 0064.patch
-Patch65: 0065.patch
-Patch66: 0066.patch
-Patch67: 0067.patch
-Patch68: 0068.patch
-Patch69: 0069.patch
-Patch70: 0070.patch
-Patch71: 0071.patch
-Patch72: 0072.patch
-Patch73: 0073.patch
-Patch74: 0074.patch
-Patch75: 0075.patch
-Patch76: 0076.patch
-Patch77: 0077.patch
-Patch78: 0078.patch
-Patch79: 0079.patch
-Patch80: 0080.patch
-Patch81: 0081.patch
-Patch82: 0082.patch
-Patch83: 0083.patch
-Patch84: 0084.patch
-Patch85: 0085.patch
-Patch86: 0086.patch
-Patch87: 0087.patch
-Patch88: 0088.patch
-Patch89: 0089.patch
-Patch90: 0090.patch
-Patch91: 0091.patch
-Patch92: 0092.patch
-Patch93: 0093.patch
-Patch94: 0094.patch
-Patch95: 0095.patch
-Patch96: 0096.patch
-Patch97: 0097.patch
-Patch98: 0098.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@@ -449,6 +351,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{dracutlibdir}/modules.d/90dm
%{dracutlibdir}/modules.d/90dmraid
%{dracutlibdir}/modules.d/90kernel-modules
+%{dracutlibdir}/modules.d/90kernel-modules-extra
%{dracutlibdir}/modules.d/90lvm
%{dracutlibdir}/modules.d/90mdraid
%{dracutlibdir}/modules.d/90multipath
@@ -570,6 +473,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%endif
%changelog
+* Mon Oct 08 2018 Harald Hoyer <harald(a)redhat.com> - 049-1
+- version 049
+
* Fri Sep 21 2018 Harald Hoyer <harald(a)redhat.com> - 048-99.git20180921
- git snapshot
commit 9d5d7534b929f0be180606df919d1349b575b352
Author: Harald Hoyer <harald(a)redhat.com>
Date: Fri Sep 21 13:45:55 2018 +0200
dracut - 048-99.git20180921
- git snapshot
diff --git a/0013.patch b/0013.patch
index 129d24c..05d76aa 100644
--- a/0013.patch
+++ b/0013.patch
@@ -58,3 +58,4 @@ index 754ed3c9..9b9d497a 100644
%{dracutlibdir}/dracut.conf.d/02-rescue.conf
%if 0%{?fedora} || 0%{?rhel}
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
+
diff --git a/0014.patch b/0014.patch
new file mode 100644
index 0000000..2f8ea48
--- /dev/null
+++ b/0014.patch
@@ -0,0 +1,32 @@
+From 33782aebbffa005415e1a03deeae837d8cf5665e Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github(a)gmail.com>
+Date: Mon, 30 Jul 2018 02:26:01 +0900
+Subject: [PATCH] spec: warpclock is not available on s390 or s390x
+
+---
+ dracut.spec | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dracut.spec b/dracut.spec
+index 9b9d497a..ce69fa1f 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -224,6 +224,7 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
+
+ %ifnarch s390 s390x
+ # remove architecture specific modules
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
+@@ -316,7 +317,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %endif
+ %{dracutlibdir}/modules.d/00bash
+ %{dracutlibdir}/modules.d/00systemd
++%ifnarch s390 s390x
+ %{dracutlibdir}/modules.d/00warpclock
++%endif
+ %{dracutlibdir}/modules.d/01systemd-initrd
+ %{dracutlibdir}/modules.d/03modsign
+ %{dracutlibdir}/modules.d/03rescue
+
diff --git a/0015.patch b/0015.patch
new file mode 100644
index 0000000..25b6599
--- /dev/null
+++ b/0015.patch
@@ -0,0 +1,45 @@
+From be98291cafa1080ed18a976c6452ae2be1c7c747 Mon Sep 17 00:00:00 2001
+From: Yu Watanabe <watanabe.yu+github(a)gmail.com>
+Date: Mon, 30 Jul 2018 02:26:48 +0900
+Subject: [PATCH] spec: sort modules
+
+Also drops remaining %defattr.
+---
+ dracut.spec | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index ce69fa1f..d24c6f36 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -320,6 +320,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %ifnarch s390 s390x
+ %{dracutlibdir}/modules.d/00warpclock
+ %endif
++%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
++%{dracutlibdir}/modules.d/01fips
++%endif
+ %{dracutlibdir}/modules.d/01systemd-initrd
+ %{dracutlibdir}/modules.d/03modsign
+ %{dracutlibdir}/modules.d/03rescue
+@@ -403,11 +406,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %{_prefix}/lib/kernel/install.d/50-dracut.install
+ %endif
+
+-%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
+-%defattr(-,root,root,0755)
+-%{dracutlibdir}/modules.d/01fips
+-%endif
+-
+ %files network
+ %{dracutlibdir}/modules.d/02systemd-networkd
+ %{dracutlibdir}/modules.d/40network
+@@ -436,7 +434,6 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %{dracutlibdir}/modules.d/90livenet
+
+ %files tools
+-
+ %if %{with doc}
+ %doc %{_mandir}/man8/dracut-catimages.8*
+ %endif
+
diff --git a/0016.patch b/0016.patch
new file mode 100644
index 0000000..7b6e41d
--- /dev/null
+++ b/0016.patch
@@ -0,0 +1,34 @@
+From 99df3d22be14690260371311086a439c83fdc6b4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 2 Aug 2018 16:32:41 +0200
+Subject: [PATCH] mdraid/parse-md.sh: also accept rd.md.uuid with ":"
+
+convert rd.md.uuid=32ef2172:f056:6fa7:66a8:2f7fc8b1798
+to udev rules in the correct UUID format 32ef2172-f056-6fa7-66a8-2f7fcf8b1798
+---
+ modules.d/90mdraid/parse-md.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
+index c422b24e..428f9515 100755
+--- a/modules.d/90mdraid/parse-md.sh
++++ b/modules.d/90mdraid/parse-md.sh
+@@ -14,6 +14,9 @@ else
+ if [ "${line%%UUID CHECK}" != "$line" ]; then
+ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
+ for uuid in $MD_UUID; do
++ uuid=$(str_replace "$uuid" "-" "")
++ uuid=$(str_replace "$uuid" ":" "")
++ uuid="$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
+ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
+ printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
+ done;
+@@ -29,6 +32,7 @@ else
+ if strstr "$uuid" "-"; then
+ # convert ID_FS_UUID to MD_UUID format
+ uuid=$(str_replace "$uuid" "-" "")
++ uuid=$(str_replace "$uuid" ":" "")
+ uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
+ fi
+ wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}"
+
diff --git a/0017.patch b/0017.patch
new file mode 100644
index 0000000..1e9e238
--- /dev/null
+++ b/0017.patch
@@ -0,0 +1,43 @@
+From a0c915b1e4585ccf286dd38a5cd7d8b89e0346c5 Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart(a)gmail.com>
+Date: Fri, 3 Aug 2018 23:39:51 +0200
+Subject: [PATCH] Add gpio and pinctrl drivers for arm*/aarch64
+
+This is needed since few gpio/pinctrl can be built as modules and are
+useful on early boot.
+
+One example is jetson-tx1 where sata and external mmc can work only
+after loading pinctrl-max77620 and gpio-max77620 modules.
+
+Having theses kind of drivers bundled into the initramfs will also
+avoid some deferred probes.
+
+V2: add pinctrl for all arches
+
+Signed-off-by: Nicolas Chauvet <kwizart(a)gmail.com>
+---
+ modules.d/90kernel-modules/module-setup.sh | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 89b33ce6..f01470e7 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -25,7 +25,7 @@ installkernel() {
+ ohci-hcd ohci-pci \
+ uhci-hcd \
+ xhci-hcd xhci-pci xhci-plat-hcd \
+- pinctrl-cherryview \
++ "=drivers/pinctrl" \
+ ${NULL}
+
+ hostonly=$(optional_hostonly) instmods \
+@@ -50,6 +50,7 @@ installkernel() {
+ "=drivers/clk" \
+ "=drivers/dma" \
+ "=drivers/extcon" \
++ "=drivers/gpio" \
+ "=drivers/hwspinlock" \
+ "=drivers/i2c/busses" \
+ "=drivers/mfd" \
+
diff --git a/0018.patch b/0018.patch
new file mode 100644
index 0000000..2627700
--- /dev/null
+++ b/0018.patch
@@ -0,0 +1,23 @@
+From a762dedb60aef8f43a625e1e3c10c97664f1d74a Mon Sep 17 00:00:00 2001
+From: Lukas Nykryn <lnykryn(a)redhat.com>
+Date: Thu, 9 Aug 2018 12:14:20 +0200
+Subject: [PATCH] dracut-functions: fix the word splitting
+
+---
+ dracut-functions.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 7c408f83..1431dd18 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -683,7 +683,7 @@ get_loaded_kernel_modules ()
+ local modules=( )
+ while read _module _size _used _used_by; do
+ modules+=( "$_module" )
+- done <<< $(lsmod | sed -n '1!p')
++ done <<< "$(lsmod | sed -n '1!p')"
+ printf '%s\n' "${modules[@]}" | sort
+ }
+
+
diff --git a/0019.patch b/0019.patch
new file mode 100644
index 0000000..2b299e8
--- /dev/null
+++ b/0019.patch
@@ -0,0 +1,79 @@
+From 746135dd1ebc8dc7e26132bfa14ac159db7b2b95 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 13 Aug 2018 10:01:36 +0200
+Subject: [PATCH] mdraid: better handling of various UUID formats
+
+---
+ modules.d/90mdraid/mdraid_start.sh | 4 ++++
+ modules.d/90mdraid/parse-md.sh | 19 ++++++++-----------
+ 2 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/modules.d/90mdraid/mdraid_start.sh b/modules.d/90mdraid/mdraid_start.sh
+index 2f5daff1..77e843d7 100755
+--- a/modules.d/90mdraid/mdraid_start.sh
++++ b/modules.d/90mdraid/mdraid_start.sh
+@@ -39,6 +39,9 @@ _md_force_run() {
+ _offroot=$(strstr "$(mdadm --help-options 2>&1)" offroot && echo --offroot)
+
+ if [ -n "$_MD_UUID" ]; then
++ _MD_UUID=$(str_replace "$_MD_UUID" "-" "")
++ _MD_UUID=$(str_replace "$_MD_UUID" ":" "")
++
+ for _md in /dev/md[0-9_]*; do
+ [ -b "$_md" ] || continue
+ _UUID=$(
+@@ -50,6 +53,7 @@ _md_force_run() {
+ )
+
+ [ -z "$_UUID" ] && continue
++ _UUID=$(str_replace "$_UUID" ":" "")
+
+ # check if we should handle this device
+ strstr " $_MD_UUID " " $_UUID " || continue
+diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
+index 428f9515..4d9baa52 100755
+--- a/modules.d/90mdraid/parse-md.sh
++++ b/modules.d/90mdraid/parse-md.sh
+@@ -1,6 +1,9 @@
+ #!/bin/sh
+
+ MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
++# normalize the uuid
++MD_UUID=$(str_replace "$MD_UUID" "-" "")
++MD_UUID=$(str_replace "$MD_UUID" ":" "")
+
+ if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
+ info "rd.md=0: removing MD RAID activation"
+@@ -12,13 +15,12 @@ else
+ [ -e "$f" ] || continue
+ while read line || [ -n "$line" ]; do
+ if [ "${line%%UUID CHECK}" != "$line" ]; then
++ for uuid in $MD_UUID; do
++ printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
++ done;
+ printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n'
+ for uuid in $MD_UUID; do
+- uuid=$(str_replace "$uuid" "-" "")
+- uuid=$(str_replace "$uuid" ":" "")
+- uuid="$(expr substr $uuid 1 8)-$(expr substr $uuid 9 4)-$(expr substr $uuid 13 4)-$(expr substr $uuid 17 4)-$(expr substr $uuid 21 12)"
+- printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
+- printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid
++ printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' "$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
+ done;
+ printf 'GOTO="md_end"\n'
+ printf 'LABEL="md_uuid_ok"\n'
+@@ -29,12 +31,7 @@ else
+ mv "${f}.new" "$f"
+ done
+ for uuid in $MD_UUID; do
+- if strstr "$uuid" "-"; then
+- # convert ID_FS_UUID to MD_UUID format
+- uuid=$(str_replace "$uuid" "-" "")
+- uuid=$(str_replace "$uuid" ":" "")
+- uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
+- fi
++ uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
+ wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}"
+ done
+ fi
+
diff --git a/0020.patch b/0020.patch
new file mode 100644
index 0000000..25ea3d5
--- /dev/null
+++ b/0020.patch
@@ -0,0 +1,70 @@
+From 6f0500ed4afa29ae8edc997933d598bc5862b4ce Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 13 Aug 2018 10:56:53 +0200
+Subject: [PATCH] iscsi: remove $() where it does not fit
+
+also simplify iscsiadm command to one call
+---
+ modules.d/95iscsi/iscsiroot.sh | 33 ++++++++++++++++++---------------
+ 1 file changed, 18 insertions(+), 15 deletions(-)
+
+diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
+index 5ac0ad9a..76c8b3fe 100755
+--- a/modules.d/95iscsi/iscsiroot.sh
++++ b/modules.d/95iscsi/iscsiroot.sh
+@@ -109,7 +109,7 @@ handle_netroot()
+ arg=$(getarg rd.iscsi.in.password -d iscsi_in_password=)
+ [ -n "$arg" ] && iscsi_in_password=$arg
+ for p in $(getargs rd.iscsi.param -d iscsi_param); do
+- iscsi_param="$iscsi_param $p"
++ iscsi_param="$iscsi_param $p"
+ done
+
+ parse_iscsi_root "$1" || return 1
+@@ -208,28 +208,31 @@ handle_netroot()
+ echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
+ fi
+
+- ### ToDo: Upstream calls systemd-run - Shall we, do we have to port this?
+-
+ targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
+ [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1
+
+ for target in $iscsi_target_name; do
+ case "$targets" in
+ *$target*)
++ EXTRA=""
+ if [ -n "$iscsi_iface_name" ]; then
+- $(iscsiadm -m iface -I $iscsi_iface_name --op=new)
+- [ -n "$iscsi_initiator" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.initiatorname --value=$iscsi_initiator)
+- [ -n "$iscsi_netdev_name" ] && $(iscsiadm -m iface -I $iscsi_iface_name --op=update --name=iface.net_ifacename --value=$iscsi_netdev_name)
+- COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} -I $iscsi_iface_name --op=update"
+- else
+- COMMAND="iscsiadm -m node -T $target -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} --op=update"
++ iscsiadm -m iface -I $iscsi_iface_name --op=new
++ EXTRA=" ${iscsi_netdev_name:+--name=iface.net_ifacename --value=$iscsi_netdev_name} "
++ EXTRA="$EXTRA ${iscsi_initiator:+--name=iface.initiatorname --value=$iscsi_initiator} "
+ fi
+- $($COMMAND --name=node.startup --value=onboot)
+- [ -n "$iscsi_username" ] && $($COMMAND --name=node.session.auth.username --value=$iscsi_username)
+- [ -n "$iscsi_password" ] && $($COMMAND --name=node.session.auth.password --value=$iscsi_password)
+- [ -n "$iscsi_in_username" ] && $($COMMAND --name=node.session.auth.username_in --value=$iscsi_in_username)
+- [ -n "$iscsi_in_password" ] && $($COMMAND --name=node.session.auth.password_in --value=$iscsi_in_password)
+- [ -n "$iscsi_param" ] && for param in $iscsi_param; do $($COMMAND --name=${param%=*} --value=${param#*=}); done
++ [ -n "$iscsi_param" ] && for param in $iscsi_param; do EXTRA="$EXTRA --name=${param%=*} --value=${param#*=}"; done
++
++ iscsiadm -m node -T $target \
++ ${iscsi_iface_name:+-I $iscsi_iface_name} \
++ -p $iscsi_target_ip${iscsi_target_port:+:$iscsi_target_port} \
++ --op=update \
++ --name=node.startup --value=onboot \
++ ${iscsi_username:+ --name=node.session.auth.username --value=$iscsi_username} \
++ ${iscsi_password:+ --name=node.session.auth.password --value=$iscsi_password} \
++ ${iscsi_in_username:+--name=node.session.auth.username_in --value=$iscsi_in_username} \
++ ${iscsi_in_password:+--name=node.session.auth.password_in --value=$iscsi_in_password} \
++ $EXTRA \
++ $NULL
+ ;;
+ *)
+ ;;
+
diff --git a/0021.patch b/0021.patch
new file mode 100644
index 0000000..e387044
--- /dev/null
+++ b/0021.patch
@@ -0,0 +1,32 @@
+From 0a80cda0ea1186bb3b384158aeda491443ae93ff Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 13 Aug 2018 11:30:03 +0200
+Subject: [PATCH] dracut.spec: remove warpclock from z-series, not the other
+ way round
+
+---
+ dracut.spec | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index d24c6f36..09c74478 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -224,7 +224,6 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/98integrity
+
+ %ifnarch s390 s390x
+ # remove architecture specific modules
+-rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/80cms
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/81cio_ignore
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/91zipl
+@@ -236,6 +235,8 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95qeth_rules
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
+ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
++%else
++rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
+ %endif
+
+ mkdir -p $RPM_BUILD_ROOT/boot/dracut
+
diff --git a/0022.patch b/0022.patch
new file mode 100644
index 0000000..7d855ba
--- /dev/null
+++ b/0022.patch
@@ -0,0 +1,24 @@
+From 26aea0299a7ec702972cbf8b5556731b762dcde9 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 13 Aug 2018 11:37:44 +0200
+Subject: [PATCH] multipath-shutdown: fix shell syntax
+
+seems like a misplaced $()
+---
+ modules.d/90multipath/multipath-shutdown.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90multipath/multipath-shutdown.sh b/modules.d/90multipath/multipath-shutdown.sh
+index 47e9990c..f160f45e 100755
+--- a/modules.d/90multipath/multipath-shutdown.sh
++++ b/modules.d/90multipath/multipath-shutdown.sh
+@@ -1,7 +1,7 @@
+ #!/bin/bash
+
+ for i in $(multipath -l -v1); do
+- if ! $(dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1') ; then
++ if ! dmsetup table $i | sed -n '/.*queue_if_no_path.*/q1' ; then
+ dmsetup message $i 0 fail_if_no_path
+ fi
+ done
+
diff --git a/0023.patch b/0023.patch
new file mode 100644
index 0000000..c776b02
--- /dev/null
+++ b/0023.patch
@@ -0,0 +1,150 @@
+From 6058b06b86ce1a505a640c78896eae32768077c1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 13 Aug 2018 16:27:59 +0200
+Subject: [PATCH] test/{TEST-50-MULTINIC,TEST-70-BONDBRIDGETEAMVLAN}: use
+ qemu-3.0 syntax
+
+use qemu-3.0 syntax for network devices
+---
+ test/TEST-50-MULTINIC/test.sh | 20 +++++-----
+ test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh | 4 ++
+ test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 53 ++++++++++++++------------
+ 3 files changed, 43 insertions(+), 34 deletions(-)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index 7c108aa0..de40790f 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -51,15 +51,17 @@ client_test() {
+ fi
+
+ $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
+- -net socket,vlan=0,connect=127.0.0.1:12350 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+- -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
+- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
++ -net socket,connect=127.0.0.1:12350 \
++ -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
++ -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
++ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
++ -netdev hubport,id=n1,hubid=1 \
++ -netdev hubport,id=n2,hubid=2 \
++ --device e1000,netdev=n1,mac=52:54:00:12:34:98 \
++ -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
+ -initrd "$TESTDIR"/initramfs.testing
+
+ { read OK; read IFACES; } < "$TESTDIR"/client.img
+diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
+index 562feae6..503ed9ed 100755
+--- a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
++++ b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
+@@ -67,6 +67,10 @@ ip addr add 192.168.55.1/24 dev ens4.2
+ ip addr add 192.168.56.1/24 dev ens4.3
+ ip addr add 192.168.57.1/24 dev ens4.4
+ linkup ens4
++ip link set dev ens4.1 up
++ip link set dev ens4.2 up
++ip link set dev ens4.3 up
++ip link set dev ens4.4 up
+ ip link set dev eth2 name ens5
+ ip addr add 192.168.51.1/24 dev ens5
+ linkup ens5
+diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
+index 277bbd01..eadf09f1 100755
+--- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
++++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
+@@ -18,14 +18,14 @@ run_server() {
+ -hda "$TESTDIR"/server.ext3 \
+ -m 512M -smp 2 \
+ -display none \
+- -net socket,vlan=0,listen=127.0.0.1:12370 \
+- -net socket,vlan=1,listen=127.0.0.1:12371 \
+- -net socket,vlan=2,listen=127.0.0.1:12372 \
+- -net socket,vlan=3,listen=127.0.0.1:12373 \
+- -net nic,vlan=0,macaddr=52:54:01:12:34:56,model=e1000 \
+- -net nic,vlan=1,macaddr=52:54:01:12:34:57,model=e1000 \
+- -net nic,vlan=2,macaddr=52:54:01:12:34:58,model=e1000 \
+- -net nic,vlan=3,macaddr=52:54:01:12:34:59,model=e1000 \
++ -netdev socket,id=n0,listen=127.0.0.1:12370 \
++ -netdev socket,id=n1,listen=127.0.0.1:12371 \
++ -netdev socket,id=n2,listen=127.0.0.1:12372 \
++ -netdev socket,id=n3,listen=127.0.0.1:12373 \
++ -device e1000,netdev=n0,mac=52:54:01:12:34:56 \
++ -device e1000,netdev=n1,mac=52:54:01:12:34:57 \
++ -device e1000,netdev=n2,mac=52:54:01:12:34:58 \
++ -device e1000,netdev=n3,mac=52:54:01:12:34:59 \
+ ${SERIAL:+-serial "$SERIAL"} \
+ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+ -watchdog i6300esb -watchdog-action poweroff \
+@@ -58,22 +58,25 @@ client_test() {
+ echo "Unable to make client sda image" 1>&2
+ return 1
+ fi
++ if [[ $do_vlan13 ]]; then
++ nic1=" -netdev socket,connect=127.0.0.1:12371,id=n1"
++ nic3=" -netdev socket,connect=127.0.0.1:12373,id=n3"
++ else
++ nic1=" -netdev hubport,id=n1,hubid=2"
++ nic3=" -netdev hubport,id=n3,hubid=3"
++ fi
+
+ $testdir/run-qemu -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
+- -net socket,vlan=0,connect=127.0.0.1:12370 \
+- ${do_vlan13:+-net socket,vlan=1,connect=127.0.0.1:12371} \
+- -net socket,vlan=2,connect=127.0.0.1:12372 \
+- ${do_vlan13:+-net socket,vlan=3,connect=127.0.0.1:12373} \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:01,model=e1000 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:02,model=e1000 \
+- -net nic,vlan=1,macaddr=52:54:00:12:34:03,model=e1000 \
+- -net nic,vlan=2,macaddr=52:54:00:12:34:04,model=e1000 \
+- -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \
++ -netdev socket,connect=127.0.0.1:12370,id=s1 -netdev hubport,hubid=1,id=h1,netdev=s1 \
++ -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
++ -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
++ $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
++ -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
++ $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
+ -watchdog i6300esb -watchdog-action poweroff \
+ -no-reboot \
+ -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
+ -initrd "$TESTDIR"/initramfs.testing
+-
+ {
+ read OK
+ if [[ "$OK" != "OK" ]]; then
+@@ -113,19 +116,19 @@ test_client() {
+ client_test "Multiple VLAN" \
+ "yes" \
+ "
+-vlan=vlan0001:ens4
+-vlan=vlan2:ens4
+-vlan=ens4.3:ens4
+-vlan=ens4.0004:ens4
++vlan=vlan0001:ens5
++vlan=vlan2:ens5
++vlan=ens5.3:ens5
++vlan=ens5.0004:ens5
+ ip=ens3:dhcp
+ ip=192.168.54.101::192.168.54.1:24:test:vlan0001:none
+ ip=192.168.55.102::192.168.55.1:24:test:vlan2:none
+-ip=192.168.56.103::192.168.56.1:24:test:ens4.3:none
+-ip=192.168.57.104::192.168.57.1:24:test:ens4.0004:none
++ip=192.168.56.103::192.168.56.1:24:test:ens5.3:none
++ip=192.168.57.104::192.168.57.1:24:test:ens5.0004:none
+ rd.neednet=1
+ root=nfs:192.168.50.1:/nfs/client bootdev=ens3
+ " \
+- 'ens3 ens4.0004 ens4.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4.0004 # Generated by dracut initrd NAME="ens4.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens4.0004" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens4.3 # Generated by dracut initrd NAME="ens4.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens4.3" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan0001 # Generated by dracut initrd NAME="vlan0001" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.54.101" PREFIX="24" GATEWAY="192.168.54.1" TYPE=Vlan DEVICE="vlan0001" VLAN=yes PHYSDEV="ens4" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan2 # Generated by dracut initrd NAME="vlan2" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.55.102" PREFIX="24" GATEWAY="192.168.55.1" TYPE=Vlan DEVICE="vlan2" VLAN=yes PHYSDEV="ens4" EOF ' \
++ 'ens3 ens5.0004 ens5.3 vlan0001 vlan2 /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens3 # Generated by dracut initrd NAME="ens3" DEVICE="ens3" ONBOOT=yes NETBOOT=yes IPV6INIT=yes BOOTPROTO=dhcp TYPE=Ethernet /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.0004 # Generated by dracut initrd NAME="ens5.0004" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.57.104" PREFIX="24" GATEWAY="192.168.57.1" TYPE=Vlan DEVICE="ens5.0004" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-ens5.3 # Generated by dracut initrd NAME="ens5.3" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.56.103" PREFIX="24" GATEWAY="192.168.56.1" TYPE=Vlan DEVICE="ens5.3" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan0001 # Generated by dracut initrd NAME="vlan0001" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.54.101" PREFIX="24" GATEWAY="192.168.54.1" TYPE=Vlan DEVICE="vlan0001" VLAN=yes PHYSDEV="ens5" /run/initramfs/state/etc/sysconfig/network-scripts/ifcfg-vlan2 # Generated by dracut initrd NAME="vlan2" ONBOOT=yes NETBOOT=yes BOOTPROTO=none IPADDR="192.168.55.102" PREFIX="24" GATEWAY="192.168.55.1" TYPE=Vlan DEVICE="vlan2" VLAN=yes PHYSDEV="ens5" EOF ' \
+ || return 1
+
+ client_test "Multiple Bonds" \
+
diff --git a/0024.patch b/0024.patch
new file mode 100644
index 0000000..5660d8b
--- /dev/null
+++ b/0024.patch
@@ -0,0 +1,48 @@
+From ab94a204e0cb22bcaa2b2863dee9ffb9f22e91c5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 11:03:11 +0200
+Subject: [PATCH] load modules earlier for iscsi via dhcp root-path
+
+---
+ modules.d/95iscsi/parse-iscsiroot.sh | 15 +++++++--------
+ 1 file changed, 7 insertions(+), 8 deletions(-)
+
+diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh
+index f884e684..7a64d888 100755
+--- a/modules.d/95iscsi/parse-iscsiroot.sh
++++ b/modules.d/95iscsi/parse-iscsiroot.sh
+@@ -90,19 +90,13 @@ if [ -n "$iscsi_firmware" ]; then
+ initqueue --unique --onetime --settled /sbin/iscsiroot online "iscsi:" "'$NEWROOT'"
+ fi
+
+-if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then
+- return 1
+-fi
+-
+-initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT"
+-
+-initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi qedi
+-
+ # ISCSI actually supported?
+ if ! [ -e /sys/module/iscsi_tcp ]; then
+ modprobe -b -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi"
+ fi
+
++modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi
++
+ if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then
+ if ! getargbool 1 rd.neednet >/dev/null || ! getarg "ip="; then
+ initqueue --unique --onetime --settled /sbin/iscsiroot dummy "'$netroot'" "'$NEWROOT'"
+@@ -141,6 +135,11 @@ if [ -z $iscsi_initiator ] && [ -f /sys/firmware/ibft/initiator/initiator-name ]
+ fi
+ fi
+
++if [ -z "$netroot" ] || ! [ "${netroot%%:*}" = "iscsi" ]; then
++ return 1
++fi
++
++initqueue --unique --onetime --timeout /sbin/iscsiroot timeout "$netroot" "$NEWROOT"
+
+ for nroot in $(getargs netroot); do
+ [ "${nroot%%:*}" = "iscsi" ] || continue
+
diff --git a/0025.patch b/0025.patch
new file mode 100644
index 0000000..f2cbdcf
--- /dev/null
+++ b/0025.patch
@@ -0,0 +1,32 @@
+From ffbd37d7844b96611506eb4631a3e4f3b5e74c86 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 11:03:48 +0200
+Subject: [PATCH] TEST-31-ISCSI-MULTI: use different port than TEST-30
+
+---
+ test/TEST-31-ISCSI-MULTI/test.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
+index 2f2b6ed5..c2f86ac8 100755
+--- a/test/TEST-31-ISCSI-MULTI/test.sh
++++ b/test/TEST-31-ISCSI-MULTI/test.sh
+@@ -24,7 +24,7 @@ run_server() {
+ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+ -net nic,macaddr=52:54:00:12:34:56,model=e1000 \
+ -net nic,macaddr=52:54:00:12:34:57,model=e1000 \
+- -net socket,listen=127.0.0.1:12330 \
++ -net socket,listen=127.0.0.1:12331 \
+ -no-reboot \
+ -append "panic=1 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0 $SERVER_DEBUG" \
+ -initrd $TESTDIR/initramfs.server \
+@@ -49,7 +49,7 @@ run_client() {
+ -m 512M -smp 2 -nographic \
+ -net nic,macaddr=52:54:00:12:34:00,model=e1000 \
+ -net nic,macaddr=52:54:00:12:34:01,model=e1000 \
+- -net socket,connect=127.0.0.1:12330 \
++ -net socket,connect=127.0.0.1:12331 \
+ -no-reboot \
+ -append "panic=1 rw rd.auto rd.retry=50 console=ttyS0,115200n81 selinux=0 rd.debug=0 rd.shell=0 $DEBUGFAIL $*" \
+ -initrd $TESTDIR/initramfs.testing
+
diff --git a/0026.patch b/0026.patch
new file mode 100644
index 0000000..d30bef7
--- /dev/null
+++ b/0026.patch
@@ -0,0 +1,231 @@
+From 82fe4ea0a5a745c920aa396775b9ebb52b4d2927 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 11:04:17 +0200
+Subject: [PATCH] enable parallel test suite
+
+$ time sudo make -j SKIP=14 V=2 check
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-13-ENC-RAID-LVM'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-40-NBD'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-04-FULL-SYSTEMD'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-12-RAID-DEG'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-15-BTRFSRAID'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-16-DMSQUASH'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-17-LVM-THIN'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-11-LVM'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-31-ISCSI-MULTI'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-20-NFS'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-99-RPM'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-02-SYSTEMD'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-30-ISCSI'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-01-BASIC'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-03-USR-MOUNT'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-70-BONDBRIDGETEAMVLAN'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-50-MULTINIC'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-10-RAID'
+make[1]: Entering directory '/home/harald/git/dracut/test/TEST-18-LVM-ENC-LV'
+TEST: root filesystem on an encrypted LVM PV on a degraded RAID-5 [STARTED]
+TEST: root filesystem on NBD [STARTED]
+TEST: root filesystem on NBD [SKIPPED]
+TEST: Full systemd serialization/deserialization test with /usr mount [STARTED]
+TEST: root filesystem on multiple device btrfs [STARTED]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-40-NBD'
+TEST: root filesystem on a LiveCD dmsquash filesystem [STARTED]
+TEST: root filesystem on a LiveCD dmsquash filesystem [SKIPPED]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-16-DMSQUASH'
+TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [STARTED]
+TEST: root filesystem on LVM PV [STARTED]
+TEST: rpm integrity after dracut and kernel install [STARTED]
+TEST: root filesystem on NFS [STARTED]
+TEST: root filesystem over iSCSI [STARTED]
+TEST: root filesystem on LVM PV with thin pool [STARTED]
+TEST: root filesystem over iSCSI [STARTED]
+TEST: root filesystem on a ext3 filesystem [STARTED]
+TEST: root filesystem on a ext3 filesystem [STARTED]
+TEST: root filesystem on a btrfs filesystem with /usr subvolume [STARTED]
+TEST: root filesystem on NFS with bridging/bonding/vlan [STARTED]
+TEST: root filesystem on NFS with multiple nics [STARTED]
+TEST: root filesystem on an encrypted LVM PV on a RAID-5 [STARTED]
+TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [STARTED]
+TEST: root filesystem on LVM PV [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-11-LVM'
+TEST: root filesystem on multiple device btrfs [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-15-BTRFSRAID'
+TEST: root filesystem on LVM PV with thin pool [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-17-LVM-THIN'
+TEST: root filesystem on a ext3 filesystem [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-02-SYSTEMD'
+TEST: root filesystem on a btrfs filesystem with /usr subvolume [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-03-USR-MOUNT'
+TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-18-LVM-ENC-LV'
+TEST: Full systemd serialization/deserialization test with /usr mount [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-04-FULL-SYSTEMD'
+TEST: root filesystem on an encrypted LVM PV on a RAID-5 [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-10-RAID'
+TEST: root filesystem on LVM on encrypted partitions of a RAID-5 [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-13-ENC-RAID-LVM'
+TEST: root filesystem over iSCSI [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-30-ISCSI'
+TEST: root filesystem on a ext3 filesystem [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-01-BASIC'
+TEST: root filesystem over iSCSI [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-31-ISCSI-MULTI'
+TEST: rpm integrity after dracut and kernel install [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-99-RPM'
+TEST: root filesystem on NFS [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-20-NFS'
+TEST: root filesystem on NFS with bridging/bonding/vlan [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-70-BONDBRIDGETEAMVLAN'
+TEST: root filesystem on an encrypted LVM PV on a degraded RAID-5 [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-12-RAID-DEG'
+TEST: root filesystem on NFS with multiple nics [OK]
+make[1]: Leaving directory '/home/harald/git/dracut/test/TEST-50-MULTINIC'
+
+real 9m3,969s
+user 22m50,323s
+sys 5m24,411s
+---
+ test/Makefile | 21 +++++++++--------
+ test/test-functions | 68 ++++++++++++++++++++++++++++-------------------------
+ 2 files changed, 47 insertions(+), 42 deletions(-)
+
+diff --git a/test/Makefile b/test/Makefile
+index eaa944fb..0b33660b 100644
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -1,15 +1,16 @@
+-.PHONY: all check clean
++.PHONY: all check clean $(wildcard TEST-??-*)
+
+-check:
++$(wildcard TEST-??-*):
+ @[ "$$EUID" == "0" ] || { echo "'check' must be run as root! Please use 'sudo'."; exit 1; }
+- @{ ret=0; \
+- for i in TEST-[0-9]*; do \
+- [ -d $$i ] || continue ; \
+- [ -f $$i/Makefile ] || continue ; \
+- if [ -n "$$TESTS" ]; then t=$${i##TEST-}; t=$${t%%-*}; [ "$${TESTS#*$$t*}" != "$$TESTS" ] || continue; fi; \
+- if [ -n "$$SKIP" ]; then t=$${i##TEST-}; t=$${t%%-*}; [ "$${SKIP#*$$t*}" != "$$SKIP" ] && continue; fi; \
+- $(MAKE) -C $$i all ; ret=$$((ret + $$?)); \
+- done; exit $$ret; }
++ @{ \
++ [ -d $@ ] || exit 0; \
++ [ -f $@/Makefile ] || exit 0; \
++ if [ -n "$$TESTS" ]; then t=$${$@##TEST-}; t=$${t%%-*}; [ "$${TESTS#*$$t*}" != "$$TESTS" ] || exit 0; fi; \
++ if [ -n "$$SKIP" ]; then t=$${$@##TEST-}; t=$${t%%-*}; [ "$${SKIP#*$$t*}" != "$$SKIP" ] && exit 0; fi; \
++ $(MAKE) -C $@ all ; \
++ }
++
++check: $(wildcard TEST-??-*)
+
+ clean:
+ @for i in TEST-[0-9]*; do \
+diff --git a/test/test-functions b/test/test-functions
+index 2b8a4d26..57611ff5 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -4,14 +4,14 @@ export PATH
+
+ [[ -e .testdir ]] && . .testdir
+ if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
+- TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
++ TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
+ fi
+ echo "TESTDIR=\"$TESTDIR\"" > .testdir
+ export TESTDIR
+
+ command -v test_check &>/dev/null || test_check() {
+- :
+-}
++ :
++ }
+
+ # terminal sequence to set color to a 'success' color (currently: green)
+ function SETCOLOR_SUCCESS() { echo -en '\033[0;32m'; }
+@@ -22,6 +22,11 @@ function SETCOLOR_WARNING() { echo -en '\033[0;33m'; }
+ # terminal sequence to reset to the default color.
+ function SETCOLOR_NORMAL() { echo -en '\033[0;39m'; }
+
++COLOR_SUCCESS='\033[0;32m'
++COLOR_FAILURE='\033[0;31m'
++COLOR_WARNING='\033[0;33m'
++COLOR_NORMAL='\033[0;39m'
++
+ check_root() {
+ if (( $EUID != 0 )); then
+ SETCOLOR_FAILURE; echo "Tests must be run as root! Please use 'sudo'."; SETCOLOR_NORMAL
+@@ -49,45 +54,44 @@ while (($# > 0)); do
+ exit $?;;
+ --all)
+ check_root
+- echo -n "TEST: $TEST_DESCRIPTION ";
+ if ! test_check 2&>test.log ; then
+- SETCOLOR_WARNING
+- echo "[SKIPPED]"
+- SETCOLOR_NORMAL
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
+ exit 0;
++ else
++ echo "TEST: $TEST_DESCRIPTION [STARTED]";
+ fi
+ if [ "$V" != "1" ]; then
+- (
+- test_setup && test_run
+- ret=$?
+- test_cleanup
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir
+- exit $ret
+- ) </dev/null >test.log 2>&1
++ (
++ test_setup && test_run
++ ret=$?
++ test_cleanup
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir
++ exit $ret
++ ) </dev/null >test.log 2>&1
+ else
+- set -o pipefail
+- (
+- test_setup && test_run
+- ret=$?
+- test_cleanup
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir
+- exit $ret
+- ) </dev/null 2>&1 | tee test.log
++ set -o pipefail
++ (
++ test_setup && test_run
++ ret=$?
++ test_cleanup
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir
++ exit $ret
++ ) </dev/null 2>&1 | tee test.log
+ fi
+ ret=$?
+ set +o pipefail
+ if [ $ret -eq 0 ]; then
+- rm -- test.log
+- SETCOLOR_SUCCESS
+- echo "[OK]"
+- SETCOLOR_NORMAL
++ rm -- test.log
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
+ else
+- SETCOLOR_FAILURE
+- echo "[FAILED]"
+- SETCOLOR_NORMAL
+- echo "see $(pwd)/test.log"
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
++ if [ "$V" == "2" ]; then
++ cat $(pwd)/test.log
++ else
++ echo "see $(pwd)/test.log"
++ fi
+ fi
+ exit $ret;;
+ *) break ;;
+
diff --git a/0027.patch b/0027.patch
new file mode 100644
index 0000000..1156414
--- /dev/null
+++ b/0027.patch
@@ -0,0 +1,23 @@
+From 393da0c370deaea03b7f72a35782fde506526a49 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 11:35:26 +0200
+Subject: [PATCH] TEST-50-MULTINIC: s/--device/-device
+
+---
+ test/TEST-50-MULTINIC/test.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index de40790f..2640c318 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -57,7 +57,7 @@ client_test() {
+ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+ -netdev hubport,id=n1,hubid=1 \
+ -netdev hubport,id=n2,hubid=2 \
+- --device e1000,netdev=n1,mac=52:54:00:12:34:98 \
++ -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
+ -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
+ -watchdog i6300esb -watchdog-action poweroff \
+ -no-reboot \
+
diff --git a/0028.patch b/0028.patch
new file mode 100644
index 0000000..738236d
--- /dev/null
+++ b/0028.patch
@@ -0,0 +1,34 @@
+From 827a5b1a80c63f62fbe70945d46a8eb9453fc9fe Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 11:37:57 +0200
+Subject: [PATCH] test: also output server.log on failure
+
+---
+ test/test-functions | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index 57611ff5..f27be912 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -75,6 +75,9 @@ while (($# > 0)); do
+ test_setup && test_run
+ ret=$?
+ test_cleanup
++ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
++ mv [[ -f "$TESTDIR"/server.log ]] ./
++ fi
+ rm -fr -- "$TESTDIR"
+ rm -f -- .testdir
+ exit $ret
+@@ -88,7 +91,8 @@ while (($# > 0)); do
+ else
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ if [ "$V" == "2" ]; then
+- cat $(pwd)/test.log
++ cat $(pwd)/server.log $(pwd)/test.log
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ else
+ echo "see $(pwd)/test.log"
+ fi
+
diff --git a/0029.patch b/0029.patch
new file mode 100644
index 0000000..ce571e1
--- /dev/null
+++ b/0029.patch
@@ -0,0 +1,23 @@
+From 94cc856cb8e4a325cc26a3bcc2d9e92da6a2be69 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 13:57:15 +0200
+Subject: [PATCH] TEST-70-BONDBRIDGETEAMVLAN: load vlan kernel modules
+
+---
+ test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
+index 503ed9ed..b9f01c9b 100755
+--- a/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
++++ b/test/TEST-70-BONDBRIDGETEAMVLAN/server-init.sh
+@@ -49,7 +49,7 @@ linkup() {
+ && wait_for_if_up $1 2>/dev/null
+ }
+
+-modprobe -b -q 8021q
++modprobe --all -b -q 8021q ipvlan macvlan
+ >/dev/watchdog
+ ip addr add 127.0.0.1/8 dev lo
+ linkup lo
+
diff --git a/0030.patch b/0030.patch
new file mode 100644
index 0000000..5a1f421
--- /dev/null
+++ b/0030.patch
@@ -0,0 +1,338 @@
+From ca8f1c1ba3e5f1ebfb2e5e70ea4d4b7a791b0bc2 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 13:58:21 +0200
+Subject: [PATCH] test: fixed KVERSION and qemu backwards compatiblity
+
+---
+ test/TEST-50-MULTINIC/test.sh | 137 ++++++++++++++++++--------------
+ test/TEST-70-BONDBRIDGETEAMVLAN/test.sh | 52 ++++++++----
+ 2 files changed, 115 insertions(+), 74 deletions(-)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index 2640c318..02443c40 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -12,19 +12,36 @@ run_server() {
+ echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
+
+ fsck -a "$TESTDIR"/server.ext3 || return 1
+- $testdir/run-qemu \
+- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
+- -m 512M -smp 2 \
+- -display none \
+- -net socket,listen=127.0.0.1:12350 \
+- -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
+- ${SERIAL:+-serial "$SERIAL"} \
+- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
+- -initrd "$TESTDIR"/initramfs.server \
+- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
++
++ if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
++ $testdir/run-qemu \
++ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
++ -m 512M -smp 2 \
++ -display none \
++ -net socket,listen=127.0.0.1:12350 \
++ -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
++ ${SERIAL:+-serial "$SERIAL"} \
++ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
++ -initrd "$TESTDIR"/initramfs.server \
++ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
++ else
++ $testdir/run-qemu \
++ -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
++ -net socket,vlan=0,connect=127.0.0.1:12350 \
++ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
++ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
++ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
++ -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
++ -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
++ -initrd "$TESTDIR"/initramfs.testing
++ fi
++
+ sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
+
+ # Cleanup the terminal if we have one
+@@ -51,18 +68,18 @@ client_test() {
+ fi
+
+ $testdir/run-qemu -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
+- -net socket,connect=127.0.0.1:12350 \
+- -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+- -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+- -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+- -netdev hubport,id=n1,hubid=1 \
+- -netdev hubport,id=n2,hubid=2 \
+- -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
+- -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
+- -initrd "$TESTDIR"/initramfs.testing
++ -net socket,connect=127.0.0.1:12350 \
++ -net nic,macaddr=52:54:00:12:34:$mac1,model=e1000 \
++ -net nic,macaddr=52:54:00:12:34:$mac2,model=e1000 \
++ -net nic,macaddr=52:54:00:12:34:$mac3,model=e1000 \
++ -netdev hubport,id=n1,hubid=1 \
++ -netdev hubport,id=n2,hubid=2 \
++ -device e1000,netdev=n1,mac=52:54:00:12:34:98 \
++ -device e1000,netdev=n2,mac=52:54:00:12:34:99 \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
++ -initrd "$TESTDIR"/initramfs.testing
+
+ { read OK; read IFACES; } < "$TESTDIR"/client.img
+
+@@ -110,58 +127,58 @@ test_client() {
+
+ # PXE Style BOOTIF=
+ client_test "MULTINIC root=nfs BOOTIF=" \
+- 00 01 02 \
+- "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
+- "ens3" || return 1
++ 00 01 02 \
++ "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00" \
++ "ens3" || return 1
+
+ client_test "MULTINIC root=nfs BOOTIF= ip=ens4:dhcp" \
+- 00 01 02 \
+- "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens4:dhcp" \
+- "ens3 ens4" || return 1
++ 00 01 02 \
++ "root=nfs:192.168.50.1:/nfs/client BOOTIF=52-54-00-12-34-00 ip=ens4:dhcp" \
++ "ens3 ens4" || return 1
+
+ # PXE Style BOOTIF= with dhcp root-path
+ client_test "MULTINIC root=dhcp BOOTIF=" \
+- 00 01 02 \
+- "root=dhcp BOOTIF=52-54-00-12-34-02" \
+- "ens5" || return 1
++ 00 01 02 \
++ "root=dhcp BOOTIF=52-54-00-12-34-02" \
++ "ens5" || return 1
+
+ # Multinic case, where only one nic works
+ client_test "MULTINIC root=nfs ip=dhcp" \
+- FF 00 FE \
+- "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
+- "ens4" || return 1
++ FF 00 FE \
++ "root=nfs:192.168.50.1:/nfs/client ip=dhcp" \
++ "ens4" || return 1
+
+ # Require two interfaces
+ client_test "MULTINIC root=nfs ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
+- 00 01 02 \
+- "root=nfs:192.168.50.1:/nfs/client ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
+- "ens4 ens5" || return 1
++ 00 01 02 \
++ "root=nfs:192.168.50.1:/nfs/client ip=ens4:dhcp ip=ens5:dhcp bootdev=ens4" \
++ "ens4 ens5" || return 1
+
+ # Require three interfaces with dhcp root-path
+ client_test "MULTINIC root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
+- 00 01 02 \
+- "root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
+- "ens3 ens4 ens5" || return 1
++ 00 01 02 \
++ "root=dhcp ip=ens3:dhcp ip=ens4:dhcp ip=ens5:dhcp bootdev=ens5" \
++ "ens3 ens4 ens5" || return 1
+
+ client_test "MULTINIC bonding" \
+- 00 01 02 \
+- "root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
+- "bond0" || return 1
++ 00 01 02 \
++ "root=nfs:192.168.50.1:/nfs/client ip=bond0:dhcp bond=bond0:ens3,ens4,ens5:mode=balance-rr" \
++ "bond0" || return 1
+
+ client_test "MULTINIC bridging" \
+- 00 01 02 \
+- "root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens3,ens6,ens7" \
+- "bridge0" || return 1
++ 00 01 02 \
++ "root=nfs:192.168.50.1:/nfs/client ip=bridge0:dhcp bridge=bridge0:ens3,ens6,ens7" \
++ "bridge0" || return 1
+ return 0
+ }
+
+ test_setup() {
+- # Make server root
++ # Make server root
+ dd if=/dev/null of="$TESTDIR"/server.ext3 bs=1M seek=120
+ mke2fs -j -F -- "$TESTDIR"/server.ext3
+ mkdir -- "$TESTDIR"/mnt
+ sudo mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt
+-
++ kernel=$KVERSION
+ (
+ export initdir="$TESTDIR"/mnt
+ . "$basedir"/dracut-init.sh
+@@ -185,9 +202,9 @@ test_setup() {
+ done
+
+ inst_multiple sh ls shutdown poweroff stty cat ps ln ip \
+- dmesg mkdir cp ping exportfs \
+- modprobe rpc.nfsd rpc.mountd showmount tcpdump \
+- /etc/services sleep mount chmod
++ dmesg mkdir cp ping exportfs \
++ modprobe rpc.nfsd rpc.mountd showmount tcpdump \
++ /etc/services sleep mount chmod
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f "${_terminfodir}"/l/linux ] && break
+ done
+@@ -212,7 +229,7 @@ test_setup() {
+ inst_libdir_file 'libnfsidmap*.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
++ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+@@ -241,7 +258,7 @@ test_setup() {
+ done
+ )
+ inst_multiple sh shutdown poweroff stty cat ps ln ip \
+- mount dmesg mkdir cp ping grep ls
++ mount dmesg mkdir cp ping grep ls
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [[ -f ${_terminfodir}/l/linux ]] && break
+ done
+@@ -258,7 +275,7 @@ test_setup() {
+ inst_libdir_file 'libnfsidmap*.so*'
+
+ _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' -- /etc/nsswitch.conf \
+- | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
++ | tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
+ _nsslibs=${_nsslibs#|}
+ _nsslibs=${_nsslibs%|}
+
+@@ -282,14 +299,16 @@ test_setup() {
+ )
+
+ # Make server's dracut image
+- $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
++ $basedir/dracut.sh \
++ -l -i "$TESTDIR"/overlay / \
+ -m "dash udev-rules base rootfs-block fs-lib debug kernel-modules watchdog" \
+ -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
+ --no-hostonly-cmdline -N \
+ -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1
+
+ # Make client's dracut image
+- $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
++ $basedir/dracut.sh \
++ -l -i "$TESTDIR"/overlay / \
+ -o "plymouth" \
+ -a "debug" \
+ -d "af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
+diff --git a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
+index eadf09f1..8c11a7d3 100755
+--- a/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
++++ b/test/TEST-70-BONDBRIDGETEAMVLAN/test.sh
+@@ -14,6 +14,7 @@ run_server() {
+ echo "MULTINIC TEST SETUP: Starting DHCP/NFS server"
+
+ fsck -a "$TESTDIR"/server.ext3 || return 1
++
+ $testdir/run-qemu \
+ -hda "$TESTDIR"/server.ext3 \
+ -m 512M -smp 2 \
+@@ -66,17 +67,38 @@ client_test() {
+ nic3=" -netdev hubport,id=n3,hubid=3"
+ fi
+
+- $testdir/run-qemu -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
+- -netdev socket,connect=127.0.0.1:12370,id=s1 -netdev hubport,hubid=1,id=h1,netdev=s1 \
+- -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
+- -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
+- $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
+- -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
+- $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
+- -initrd "$TESTDIR"/initramfs.testing
++ if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
++ $testdir/run-qemu \
++ -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
++ -netdev socket,connect=127.0.0.1:12370,id=s1 \
++ -netdev hubport,hubid=1,id=h1,netdev=s1 \
++ -netdev hubport,hubid=1,id=h2 -device e1000,mac=52:54:00:12:34:01,netdev=h2 \
++ -netdev hubport,hubid=1,id=h3 -device e1000,mac=52:54:00:12:34:02,netdev=h3 \
++ $nic1 -device e1000,mac=52:54:00:12:34:03,netdev=n1 \
++ -netdev socket,connect=127.0.0.1:12372,id=n2 -device e1000,mac=52:54:00:12:34:04,netdev=n2 \
++ $nic3 -device e1000,mac=52:54:00:12:34:05,netdev=n3 \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
++ -initrd "$TESTDIR"/initramfs.testing
++ else
++ $testdir/run-qemu \
++ -hda "$TESTDIR"/client.img -m 512M -smp 2 -nographic \
++ -net socket,vlan=0,connect=127.0.0.1:12370 \
++ ${do_vlan13:+-net socket,vlan=1,connect=127.0.0.1:12371} \
++ -net socket,vlan=2,connect=127.0.0.1:12372 \
++ ${do_vlan13:+-net socket,vlan=3,connect=127.0.0.1:12373} \
++ -net nic,vlan=0,macaddr=52:54:00:12:34:01,model=e1000 \
++ -net nic,vlan=0,macaddr=52:54:00:12:34:02,model=e1000 \
++ -net nic,vlan=1,macaddr=52:54:00:12:34:03,model=e1000 \
++ -net nic,vlan=2,macaddr=52:54:00:12:34:04,model=e1000 \
++ -net nic,vlan=3,macaddr=52:54:00:12:34:05,model=e1000 \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 $cmdline rd.debug $DEBUGFAIL rd.retry=5 rw console=ttyS0,115200n81 selinux=0 init=/sbin/init" \
++ -initrd "$TESTDIR"/initramfs.testing
++ fi
++
+ {
+ read OK
+ if [[ "$OK" != "OK" ]]; then
+@@ -167,7 +189,7 @@ test_setup() {
+ mke2fs -j -F -- "$TESTDIR"/server.ext3
+ mkdir -- "$TESTDIR"/mnt
+ mount -o loop -- "$TESTDIR"/server.ext3 "$TESTDIR"/mnt
+-
++ kernel=$KVERSION
+ (
+ export initdir="$TESTDIR"/mnt
+ . "$basedir"/dracut-init.sh
+@@ -203,7 +225,7 @@ test_setup() {
+ [ -f /etc/netconfig ] && inst_multiple /etc/netconfig
+ type -P dhcpd >/dev/null && inst_multiple dhcpd
+ [ -x /usr/sbin/dhcpd3 ] && inst /usr/sbin/dhcpd3 /usr/sbin/dhcpd
+- instmods nfsd sunrpc ipv6 lockd af_packet 8021q
++ instmods nfsd sunrpc ipv6 lockd af_packet 8021q ipvlan macvlan
+ inst_simple /etc/os-release
+ inst ./server-init.sh /sbin/init
+ inst ./hosts /etc/hosts
+@@ -286,7 +308,7 @@ test_setup() {
+ $basedir/dracut.sh -l -i "$TESTDIR"/overlay / \
+ --no-early-microcode \
+ -m "udev-rules base rootfs-block fs-lib debug kernel-modules watchdog" \
+- -d "af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
++ -d "ipvlan macvlan af_packet piix ide-gd_mod ata_piix ext3 sd_mod nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files nfsd e1000 i6300esb ib700wdt" \
+ --no-hostonly-cmdline -N \
+ -f "$TESTDIR"/initramfs.server "$KVERSION" || return 1
+
+@@ -295,7 +317,7 @@ test_setup() {
+ --no-early-microcode \
+ -o "plymouth" \
+ -a "debug" \
+- -d "af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
++ -d "ipvlan macvlan af_packet piix sd_mod sr_mod ata_piix ide-gd_mod e1000 nfsv2 nfsv3 nfsv4 nfs_acl nfs_layout_nfsv41_files sunrpc i6300esb ib700wdt" \
+ --no-hostonly-cmdline -N \
+ -f "$TESTDIR"/initramfs.testing "$KVERSION" || return 1
+ }
+
diff --git a/0031.patch b/0031.patch
new file mode 100644
index 0000000..4967ae3
--- /dev/null
+++ b/0031.patch
@@ -0,0 +1,23 @@
+From bb75d16521a9d76ccedbf06f3a6239efbbca77d7 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 14:07:12 +0200
+Subject: [PATCH] kernel-network-modules: add vlan kernel modules
+
+---
+ modules.d/90kernel-network-modules/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90kernel-network-modules/module-setup.sh b/modules.d/90kernel-network-modules/module-setup.sh
+index 16ed3a74..600ef112 100755
+--- a/modules.d/90kernel-network-modules/module-setup.sh
++++ b/modules.d/90kernel-network-modules/module-setup.sh
+@@ -28,7 +28,7 @@ installkernel() {
+ =drivers/net/phy \
+ =drivers/net/team \
+ =drivers/net/ethernet \
+- ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net xennet
++ ecb arc4 bridge stp llc ipv6 bonding 8021q ipvlan macvlan af_packet virtio_net xennet
+ hostonly="" instmods iscsi_ibft crc32c iscsi_boot_sysfs
+ }
+
+
diff --git a/0032.patch b/0032.patch
new file mode 100644
index 0000000..af3d99e
--- /dev/null
+++ b/0032.patch
@@ -0,0 +1,37 @@
+From f9c8b3112aee5216a6bb5a42fb46146f6f228854 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 14:12:54 +0200
+Subject: [PATCH] TEST-50-MULTINIC/test.sh: fixed server startup
+
+---
+ test/TEST-50-MULTINIC/test.sh | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index 02443c40..d7cec437 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -29,7 +29,9 @@ run_server() {
+ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
+ else
+ $testdir/run-qemu \
+- -drive format=raw,index=0,media=disk,file="$TESTDIR"/client.img -m 512M -smp 2 -nographic \
++ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
++ -m 512M -smp 2 \
++ -display none \
+ -net socket,vlan=0,connect=127.0.0.1:12350 \
+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+@@ -38,8 +40,9 @@ run_server() {
+ -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
+ -watchdog i6300esb -watchdog-action poweroff \
+ -no-reboot \
+- -append "panic=1 rd.shell=0 $cmdline $DEBUGFAIL rd.retry=5 ro console=ttyS0,115200n81 selinux=0 init=/sbin/init rd.debug systemd.log_target=console loglevel=7" \
+- -initrd "$TESTDIR"/initramfs.testing
++ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
++ -initrd "$TESTDIR"/initramfs.server \
++ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
+ fi
+
+ sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
+
diff --git a/0033.patch b/0033.patch
new file mode 100644
index 0000000..e102129
--- /dev/null
+++ b/0033.patch
@@ -0,0 +1,21 @@
+From 604c09b1dacd4a364ee88d0e405a4e6692bdc1c2 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 15:28:56 +0200
+Subject: [PATCH] TEST-31-ISCSI-MULTI/test.sh: fixed test description
+
+---
+ test/TEST-31-ISCSI-MULTI/test.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
+index c2f86ac8..1ed3fb7b 100755
+--- a/test/TEST-31-ISCSI-MULTI/test.sh
++++ b/test/TEST-31-ISCSI-MULTI/test.sh
+@@ -1,5 +1,5 @@
+ #!/bin/bash
+-TEST_DESCRIPTION="root filesystem over iSCSI"
++TEST_DESCRIPTION="root filesystem over multiple iSCSI"
+
+ KVERSION=${KVERSION-$(uname -r)}
+
+
diff --git a/0034.patch b/0034.patch
new file mode 100644
index 0000000..b78aca3
--- /dev/null
+++ b/0034.patch
@@ -0,0 +1,86 @@
+From a2dbecfcd65ac243363c9544442f7bf526ec6091 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 15:42:21 +0200
+Subject: [PATCH] test: add TEST_RUN_ID
+
+---
+ test/test-functions | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index f27be912..bde5f742 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -2,11 +2,11 @@
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ export PATH
+
+-[[ -e .testdir ]] && . .testdir
++[[ -e .testdir${TEST_RUN_ID:+-$TEST_RUN_ID} ]] && . .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ if [[ -z "$TESTDIR" ]] || [[ ! -d "$TESTDIR" ]]; then
+ TESTDIR=$(mktemp -d -p "/var/tmp" -t dracut-test.XXXXXX)
+ fi
+-echo "TESTDIR=\"$TESTDIR\"" > .testdir
++echo "TESTDIR=\"$TESTDIR\"" > .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ export TESTDIR
+
+ command -v test_check &>/dev/null || test_check() {
+@@ -50,11 +50,11 @@ while (($# > 0)); do
+ echo "TEST CLEANUP: $TEST_DESCRIPTION"
+ test_cleanup
+ rm -fr -- "$TESTDIR"
+- rm -f -- .testdir
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $?;;
+ --all)
+ check_root
+- if ! test_check 2&>test.log ; then
++ if ! test_check 2&>test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
+ exit 0;
+ else
+@@ -66,9 +66,9 @@ while (($# > 0)); do
+ ret=$?
+ test_cleanup
+ rm -fr -- "$TESTDIR"
+- rm -f -- .testdir
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+- ) </dev/null >test.log 2>&1
++ ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
+ else
+ set -o pipefail
+ (
+@@ -76,25 +76,25 @@ while (($# > 0)); do
+ ret=$?
+ test_cleanup
+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
+- mv [[ -f "$TESTDIR"/server.log ]] ./
++ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+ rm -fr -- "$TESTDIR"
+- rm -f -- .testdir
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+- ) </dev/null 2>&1 | tee test.log
++ ) </dev/null 2>&1 | tee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+ ret=$?
+ set +o pipefail
+ if [ $ret -eq 0 ]; then
+- rm -- test.log
++ rm -- test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
+ else
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ if [ "$V" == "2" ]; then
+- cat $(pwd)/server.log $(pwd)/test.log
++ cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ else
+- echo "see $(pwd)/test.log"
++ echo "see $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
+ fi
+ fi
+ exit $ret;;
+
diff --git a/0035.patch b/0035.patch
new file mode 100644
index 0000000..9741f85
--- /dev/null
+++ b/0035.patch
@@ -0,0 +1,26 @@
+From 0f294d90b246e15d00dd56627a8085e5bfc5bf85 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 15:54:42 +0200
+Subject: [PATCH] TEST-31-ISCSI-MULTI: increase verbose level
+
+---
+ test/TEST-31-ISCSI-MULTI/test.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/TEST-31-ISCSI-MULTI/test.sh b/test/TEST-31-ISCSI-MULTI/test.sh
+index 1ed3fb7b..5c38249c 100755
+--- a/test/TEST-31-ISCSI-MULTI/test.sh
++++ b/test/TEST-31-ISCSI-MULTI/test.sh
+@@ -3,9 +3,9 @@ TEST_DESCRIPTION="root filesystem over multiple iSCSI"
+
+ KVERSION=${KVERSION-$(uname -r)}
+
+-DEBUGFAIL="loglevel=1"
++#DEBUGFAIL="loglevel=1"
+ #DEBUGFAIL="rd.shell rd.break rd.debug loglevel=7 "
+-#DEBUGFAIL="rd.debug loglevel=7 "
++DEBUGFAIL="rd.debug loglevel=7 "
+ #SERVER_DEBUG="rd.debug loglevel=7"
+ #SERIAL="tcp:127.0.0.1:9999"
+
+
diff --git a/0036.patch b/0036.patch
new file mode 100644
index 0000000..77f3c49
--- /dev/null
+++ b/0036.patch
@@ -0,0 +1,93 @@
+From 3c1a083e5c5e56bf2e26aa806f023d4f053fc7b7 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:01:39 +0200
+Subject: [PATCH] add travis build job
+
+---
+ .travis.yml | 15 +++++++++++++++
+ fedora-test.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 70 insertions(+)
+
+diff --git a/.travis.yml b/.travis.yml
+new file mode 100644
+index 00000000..16f9a511
+--- /dev/null
++++ b/.travis.yml
+@@ -0,0 +1,15 @@
++sudo: required
++
++services:
++ - docker
++
++env:
++ matrix:
++ - IMAGE=latest
++ - IMAGE=rawhide
++
++before_script:
++- docker pull fedora:$IMAGE
++
++script:
++- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
+diff --git a/fedora-test.sh b/fedora-test.sh
+new file mode 100755
+index 00000000..ee506caf
+--- /dev/null
++++ b/fedora-test.sh
+@@ -0,0 +1,55 @@
++#!/bin/bash
++
++set -ex
++
++cd ${0%/*}
++
++RUN_ID="$1"
++
++dnf -y update --best --allowerasing
++
++dnf -y install --best --allowerasing \
++ dash \
++ asciidoc \
++ mdadm \
++ lvm2 \
++ dmraid \
++ cryptsetup \
++ nfs-utils \
++ nbd \
++ dhcp-server \
++ scsi-target-utils \
++ iscsi-initiator-utils \
++ strace \
++ btrfs-progs \
++ kmod-devel \
++ gcc \
++ bzip2 \
++ xz \
++ tar \
++ wget \
++ rpm-build \
++ make \
++ git \
++ bash-completion \
++ sudo \
++ kernel \
++ dhcp-client \
++ /usr/bin/qemu-kvm \
++ e2fsprogs \
++ $NULL
++
++./configure
++
++NCPU=$(getconf _NPROCESSORS_ONLN)
++
++make -j$NCPU all syncheck rpm
++
++cd test
++
++time sudo make -j$((NCPU/2+1)) \
++ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
++ TEST_RUN_ID=$RUN_ID \
++ -k V=2 \
++ SKIP="14 16" \
++ check
+
diff --git a/0037.patch b/0037.patch
new file mode 100644
index 0000000..6a4263b
--- /dev/null
+++ b/0037.patch
@@ -0,0 +1,44 @@
+From b7774da97ca743ada8a94d5eab4484cb96504ca0 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:18:53 +0200
+Subject: [PATCH] might even run without kvm
+
+---
+ .travis.yml | 5 +----
+ test/run-qemu | 1 +
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 16f9a511..a71d9be2 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -1,15 +1,12 @@
++language: generic
+ sudo: required
+-
+ services:
+ - docker
+-
+ env:
+ matrix:
+ - IMAGE=latest
+ - IMAGE=rawhide
+-
+ before_script:
+ - docker pull fedora:$IMAGE
+-
+ script:
+ - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
+diff --git a/test/run-qemu b/test/run-qemu
+index a4e15548..c28de2db 100755
+--- a/test/run-qemu
++++ b/test/run-qemu
+@@ -8,6 +8,7 @@ $(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu "
+ [[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS=""
+ [[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS=""
+ [[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS=""
++[[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
+ [[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm"
+
+ [[ $BIN ]] || {
+
diff --git a/0038.patch b/0038.patch
new file mode 100644
index 0000000..2b03b1f
--- /dev/null
+++ b/0038.patch
@@ -0,0 +1,23 @@
+From fba4d2843382540839d90abbaa2cae0d5bf1c2dd Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:30:42 +0200
+Subject: [PATCH] TEST-50-MULTINIC: fixed server.log
+
+---
+ test/TEST-50-MULTINIC/test.sh | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index d7cec437..0a4d29c2 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -38,6 +38,8 @@ run_server() {
+ -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+ -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
+ -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
++ ${SERIAL:+-serial "$SERIAL"} \
++ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+ -watchdog i6300esb -watchdog-action poweroff \
+ -no-reboot \
+ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
+
diff --git a/0039.patch b/0039.patch
new file mode 100644
index 0000000..33b0ab2
--- /dev/null
+++ b/0039.patch
@@ -0,0 +1,51 @@
+From cafe6675c2e54cbdc576785bc98e5f7fda76ba7c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:31:00 +0200
+Subject: [PATCH] test/run-qemu: move -cpu host to kvm args
+
+---
+ fedora-test.sh | 1 +
+ test/run-qemu | 12 ++++++------
+ 2 files changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/fedora-test.sh b/fedora-test.sh
+index ee506caf..146c7f2f 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -36,6 +36,7 @@ dnf -y install --best --allowerasing \
+ kernel \
+ dhcp-client \
+ /usr/bin/qemu-kvm \
++ /usr/bin/qemu-system-$(uname -i) \
+ e2fsprogs \
+ $NULL
+
+diff --git a/test/run-qemu b/test/run-qemu
+index c28de2db..4eb497ff 100755
+--- a/test/run-qemu
++++ b/test/run-qemu
+@@ -4,12 +4,12 @@
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+
+ [[ -x /usr/bin/qemu ]] && BIN=/usr/bin/qemu && ARGS=""
+-$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu "
+-[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS=""
+-[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS=""
+-[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS=""
++$(lsmod | grep -q '^kqemu ') && BIN=/usr/bin/qemu && ARGS="-kernel-kqemu -cpu host"
++[[ -c /dev/kvm && -x /usr/bin/kvm ]] && BIN=/usr/bin/kvm && ARGS="-cpu host"
++[[ -c /dev/kvm && -x /usr/bin/qemu-kvm ]] && BIN=/usr/bin/qemu-kvm && ARGS="-cpu host"
++[[ -c /dev/kvm && -x /usr/libexec/qemu-kvm ]] && BIN=/usr/libexec/qemu-kvm && ARGS="-cpu host"
+ [[ -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS=""
+-[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm"
++[[ -c /dev/kvm && -x /usr/bin/qemu-system-$(uname -i) ]] && BIN=/usr/bin/qemu-system-$(uname -i) && ARGS="-enable-kvm -cpu host"
+
+ [[ $BIN ]] || {
+ echo "Could not find a working KVM or QEMU to test with!" >&2
+@@ -31,4 +31,4 @@ if ! [ -f "$VMLINUZ" ]; then
+ fi
+ fi
+
+-exec sudo $BIN $ARGS -kernel $VMLINUZ -cpu host "$@"
++exec sudo $BIN $ARGS -kernel $VMLINUZ "$@"
+
diff --git a/0040.patch b/0040.patch
new file mode 100644
index 0000000..d65f542
--- /dev/null
+++ b/0040.patch
@@ -0,0 +1,67 @@
+From 9288d21b9fd992cc7a32fbf79ad4f80b070e2277 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:37:01 +0200
+Subject: [PATCH] TEST-50-MULTINIC: removed bogus qemu compat server call
+
+---
+ test/TEST-50-MULTINIC/test.sh | 46 ++++++++++++-------------------------------
+ 1 file changed, 13 insertions(+), 33 deletions(-)
+
+diff --git a/test/TEST-50-MULTINIC/test.sh b/test/TEST-50-MULTINIC/test.sh
+index 0a4d29c2..495a66f2 100755
+--- a/test/TEST-50-MULTINIC/test.sh
++++ b/test/TEST-50-MULTINIC/test.sh
+@@ -13,39 +13,19 @@ run_server() {
+
+ fsck -a "$TESTDIR"/server.ext3 || return 1
+
+- if $testdir/run-qemu --help | grep -qF -m1 'netdev hubport,id=str,hubid=n[,netdev=nd]' && echo OK; then
+- $testdir/run-qemu \
+- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
+- -m 512M -smp 2 \
+- -display none \
+- -net socket,listen=127.0.0.1:12350 \
+- -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
+- ${SERIAL:+-serial "$SERIAL"} \
+- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
+- -initrd "$TESTDIR"/initramfs.server \
+- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
+- else
+- $testdir/run-qemu \
+- -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
+- -m 512M -smp 2 \
+- -display none \
+- -net socket,vlan=0,connect=127.0.0.1:12350 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac1,model=e1000 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac2,model=e1000 \
+- -net nic,vlan=0,macaddr=52:54:00:12:34:$mac3,model=e1000 \
+- -net nic,vlan=1,macaddr=52:54:00:12:34:98,model=e1000 \
+- -net nic,vlan=2,macaddr=52:54:00:12:34:99,model=e1000 \
+- ${SERIAL:+-serial "$SERIAL"} \
+- ${SERIAL:--serial file:"$TESTDIR"/server.log} \
+- -watchdog i6300esb -watchdog-action poweroff \
+- -no-reboot \
+- -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
+- -initrd "$TESTDIR"/initramfs.server \
+- -pidfile "$TESTDIR"/server.pid -daemonize || return 1
+- fi
++ $testdir/run-qemu \
++ -drive format=raw,index=0,media=disk,file="$TESTDIR"/server.ext3 \
++ -m 512M -smp 2 \
++ -display none \
++ -net socket,listen=127.0.0.1:12350 \
++ -net nic,macaddr=52:54:01:12:34:56,model=e1000 \
++ ${SERIAL:+-serial "$SERIAL"} \
++ ${SERIAL:--serial file:"$TESTDIR"/server.log} \
++ -watchdog i6300esb -watchdog-action poweroff \
++ -no-reboot \
++ -append "panic=1 loglevel=7 root=/dev/sda rootfstype=ext3 rw console=ttyS0,115200n81 selinux=0" \
++ -initrd "$TESTDIR"/initramfs.server \
++ -pidfile "$TESTDIR"/server.pid -daemonize || return 1
+
+ sudo chmod 644 -- "$TESTDIR"/server.pid || return 1
+
+
diff --git a/0041.patch b/0041.patch
new file mode 100644
index 0000000..ca75cee
--- /dev/null
+++ b/0041.patch
@@ -0,0 +1,23 @@
+From d15c15c8f54d3aa97f7906e4f926584ac646fc5e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:54:27 +0200
+Subject: [PATCH] test/test-functions: be verbose for any $V not empty
+
+---
+ test/test-functions | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index bde5f742..d6b28d20 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -60,7 +60,7 @@ while (($# > 0)); do
+ else
+ echo "TEST: $TEST_DESCRIPTION [STARTED]";
+ fi
+- if [ "$V" != "1" ]; then
++ if ! [[ "$V" ]]; then
+ (
+ test_setup && test_run
+ ret=$?
+
diff --git a/0042.patch b/0042.patch
new file mode 100644
index 0000000..6410dbe
--- /dev/null
+++ b/0042.patch
@@ -0,0 +1,25 @@
+From 1363167d655f8d08ea8fd71e56c8c85ff94ccc04 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 16:58:52 +0200
+Subject: [PATCH] Update README.md
+
+---
+ README.md | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/README.md b/README.md
+index e229641b..36ae7e1b 100644
+--- a/README.md
++++ b/README.md
+@@ -2,6 +2,10 @@
+
+ dracut is an initramfs infrastructure.
+
++## Travis
++
++[![Build Status](https://travis-ci.org/dracutdevs/dracut.svg?branch=master)](https...
++
+ ## CentOS CI
+
+ [![Build Status](https://ci.centos.org/job/dracut-push-master/badge/icon)](https:/...
+
diff --git a/0043.patch b/0043.patch
new file mode 100644
index 0000000..302e140
--- /dev/null
+++ b/0043.patch
@@ -0,0 +1,23 @@
+From 75b8b144a1cf5c7e15e0454f847615cadf6518e9 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 17:02:14 +0200
+Subject: [PATCH] fedora-test.sh: don't parallelize travis tests
+
+---
+ fedora-test.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/fedora-test.sh b/fedora-test.sh
+index 146c7f2f..9528f08c 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -48,7 +48,7 @@ make -j$NCPU all syncheck rpm
+
+ cd test
+
+-time sudo make -j$((NCPU/2+1)) \
++time sudo make \
+ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
+ TEST_RUN_ID=$RUN_ID \
+ -k V=2 \
+
diff --git a/0044.patch b/0044.patch
new file mode 100644
index 0000000..5e1c34c
--- /dev/null
+++ b/0044.patch
@@ -0,0 +1,26 @@
+From da5a44cfb727561e3a2b8e6e24003cd410537cfc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Tue, 14 Aug 2018 17:06:58 +0200
+Subject: [PATCH] .travis.yml: add gitter notifications
+
+---
+ .travis.yml | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/.travis.yml b/.travis.yml
+index a71d9be2..96dcd951 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -10,3 +10,11 @@ before_script:
+ - docker pull fedora:$IMAGE
+ script:
+ - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
++notifications:
++ webhooks:
++ urls:
++ - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
++ on_success: change # options: [always|never|change] default: always
++ on_failure: always # options: [always|never|change] default: always
++ on_start: never # options: [always|never|change] default: always
++
+
diff --git a/0045.patch b/0045.patch
new file mode 100644
index 0000000..dd8a201
--- /dev/null
+++ b/0045.patch
@@ -0,0 +1,94 @@
+From 65d16d19141d0378f6cbab33b435a231ffdd37c4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 08:50:11 +0200
+Subject: [PATCH] travis: extend matrix
+
+---
+ .travis.yml | 45 ++++++++++++++++++++++++++++++++++++++++++---
+ fedora-test.sh | 4 +++-
+ 2 files changed, 45 insertions(+), 4 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 96dcd951..fbaafdac 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -4,12 +4,51 @@ services:
+ - docker
+ env:
+ matrix:
+- - IMAGE=latest
+- - IMAGE=rawhide
++ - IMAGE=latest TESTS=01
++ - IMAGE=latest TESTS=02
++ - IMAGE=latest TESTS=03
++ - IMAGE=latest TESTS=04
++ - IMAGE=latest TESTS=10
++ - IMAGE=latest TESTS=11
++ - IMAGE=latest TESTS=12
++ - IMAGE=latest TESTS=13
++ - IMAGE=latest TESTS=14
++ - IMAGE=latest TESTS=15
++ - IMAGE=latest TESTS=16
++ - IMAGE=latest TESTS=17
++ - IMAGE=latest TESTS=18
++ - IMAGE=latest TESTS=20
++ - IMAGE=latest TESTS=30
++ - IMAGE=latest TESTS=31
++ - IMAGE=latest TESTS=40
++ - IMAGE=latest TESTS=50
++ - IMAGE=latest TESTS=70
++ - IMAGE=latest TESTS=99
++ - IMAGE=rawhide TESTS=01
++ - IMAGE=rawhide TESTS=02
++ - IMAGE=rawhide TESTS=03
++ - IMAGE=rawhide TESTS=04
++ - IMAGE=rawhide TESTS=10
++ - IMAGE=rawhide TESTS=11
++ - IMAGE=rawhide TESTS=12
++ - IMAGE=rawhide TESTS=13
++ - IMAGE=rawhide TESTS=14
++ - IMAGE=rawhide TESTS=15
++ - IMAGE=rawhide TESTS=16
++ - IMAGE=rawhide TESTS=17
++ - IMAGE=rawhide TESTS=18
++ - IMAGE=rawhide TESTS=20
++ - IMAGE=rawhide TESTS=30
++ - IMAGE=rawhide TESTS=31
++ - IMAGE=rawhide TESTS=40
++ - IMAGE=rawhide TESTS=50
++ - IMAGE=rawhide TESTS=70
++ - IMAGE=rawhide TESTS=99
++
+ before_script:
+ - docker pull fedora:$IMAGE
+ script:
+-- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$
++- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ $TESTS
+ notifications:
+ webhooks:
+ urls:
+diff --git a/fedora-test.sh b/fedora-test.sh
+index 9528f08c..df7147c6 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -2,9 +2,10 @@
+
+ set -ex
+
+-cd ${0%/*}
++[[ -d ${0%/*} ]] && cd ${0%/*}
+
+ RUN_ID="$1"
++TESTS=$2
+
+ dnf -y update --best --allowerasing
+
+@@ -51,6 +52,7 @@ cd test
+ time sudo make \
+ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
+ TEST_RUN_ID=$RUN_ID \
++ ${TESTS:+TESTS="$TESTS"} \
+ -k V=2 \
+ SKIP="14 16" \
+ check
+
diff --git a/0046.patch b/0046.patch
new file mode 100644
index 0000000..8618614
--- /dev/null
+++ b/0046.patch
@@ -0,0 +1,94 @@
+From 1ebbe2eb7b177f169e48df6318d9169e9ae1afe9 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:10:29 +0200
+Subject: [PATCH] travis: combine jobs
+
+---
+ .travis.yml | 64 +++++++++++++++++++++----------------------------------------
+ 1 file changed, 22 insertions(+), 42 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index fbaafdac..f2cd8b26 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -1,49 +1,29 @@
+ language: generic
+ sudo: required
+ services:
+- - docker
++- docker
+ env:
+ matrix:
+- - IMAGE=latest TESTS=01
+- - IMAGE=latest TESTS=02
+- - IMAGE=latest TESTS=03
+- - IMAGE=latest TESTS=04
+- - IMAGE=latest TESTS=10
+- - IMAGE=latest TESTS=11
+- - IMAGE=latest TESTS=12
+- - IMAGE=latest TESTS=13
+- - IMAGE=latest TESTS=14
+- - IMAGE=latest TESTS=15
+- - IMAGE=latest TESTS=16
+- - IMAGE=latest TESTS=17
+- - IMAGE=latest TESTS=18
+- - IMAGE=latest TESTS=20
+- - IMAGE=latest TESTS=30
+- - IMAGE=latest TESTS=31
+- - IMAGE=latest TESTS=40
+- - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS=70
+- - IMAGE=latest TESTS=99
+- - IMAGE=rawhide TESTS=01
+- - IMAGE=rawhide TESTS=02
+- - IMAGE=rawhide TESTS=03
+- - IMAGE=rawhide TESTS=04
+- - IMAGE=rawhide TESTS=10
+- - IMAGE=rawhide TESTS=11
+- - IMAGE=rawhide TESTS=12
+- - IMAGE=rawhide TESTS=13
+- - IMAGE=rawhide TESTS=14
+- - IMAGE=rawhide TESTS=15
+- - IMAGE=rawhide TESTS=16
+- - IMAGE=rawhide TESTS=17
+- - IMAGE=rawhide TESTS=18
+- - IMAGE=rawhide TESTS=20
+- - IMAGE=rawhide TESTS=30
+- - IMAGE=rawhide TESTS=31
+- - IMAGE=rawhide TESTS=40
+- - IMAGE=rawhide TESTS=50
+- - IMAGE=rawhide TESTS=70
+- - IMAGE=rawhide TESTS=99
++ - IMAGE=latest TESTS=01
++ - IMAGE=latest TESTS="02 03 04"
++ - IMAGE=latest TESTS="10 11 12 13 15 17 18"
++ - IMAGE=latest TESTS=20
++ - IMAGE=latest TESTS=30
++ - IMAGE=latest TESTS=31
++ - IMAGE=latest TESTS=40
++ - IMAGE=latest TESTS=50
++ - IMAGE=latest TESTS=70
++ - IMAGE=latest TESTS=99
++ - IMAGE=rawhide TESTS=01
++ - IMAGE=rawhide TESTS="02 03 04"
++ - IMAGE=rawhide TESTS="10 11 12 13 15 17 18"
++ - IMAGE=rawhide TESTS=20
++ - IMAGE=rawhide TESTS=30
++ - IMAGE=rawhide TESTS=31
++ - IMAGE=rawhide TESTS=40
++ - IMAGE=rawhide TESTS=50
++ - IMAGE=rawhide TESTS=70
++ - IMAGE=rawhide TESTS=99
+
+ before_script:
+ - docker pull fedora:$IMAGE
+@@ -52,7 +32,7 @@ script:
+ notifications:
+ webhooks:
+ urls:
+- - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
++ - https://webhooks.gitter.im/e/effa917ca3e0ed5fd00e
+ on_success: change # options: [always|never|change] default: always
+ on_failure: always # options: [always|never|change] default: always
+ on_start: never # options: [always|never|change] default: always
+
diff --git a/0047.patch b/0047.patch
new file mode 100644
index 0000000..7e63148
--- /dev/null
+++ b/0047.patch
@@ -0,0 +1,24 @@
+From 311198868044b79e8e4f37872514f580b51e4ceb Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:19:52 +0200
+Subject: [PATCH] dracut.sh: remove bogus dir removal for --rebuild
+
+---
+ dracut.sh | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 6614d27d..8ee8c168 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -474,9 +474,6 @@ if [[ $append_args_l == "yes" ]]; then
+ eval set -- "$TEMP"
+ rearrange_params "$@"
+ fi
+-
+- # clean the temporarily used scratch-pad directory
+- rm -rf $scratch_dir
+ fi
+
+ unset PARMS_TO_STORE
+
diff --git a/0048.patch b/0048.patch
new file mode 100644
index 0000000..bf00e5d
--- /dev/null
+++ b/0048.patch
@@ -0,0 +1,49 @@
+From 01f9d0d9bf47f80823094de6b184ee67023406c7 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:26:35 +0200
+Subject: [PATCH] travis: combine more tests
+
+---
+ .travis.yml | 14 +++++---------
+ 1 file changed, 5 insertions(+), 9 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index f2cd8b26..a99418e3 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,21 +5,17 @@ services:
+ env:
+ matrix:
+ - IMAGE=latest TESTS=01
+- - IMAGE=latest TESTS="02 03 04"
+- - IMAGE=latest TESTS="10 11 12 13 15 17 18"
++ - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
+ - IMAGE=latest TESTS=20
+- - IMAGE=latest TESTS=30
+- - IMAGE=latest TESTS=31
++ - IMAGE=latest TESTS="30 31"
+ - IMAGE=latest TESTS=40
+ - IMAGE=latest TESTS=50
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+ - IMAGE=rawhide TESTS=01
+- - IMAGE=rawhide TESTS="02 03 04"
+- - IMAGE=rawhide TESTS="10 11 12 13 15 17 18"
++ - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
+ - IMAGE=rawhide TESTS=20
+- - IMAGE=rawhide TESTS=30
+- - IMAGE=rawhide TESTS=31
++ - IMAGE=rawhide TESTS="30 31"
+ - IMAGE=rawhide TESTS=40
+ - IMAGE=rawhide TESTS=50
+ - IMAGE=rawhide TESTS=70
+@@ -28,7 +24,7 @@ env:
+ before_script:
+ - docker pull fedora:$IMAGE
+ script:
+-- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ $TESTS
++- docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
+ notifications:
+ webhooks:
+ urls:
+
diff --git a/0049.patch b/0049.patch
new file mode 100644
index 0000000..f471892
--- /dev/null
+++ b/0049.patch
@@ -0,0 +1,52 @@
+From 3c8d3a65656707148d5f9e5de1c0191339a72053 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:35:33 +0200
+Subject: [PATCH] travis: don't run TEST-40-NBD
+
+---
+ .travis.yml | 16 +++++++---------
+ fedora-test.sh | 1 -
+ 2 files changed, 7 insertions(+), 10 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index a99418e3..d6d3947c 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -4,19 +4,17 @@ services:
+ - docker
+ env:
+ matrix:
+- - IMAGE=latest TESTS=01
+- - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
+- - IMAGE=latest TESTS=20
+- - IMAGE=latest TESTS="30 31"
+- - IMAGE=latest TESTS=40
+- - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS=70
+- - IMAGE=latest TESTS=99
++ - IMAGE=latest TESTS=01
++ - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
++ - IMAGE=latest TESTS=20
++ - IMAGE=latest TESTS="30 31"
++ - IMAGE=latest TESTS=50
++ - IMAGE=latest TESTS=70
++ - IMAGE=latest TESTS=99
+ - IMAGE=rawhide TESTS=01
+ - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
+ - IMAGE=rawhide TESTS=20
+ - IMAGE=rawhide TESTS="30 31"
+- - IMAGE=rawhide TESTS=40
+ - IMAGE=rawhide TESTS=50
+ - IMAGE=rawhide TESTS=70
+ - IMAGE=rawhide TESTS=99
+diff --git a/fedora-test.sh b/fedora-test.sh
+index df7147c6..5e7d34d6 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -54,5 +54,4 @@ time sudo make \
+ TEST_RUN_ID=$RUN_ID \
+ ${TESTS:+TESTS="$TESTS"} \
+ -k V=2 \
+- SKIP="14 16" \
+ check
+
diff --git a/0050.patch b/0050.patch
new file mode 100644
index 0000000..a5606f0
--- /dev/null
+++ b/0050.patch
@@ -0,0 +1,32 @@
+From 79afb279c273d46b65fafc2c686ed99c5433fe94 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:48:02 +0200
+Subject: [PATCH] travis: fedora-test.sh send dnf output to dev/null
+
+---
+ fedora-test.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/fedora-test.sh b/fedora-test.sh
+index 5e7d34d6..e7d0f633 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -7,7 +7,7 @@ set -ex
+ RUN_ID="$1"
+ TESTS=$2
+
+-dnf -y update --best --allowerasing
++dnf -y update --best --allowerasing &>/dev/null
+
+ dnf -y install --best --allowerasing \
+ dash \
+@@ -39,7 +39,7 @@ dnf -y install --best --allowerasing \
+ /usr/bin/qemu-kvm \
+ /usr/bin/qemu-system-$(uname -i) \
+ e2fsprogs \
+- $NULL
++ $NULL &>/dev/null
+
+ ./configure
+
+
diff --git a/0051.patch b/0051.patch
new file mode 100644
index 0000000..b6f5692
--- /dev/null
+++ b/0051.patch
@@ -0,0 +1,46 @@
+From c31a80c9edf8603cbdc5d2fe4465571a2ffcdff0 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 09:50:52 +0200
+Subject: [PATCH] TEST-01: remove memdebug
+
+---
+ .travis.yml | 6 ++----
+ test/TEST-01-BASIC/test.sh | 2 +-
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index d6d3947c..1f50b6d9 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -4,15 +4,13 @@ services:
+ - docker
+ env:
+ matrix:
+- - IMAGE=latest TESTS=01
+- - IMAGE=latest TESTS="02 03 04 10 11 12 13 15 17 18"
++ - IMAGE=latest TESTS="01 02 03 04 10 11 12 13 15 17 18"
+ - IMAGE=latest TESTS=20
+ - IMAGE=latest TESTS="30 31"
+ - IMAGE=latest TESTS=50
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+- - IMAGE=rawhide TESTS=01
+- - IMAGE=rawhide TESTS="02 03 04 10 11 12 13 15 17 18"
++ - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
+ - IMAGE=rawhide TESTS=20
+ - IMAGE=rawhide TESTS="30 31"
+ - IMAGE=rawhide TESTS=50
+diff --git a/test/TEST-01-BASIC/test.sh b/test/TEST-01-BASIC/test.sh
+index 137249f4..455afef6 100755
+--- a/test/TEST-01-BASIC/test.sh
++++ b/test/TEST-01-BASIC/test.sh
+@@ -15,7 +15,7 @@ test_run() {
+ -net none \
+ -watchdog i6300esb -watchdog-action poweroff \
+ -no-reboot \
+- -append "panic=1 root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL rd.memdebug=4" \
++ -append "panic=1 root=LABEL=dracut rw systemd.log_level=debug systemd.log_target=console rd.retry=3 rd.debug console=ttyS0,115200n81 rd.shell=0 $DEBUGFAIL" \
+ -initrd $TESTDIR/initramfs.testing || return 1
+ grep -F -m 1 -q dracut-root-block-success $TESTDIR/result || return 1
+ }
+
diff --git a/0052.patch b/0052.patch
new file mode 100644
index 0000000..9264dce
--- /dev/null
+++ b/0052.patch
@@ -0,0 +1,149 @@
+From 51d0a545557d535f814e402fff20274f9e125d85 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:16:52 +0200
+Subject: [PATCH] travis: use own logtee.c to reduce log output
+
+---
+ .travis.yml | 12 ++++++------
+ Makefile | 3 +++
+ fedora-test.sh | 2 +-
+ logtee.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
+ test/test-functions | 15 ++++++++++++++-
+ 5 files changed, 70 insertions(+), 8 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 1f50b6d9..5298a816 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -10,12 +10,12 @@ env:
+ - IMAGE=latest TESTS=50
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+- - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
+- - IMAGE=rawhide TESTS=20
+- - IMAGE=rawhide TESTS="30 31"
+- - IMAGE=rawhide TESTS=50
+- - IMAGE=rawhide TESTS=70
+- - IMAGE=rawhide TESTS=99
++# - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
++# - IMAGE=rawhide TESTS=20
++# - IMAGE=rawhide TESTS="30 31"
++# - IMAGE=rawhide TESTS=50
++# - IMAGE=rawhide TESTS=70
++# - IMAGE=rawhide TESTS=99
+
+ before_script:
+ - docker pull fedora:$IMAGE
+diff --git a/Makefile b/Makefile
+index 414fb330..cd02dab0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -63,6 +63,9 @@ install/strv.o: install/strv.c install/strv.h install/util.h install/macro.h ins
+ install/dracut-install: $(DRACUT_INSTALL_OBJECTS)
+ $(CC) $(LDFLAGS) -o $@ $(DRACUT_INSTALL_OBJECTS) $(LDLIBS) $(KMOD_LIBS)
+
++logtee: logtee.c
++ $(CC) $(LDFLAGS) -o $@ $<
++
+ dracut-install: install/dracut-install
+ ln -fs $< $@
+
+diff --git a/fedora-test.sh b/fedora-test.sh
+index e7d0f633..af38bc33 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -45,7 +45,7 @@ dnf -y install --best --allowerasing \
+
+ NCPU=$(getconf _NPROCESSORS_ONLN)
+
+-make -j$NCPU all syncheck rpm
++make -j$NCPU all syncheck rpm logtee
+
+ cd test
+
+diff --git a/logtee.c b/logtee.c
+new file mode 100644
+index 00000000..2f1937d4
+--- /dev/null
++++ b/logtee.c
+@@ -0,0 +1,46 @@
++#define _GNU_SOURCE
++#include <fcntl.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <unistd.h>
++#include <errno.h>
++#include <limits.h>
++
++int
++main(int argc, char *argv[])
++{
++ int fd;
++ int len, slen;
++
++ if (argc != 2) {
++ fprintf(stderr, "Usage: %s <file>\n", argv[0]);
++ exit(EXIT_FAILURE);
++ }
++
++ fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644);
++ if (fd == -1) {
++ perror("open");
++ exit(EXIT_FAILURE);
++ }
++
++ fprintf(stderr, "Logging to %s: ", argv[1]);
++
++ do {
++ len = splice(STDIN_FILENO, NULL, fd, NULL,
++ 65536, SPLICE_F_MOVE);
++
++ if (len < 0) {
++ if (errno == EAGAIN)
++ continue;
++ perror("tee");
++ exit(EXIT_FAILURE);
++ } else
++ if (len == 0)
++ break;
++ fprintf(stderr, ".", len);
++ } while (1);
++ close(fd);
++ fprintf(stderr, "\n");
++ exit(EXIT_SUCCESS);
++}
++
+diff --git a/test/test-functions b/test/test-functions
+index d6b28d20..02ceafec 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -60,7 +60,7 @@ while (($# > 0)); do
+ else
+ echo "TEST: $TEST_DESCRIPTION [STARTED]";
+ fi
+- if ! [[ "$V" ]]; then
++ if [[ "$V" == "1" ]]; then
+ (
+ test_setup && test_run
+ ret=$?
+@@ -69,6 +69,19 @@ while (($# > 0)); do
+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+ ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
++ elif [[ "$V" == "2" ]]; then
++ set -o pipefail
++ (
++ test_setup && test_run
++ ret=$?
++ test_cleanup
++ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
++ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ fi
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
++ exit $ret
++ ) </dev/null 2>&1 | $basedir/logtee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ else
+ set -o pipefail
+ (
+
diff --git a/0053.patch b/0053.patch
new file mode 100644
index 0000000..006c0e5
--- /dev/null
+++ b/0053.patch
@@ -0,0 +1,24 @@
+From 110063c5850ea1cb95dd2af171adff1a03305e60 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:29:16 +0200
+Subject: [PATCH] travis: git check
+
+---
+ .travis.yml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/.travis.yml b/.travis.yml
+index 5298a816..72cfe8f9 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -19,6 +19,9 @@ env:
+
+ before_script:
+ - docker pull fedora:$IMAGE
++- git describe --abbrev=0 --tags || :
++- git describe --tags || :
++
+ script:
+ - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
+ notifications:
+
diff --git a/0054.patch b/0054.patch
new file mode 100644
index 0000000..31318d1
--- /dev/null
+++ b/0054.patch
@@ -0,0 +1,39 @@
+From 6f90be2971439e84c4efb61d1fc888b165b3f3ca Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:33:06 +0200
+Subject: [PATCH] travis: fixup
+
+---
+ .travis.yml | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 72cfe8f9..cd05ceae 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -10,20 +10,15 @@ env:
+ - IMAGE=latest TESTS=50
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+-# - IMAGE=rawhide TESTS="01 02 03 04 10 11 12 13 15 17 18"
+-# - IMAGE=rawhide TESTS=20
+-# - IMAGE=rawhide TESTS="30 31"
+-# - IMAGE=rawhide TESTS=50
+-# - IMAGE=rawhide TESTS=70
+-# - IMAGE=rawhide TESTS=99
+
+ before_script:
+-- docker pull fedora:$IMAGE
+-- git describe --abbrev=0 --tags || :
+-- git describe --tags || :
++ - docker pull fedora:$IMAGE
++ - git describe --abbrev=0 --tags || :
++ - git describe --tags || :
+
+ script:
+ - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
++
+ notifications:
+ webhooks:
+ urls:
+
diff --git a/0055.patch b/0055.patch
new file mode 100644
index 0000000..0dd70c6
--- /dev/null
+++ b/0055.patch
@@ -0,0 +1,26 @@
+From 2b77ba0b75dad8f87c141fc517f2999b2e45ae0c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:36:17 +0200
+Subject: [PATCH] travis: fight with yaml
+
+---
+ .travis.yml | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index cd05ceae..38b29ca4 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -13,8 +13,9 @@ env:
+
+ before_script:
+ - docker pull fedora:$IMAGE
+- - git describe --abbrev=0 --tags || :
+- - git describe --tags || :
++ - |
++ git describe --abbrev=0 --tags || :
++ git describe --tags || :
+
+ script:
+ - docker run --privileged -it -v $(pwd)/:/dracut fedora:$IMAGE /dracut/fedora-test.sh $IMAGE-$$ "$TESTS"
+
diff --git a/0056.patch b/0056.patch
new file mode 100644
index 0000000..680bd88
--- /dev/null
+++ b/0056.patch
@@ -0,0 +1,22 @@
+From 9f02b291ac9c315b94d42c4c029645fb1298dac4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:39:49 +0200
+Subject: [PATCH] travis: git pull --tags
+
+---
+ .travis.yml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/.travis.yml b/.travis.yml
+index 38b29ca4..01be428f 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -13,6 +13,7 @@ env:
+
+ before_script:
+ - docker pull fedora:$IMAGE
++ - git pull --tags
+ - |
+ git describe --abbrev=0 --tags || :
+ git describe --tags || :
+
diff --git a/0057.patch b/0057.patch
new file mode 100644
index 0000000..413d889
--- /dev/null
+++ b/0057.patch
@@ -0,0 +1,38 @@
+From 0ae584824519995219857ca7f447e73f31a6da9a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 10:46:57 +0200
+Subject: [PATCH] travis: git pull more depth
+
+---
+ .travis.yml | 2 +-
+ Makefile | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 01be428f..2df45f4d 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -13,7 +13,7 @@ env:
+
+ before_script:
+ - docker pull fedora:$IMAGE
+- - git pull --tags
++ - git pull --depth=100
+ - |
+ git describe --abbrev=0 --tags || :
+ git describe --tags || :
+diff --git a/Makefile b/Makefile
+index cd02dab0..80623437 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ -include dracut-version.sh
+
+-VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags 2>/dev/null || echo $(DRACUT_VERSION))
+-GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } )
++VERSION ?= $(shell [ -d .git ] && git describe --abbrev=0 --tags --always 2>/dev/null || echo $(DRACUT_VERSION))
++GITVERSION ?= $(shell [ -d .git ] && { v=$$(git describe --tags --always 2>/dev/null); [ -n "$$v" ] && [ $${v\#*-} != $$v ] && echo -$${v\#*-}; } )
+
+ -include Makefile.inc
+
+
diff --git a/0058.patch b/0058.patch
new file mode 100644
index 0000000..017b251
--- /dev/null
+++ b/0058.patch
@@ -0,0 +1,66 @@
+From 67f43d2124cb827f45f4a1f3a2c1aae7cb08378e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:13:55 +0200
+Subject: [PATCH] test: fixed test.log name
+
+---
+ test/test-functions | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index 02ceafec..0c9d88c8 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -54,7 +54,7 @@ while (($# > 0)); do
+ exit $?;;
+ --all)
+ check_root
+- if ! test_check 2&>test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
++ if ! test_check 2&>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
+ exit 0;
+ else
+@@ -68,7 +68,7 @@ while (($# > 0)); do
+ rm -fr -- "$TESTDIR"
+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+- ) </dev/null >test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
++ ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
+ elif [[ "$V" == "2" ]]; then
+ set -o pipefail
+ (
+@@ -81,7 +81,7 @@ while (($# > 0)); do
+ rm -fr -- "$TESTDIR"
+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+- ) </dev/null 2>&1 | $basedir/logtee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ else
+ set -o pipefail
+ (
+@@ -94,20 +94,20 @@ while (($# > 0)); do
+ rm -fr -- "$TESTDIR"
+ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+ exit $ret
+- ) </dev/null 2>&1 | tee test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+ ret=$?
+ set +o pipefail
+ if [ $ret -eq 0 ]; then
+- rm -- test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ rm -- test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
+ else
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ if [ "$V" == "2" ]; then
+- cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ else
+- echo "see $(pwd)/test-${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
++ echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
+ fi
+ fi
+ exit $ret;;
+
diff --git a/0059.patch b/0059.patch
new file mode 100644
index 0000000..1f96b3f
--- /dev/null
+++ b/0059.patch
@@ -0,0 +1,55 @@
+From f59664a01fa9b525e211fbcb837bf8b54cac9acb Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:14:11 +0200
+Subject: [PATCH] logtee: reduce output
+
+---
+ logtee.c | 16 ++++++++++++----
+ 1 file changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/logtee.c b/logtee.c
+index 2f1937d4..2690e72d 100644
+--- a/logtee.c
++++ b/logtee.c
+@@ -6,6 +6,8 @@
+ #include <errno.h>
+ #include <limits.h>
+
++#define BUFLEN 4096
++
+ int
+ main(int argc, char *argv[])
+ {
+@@ -25,9 +27,11 @@ main(int argc, char *argv[])
+
+ fprintf(stderr, "Logging to %s: ", argv[1]);
+
++ slen = 0;
++
+ do {
+ len = splice(STDIN_FILENO, NULL, fd, NULL,
+- 65536, SPLICE_F_MOVE);
++ BUFLEN, SPLICE_F_MOVE);
+
+ if (len < 0) {
+ if (errno == EAGAIN)
+@@ -37,10 +41,14 @@ main(int argc, char *argv[])
+ } else
+ if (len == 0)
+ break;
+- fprintf(stderr, ".", len);
++ slen += len;
++ if ((slen/BUFLEN) > 0) {
++ fprintf(stderr, ".");
++ }
++ slen = slen % BUFLEN;
++
+ } while (1);
+ close(fd);
+ fprintf(stderr, "\n");
+ exit(EXIT_SUCCESS);
+-}
+-
++}
+\ No newline at end of file
+
diff --git a/0060.patch b/0060.patch
new file mode 100644
index 0000000..e616f92
--- /dev/null
+++ b/0060.patch
@@ -0,0 +1,30 @@
+From c128b969bb860dee863fcd3beed1f4097f6fb44a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:15:16 +0200
+Subject: [PATCH] travis: combine more tests
+
+---
+ .travis.yml | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 2df45f4d..dfb4a616 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -4,12 +4,12 @@ services:
+ - docker
+ env:
+ matrix:
+- - IMAGE=latest TESTS="01 02 03 04 10 11 12 13 15 17 18"
++ - IMAGE=latest TESTS="01 02 03 04 10 11"
++ - IMAGE=latest TESTS="12 13 15 17 18"
+ - IMAGE=latest TESTS=20
+ - IMAGE=latest TESTS="30 31"
+ - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS=70
+- - IMAGE=latest TESTS=99
++ - IMAGE=latest TESTS="70 99"
+
+ before_script:
+ - docker pull fedora:$IMAGE
+
diff --git a/0061.patch b/0061.patch
new file mode 100644
index 0000000..e322ac1
--- /dev/null
+++ b/0061.patch
@@ -0,0 +1,23 @@
+From f8cad00948c10107f84b9fcba812589a256f8f80 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:47:21 +0200
+Subject: [PATCH] test: for V=2 tail only the last MB of logs
+
+---
+ test/test-functions | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index 0c9d88c8..6d7f418b 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -104,7 +104,7 @@ while (($# > 0)); do
+ else
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ if [ "$V" == "2" ]; then
+- cat $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ else
+ echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
+
diff --git a/0062.patch b/0062.patch
new file mode 100644
index 0000000..7fbef0d
--- /dev/null
+++ b/0062.patch
@@ -0,0 +1,65 @@
+From 9c034dc326b4acd8e66af15f76f151311a5408bb Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:57:30 +0200
+Subject: [PATCH] travis: no rpm check for all matrix tests
+
+---
+ .travis.yml | 10 +++++-----
+ fedora-test.sh | 24 ++++++++++++++----------
+ 2 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index dfb4a616..075cbc6a 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -4,12 +4,12 @@ services:
+ - docker
+ env:
+ matrix:
+- - IMAGE=latest TESTS="01 02 03 04 10 11"
+- - IMAGE=latest TESTS="12 13 15 17 18"
++ - IMAGE=latest
++ - IMAGE=latest TESTS="01 02 03 04 10 11 12"
++ - IMAGE=latest TESTS="13 15 17 18"
+ - IMAGE=latest TESTS=20
+- - IMAGE=latest TESTS="30 31"
+- - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS="70 99"
++ - IMAGE=latest TESTS="30 31 99"
++ - IMAGE=latest TESTS="50 70"
+
+ before_script:
+ - docker pull fedora:$IMAGE
+diff --git a/fedora-test.sh b/fedora-test.sh
+index af38bc33..87023a84 100755
+--- a/fedora-test.sh
++++ b/fedora-test.sh
+@@ -45,13 +45,17 @@ dnf -y install --best --allowerasing \
+
+ NCPU=$(getconf _NPROCESSORS_ONLN)
+
+-make -j$NCPU all syncheck rpm logtee
+-
+-cd test
+-
+-time sudo make \
+- KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
+- TEST_RUN_ID=$RUN_ID \
+- ${TESTS:+TESTS="$TESTS"} \
+- -k V=2 \
+- check
++if ! [[ $TESTS ]]; then
++ make -j$NCPU all syncheck rpm logtee
++else
++ make -j$NCPU all logtee
++
++ cd test
++
++ time sudo make \
++ KVERSION=$(rpm -qa kernel --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' | sort -rn | head -1) \
++ TEST_RUN_ID=$RUN_ID \
++ ${TESTS:+TESTS="$TESTS"} \
++ -k V=2 \
++ check
++fi
+
diff --git a/0063.patch b/0063.patch
new file mode 100644
index 0000000..f291125
--- /dev/null
+++ b/0063.patch
@@ -0,0 +1,45 @@
+From 5a8f1aef556056de88d55bb398443fe2b57eae52 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 11:59:09 +0200
+Subject: [PATCH] TEST-15-BTRFSRAID: sync in test-init
+
+strange failure
+---
+ test/TEST-15-BTRFSRAID/test-init.sh | 1 +
+ test/TEST-15-BTRFSRAID/test.sh | 3 ++-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/test/TEST-15-BTRFSRAID/test-init.sh b/test/TEST-15-BTRFSRAID/test-init.sh
+index 8f7cdf3a..ab9021df 100755
+--- a/test/TEST-15-BTRFSRAID/test-init.sh
++++ b/test/TEST-15-BTRFSRAID/test-init.sh
+@@ -2,6 +2,7 @@
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ exec >/dev/console 2>&1
+ echo "dracut-root-block-success" >/dev/sda1
++sync
+ export TERM=linux
+ export PS1='initramfs-test:\w\$ '
+ [ -f /etc/fstab ] || ln -s /proc/mounts /etc/fstab
+diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
+index b8969863..3936ade2 100755
+--- a/test/TEST-15-BTRFSRAID/test.sh
++++ b/test/TEST-15-BTRFSRAID/test.sh
+@@ -15,6 +15,7 @@ test_run() {
+ -append "panic=1 root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
+ -initrd $TESTDIR/initramfs.testing
+ dd if=$DISKIMAGE bs=512 count=4 skip=2048 | grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
++ return 0
+ }
+
+ test_setup() {
+@@ -38,7 +39,7 @@ test_setup() {
+ mkdir -p -- var/lib/nfs/rpc_pipefs
+ )
+ inst_multiple sh df free ls shutdown poweroff stty cat ps ln ip \
+- mount dmesg dhclient mkdir cp ping dhclient
++ mount dmesg dhclient mkdir cp ping dhclient sync
+ for _terminfodir in /lib/terminfo /etc/terminfo /usr/share/terminfo; do
+ [ -f ${_terminfodir}/l/linux ] && break
+ done
+
diff --git a/0064.patch b/0064.patch
new file mode 100644
index 0000000..41044cc
--- /dev/null
+++ b/0064.patch
@@ -0,0 +1,23 @@
+From 2699d8ff7eb41ffafba46194f29bab9670b9e874 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 12:03:40 +0200
+Subject: [PATCH] TEST-99-RPM: removed --releasever
+
+---
+ test/TEST-99-RPM/test.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
+index b76a061b..984b9385 100755
+--- a/test/TEST-99-RPM/test.sh
++++ b/test/TEST-99-RPM/test.sh
+@@ -35,7 +35,7 @@ test_run() {
+ dnf_or_yum_cmd=yum
+ command -v dnf >/dev/null && { dnf_or_yum="dnf"; dnf_or_yum_cmd="dnf --allowerasing"; }
+ for (( i=0; i < 5 ; i++)); do
+- $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever 29 --disablerepo='*' \
++ $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --disablerepo='*' \
+ --enablerepo=fedora --enablerepo=updates \
+ install -y \
+ $dnf_or_yum \
+
diff --git a/0065.patch b/0065.patch
new file mode 100644
index 0000000..d2c4ac3
--- /dev/null
+++ b/0065.patch
@@ -0,0 +1,50 @@
+From 7c62555bcffd7565883738df5e8c2150e887694f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 13:05:42 +0200
+Subject: [PATCH] TEST-15-BTRFSRAID: use seperate disk image for boot result
+
+---
+ test/TEST-15-BTRFSRAID/test-init.sh | 2 +-
+ test/TEST-15-BTRFSRAID/test.sh | 10 ++++++----
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/test/TEST-15-BTRFSRAID/test-init.sh b/test/TEST-15-BTRFSRAID/test-init.sh
+index ab9021df..ed66a2b3 100755
+--- a/test/TEST-15-BTRFSRAID/test-init.sh
++++ b/test/TEST-15-BTRFSRAID/test-init.sh
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ export PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ exec >/dev/console 2>&1
+-echo "dracut-root-block-success" >/dev/sda1
++echo "dracut-root-block-success" >/dev/sda
+ sync
+ export TERM=linux
+ export PS1='initramfs-test:\w\$ '
+diff --git a/test/TEST-15-BTRFSRAID/test.sh b/test/TEST-15-BTRFSRAID/test.sh
+index 3936ade2..092ed254 100755
+--- a/test/TEST-15-BTRFSRAID/test.sh
++++ b/test/TEST-15-BTRFSRAID/test.sh
+@@ -7,15 +7,17 @@ KVERSION=${KVERSION-$(uname -r)}
+ #DEBUGFAIL="rd.shell"
+ test_run() {
+ DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-root.img
++ MARKER_DISKIMAGE=$TESTDIR/TEST-15-BTRFSRAID-marker.img
++ dd if=/dev/zero of=$MARKER_DISKIMAGE bs=512 count=10
+ $testdir/run-qemu \
+- -drive format=raw,index=0,media=disk,file=$DISKIMAGE \
+- -m 512M -smp 2 -nographic \
++ -drive format=raw,index=0,media=disk,file=$MARKER_DISKIMAGE \
++ -drive format=raw,index=1,media=disk,file=$DISKIMAGE \
++ -m 512M -smp 2 -nographic \
+ -net none \
+ -no-reboot \
+ -append "panic=1 root=LABEL=root rw rd.retry=3 rd.info console=ttyS0,115200n81 selinux=0 rd.shell=0 $DEBUGFAIL" \
+ -initrd $TESTDIR/initramfs.testing
+- dd if=$DISKIMAGE bs=512 count=4 skip=2048 | grep -F -m 1 -q dracut-root-block-success $DISKIMAGE || return 1
+- return 0
++ grep -F -m 1 -q dracut-root-block-success $MARKER_DISKIMAGE || return 1
+ }
+
+ test_setup() {
+
diff --git a/0066.patch b/0066.patch
new file mode 100644
index 0000000..fb3bb99
--- /dev/null
+++ b/0066.patch
@@ -0,0 +1,29 @@
+From 286685cb720f4150f363487c3702ea12d838f7df Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 13:20:40 +0200
+Subject: [PATCH] TEST-99-RPM: use releasever of the host system
+
+---
+ test/TEST-99-RPM/test.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/test/TEST-99-RPM/test.sh b/test/TEST-99-RPM/test.sh
+index 984b9385..b4aca176 100755
+--- a/test/TEST-99-RPM/test.sh
++++ b/test/TEST-99-RPM/test.sh
+@@ -30,12 +30,12 @@ test_run() {
+ "$TESTDIR"/dracut-[0-9]*.$(arch).rpm \
+ "$TESTDIR"/dracut-network-[0-9]*.$(arch).rpm \
+ "$rootdir/$TESTDIR/"
+-
++ . /etc/os-release
+ dnf_or_yum=yum
+ dnf_or_yum_cmd=yum
+ command -v dnf >/dev/null && { dnf_or_yum="dnf"; dnf_or_yum_cmd="dnf --allowerasing"; }
+ for (( i=0; i < 5 ; i++)); do
+- $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --disablerepo='*' \
++ $dnf_or_yum_cmd -v --nogpgcheck --installroot "$rootdir"/ --releasever "$VERSION_ID" --disablerepo='*' \
+ --enablerepo=fedora --enablerepo=updates \
+ install -y \
+ $dnf_or_yum \
+
diff --git a/0067.patch b/0067.patch
new file mode 100644
index 0000000..e260427
--- /dev/null
+++ b/0067.patch
@@ -0,0 +1,31 @@
+From f059ce76826645569575ee9631b23806764095fe Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 13:56:19 +0200
+Subject: [PATCH] travis: reshuffle tests
+
+---
+ .travis.yml | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 075cbc6a..8e20054a 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,11 +5,11 @@ services:
+ env:
+ matrix:
+ - IMAGE=latest
+- - IMAGE=latest TESTS="01 02 03 04 10 11 12"
+- - IMAGE=latest TESTS="13 15 17 18"
+- - IMAGE=latest TESTS=20
+- - IMAGE=latest TESTS="30 31 99"
+- - IMAGE=latest TESTS="50 70"
++ - IMAGE=latest TESTS="13 15 17 18 30 31"
++ - IMAGE=latest TESTS="10 20"
++ - IMAGE=latest TESTS="01 02 03 04 70"
++ - IMAGE=latest TESTS="11 12 99"
++ - IMAGE=latest TESTS="50"
+
+ before_script:
+ - docker pull fedora:$IMAGE
+
diff --git a/0068.patch b/0068.patch
new file mode 100644
index 0000000..4b87a32
--- /dev/null
+++ b/0068.patch
@@ -0,0 +1,34 @@
+From 06e12e4ba8d827eedd0882d9918f94758d52a579 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 14:25:23 +0200
+Subject: [PATCH] travis: rebalance tests
+
+---
+ .travis.yml | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 8e20054a..91ecafed 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -7,12 +7,16 @@ env:
+ - IMAGE=latest
+ - IMAGE=latest TESTS="13 15 17 18 30 31"
+ - IMAGE=latest TESTS="10 20"
+- - IMAGE=latest TESTS="01 02 03 04 70"
+- - IMAGE=latest TESTS="11 12 99"
+- - IMAGE=latest TESTS="50"
++ - IMAGE=latest TESTS="01 02 03 04 11 70"
++ - IMAGE=latest TESTS="12"
++ - IMAGE=latest TESTS="50 99"
+
+ before_script:
+ - docker pull fedora:$IMAGE
++ - |
++ sudo modprobe kvm-intel nested=y || :
++ sudo modprobe kvm-amd nested=y || :
++ dmesg | tail || :
+ - git pull --depth=100
+ - |
+ git describe --abbrev=0 --tags || :
+
diff --git a/0069.patch b/0069.patch
new file mode 100644
index 0000000..9cabe22
--- /dev/null
+++ b/0069.patch
@@ -0,0 +1,30 @@
+From bd03d374b704324b595e2af1901e590ff7c5a92b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 14:28:54 +0200
+Subject: [PATCH] travis: modprobe amd nested=1
+
+GREAT!
+
+$ modinfo kvm-intel kvm-amd| fgrep nested
+parm: nested:bool
+parm: nested:int
+---
+ .travis.yml | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 91ecafed..0932805f 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -14,8 +14,8 @@ env:
+ before_script:
+ - docker pull fedora:$IMAGE
+ - |
+- sudo modprobe kvm-intel nested=y || :
+- sudo modprobe kvm-amd nested=y || :
++ sudo modprobe kvm-intel nested=1 || :
++ sudo modprobe kvm-amd nested=1 || :
+ dmesg | tail || :
+ - git pull --depth=100
+ - |
+
diff --git a/0070.patch b/0070.patch
new file mode 100644
index 0000000..9d5aa11
--- /dev/null
+++ b/0070.patch
@@ -0,0 +1,44 @@
+From a17440713acdc943983c61cf12c56aa0a7e3a58d Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 14:48:21 +0200
+Subject: [PATCH] travis: reshuffle tests
+
+long running tests first
+---
+ .travis.yml | 22 +++++++++++++++++-----
+ 1 file changed, 17 insertions(+), 5 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 0932805f..f1aab2a9 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,11 +5,23 @@ services:
+ env:
+ matrix:
+ - IMAGE=latest
+- - IMAGE=latest TESTS="13 15 17 18 30 31"
+- - IMAGE=latest TESTS="10 20"
+- - IMAGE=latest TESTS="01 02 03 04 11 70"
+- - IMAGE=latest TESTS="12"
+- - IMAGE=latest TESTS="50 99"
++ - IMAGE=latest TESTS=01
++ - IMAGE=latest TESTS=12
++ - IMAGE=latest TESTS=20
++ - IMAGE=latest TESTS=50
++ - IMAGE=latest TESTS=31
++ - IMAGE=latest TESTS=30
++ - IMAGE=latest TESTS=70
++ - IMAGE=latest TESTS=99
++ - IMAGE=latest TESTS=02
++ - IMAGE=latest TESTS=03
++ - IMAGE=latest TESTS=04
++ - IMAGE=latest TESTS=10
++ - IMAGE=latest TESTS=11
++ - IMAGE=latest TESTS=13
++ - IMAGE=latest TESTS=15
++ - IMAGE=latest TESTS=17
++ - IMAGE=latest TESTS=18
+
+ before_script:
+ - docker pull fedora:$IMAGE
+
diff --git a/0071.patch b/0071.patch
new file mode 100644
index 0000000..34ebb94
--- /dev/null
+++ b/0071.patch
@@ -0,0 +1,41 @@
+From f19063ac71b9a82d19f3be7f252bf90d98be454f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Thu, 16 Aug 2018 15:28:04 +0200
+Subject: [PATCH] travis: one last job reshuffle
+
+---
+ .travis.yml | 15 +++------------
+ 1 file changed, 3 insertions(+), 12 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index f1aab2a9..83e9b4d1 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,23 +5,14 @@ services:
+ env:
+ matrix:
+ - IMAGE=latest
+- - IMAGE=latest TESTS=01
++ - IMAGE=latest TESTS="01 02 03 04"
+ - IMAGE=latest TESTS=12
+ - IMAGE=latest TESTS=20
+ - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS=31
+- - IMAGE=latest TESTS=30
++ - IMAGE=latest TESTS="30 31"
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+- - IMAGE=latest TESTS=02
+- - IMAGE=latest TESTS=03
+- - IMAGE=latest TESTS=04
+- - IMAGE=latest TESTS=10
+- - IMAGE=latest TESTS=11
+- - IMAGE=latest TESTS=13
+- - IMAGE=latest TESTS=15
+- - IMAGE=latest TESTS=17
+- - IMAGE=latest TESTS=18
++ - IMAGE=latest TESTS="10 11 13 15 17"
+
+ before_script:
+ - docker pull fedora:$IMAGE
+
diff --git a/0072.patch b/0072.patch
new file mode 100644
index 0000000..36d2b42
--- /dev/null
+++ b/0072.patch
@@ -0,0 +1,142 @@
+From 09132c732a36cc892310b26c829ac00c007d84ec Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 17 Aug 2018 15:38:03 +0200
+Subject: [PATCH] test/test-functions: fixed V=1 logic
+
+---
+ test/test-functions | 96 ++++++++++++++++++++++++++---------------------------
+ 1 file changed, 48 insertions(+), 48 deletions(-)
+
+diff --git a/test/test-functions b/test/test-functions
+index 6d7f418b..a6254ec7 100644
+--- a/test/test-functions
++++ b/test/test-functions
+@@ -38,79 +38,79 @@ while (($# > 0)); do
+ case $1 in
+ --run)
+ check_root
+- echo "TEST RUN: $TEST_DESCRIPTION"
+- test_check && test_run
+- exit $?;;
++ echo "TEST RUN: $TEST_DESCRIPTION"
++ test_check && test_run
++ exit $?;;
+ --setup)
+ check_root
+- echo "TEST SETUP: $TEST_DESCRIPTION"
+- test_check && test_setup
+- exit $?;;
++ echo "TEST SETUP: $TEST_DESCRIPTION"
++ test_check && test_setup
++ exit $?;;
+ --clean)
+- echo "TEST CLEANUP: $TEST_DESCRIPTION"
+- test_cleanup
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+- exit $?;;
++ echo "TEST CLEANUP: $TEST_DESCRIPTION"
++ test_cleanup
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
++ exit $?;;
+ --all)
+ check_root
+ if ! test_check 2&>test${TEST_RUN_ID:+-$TEST_RUN_ID}.log ; then
+- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
+- exit 0;
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_WARNING "[SKIPPED]" $COLOR_NORMAL
++ exit 0;
+ else
+- echo "TEST: $TEST_DESCRIPTION [STARTED]";
++ echo "TEST: $TEST_DESCRIPTION [STARTED]";
+ fi
+ if [[ "$V" == "1" ]]; then
+- (
+- test_setup && test_run
+- ret=$?
+- test_cleanup
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+- exit $ret
+- ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
+- elif [[ "$V" == "2" ]]; then
+ set -o pipefail
+ (
+- test_setup && test_run
+- ret=$?
+- test_cleanup
++ test_setup && test_run
++ ret=$?
++ test_cleanup
+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
+ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+- exit $ret
+- ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+- else
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
++ exit $ret
++ ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ elif [[ "$V" == "2" ]]; then
+ set -o pipefail
+ (
+- test_setup && test_run
+- ret=$?
+- test_cleanup
++ test_setup && test_run
++ ret=$?
++ test_cleanup
+ if ((ret!=0)) && [[ -f "$TESTDIR"/server.log ]]; then
+ mv [[ -f "$TESTDIR"/server.log ]] ./server${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+ fi
+- rm -fr -- "$TESTDIR"
+- rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
+- exit $ret
+- ) </dev/null 2>&1 | tee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
++ exit $ret
++ ) </dev/null 2>&1 | $basedir/logtee test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ else
++ (
++ test_setup && test_run
++ ret=$?
++ test_cleanup
++ rm -fr -- "$TESTDIR"
++ rm -f -- .testdir${TEST_RUN_ID:+-$TEST_RUN_ID}
++ exit $ret
++ ) </dev/null >test${TEST_RUN_ID:+-$TEST_RUN_ID}.log 2>&1
+ fi
+- ret=$?
++ ret=$?
+ set +o pipefail
+- if [ $ret -eq 0 ]; then
++ if [ $ret -eq 0 ]; then
+ rm -- test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
+- else
+- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_SUCCESS "[OK]" $COLOR_NORMAL
++ else
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ if [ "$V" == "2" ]; then
+- tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
+- echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
++ tail -c 1048576 $(pwd)/server${TEST_RUN_ID:+-$TEST_RUN_ID}.log $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log
++ echo -e "TEST: $TEST_DESCRIPTION " $COLOR_FAILURE "[FAILED]" $COLOR_NORMAL
+ else
+- echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
++ echo "see $(pwd)/test${TEST_RUN_ID:+-$TEST_RUN_ID}.log"
+ fi
+- fi
+- exit $ret;;
++ fi
++ exit $ret;;
+ *) break ;;
+ esac
+ shift
+
diff --git a/0073.patch b/0073.patch
new file mode 100644
index 0000000..19fd209
--- /dev/null
+++ b/0073.patch
@@ -0,0 +1,44 @@
+From ee18dd2b88d6767902d442baa92c95f7be69c265 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 17 Aug 2018 12:50:29 +0200
+Subject: [PATCH] ifcfg/write-ifcfg.sh: aggregate resolv.conf
+
+The old code used /tmp/net.$netif.resolv.conf with $netif being randomly
+chosen.
+
+As it is not known which nameserver have which priority, just sort them
+and deduplicate.
+---
+ modules.d/45ifcfg/module-setup.sh | 1 +
+ modules.d/45ifcfg/write-ifcfg.sh | 5 ++++-
+ 2 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/45ifcfg/module-setup.sh b/modules.d/45ifcfg/module-setup.sh
+index 6791985a..c89def3e 100755
+--- a/modules.d/45ifcfg/module-setup.sh
++++ b/modules.d/45ifcfg/module-setup.sh
+@@ -14,6 +14,7 @@ depends() {
+
+ # called by dracut
+ install() {
++ inst_binary sort
+ inst_hook pre-pivot 85 "$moddir/write-ifcfg.sh"
+ }
+
+diff --git a/modules.d/45ifcfg/write-ifcfg.sh b/modules.d/45ifcfg/write-ifcfg.sh
+index 25c81be3..3bf847a5 100755
+--- a/modules.d/45ifcfg/write-ifcfg.sh
++++ b/modules.d/45ifcfg/write-ifcfg.sh
+@@ -286,7 +286,10 @@ echo "files /etc/sysconfig/network-scripts" >> /run/initramfs/rwtab
+ echo "files /var/lib/dhclient" >> /run/initramfs/rwtab
+ {
+ cp /tmp/net.* /run/initramfs/
+- cp /tmp/net.$netif.resolv.conf /run/initramfs/state/etc/resolv.conf
++ for i in /tmp/net.*.resolv.conf; do
++ [ -f "$i" ] && cat "$i"
++ done | sort -u > /run/initramfs/state/etc/resolv.conf
++ [ -s /run/initramfs/state/etc/resolv.conf ] || rm -f /run/initramfs/state/etc/resolv.conf
+ copytree /tmp/ifcfg /run/initramfs/state/etc/sysconfig/network-scripts
+ cp /tmp/ifcfg-leases/* /run/initramfs/state/var/lib/dhclient
+ } > /dev/null 2>&1
+
diff --git a/0074.patch b/0074.patch
new file mode 100644
index 0000000..33d82c1
--- /dev/null
+++ b/0074.patch
@@ -0,0 +1,42 @@
+From e0e6d96d696349c69cffd72a9c4eaf3be3dd22d5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Mon, 20 Aug 2018 10:04:52 +0200
+Subject: [PATCH] travis: re-enable test 14
+
+https://bugzilla.redhat.com/show_bug.cgi?id=1615271
+---
+ .travis.yml | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/.travis.yml b/.travis.yml
+index 83e9b4d1..f913db57 100644
+--- a/.travis.yml
++++ b/.travis.yml
+@@ -5,14 +5,23 @@ services:
+ env:
+ matrix:
+ - IMAGE=latest
+- - IMAGE=latest TESTS="01 02 03 04"
++ - IMAGE=latest TESTS=01
+ - IMAGE=latest TESTS=12
+ - IMAGE=latest TESTS=20
+ - IMAGE=latest TESTS=50
+- - IMAGE=latest TESTS="30 31"
++ - IMAGE=latest TESTS=30
++ - IMAGE=latest TESTS=31
+ - IMAGE=latest TESTS=70
+ - IMAGE=latest TESTS=99
+- - IMAGE=latest TESTS="10 11 13 15 17"
++ - IMAGE=latest TESTS=02
++ - IMAGE=latest TESTS=03
++ - IMAGE=latest TESTS=04
++ - IMAGE=latest TESTS=10
++ - IMAGE=latest TESTS=11
++ - IMAGE=latest TESTS=13
++ - IMAGE=latest TESTS=14
++ - IMAGE=latest TESTS=15
++ - IMAGE=latest TESTS=17
+
+ before_script:
+ - docker pull fedora:$IMAGE
+
diff --git a/0075.patch b/0075.patch
new file mode 100644
index 0000000..beefa3c
--- /dev/null
+++ b/0075.patch
@@ -0,0 +1,129 @@
+From e791d753bed41315cfbd8611e65cc8cd64ea2d15 Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Wed, 1 Aug 2018 18:40:20 -0400
+Subject: [PATCH] livenet: Enable OverlayFS overlay in sysroot.mount generator.
+
+Adjust sysroot.mount configuration for rd.live.overlay.overlayfs option.
+Use link at /dev/root as a consistent flag for wait_for_dev.
+Adjust documentation.
+---
+ dracut.cmdline.7.asc | 9 +++++----
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 5 +++--
+ modules.d/90dmsquash-live/parse-dmsquash-live.sh | 2 +-
+ modules.d/90livenet/livenet-generator.sh | 18 ++++++++++++++----
+ 4 files changed, 23 insertions(+), 11 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 9252d253..df633e5d 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -930,7 +930,8 @@ NOTE: There must be enough free RAM available to hold the complete image.
+ This method is very suitable for diskless boots.
+
+ **root=**live:__<url>__::
+-Boots a live image retrieved from __<url>__. Valid handlers: __http, https, ftp, torrent, tftp__.
++Boots a live image retrieved from __<url>__. Requires dracut 'livenet' module.
++Valid handlers: __http, https, ftp, torrent, tftp__.
+ +
+ [listing]
+ .Example
+@@ -955,7 +956,7 @@ By default, this is __squashfs.img__.
+ Copy the complete image to RAM and use this for booting. This is useful
+ when the image resides on, i.e., a DVD which needs to be ejected later on.
+
+-**rd.live.overlay=**__<devspec>__:__(<pathspec>|auto)__|__none__::
++**rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
+ Allow the usage of a permanent overlay.
+ - _<devspec>_ specifies the path to a device with a mountable filesystem.
+ - _<pathspec>_ is the path to a file within that filesystem, which shall be
+@@ -1005,10 +1006,10 @@ extended attributes and provides a valid d_type in readdir responses, such as
+ with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
+ overlay can extend the available root filesystem storage up to the capacity of
+ the LiveOS device.
+-
+++
+ If a persistent overlay is detected at the standard LiveOS path, the overlay &
+ overlay type detected (whether OverlayFS or Device-mapper) will be used.
+-
+++
+ The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
+ be mounted read only through a higher level transient overlay directory, has
+ been implemented through the multiple lower layers feature of OverlayFS.
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index 8f3b2bf9..ac603408 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -376,19 +376,20 @@ if [ -n "$overlayfs" ]; then
+ mount -r $FSIMG /run/rootfsbase
+ fi
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+- #FIXME What to link to /dev/root? Is it even needed?
+ printf 'mount -t overlay LiveOS_rootfs -o%s,%s %s\n' "$ROOTFLAGS" \
+ 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
+ "$NEWROOT" > $hookdir/mount/01-$$-live.sh
+ fi
++ _dev=/run/rootfsbase
+ else
+- ln -s /dev/mapper/live-rw /dev/root
++ _dev=/dev/mapper/live-rw
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+ [ -n "$ROOTFLAGS" ] && ROOTFLAGS="-o $ROOTFLAGS"
+ printf 'mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
+ fi
+ ln -s $BASE_LOOPDEV /run/rootfsbase
+ fi
++ln -s $_dev /dev/root
+
+ need_shutdown
+
+diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+index a9b78ab5..0eedf1f6 100755
+--- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
++++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+@@ -57,6 +57,6 @@ info "root was $liveroot, is now $root"
+ # make sure that init doesn't complain
+ [ -z "$root" ] && root="live"
+
+-wait_for_dev -n /run/rootfsbase
++wait_for_dev -n /dev/root
+
+ return 0
+diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
+index a349cd0b..e2b5b6eb 100755
+--- a/modules.d/90livenet/livenet-generator.sh
++++ b/modules.d/90livenet/livenet-generator.sh
+@@ -43,19 +43,29 @@ GENERATOR_DIR="$2"
+
+ [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+
++getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
++[ -e /xor_overlayfs ] && xor_overlayfs="yes"
+ ROOTFLAGS="$(getarg rootflags)"
+ {
+ echo "[Unit]"
+ echo "Before=initrd-root-fs.target"
+ echo "[Mount]"
+ echo "Where=/sysroot"
+- echo "What=/dev/mapper/live-rw"
+- [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
++ if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
++ echo "What=LiveOS_rootfs"
++ echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
++ echo "Type=overlay"
++ _dev=LiveOS_rootfs
++ else
++ echo "What=/dev/mapper/live-rw"
++ [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
++ _dev=$'dev-mapper-live\\x2drw'
++ fi
+ } > "$GENERATOR_DIR"/sysroot.mount
+
+-mkdir -p "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d"
++mkdir -p "$GENERATOR_DIR/$_dev.device.d"
+ {
+ echo "[Unit]"
+ echo "JobTimeoutSec=3000"
+ echo "JobRunningTimeoutSec=3000"
+-} > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf"
++} > "$GENERATOR_DIR/$_dev.device.d/timeout.conf"
+
diff --git a/0076.patch b/0076.patch
new file mode 100644
index 0000000..933102e
--- /dev/null
+++ b/0076.patch
@@ -0,0 +1,361 @@
+From 789668deb3e6f8584ffab964d2204ddcb75f0a06 Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Mon, 20 Aug 2018 09:47:50 -0400
+Subject: [PATCH] dmsquash-live: Support a flattened squashfs.img
+
+A simplified root filesystem structure may be provided for OverlayFS
+overlays by squashing the root filesystem directly instead of squashing
+an embedded image file at /LiveOS/rootfs.img. Detect and configure
+such a squashed root filesystem for live booting.
+
+For OverlayFS boots, avoid the read-only Device-mapper linear device
+ at /dev/mapper/live-base.
+Create a consistent device link at /dev/live-base for the read-only
+ base loop device for all overlayed live root filesystems.
+Consistently provide a link at /dev/root for wait_for_dev.
+
+Update documentation.
+---
+ dracut.cmdline.7.asc | 126 +++++++++++++++---------
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 51 ++++++----
+ 2 files changed, 110 insertions(+), 67 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index df633e5d..882035af 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -838,23 +838,24 @@ Booting live images
+ Dracut offers multiple options for live booted images:
+
+ =====================
+-SquashFS with read-only filesystem image::: The system will boot with a read
+-only filesystem from the SquashFS and apply a writable device-mapper snapshot
+-over the read only filesystem. Using this method ensures a relatively fast
+-boot and lower RAM usage. Users **must be careful** to avoid writing too many
+-blocks to the snapshot volume. Once the blocks of the snapshot overlay are
+-exhausted, the root filesystem becomes read only and may cause application
+-failures. The overlay file is marked 'Overflow', and a difficult recovery is
+-required to repair and enlarge the overlay offline. Non-persistent overlays
+-are sparse files in RAM that only consume content space as required blocks are
+-allocated. They default to an apparent size of 32 GiB in RAM. The size can be
+-adjusted with the **rd.live.overlay.size=** kernel command line option.
++SquashFS with read-only filesystem image::: The system will boot with a
++read-only filesystem from the SquashFS and apply a writable Device-mapper
++snapshot or an OverlayFS overlay mount for the read-only base filesystem. This
++method ensures a relatively fast boot and lower RAM usage. Users **must be
++careful** to avoid writing too many blocks to a snapshot volume. Once the
++blocks of the snapshot overlay are exhausted, the root filesystem becomes
++read-only and may cause application failures. The snapshot overlay file is
++marked 'Overflow', and a difficult recovery is required to repair and enlarge
++the overlay offline. Non-persistent overlays are sparse files in RAM that only
++consume content space as required blocks are allocated. They default to an
++apparent size of 32 GiB in RAM. The size can be adjusted with the
++**rd.live.overlay.size=** kernel command line option.
+ +
+-The filesystem structure is expected to be:
++The filesystem structure is traditionally expected to be:
+ +
+ [listing]
+ --
+-squashfs.img | Squashfs from LiveCD .iso downloaded via network
++squashfs.img | SquashFS from LiveCD .iso
+ !(mount)
+ /LiveOS
+ |- rootfs.img | Filesystem image to mount read-only
+@@ -865,21 +866,35 @@ squashfs.img | Squashfs from LiveCD .iso downloaded via network
+ ... |
+ --
+ +
+-Dracut uses this method of live booting by default. No additional command line
+-options are required other than **root=live:<URL>** to specify the location
+-of your squashed filesystem.
++For OverlayFS mount overlays, the filesystem structure may also be a direct
++compression of the root filesystem:
+++
++[listing]
++--
++squashfs.img | SquashFS from LiveCD .iso
++ !(mount)
++ /bin | Live filesystem
++ /boot |
++ /dev |
++ ... |
++--
+++
++Dracut uses one of the overlay methods of live booting by default. No
++additional command line options are required other than **root=live:<URL>** to
++specify the location of your squashed filesystem.
+ +
+ - The compressed SquashFS image can be copied during boot to RAM at
+ `/run/initramfs/squashed.img` by using the **rd.live.ram=1** option.
+-- A device with a persistent overlay can be booted read only by using the
++- A device with a persistent overlay can be booted read-only by using the
+ **rd.live.overlay.readonly** option on the kernel command line. This will
+-cause a temporary, writable overlay to be stacked over a read-only snapshot
+-of the root filesystem.
++either cause a temporary, writable overlay to be stacked over a read-only
++snapshot of the root filesystem or the OverlayFS mount will use an additional
++lower layer with the root filesystem.
+ +
+ Uncompressed live filesystem image:::
+ When the live system was installed with the '--skipcompress' option of the
+ __livecd-iso-to-disk__ installation script for Live USB devices, the root
+-filesystem image, `rootfs.img`, is expanded on installation and no SquashFS
++filesystem image, __rootfs.img__, is expanded on installation and no SquashFS
+ is involved during boot.
+ +
+ - If **rd.live.ram=1** is used in this situation, the full, uncompressed
+@@ -887,12 +902,12 @@ root filesystem is copied during boot to `/run/initramfs/rootfs.img` in the
+ `/run` tmpfs.
+ +
+ - If **rd.live.overlay=none** is provided as a kernel command line option,
+-a writable, linear device-mapper target is created on boot with no overlay.
++a writable, linear Device-mapper target is created on boot with no overlay.
+
+-writable filesystem image:::
++Writable filesystem image:::
+ The system will retrieve a compressed filesystem image, extract it to
+ `/run/initramfs/fsimg/rootfs.img`, connect it to a loop device, create a
+-writable, linear device-mapper target at `/dev/mapper/live-rw`, and mount that
++writable, linear Device-mapper target at `/dev/mapper/live-rw`, and mount that
+ as a writable volume at `/`. More RAM is required during boot but the live
+ filesystem is easier to manage if it becomes full. Users can make a filesystem
+ image of any size and that size will be maintained when the system boots. There
+@@ -902,7 +917,7 @@ The filesystem structure is expected to be:
+ +
+ [listing]
+ --
+-rootfs.tgz | Compressed tarball containing fileystem image
++rootfs.tgz | Compressed tarball containing filesystem image
+ !(unpack)
+ /rootfs.img | Filesystem image at /run/initramfs/fsimg/
+ !(mount)
+@@ -930,11 +945,11 @@ NOTE: There must be enough free RAM available to hold the complete image.
+ This method is very suitable for diskless boots.
+
+ **root=**live:__<url>__::
+-Boots a live image retrieved from __<url>__. Requires dracut 'livenet' module.
+-Valid handlers: __http, https, ftp, torrent, tftp__.
++Boots a live image retrieved from __<url>__. Requires the dracut 'livenet'
++module. Valid handlers: __http, https, ftp, torrent, tftp__.
+ +
+ [listing]
+-.Example
++.Examples
+ --
+ root=live:http://example.com/liveboot.img
+ root=live:ftp://ftp.example.com/liveboot.img
+@@ -946,7 +961,7 @@ Enables debug output from the live boot process.
+
+ **rd.live.dir=**__<path>__::
+ Specifies the directory within the boot device where the squashfs.img or
+-rootfs.img can be found. By default, this is __LiveOS__.
++rootfs.img can be found. By default, this is `/LiveOS`.
+
+ **rd.live.squashimg=**__<filename of SquashFS image>__::
+ Specifies the filename for a SquashFS image of the root filesystem.
+@@ -954,35 +969,52 @@ By default, this is __squashfs.img__.
+
+ **rd.live.ram=**1::
+ Copy the complete image to RAM and use this for booting. This is useful
+-when the image resides on, i.e., a DVD which needs to be ejected later on.
++when the image resides on, e.g., a DVD which needs to be ejected later on.
+
+ **rd.live.overlay={**__<devspec>__[:__{<pathspec>|auto}__]|__none__}::
+-Allow the usage of a permanent overlay.
+-- _<devspec>_ specifies the path to a device with a mountable filesystem.
+-- _<pathspec>_ is the path to a file within that filesystem, which shall be
++Manage the usage of a permanent overlay.
+++
++--
++* _<devspec>_ specifies the path to a device with a mountable filesystem.
++* _<pathspec>_ is the path to a file within that filesystem, which shall be
+ used to persist the changes made to the device specified by the
+ **root=live:__<url>__** option.
+-- _none_ specifies no overlay when an uncompressed live root filesystem is
+-available.
+-If a persistent overlay is detected at the standard LiveOS path, the overlay &
+-overlay type detected (whether Device-mapper or OverlayFS) will be used.
+++
++The default _pathspec_, when _auto_ or no _:<pathspec>_ is given, is
++`/<+++<b>rd.live.dir</b>+++>/overlay-<label>-<uuid>`, where _<label>_ is the
++device LABEL, and _<uuid>_ is the device UUID.
++* _none_ (the word itself) specifies that no overlay will be used, such as when
++an uncompressed, writable live root filesystem is available.
+++
++If a persistent overlay __is detected__ at the standard LiveOS path, the
++overlay & overlay type detected, whether Device-mapper or OverlayFS, will be
++used.
++--
+ +
+ [listing]
+-.Example
++.Examples
+ --
+ rd.live.overlay=/dev/sdb1:persistent-overlay.img
++rd.live.overlay=UUID=99440c1f-8daa-41bf-b965-b7240a8996f4
+ --
+
+ **rd.live.overlay.size=**__<size_MiB>__::
+-Specifies a non-persistent overlay size in MiB. The default is _32768_.
++Specifies a non-persistent Device-mapper overlay size in MiB. The default is
++_32768_.
+
+ **rd.live.overlay.readonly=**1::
+-Specifies a non-persistent, writable snapshot overlay to be stacked over a
+-read-only snapshot of the root filesystem, `/dev/mapper/live-ro`, or a read-
+-only loop device of a writable `rootfs.img`.
++This is used to boot with a normally read-write persistent overlay in a
++read-only mode. With this option, either an additional, non-persistent,
++writable snapshot overlay will be stacked over a read-only snapshot,
++`/dev/mapper/livero`, of the base filesystem with the persistent overlay, or a
++read-only loop device, in the case of a writable __rootfs.img__, or an OverlayFS
++mount will use the persistent overlay directory linked at `/run/overlayfsr` as
++an additional lower layer along with the base root filesystem and apply a
++transient, writable upper directory overlay, in order to complete the booted
++root filesystem.
+
+ **rd.live.overlay.reset=**1::
+-Specifies that a persistent overlay should be reset on boot. All root
++Specifies that a persistent overlay should be reset on boot. All previous root
+ filesystem changes are vacated by this action.
+
+ **rd.live.overlay.thin=**1::
+@@ -993,25 +1025,25 @@ that memory is given back to the kernel when the filesystem does not claim it
+ anymore.
+
+ **rd.live.overlay.overlayfs=**1::
+-Enables the use of the **OverlayFS** kernel module, if available, to provide a
++Enables the use of the *OverlayFS* kernel module, if available, to provide a
+ copy-on-write union directory for the root filesystem. OverlayFS overlays are
+ directories of the files that have changed on the read-only base (lower)
+ filesystem. The root filesystem is provided through a special overlay type
+ mount that merges the lower and upper directories. If an OverlayFS upper
+ directory is not present on the boot device, a tmpfs directory will be created
+-at /run/overlayfs to provide temporary storage. Persistent storage can be
++at `/run/overlayfs` to provide temporary storage. Persistent storage can be
+ provided on vfat or msdos formatted devices by supplying the OverlayFS upper
+ directory within an embedded filesystem that supports the creation of trusted.*
+ extended attributes and provides a valid d_type in readdir responses, such as
+ with ext4 and xfs. On non-vfat-formatted devices, a persistent OverlayFS
+ overlay can extend the available root filesystem storage up to the capacity of
+-the LiveOS device.
++the LiveOS disk device.
+ +
+ If a persistent overlay is detected at the standard LiveOS path, the overlay &
+-overlay type detected (whether OverlayFS or Device-mapper) will be used.
++overlay type detected, whether OverlayFS or Device-mapper, will be used.
+ +
+ The **rd.live.overlay.readonly** option, which allows a persistent overlayfs to
+-be mounted read only through a higher level transient overlay directory, has
++be mounted read-only through a higher level transient overlay directory, has
+ been implemented through the multiple lower layers feature of OverlayFS.
+
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index ac603408..0c5e010e 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -250,13 +250,11 @@ do_live_overlay() {
+ echo 0 $sz snapshot $base $over PO 8 | dmsetup create live-rw
+ fi
+
+- # Create a device that always points to a ro base image
+- if [ -n "$overlayfs" ]; then
+- BASE_LOOPDUP=$(losetup -f --show -r $BASE_LOOPDEV)
+- echo 0 $sz linear $BASE_LOOPDUP 0 | dmsetup create --readonly live-base
+- else
++ # Create a device for the ro base of overlayed file systems.
++ if [ -z "$overlayfs" ]; then
+ echo 0 $sz linear $BASE_LOOPDEV 0 | dmsetup create --readonly live-base
+ fi
++ ln -s $BASE_LOOPDEV /dev/live-base
+ }
+
+ # we might have a genMinInstDelta delta file for anaconda to take advantage of
+@@ -291,10 +289,21 @@ if [ -e "$SQUASHED" ]; then
+ mkdir -m 0755 -p /run/initramfs/squashfs
+ mount -n -t squashfs -o ro $SQUASHED_LOOPDEV /run/initramfs/squashfs
+
+- if [ -f /run/initramfs/squashfs/LiveOS/rootfs.img ]; then
+- FSIMG="/run/initramfs/squashfs/LiveOS/rootfs.img"
+- elif [ -f /run/initramfs/squashfs/LiveOS/ext3fs.img ]; then
+- FSIMG="/run/initramfs/squashfs/LiveOS/ext3fs.img"
++ if [ -d /run/initramfs/squashfs/LiveOS ]; then
++ if [ -f /run/initramfs/squashfs/LiveOS/rootfs.img ]; then
++ FSIMG="/run/initramfs/squashfs/LiveOS/rootfs.img"
++ elif [ -f /run/initramfs/squashfs/LiveOS/ext3fs.img ]; then
++ FSIMG="/run/initramfs/squashfs/LiveOS/ext3fs.img"
++ fi
++ elif [ -d /run/initramfs/squashfs/proc ]; then
++ FSIMG=$SQUASHED
++ if [ -z "$overlayfs" ]; then
++ overlayfs="yes"
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
++ fi
++ else
++ die "Failed to find a root filesystem in $SQUASHED."
++ exit 1
+ fi
+ else
+ # we might have an embedded fs image to use as rootfs (uncompressed live)
+@@ -312,8 +321,8 @@ else
+ fi
+ fi
+
+-if [ -n "$FSIMG" ] ; then
+- if [ -n "$writable_fsimg" ] ; then
++if [ -n "$FSIMG" ]; then
++ if [ -n "$writable_fsimg" ]; then
+ # mount the provided filesystem read/write
+ echo "Unpacking live filesystem (may take some time)" > /dev/kmsg
+ mkdir -m 0755 /run/initramfs/fsimg/
+@@ -336,9 +345,13 @@ if [ -n "$FSIMG" ] ; then
+ setup=yes
+ fi
+ fi
+- BASE_LOOPDEV=$(losetup -f --show $opt $FSIMG)
+- sz=$(blockdev --getsz $BASE_LOOPDEV)
+- if [ "$setup" == rw ]; then
++ if [ "$FSIMG" = "$SQUASHED" ]; then
++ BASE_LOOPDEV=$SQUASHED_LOOPDEV
++ else
++ BASE_LOOPDEV=$(losetup -f --show $opt $FSIMG)
++ sz=$(blockdev --getsz $BASE_LOOPDEV)
++ fi
++ if [ "$setup" = rw ]; then
+ echo 0 $sz linear $BASE_LOOPDEV 0 | dmsetup create live-rw
+ else
+ # Add a DM snapshot or OverlayFS for writes.
+@@ -346,8 +359,6 @@ if [ -n "$FSIMG" ] ; then
+ fi
+ fi
+
+-[ -e "$SQUASHED" ] && [ -z "$overlayfs" ] && umount -l /run/initramfs/squashfs
+-
+ if [ -b "$OSMIN_LOOPDEV" ]; then
+ # set up the devicemapper snapshot device, which will merge
+ # the normal live fs image, and the delta, into a minimzied fs image
+@@ -380,17 +391,17 @@ if [ -n "$overlayfs" ]; then
+ 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
+ "$NEWROOT" > $hookdir/mount/01-$$-live.sh
+ fi
+- _dev=/run/rootfsbase
+ else
+- _dev=/dev/mapper/live-rw
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+ [ -n "$ROOTFLAGS" ] && ROOTFLAGS="-o $ROOTFLAGS"
+ printf 'mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
+ fi
+- ln -s $BASE_LOOPDEV /run/rootfsbase
+ fi
+-ln -s $_dev /dev/root
++[ -e "$SQUASHED" ] && umount -l /run/initramfs/squashfs
++
++ln -s null /dev/root
+
+ need_shutdown
+
+ exit 0
++
+
diff --git a/0077.patch b/0077.patch
new file mode 100644
index 0000000..dd46af6
--- /dev/null
+++ b/0077.patch
@@ -0,0 +1,193 @@
+From eb18a1fe29a3ffcd646fe6d25ae2d7d998b63e71 Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Mon, 20 Aug 2018 19:52:53 -0400
+Subject: [PATCH] dmsquash-live, livenet: Simplify OverlayFS read-only overlay
+ setup.
+
+Use multiple lower layer directories in a single OverlayFS mount with
+ a transient overlay directory.
+Tolerate a command line with rd.live.overlay.readonly and NO persistent
+ overlay by reconfiguring the OverlayFS mount options.
+Use more compatible shell syntax for testing symlinks, and use printf
+ instead of echo -e.
+---
+ modules.d/90dmsquash-live/dmsquash-generator.sh | 9 ++++++-
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 34 ++++++++++++++-----------
+ modules.d/90livenet/livenet-generator.sh | 9 ++++++-
+ 3 files changed, 35 insertions(+), 17 deletions(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
+index fe190012..1129ddff 100755
+--- a/modules.d/90dmsquash-live/dmsquash-generator.sh
++++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
+@@ -54,8 +54,10 @@ GENERATOR_DIR="$2"
+ [ -z "$GENERATOR_DIR" ] && exit 1
+ [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+
++getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
+ getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
+ [ -e /xor_overlayfs ] && xor_overlayfs="yes"
++[ -e /xor_readonly ] && xor_readonly="--readonly"
+ ROOTFLAGS="$(getarg rootflags)"
+ {
+ echo "[Unit]"
+@@ -64,7 +66,12 @@ ROOTFLAGS="$(getarg rootflags)"
+ echo "Where=/sysroot"
+ if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
+ echo "What=LiveOS_rootfs"
+- echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
++ if [ "$readonly_overlay$xor_readonly" = "--readonly" ]; then
++ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
++ else
++ ovlfs=lowerdir=/run/rootfsbase
++ fi
++ echo "Options=${ROOTFLAGS},${ovlfs},upperdir=/run/overlayfs,workdir=/run/ovlwork"
+ echo "Type=overlay"
+ _dev=LiveOS_rootfs
+ else
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index 0c5e010e..0f3d8f89 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -137,7 +137,7 @@ do_live_overlay() {
+ fi
+ if [ -n "$overlayfs" ]; then
+ unset -v overlayfs
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
+ setup="yes"
+ else
+@@ -148,7 +148,7 @@ do_live_overlay() {
+ ln -s /run/initramfs/overlayfs/ovlwork /run/ovlwork$opt
+ if [ -z "$overlayfs" ]; then
+ overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
+ setup="yes"
+ fi
+@@ -159,7 +159,7 @@ do_live_overlay() {
+ ln -s /run/initramfs/overlayfs$pathspec/../ovlwork /run/ovlwork$opt
+ if [ -z "$overlayfs" ]; then
+ overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
+ setup="yes"
+ fi
+@@ -168,8 +168,7 @@ do_live_overlay() {
+ modprobe overlay
+ if [ $? != 0 ]; then
+ m='OverlayFS is not available; using temporary Device-mapper overlay.'
+- unset -v overlayfs setup
+- [ -n "$reloadsysrootmountunit" ] && unset -v reloadsysrootmountunit
++ unset -v overlayfs setup reloadsysrootmountunit
+ fi
+ fi
+
+@@ -181,7 +180,7 @@ do_live_overlay() {
+ m=' Unable to find a persistent overlay; using a temporary one.'
+ m="$m"$'\n All root filesystem changes will be lost on shutdown.'
+ m="$m"$'\n Press [Enter] to continue.'
+- echo -e "\n\n\n\n${m}\n\n\n" > /dev/kmsg
++ printf "\n\n\n\n${m}\n\n\n" > /dev/kmsg
+ if [ -n "$DRACUT_SYSTEMD" ]; then
+ if type plymouth >/dev/null 2>&1 && plymouth --ping ; then
+ if getargbool 0 rhgb || getargbool 0 splash ; then
+@@ -203,6 +202,11 @@ do_live_overlay() {
+ if [ -n "$overlayfs" ]; then
+ mkdir -m 0755 /run/overlayfs
+ mkdir -m 0755 /run/ovlwork
++ if [ -n "$readonly_overlay" ] && ! [ -h /run/overlayfs-r ]; then
++ info "No persistent overlay found."
++ unset -v readonly_overlay
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="${reloadsysrootmountunit}:>/xor_readonly;"
++ fi
+ else
+ dd if=/dev/null of=/overlay bs=1024 count=1 seek=$((overlay_size*1024)) 2> /dev/null
+ if [ -n "$setup" -a -n "$readonly_overlay" ]; then
+@@ -256,6 +260,7 @@ do_live_overlay() {
+ fi
+ ln -s $BASE_LOOPDEV /dev/live-base
+ }
++# end do_live_overlay()
+
+ # we might have a genMinInstDelta delta file for anaconda to take advantage of
+ if [ -e /run/initramfs/live/${live_dir}/osmin.img ]; then
+@@ -299,7 +304,7 @@ if [ -e "$SQUASHED" ]; then
+ FSIMG=$SQUASHED
+ if [ -z "$overlayfs" ]; then
+ overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit="yes"
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
+ else
+ die "Failed to find a root filesystem in $SQUASHED."
+@@ -366,7 +371,7 @@ if [ -b "$OSMIN_LOOPDEV" ]; then
+ fi
+
+ if [ -n "$reloadsysrootmountunit" ]; then
+- > /xor_overlayfs
++ eval "$reloadsysrootmountunit"
+ systemctl daemon-reload
+ fi
+
+@@ -374,21 +379,20 @@ ROOTFLAGS="$(getarg rootflags)"
+
+ if [ -n "$overlayfs" ]; then
+ mkdir -m 0755 /run/rootfsbase
+- if [ -n "$reset_overlay" ] && [ -L /run/overlayfs ]; then
++ if [ -n "$reset_overlay" ] && [ -h /run/overlayfs ]; then
+ ovlfs=$(readlink /run/overlayfs)
+ info "Resetting the OverlayFS overlay directory."
+ rm -r -- ${ovlfs}/* ${ovlfs}/.* >/dev/null 2>&1
+ fi
+- if [ -n "$readonly_overlay" ]; then
+- mkdir -m 0755 /run/rootfsbase-r
+- mount -r $FSIMG /run/rootfsbase-r
+- mount -t overlay LiveOS_rootfs-r -oro,lowerdir=/run/overlayfs-r:/run/rootfsbase-r /run/rootfsbase
++ if [ -n "$readonly_overlay" ] && [ -h /run/overlayfs-r ]; then
++ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
+ else
+- mount -r $FSIMG /run/rootfsbase
++ ovlfs=lowerdir=/run/rootfsbase
+ fi
++ mount -r $FSIMG /run/rootfsbase
+ if [ -z "$DRACUT_SYSTEMD" ]; then
+ printf 'mount -t overlay LiveOS_rootfs -o%s,%s %s\n' "$ROOTFLAGS" \
+- 'lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork' \
++ "$ovlfs",upperdir=/run/overlayfs,workdir=/run/ovlwork \
+ "$NEWROOT" > $hookdir/mount/01-$$-live.sh
+ fi
+ else
+diff --git a/modules.d/90livenet/livenet-generator.sh b/modules.d/90livenet/livenet-generator.sh
+index e2b5b6eb..f0d12851 100755
+--- a/modules.d/90livenet/livenet-generator.sh
++++ b/modules.d/90livenet/livenet-generator.sh
+@@ -43,8 +43,10 @@ GENERATOR_DIR="$2"
+
+ [ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
+
++getargbool 0 rd.live.overlay.readonly -d -y readonly_overlay && readonly_overlay="--readonly" || readonly_overlay=""
+ getargbool 0 rd.live.overlay.overlayfs && overlayfs="yes"
+ [ -e /xor_overlayfs ] && xor_overlayfs="yes"
++[ -e /xor_readonly ] && xor_readonly="--readonly"
+ ROOTFLAGS="$(getarg rootflags)"
+ {
+ echo "[Unit]"
+@@ -53,7 +55,12 @@ ROOTFLAGS="$(getarg rootflags)"
+ echo "Where=/sysroot"
+ if [ "$overlayfs$xor_overlayfs" = "yes" ]; then
+ echo "What=LiveOS_rootfs"
+- echo "Options=${ROOTFLAGS},lowerdir=/run/rootfsbase,upperdir=/run/overlayfs,workdir=/run/ovlwork"
++ if [ "$readonly_overlay$xor_readonly" = "--readonly" ]; then
++ ovlfs=lowerdir=/run/overlayfs-r:/run/rootfsbase
++ else
++ ovlfs=lowerdir=/run/rootfsbase
++ fi
++ echo "Options=${ROOTFLAGS},${ovlfs},upperdir=/run/overlayfs,workdir=/run/ovlwork"
+ echo "Type=overlay"
+ _dev=LiveOS_rootfs
+ else
+
diff --git a/0078.patch b/0078.patch
new file mode 100644
index 0000000..5fd699f
--- /dev/null
+++ b/0078.patch
@@ -0,0 +1,29 @@
+From 9f3c31cd8d68b5272f803063247362a644720227 Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Mon, 20 Aug 2018 18:43:19 +0800
+Subject: [PATCH] 99base: enable initqueue if extra devices are added
+
+When extra devices are added, initqueue should be enabled to make sure
+those devices are present, so following services and routines could
+use those devices.
+
+See PR #442 for more detail.
+---
+ modules.d/99base/module-setup.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index a1569b12..731c6dcc 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -94,6 +94,9 @@ install() {
+
+ ## save host_devs which we need bring up
+ if [[ $hostonly_cmdline == "yes" ]]; then
++ if [[ -n $add_device ]]; then
++ dracut_need_initqueue
++ fi
+ if [[ -f "$initdir/lib/dracut/need-initqueue" ]] || ! dracut_module_included "systemd"; then
+ (
+ if dracut_module_included "systemd"; then
+
diff --git a/0079.patch b/0079.patch
new file mode 100644
index 0000000..80384b5
--- /dev/null
+++ b/0079.patch
@@ -0,0 +1,24 @@
+From 09ba1b289f2cba613c1950b03f0f549ebb7eb83f Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Mon, 20 Aug 2018 18:40:05 +0800
+Subject: [PATCH] kernel-modules: add nfit
+
+To support pmem devices, nfit module is required
+---
+ modules.d/90kernel-modules/module-setup.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index f01470e7..3dfceff0 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -41,7 +41,7 @@ installkernel() {
+ yenta_socket scsi_dh_rdac scsi_dh_emc scsi_dh_alua \
+ atkbd i8042 usbhid firewire-ohci pcmcia hv-vmbus \
+ virtio virtio_blk virtio_ring virtio_pci virtio_scsi \
+- "=drivers/pcmcia" =ide nvme vmd
++ "=drivers/pcmcia" =ide nvme vmd nfit
+
+ if [[ "$(uname -m)" == arm* || "$(uname -m)" == aarch64 ]]; then
+ # arm/aarch64 specific modules
+
diff --git a/0080.patch b/0080.patch
new file mode 100644
index 0000000..0ede47d
--- /dev/null
+++ b/0080.patch
@@ -0,0 +1,35 @@
+From ae9bc0d72ffea2c960c95d7b705b1b76ae53d692 Mon Sep 17 00:00:00 2001
+From: Tony Asleson <tasleson(a)redhat.com>
+Date: Thu, 23 Aug 2018 15:08:59 -0500
+Subject: [PATCH] stratis: Add additional binaries
+
+Include all binaries that could be called by the daemon.
+
+Signed-off-by: Tony Asleson <tasleson(a)redhat.com>
+---
+ modules.d/90stratis/module-setup.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/90stratis/module-setup.sh b/modules.d/90stratis/module-setup.sh
+index 2787b63b..29f0765b 100755
+--- a/modules.d/90stratis/module-setup.sh
++++ b/modules.d/90stratis/module-setup.sh
+@@ -2,7 +2,7 @@
+
+ # called by dracut
+ check() {
+- require_binaries stratisd-init thin_check thin_repair || return 1
++ require_binaries stratisd-init thin_check thin_repair mkfs.xfs xfs_admin xfs_growfs || return 1
+ return 255
+ }
+
+@@ -20,7 +20,7 @@ installkernel() {
+ # called by dracut
+ install() {
+
+- inst_multiple stratisd-init thin_check thin_repair
++ inst_multiple stratisd-init thin_check thin_repair mkfs.xfs xfs_admin xfs_growfs
+
+ if dracut_module_included "systemd"; then
+ inst_simple "${moddir}/stratisd-init.service" "${systemdsystemunitdir}/stratisd-init.service"
+
diff --git a/0081.patch b/0081.patch
new file mode 100644
index 0000000..d64429d
--- /dev/null
+++ b/0081.patch
@@ -0,0 +1,106 @@
+From d09218823c787d23b3fdc3e450bb27b20f71f089 Mon Sep 17 00:00:00 2001
+From: Tobias Klauser <tklauser(a)distanz.ch>
+Date: Wed, 29 Aug 2018 11:53:14 +0200
+Subject: [PATCH] Fix misspellings in man pages and usage
+
+Also remove some trailing whitespaces from the same files.
+
+Signed-off-by: Tobias Klauser <tklauser(a)distanz.ch>
+---
+ dracut.cmdline.7.asc | 2 +-
+ dracut.modules.7.asc | 6 +++---
+ dracut.usage.asc | 4 ++--
+ mkinitrd-suse.8.asc | 6 +++---
+ 4 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 882035af..3cee5a00 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -601,7 +601,7 @@ NFS
+ mount nfs share from <server-ip>:/<root-dir>, if no server-ip is given, use
+ dhcp next_server. If server-ip is an IPv6 address it has to be put in
+ brackets, e.g. [2001:DB8::1]. NFS options can be appended with the prefix
+- ":" or "," and are seperated by ",".
++ ":" or "," and are separated by ",".
+
+ **root=**nfs:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**nfs4:\[_<server-ip>_:]__<root-dir>__[:__<nfs-options>__], **root=**__{dhcp|dhcp6}__::
+ root=dhcp alone directs initrd to look at the DHCP root-path where NFS
+diff --git a/dracut.modules.7.asc b/dracut.modules.7.asc
+index 69ac6c44..c34d005d 100644
+--- a/dracut.modules.7.asc
++++ b/dracut.modules.7.asc
+@@ -212,7 +212,7 @@ check() should return with:
+
+ 0:: Include the dracut module in the initramfs.
+
+-1:: Do not include the dracut module. The requirements are not fullfilled
++1:: Do not include the dracut module. The requirements are not fulfilled
+ (missing tools, etc.)
+
+ 255:: Only include the dracut module, if another module requires it or if
+@@ -255,8 +255,8 @@ not lead to an error.
+ ==== inst <src> [<dst>]
+
+ installs _one_ file <src> either to the same place in the initramfs or to an
+-optional <dst>. inst with more than two arguments is treated the same as
+-inst_multiple, all arguments are treated as files to install and none as
++optional <dst>. inst with more than two arguments is treated the same as
++inst_multiple, all arguments are treated as files to install and none as
+ install destinations.
+
+ ==== inst_hook <hookdir> <prio> <src>
+diff --git a/dracut.usage.asc b/dracut.usage.asc
+index 2b25588f..2b598ee6 100644
+--- a/dracut.usage.asc
++++ b/dracut.usage.asc
+@@ -243,7 +243,7 @@ If your root partition is on a network drive, you have to have the network
+ dracut modules installed to create a network aware initramfs image.
+
+ If you specify ip=dhcp on the kernel command line, then dracut asks a dhcp
+-server about the ip adress for the machine. The dhcp server can also serve an
++server about the ip address for the machine. The dhcp server can also serve an
+ additional root-path, which will set the root device for dracut. With this
+ mechanism, you have static configuration on your client machine and a
+ centralized boot configuration on your TFTP/DHCP server. If you can't pass a
+@@ -252,7 +252,7 @@ method described in <<Injecting>>.
+
+ ==== Reducing the Image Size
+
+-To reduce the size of the initramfs, you should create it with by ommitting all
++To reduce the size of the initramfs, you should create it with by omitting all
+ dracut modules, which you know, you don't need to boot the machine.
+
+ You can also specify the exact dracut and kernel modules to produce a very tiny
+diff --git a/mkinitrd-suse.8.asc b/mkinitrd-suse.8.asc
+index 91ec4695..e39ac52b 100644
+--- a/mkinitrd-suse.8.asc
++++ b/mkinitrd-suse.8.asc
+@@ -18,7 +18,7 @@ DESCRIPTION
+ version <kernel-version> by calling *dracut*.
+
+ [IMPORTANT]
+-This version of mkinitrd is provided for compability with older
++This version of mkinitrd is provided for compatibility with older
+ versions of mkinitrd. If a more fine grained control over the
+ resulting image is needed, *dracut* should be called directly.
+
+@@ -30,7 +30,7 @@ OPTIONS
+ **-k**_<kernel_list>_::
+ List of kernel images for which initrd files are created (relative
+ to _boot_dir_), Image name should begin with the following string,
+- defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x and _vmlinuz_
++ defaults to _vmlinux_ on ppc/ppc64, _image_ on s390/s390x and _vmlinuz_
+ for everything else.
+
+ **-i**_<initrd_list>_::
+@@ -51,7 +51,7 @@ OPTIONS
+
+ **-d**_<root_device>_::
+ Root device, defaults to the device from which the root_dir is
+- mounted; overwrites the rootdev enviroment variable if set
++ mounted; overwrites the rootdev environment variable if set
+
+ **-s**_<size>_::
+ Add splash animation and bootscreen to initrd.
+
diff --git a/0082.patch b/0082.patch
new file mode 100644
index 0000000..149f2e5
--- /dev/null
+++ b/0082.patch
@@ -0,0 +1,46 @@
+From e9a84e0a215fb5a79e563f665bc406c0ea177d32 Mon Sep 17 00:00:00 2001
+From: Daniel Molkentin <dmolkentin(a)suse.com>
+Date: Wed, 5 Sep 2018 12:06:06 +0200
+Subject: [PATCH] 98dracut-systemd: Start systemd-vconsole-setup before
+ dracut-cmdline-ask
+
+This is what happened before this patch (edited for brevity):
+
+ dracut-cmdline-ask.service in modules.d/98dracut-systemd, which invokes
+ dracut-cmdline-ask.sh. This script and systemd-vconsole-setup are
+ started in parallel for the same console (tty1).
+
+ Then dracut-cmdline-ask quits immediately without doing anything (unless
+ rd.cmdline=ask is given). As this is a bash script and it gets tty as
+ stdin as specified in its *.service, this triggers the hangup of tty1 at
+ its exit.
+
+ Meanwhile systemd-vconsole-setup continues and tries some ioctls after
+ that, but they fail because of the hung up tty1.
+
+The usual culprit for starting systemd-vconsole-setup early on is
+plymouth-start.service, even if plymouth.enable=0 is set.
+
+A popular (and annoying) symptom of this as reported by users was
+the inability use their configured keyboard layout in plymouth when
+unlocking their crypted block devices.
+
+Reference: boo#1055834
+---
+ modules.d/98dracut-systemd/dracut-cmdline-ask.service | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
+index ce7deda5..b96c2aaf 100644
+--- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service
++++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service
+@@ -7,6 +7,8 @@ Description=dracut ask for additional cmdline parameters
+ DefaultDependencies=no
+ Before=dracut-cmdline.service
+ After=systemd-journald.socket
++After=systemd-vconsole-setup.service
++Requires=systemd-vconsole-setup.service
+ Wants=systemd-journald.socket
+ ConditionPathExists=/usr/lib/initrd-release
+ ConditionKernelCommandLine=|rd.cmdline=ask
+
diff --git a/0083.patch b/0083.patch
new file mode 100644
index 0000000..100fbb5
--- /dev/null
+++ b/0083.patch
@@ -0,0 +1,88 @@
+From a7d8fc280c172ab023ce6170c33c323fb7c87adf Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Mon, 3 Sep 2018 17:01:53 -0400
+Subject: [PATCH] dmsquash-live: Avoid grep and sed in this module.
+
+strstr and variable string manipulations suffice.
+---
+ modules.d/90dmsquash-live/dmsquash-generator.sh | 4 ++--
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 6 +++---
+ modules.d/90dmsquash-live/module-setup.sh | 2 +-
+ modules.d/90dmsquash-live/parse-dmsquash-live.sh | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-generator.sh b/modules.d/90dmsquash-live/dmsquash-generator.sh
+index 1129ddff..f57b1fc5 100755
+--- a/modules.d/90dmsquash-live/dmsquash-generator.sh
++++ b/modules.d/90dmsquash-live/dmsquash-generator.sh
+@@ -18,12 +18,12 @@ fi
+ case "$liveroot" in
+ live:LABEL=*|LABEL=*) \
+ root="${root#live:}"
+- root="$(echo $root | sed 's,/,\\x2f,g')"
++ root="${root//\//\\x2f}"
+ root="live:/dev/disk/by-label/${root#LABEL=}"
+ rootok=1 ;;
+ live:CDLABEL=*|CDLABEL=*) \
+ root="${root#live:}"
+- root="$(echo $root | sed 's,/,\\x2f,g')"
++ root="${root//\//\\x2f}"
+ root="live:/dev/disk/by-label/${root#CDLABEL=}"
+ rootok=1 ;;
+ live:UUID=*|UUID=*) \
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index 0f3d8f89..330ba3e9 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -109,15 +109,15 @@ do_live_overlay() {
+
+ if [ -z "$overlay" ]; then
+ pathspec="/${live_dir}/overlay-$l-$u"
+- elif ( echo $overlay | grep -q ":" ); then
++ elif strstr $overlay ":"; then
+ # pathspec specified, extract
+- pathspec=$( echo $overlay | sed -e 's/^.*://' )
++ pathspec=${overlay##*:}
+ fi
+
+ if [ -z "$pathspec" -o "$pathspec" = "auto" ]; then
+ pathspec="/${live_dir}/overlay-$l-$u"
+ fi
+- devspec=$( echo $overlay | sed -e 's/:.*$//' )
++ devspec=${overlay%%:*}
+
+ # need to know where to look for the overlay
+ if [ -z "$setup" -a -n "$devspec" -a -n "$pathspec" -a -n "$overlay" ]; then
+diff --git a/modules.d/90dmsquash-live/module-setup.sh b/modules.d/90dmsquash-live/module-setup.sh
+index 48418a06..f251258f 100755
+--- a/modules.d/90dmsquash-live/module-setup.sh
++++ b/modules.d/90dmsquash-live/module-setup.sh
+@@ -22,7 +22,7 @@ installkernel() {
+
+ # called by dracut
+ install() {
+- inst_multiple umount dmsetup blkid dd losetup grep blockdev find
++ inst_multiple umount dmsetup blkid dd losetup blockdev find
+ inst_multiple -o checkisomd5
+ inst_hook cmdline 30 "$moddir/parse-dmsquash-live.sh"
+ inst_hook cmdline 31 "$moddir/parse-iso-scan.sh"
+diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+index 0eedf1f6..4d46a360 100755
+--- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
++++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+@@ -20,12 +20,12 @@ modprobe -q loop
+ case "$liveroot" in
+ live:LABEL=*|LABEL=*) \
+ root="${root#live:}"
+- root="$(echo $root | sed 's,/,\\x2f,g')"
++ root="${root//\//\\x2f}"
+ root="live:/dev/disk/by-label/${root#LABEL=}"
+ rootok=1 ;;
+ live:CDLABEL=*|CDLABEL=*) \
+ root="${root#live:}"
+- root="$(echo $root | sed 's,/,\\x2f,g')"
++ root="${root//\//\\x2f}"
+ root="live:/dev/disk/by-label/${root#CDLABEL=}"
+ rootok=1 ;;
+ live:UUID=*|UUID=*) \
+
diff --git a/0084.patch b/0084.patch
new file mode 100644
index 0000000..ef1ee87
--- /dev/null
+++ b/0084.patch
@@ -0,0 +1,72 @@
+From 44d1688164040f088fd66fb8a2d458e1f61836ce Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Mon, 3 Sep 2018 19:02:23 -0400
+Subject: [PATCH] dmsquash-live-root: Manage absent overlayfs module better.
+
+die when required; systemctl reload otherwise.
+---
+ modules.d/90dmsquash-live/dmsquash-live-root.sh | 26 +++++++++++++++----------
+ 1 file changed, 16 insertions(+), 10 deletions(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root.sh b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+index 330ba3e9..6324fe83 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-root.sh
+@@ -146,10 +146,10 @@ do_live_overlay() {
+ [ -d /run/initramfs/overlayfs/ovlwork ]; then
+ ln -s /run/initramfs/overlayfs/overlayfs /run/overlayfs$opt
+ ln -s /run/initramfs/overlayfs/ovlwork /run/ovlwork$opt
+- if [ -z "$overlayfs" ]; then
+- overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
++ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
++ reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
++ overlayfs="required"
+ setup="yes"
+ fi
+ fi
+@@ -157,18 +157,24 @@ do_live_overlay() {
+ [ -d /run/initramfs/overlayfs$pathspec/../ovlwork ]; then
+ ln -s /run/initramfs/overlayfs$pathspec /run/overlayfs$opt
+ ln -s /run/initramfs/overlayfs$pathspec/../ovlwork /run/ovlwork$opt
+- if [ -z "$overlayfs" ]; then
+- overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
++ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
++ reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
++ overlayfs="required"
+ setup="yes"
+ fi
+ fi
+ if [ -n "$overlayfs" ]; then
+ modprobe overlay
+ if [ $? != 0 ]; then
++ if [ "$overlayfs" = required ]; then
++ die "OverlayFS is required but not available."
++ exit 1
++ fi
++ [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
+ m='OverlayFS is not available; using temporary Device-mapper overlay.'
+- unset -v overlayfs setup reloadsysrootmountunit
++ info $m
++ unset -v overlayfs setup
+ fi
+ fi
+
+@@ -302,10 +308,10 @@ if [ -e "$SQUASHED" ]; then
+ fi
+ elif [ -d /run/initramfs/squashfs/proc ]; then
+ FSIMG=$SQUASHED
+- if [ -z "$overlayfs" ]; then
+- overlayfs="yes"
+- [ -n "$DRACUT_SYSTEMD" ] && reloadsysrootmountunit=":>/xor_overlayfs;"
++ if [ -z "$overlayfs" ] && [ -n "$DRACUT_SYSTEMD" ]; then
++ reloadsysrootmountunit=":>/xor_overlayfs;"
+ fi
++ overlayfs="required"
+ else
+ die "Failed to find a root filesystem in $SQUASHED."
+ exit 1
+
diff --git a/0085.patch b/0085.patch
new file mode 100644
index 0000000..0a44482
--- /dev/null
+++ b/0085.patch
@@ -0,0 +1,24 @@
+From 8dd7bb48fcd9d19dd2d7cec2577cd2c6b414fd8b Mon Sep 17 00:00:00 2001
+From: Frederick Grose <fgrose(a)sugarlabs.org>
+Date: Mon, 3 Sep 2018 19:41:58 -0400
+Subject: [PATCH] dmsquash-live/apply-live-updates: Test proper file link.
+
+Update flag link to /dev/root as required by commit
+789668deb3e6f8584ffab964d2204ddcb75f0a06.
+---
+ modules.d/90dmsquash-live/apply-live-updates.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90dmsquash-live/apply-live-updates.sh b/modules.d/90dmsquash-live/apply-live-updates.sh
+index bcca761b..3df2d4ad 100755
+--- a/modules.d/90dmsquash-live/apply-live-updates.sh
++++ b/modules.d/90dmsquash-live/apply-live-updates.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-if [ -L /run/rootfsbase ] && [ -d /run/initramfs/live/updates -o -d /updates ]; then
++if [ -h /dev/root ] && [ -d /run/initramfs/live/updates -o -d /updates ]; then
+ info "Applying updates to live image..."
+ mount -o bind /run $NEWROOT/run
+ # avoid overwriting symlinks (e.g. /lib -> /usr/lib) with directories
+
diff --git a/0086.patch b/0086.patch
new file mode 100644
index 0000000..970ae94
--- /dev/null
+++ b/0086.patch
@@ -0,0 +1,67 @@
+From b3480d31b01e66e21a70b7dab55eac95449126c7 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander(a)tsoy.me>
+Date: Sat, 8 Sep 2018 17:02:03 +0300
+Subject: [PATCH] Prevent environment leaking into initrd-release
+
+On my system the following initrd-release is generated:
+...
+VERSION="4 dracut-048 dracut-048"
+...
+
+VERSION is not defined in /etc/os-release, so the variable is
+concatenated with its previous value:
+
+* "4" comes from the kernel build system since dracut is called from the
+ kernel install hook ("4" is a major kernel version);
+* first "dracut-048" comes from the "systemd-initrd" module;
+* second "dracut-048" comes from the "base" module.
+---
+ modules.d/01systemd-initrd/module-setup.sh | 9 ++++-----
+ modules.d/99base/module-setup.sh | 9 ++++-----
+ 2 files changed, 8 insertions(+), 10 deletions(-)
+
+diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh
+index c1ccd2af..cb8a8fa6 100755
+--- a/modules.d/01systemd-initrd/module-setup.sh
++++ b/modules.d/01systemd-initrd/module-setup.sh
+@@ -38,13 +38,12 @@ install() {
+
+ ln_r "${systemdsystemunitdir}/initrd.target" "${systemdsystemunitdir}/default.target"
+
++ local VERSION=""
++ local PRETTY_NAME=""
+ if [ -e /etc/os-release ]; then
+ . /etc/os-release
+- VERSION+=" "
+- PRETTY_NAME+=" "
+- else
+- VERSION=""
+- PRETTY_NAME=""
++ [[ -n ${VERSION} ]] && VERSION+=" "
++ [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
+ fi
+ NAME=dracut
+ ID=dracut
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index 731c6dcc..21523fc9 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -63,13 +63,12 @@ install() {
+ echo ro >> "${initdir}/etc/cmdline.d/base.conf"
+ fi
+
++ local VERSION=""
++ local PRETTY_NAME=""
+ if [ -e /etc/os-release ]; then
+ . /etc/os-release
+- VERSION+=" "
+- PRETTY_NAME+=" "
+- else
+- VERSION=""
+- PRETTY_NAME=""
++ [[ -n ${VERSION} ]] && VERSION+=" "
++ [[ -n ${PRETTY_NAME} ]] && PRETTY_NAME+=" "
+ fi
+ NAME=dracut
+ ID=dracut
+
diff --git a/0087.patch b/0087.patch
new file mode 100644
index 0000000..23b3ca2
--- /dev/null
+++ b/0087.patch
@@ -0,0 +1,32 @@
+From 838f22259a50e5f92429ecdd24b897c1128edc98 Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander(a)tsoy.me>
+Date: Sun, 9 Sep 2018 02:47:09 +0300
+Subject: [PATCH] install: avoid non-portable __WORDSIZE
+
+Lets not unnecessarily rely on __WORDSIZE, which is not clearly specified
+by any spec. Use explicit size comparisons if we're not interested in the
+WORDSIZE, anyway.
+
+Patch ported from systemd.
+(commit 8507eb20b64010b26f23822cbf442bb0bf96511c)
+
+Original-patch-by: Emil Renner Berthing <systemd(a)esmil.dk>
+Bug: https://bugs.gentoo.org/602122
+---
+ install/util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/install/util.h b/install/util.h
+index 2ad3254d..c13b1a27 100644
+--- a/install/util.h
++++ b/install/util.h
+@@ -167,7 +167,7 @@ int safe_atoi(const char *s, int *ret_i);
+ int safe_atollu(const char *s, unsigned long long *ret_u);
+ int safe_atolli(const char *s, long long int *ret_i);
+
+-#if __WORDSIZE == 32
++#if LONG_MAX == INT_MAX
+ static inline int safe_atolu(const char *s, unsigned long *ret_u) {
+ assert_cc(sizeof(unsigned long) == sizeof(unsigned));
+ return safe_atou(s, (unsigned*) ret_u);
+
diff --git a/0088.patch b/0088.patch
new file mode 100644
index 0000000..58d0f89
--- /dev/null
+++ b/0088.patch
@@ -0,0 +1,24 @@
+From f4334e9bdf5ff85d5f9d9eb12f51a6b78e94101e Mon Sep 17 00:00:00 2001
+From: Alexander Tsoy <alexander(a)tsoy.me>
+Date: Sun, 9 Sep 2018 13:57:33 +0300
+Subject: [PATCH] base/dracut-lib.sh: use "command -v" in pidof()
+
+"type -P" doesn't work in dash
+---
+ modules.d/99base/dracut-lib.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index b78272a3..f71e757c 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -1060,7 +1060,7 @@ if ! command -v pidof >/dev/null 2>/dev/null; then
+ debug_on
+ return 1
+ fi
+- _exe=$(type -P "$1")
++ _exe=$(command -v "$1")
+ for i in /proc/*/exe; do
+ [ -e "$i" ] || continue
+ if [ -n "$_exe" ]; then
+
diff --git a/0089.patch b/0089.patch
new file mode 100644
index 0000000..3de1342
--- /dev/null
+++ b/0089.patch
@@ -0,0 +1,349 @@
+From 095e1f37c41e8995c95635a47dbe2bf61d8ee2bc Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Tue, 11 Sep 2018 19:32:24 +0800
+Subject: [PATCH] Add support for building a squashed initramfs
+
+With all files stored in ramfs, and most of them are not compressed,
+the initramfs will take up a lot of memory. Besides, if the file number
+is large, each file will waste some memory due to page fragmetation.
+This is due to ramfs' design, at least one page will be allocated for
+one file however small the file is. On machine with large page size,
+this will become worse and waste too many memory.
+
+One approach to reducing the memory usage is to reduce the number of
+files that got directly loaded into the root ramfs, and compress files
+by put most files will into a read-only squash image and keep a minimum
+set of executable and libraries outside as the loader for the squash
+image. After the squash image is mounted, the real 'init' will be
+executed and then everything behaves as usual.
+
+This patch will introduce a '99squash' module which will never be
+included by default. User can force add it, and if it is included,
+dracut will perform some extra steps before creating the final image:
+
+For now, "/etc" and "/usr" will be moved into the squashfs image.
+"/init" will be renamed to "/init.stock" and replaced by "/init.squash".
+Files and folders need to be accessible before mounting the image will
+be still avaliable at their original place. And due to squashfs is
+readonly, an overlayfs layer will be created on top of squashfs mount
+point, as many dracut module require readwrite access to "/etc" and
+"/usr", "init.squash" will ultimately call "/init.stock".
+
+An extra systemd service will be installed. This service will umount all
+squashfs related mount points right before switch-root to release
+resources properly. This service will not actually do anything if
+switch-root is not used.
+
+This is very helpful when mem resource is very limited, like Kdump.
+According to my tests, this squash module can help save about 35MB of
+memory with 64K page size, or about 15MB with 4K page size on an
+ordinary kdump capture routine. This module could also help reduce
+memory usage for normal boot up process.
+
+Won't change any behavior if squash module is not enabled.
+
+Signed-off-by: Kairui Song <kasong(a)redhat.com>
+---
+ dracut.sh | 114 ++++++++++++++++++++++++++++
+ modules.d/99squash/clear-squash.sh | 9 +++
+ modules.d/99squash/init.sh | 7 ++
+ modules.d/99squash/module-setup.sh | 29 +++++++
+ modules.d/99squash/setup-squash.sh | 61 +++++++++++++++
+ modules.d/99squash/shutdown.sh | 7 ++
+ modules.d/99squash/squash-mnt-clear.service | 19 +++++
+ 7 files changed, 246 insertions(+)
+
+diff --git a/dracut.sh b/dracut.sh
+index 8ee8c168..e683a9bc 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1747,6 +1747,120 @@ fi
+
+ dinfo "*** Creating image file '$outfile' ***"
+
++if dracut_module_included "squash"; then
++ if ! check_kernel_config CONFIG_SQUASHFS; then
++ dfatal "CONFIG_SQUASHFS have to be enabled for dracut squash module to work"
++ exit 1
++ fi
++ if ! check_kernel_config CONFIG_OVERLAY_FS; then
++ dfatal "CONFIG_OVERLAY_FS have to be enabled for dracut squash module to work"
++ exit 1
++ fi
++ if ! check_kernel_config CONFIG_DEVTMPFS; then
++ dfatal "CONFIG_DEVTMPFS have to be enabled for dracut squash module to work"
++ exit 1
++ fi
++
++ readonly squash_dir="${DRACUT_TMPDIR}/squashfs"
++ readonly squash_img=$initdir/squash/root.img
++
++ # Currently only move "usr" "etc" to squashdir
++ readonly squash_candidate=( "usr" "etc" )
++
++ mkdir -m 0755 -p $squash_dir
++ for folder in "${squash_candidate[@]}"; do
++ mv $initdir/$folder $squash_dir/$folder
++ done
++
++ # Reinstall required files, because we have moved some important folders to $squash_dir
++ inst_multiple "echo" "sh" "mount" "modprobe" "mkdir" \
++ "systemctl" "udevadm" "$systemdutildir/systemd"
++ hostonly="" instmods "loop" "squashfs" "overlay"
++
++ for folder in "${squash_candidate[@]}"; do
++ # Remove duplicated files in squashfs image, save some more space
++ [[ ! -d $initdir/$folder/ ]] && continue
++ for file in $(find $initdir/$folder/ -not -type d);
++ do
++ if [[ -e $squash_dir${file#$initdir} ]]; then
++ mv $squash_dir${file#$initdir} $file
++ fi
++ done
++ done
++
++ # Move some files out side of the squash image, including:
++ # - Files required to boot and mount the squashfs image
++ # - Files need to be accessable without mounting the squash image
++ required_in_root() {
++ local file=$1
++ local _sqsh_file=$squash_dir/$file
++ local _init_file=$initdir/$file
++
++ if [[ -e $_init_file ]]; then
++ return
++ fi
++
++ if [[ ! -e $_sqsh_file ]] && [[ ! -L $_sqsh_file ]]; then
++ derror "$file is required to boot a squashed initramfs but it's not installed!"
++ return
++ fi
++
++ if [[ ! -d $(dirname $_init_file) ]]; then
++ required_in_root $(dirname $file)
++ fi
++
++ if [[ -d $_sqsh_file ]]; then
++ if [[ -L $_sqsh_file ]]; then
++ cp --preserve=all -P $_sqsh_file $_init_file
++ else
++ mkdir $_init_file
++ fi
++ else
++ if [[ -L $_sqsh_file ]]; then
++ cp --preserve=all -P $_sqsh_file $_init_file
++ _sqsh_file=$(realpath $_sqsh_file 2>/dev/null)
++ if [[ -e $_sqsh_file ]] && [[ "$_sqsh_file" == "$squash_dir"* ]]; then
++ # Relative symlink
++ required_in_root ${_sqsh_file#$squash_dir/}
++ return
++ fi
++ if [[ -e $squash_dir$_sqsh_file ]]; then
++ # Absolute symlink
++ required_in_root ${_sqsh_file#/}
++ return
++ fi
++ required_in_root ${module_spec#$squash_dir/}
++ else
++ mv $_sqsh_file $_init_file
++ fi
++ fi
++ }
++
++ required_in_root etc/initrd-release
++
++ for module_spec in $squash_dir/usr/lib/modules/*/modules.*;
++ do
++ required_in_root ${module_spec#$squash_dir/}
++ done
++
++ for dracut_spec in $squash_dir/usr/lib/dracut/*;
++ do
++ required_in_root ${dracut_spec#$squash_dir/}
++ done
++
++ mv $initdir/init $initdir/init.stock
++ mv $initdir/shutdown $initdir/shutdown.stock
++ ln -s squash/init.sh $initdir/init
++ ln -s squash/shutdown.sh $initdir/shutdown
++
++ mksquashfs $squash_dir $squash_img -comp xz -b 64K -Xdict-size 100% &> /dev/null
++
++ if [[ $? != 0 ]]; then
++ dfatal "dracut: Failed making squash image"
++ exit 1
++ fi
++fi
++
+ if [[ $uefi = yes ]]; then
+ readonly uefi_outdir="$DRACUT_TMPDIR/uefi"
+ mkdir "$uefi_outdir"
+diff --git a/modules.d/99squash/clear-squash.sh b/modules.d/99squash/clear-squash.sh
+new file mode 100755
+index 00000000..34cb4cf5
+--- /dev/null
++++ b/modules.d/99squash/clear-squash.sh
+@@ -0,0 +1,9 @@
++#!/bin/sh
++SQUASH_MNT_REC=/squash/mounts
++SQUASH_MNTS=( )
++
++while read mnt; do
++ SQUASH_MNTS+=( "$mnt" )
++done <<< "$(cat $SQUASH_MNT_REC)"
++
++umount --lazy -- ${SQUASH_MNTS[@]}
+diff --git a/modules.d/99squash/init.sh b/modules.d/99squash/init.sh
+new file mode 100755
+index 00000000..bca49db5
+--- /dev/null
++++ b/modules.d/99squash/init.sh
+@@ -0,0 +1,7 @@
++#!/bin/sh
++/squash/setup-squash.sh
++
++exec /init.stock
++
++echo "Something went wrong when trying to start original init executable!"
++exit 1
+diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
+new file mode 100644
+index 00000000..935fd721
+--- /dev/null
++++ b/modules.d/99squash/module-setup.sh
+@@ -0,0 +1,29 @@
++#!/bin/bash
++
++check() {
++ return 255
++}
++
++depends() {
++ echo "bash systemd systemd-initrd"
++ return 0
++}
++
++installkernel() {
++ hostonly="" instmods squashfs loop overlay
++}
++
++install() {
++ if ! type -P mksquashfs >/dev/null || ! type -P unsquashfs >/dev/null ; then
++ derror "squash module requires squashfs-tools to be installed."
++ return 1
++ fi
++
++ inst_multiple kmod modprobe mount mkdir ln echo
++ inst $moddir/setup-squash.sh /squash/setup-squash.sh
++ inst $moddir/clear-squash.sh /squash/clear-squash.sh
++ inst $moddir/init.sh /squash/init.sh
++
++ inst "$moddir/squash-mnt-clear.service" "$systemdsystemunitdir/squash-mnt-clear.service"
++ ln_r "$systemdsystemunitdir/squash-mnt-clear.service" "$systemdsystemunitdir/initrd.target.wants/squash-mnt-clear.service"
++}
+diff --git a/modules.d/99squash/setup-squash.sh b/modules.d/99squash/setup-squash.sh
+new file mode 100755
+index 00000000..d2740e7c
+--- /dev/null
++++ b/modules.d/99squash/setup-squash.sh
+@@ -0,0 +1,61 @@
++#!/bin/sh
++PATH=/bin:/sbin
++
++SQUASH_IMG=/squash/root.img
++SQUASH_MNT=/squash/root
++SQUASH_MNT_REC=/squash/mounts
++SQUASHED_MNT="usr etc"
++
++echo $SQUASH_MNT > $SQUASH_MNT_REC
++
++# Following mount points are neccessary for mounting a squash image
++
++[ ! -d /proc/self ] && \
++ mount -t proc -o nosuid,noexec,nodev proc /proc
++
++[ ! -d /sys/kernel ] && \
++ mount -t sysfs -o nosuid,noexec,nodev sysfs /sys
++
++[ ! -e /dev/loop-control ] && \
++ mount -t devtmpfs -o mode=0755,noexec,nosuid,strictatime devtmpfs /dev
++
++# Need a loop device backend, overlayfs, and squashfs module
++modprobe loop
++if [ $? != 0 ]; then
++ echo "Unable to setup loop module"
++fi
++
++modprobe squashfs
++if [ $? != 0 ]; then
++ echo "Unable to setup squashfs module"
++fi
++
++modprobe overlay
++if [ $? != 0 ]; then
++ echo "Unable to setup overlay module"
++fi
++
++[ ! -d "$SQUASH_MNT" ] && \
++ mkdir -m 0755 -p $SQUASH_MNT
++
++# Mount the squashfs image
++mount -t squashfs -o ro,loop $SQUASH_IMG $SQUASH_MNT
++
++if [ $? != 0 ]; then
++ echo "Unable to mount squashed initramfs image"
++fi
++
++for file in $SQUASHED_MNT; do
++ lowerdir=$SQUASH_MNT/$file
++ workdir=/squash/overlay-work/$file
++ upperdir=/$file
++ mntdir=/$file
++
++ mkdir -m 0755 -p $workdir
++ mkdir -m 0755 -p $mntdir
++
++ mount -t overlay overlay -o\
++ lowerdir=$lowerdir,upperdir=$upperdir,workdir=$workdir $mntdir
++
++ echo $mntdir >> $SQUASH_MNT_REC
++done
+diff --git a/modules.d/99squash/shutdown.sh b/modules.d/99squash/shutdown.sh
+new file mode 100755
+index 00000000..535779f4
+--- /dev/null
++++ b/modules.d/99squash/shutdown.sh
+@@ -0,0 +1,7 @@
++#!/bin/sh
++/squash/setup-squash.sh
++
++exec /shutdown.stock
++
++echo "Something went wrong when trying to start original shutdown executable!"
++exit 1
+diff --git a/modules.d/99squash/squash-mnt-clear.service b/modules.d/99squash/squash-mnt-clear.service
+new file mode 100644
+index 00000000..8dd17812
+--- /dev/null
++++ b/modules.d/99squash/squash-mnt-clear.service
+@@ -0,0 +1,19 @@
++# This file is part of dracut.
++#
++
++[Unit]
++Description=Cleanup squashfs mounts when switch root
++DefaultDependencies=no
++After=initrd.target
++After=dracut-initqueue.service dracut-pre-pivot.service
++Before=initrd-cleanup.service
++ConditionPathExists=/squash/root
++Conflicts=initrd-switch-root.target
++
++[Service]
++Type=oneshot
++RemainAfterExit=yes
++StandardInput=null
++StandardOutput=syslog+console
++StandardError=syslog+console
++ExecStop=/squash/clear-squash.sh
+
diff --git a/0090.patch b/0090.patch
new file mode 100644
index 0000000..82b559a
--- /dev/null
+++ b/0090.patch
@@ -0,0 +1,43 @@
+From 24f3463bff8600d562975c9a7c44365066a50ca4 Mon Sep 17 00:00:00 2001
+From: Kairui Song <kasong(a)redhat.com>
+Date: Thu, 20 Sep 2018 17:23:19 +0800
+Subject: [PATCH] dracut.spec: Add dracut-squash package
+
+As 99squash module requires extra dependency and it introduces new
+files, add a new sub package for this module.
+---
+ dracut.spec | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/dracut.spec b/dracut.spec
+index 09c74478..d9cfdf1c 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -178,6 +178,16 @@ Requires: %{name} = %{version}-%{release}
+ %description tools
+ This package contains tools to assemble the local initrd and host configuration.
+
++%package squash
++Summary: dracut module to build an initramfs with most files in a squashfs image
++Requires: %{name} = %{version}-%{release}
++Requires: squash-tools
++
++%description squash
++This package provides a dracut module to build an initramfs, but store most files
++in a squashfs image, result in a smaller initramfs size and reduce runtime memory
++usage.
++
+ %prep
+ %autosetup -n %{name}-%{version} -S git_am
+ cp %{SOURCE1} .
+@@ -439,6 +449,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+ %doc %{_mandir}/man8/dracut-catimages.8*
+ %endif
+
++%files squash
++%{dracutlibdir}/modules.d/99squash
++
+ %{_bindir}/dracut-catimages
+ %dir /boot/dracut
+ %dir /var/lib/dracut
+
diff --git a/0091.patch b/0091.patch
new file mode 100644
index 0000000..bc86778
--- /dev/null
+++ b/0091.patch
@@ -0,0 +1,30 @@
+From 0454dc247a146fabd66232c26536514dca1f6044 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Tue, 18 Sep 2018 11:17:54 +0200
+Subject: [PATCH] network: configure NetworkManager to use dhclient
+
+If the network module obtained a lease using dhclient, NetworkManager
+must be configured to use it too, otherwise it would obtain a different
+lease (and could potentially break a connection to the network volume).
+---
+ modules.d/40network/ifup.sh | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index 54981386..ea2a67ff 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -41,6 +41,12 @@ do_dhcp() {
+ return 1
+ fi
+
++ if [ ! -e /run/NetworkManager/conf.d/10-dracut-dhclient.conf ]; then
++ mkdir -p /run/NetworkManager/conf.d
++ echo '[main]' > /run/NetworkManager/conf.d/10-dracut-dhclient.conf
++ echo 'dhcp=dhclient' >>/run/NetworkManager/conf.d/10-dracut-dhclient.conf
++ fi
++
+ while [ $_COUNT -lt $_DHCPRETRY ]; do
+ info "Starting dhcp for interface $netif"
+ dhclient "$@" \
+
diff --git a/0092.patch b/0092.patch
new file mode 100644
index 0000000..ed20a76
--- /dev/null
+++ b/0092.patch
@@ -0,0 +1,37 @@
+From 9e82732dd412a49cbdf9c4b998f04ac0a39e393f Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Thu, 30 Aug 2018 16:21:17 +0200
+Subject: [PATCH] iscsi: do not replace the configuration in the host system
+
+ ln: failed to create symbolic link '/usr/lib/systemd/system/sockets.target.wants/iscsid.socket': Permission denied
+ ln: failed to create symbolic link '/usr/lib/systemd/system/sockets.target.wants/iscsiuio.socket': Permission denied
+
+No way. Just ensure the links are there in the initramfs image. In fact,
+that is already the case for iscsiuio.socket. Add iscsid.socket too.
+---
+ modules.d/95iscsi/module-setup.sh | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index d8405fce..04beae4c 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -208,9 +208,6 @@ install() {
+ inst_libdir_file 'libgcc_s.so*'
+ inst_multiple umount hostname iscsi-iname iscsiadm iscsid
+
+- ln -sf $systemdsystemunitdir/iscsid.socket $systemdsystemunitdir/sockets.target.wants/iscsid.socket
+- ln -sf $systemdsystemunitdir/iscsiuio.socket $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
+-
+ inst_multiple -o \
+ $systemdsystemunitdir/iscsid.socket \
+ $systemdsystemunitdir/iscsid.service \
+@@ -243,6 +240,7 @@ install() {
+
+ mkdir -p "${initdir}/$systemdsystemunitdir/sockets.target.wants"
+ for i in \
++ iscsid.socket \
+ iscsiuio.socket \
+ ; do
+ ln_r "$systemdsystemunitdir/${i}" "$systemdsystemunitdir/sockets.target.wants/${i}"
+
diff --git a/0093.patch b/0093.patch
new file mode 100644
index 0000000..45f9dce
--- /dev/null
+++ b/0093.patch
@@ -0,0 +1,29 @@
+From 5e615f4eb488e469395e7e30059a22d8225d9a0a Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Thu, 30 Aug 2018 18:38:34 +0200
+Subject: [PATCH] iscsi: do not install all of /etc/iscsi unless hostonly
+
+/etc/iscsi/initiatorname.iscsi would leak the host initiator name (that
+is host configuration) to the initramfs. Perhaps other files too.
+---
+ modules.d/95iscsi/module-setup.sh | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 04beae4c..5c2073bb 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -216,7 +216,11 @@ install() {
+ $systemdsystemunitdir/sockets.target.wants/iscsid.socket \
+ $systemdsystemunitdir/sockets.target.wants/iscsiuio.socket
+
+- [[ -d /etc/iscsi ]] && inst_dir $(/usr/bin/find /etc/iscsi)
++ if [[ $hostonly ]]; then
++ inst_dir $(/usr/bin/find /etc/iscsi)
++ else
++ inst_simple /etc/iscsi/iscsid.conf
++ fi
+
+ # Detect iBFT and perform mandatory steps
+ if [[ $hostonly_cmdline == "yes" ]] ; then
+
diff --git a/0094.patch b/0094.patch
new file mode 100644
index 0000000..5f8dc65
--- /dev/null
+++ b/0094.patch
@@ -0,0 +1,27 @@
+From 0aa2e5f7280a0f88d5f8d69dd9467e7b81d6a231 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Thu, 30 Aug 2018 18:41:37 +0200
+Subject: [PATCH] iscsi: start iscsid even w/o systemd
+
+---
+ modules.d/95iscsi/iscsiroot.sh | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
+index 76c8b3fe..4efc1d12 100755
+--- a/modules.d/95iscsi/iscsiroot.sh
++++ b/modules.d/95iscsi/iscsiroot.sh
+@@ -194,6 +194,12 @@ handle_netroot()
+ sleep 1
+ fi
+ fi
++
++ if [ -z "$DRACUT_SYSTEMD" ]; then
++ iscsid
++ sleep 2
++ fi
++
+ # FIXME $iscsi_protocol??
+
+ if [ "$root" = "dhcp" ] || [ "$netroot" = "dhcp" ]; then
+
diff --git a/0095.patch b/0095.patch
new file mode 100644
index 0000000..9ed7f9b
--- /dev/null
+++ b/0095.patch
@@ -0,0 +1,23 @@
+From 1c4a51c39c8ed9908ae8118eff78d3476eaddf61 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Fri, 31 Aug 2018 16:51:38 +0200
+Subject: [PATCH] network: fix an error message
+
+---
+ modules.d/40network/netroot.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/netroot.sh b/modules.d/40network/netroot.sh
+index c80a59fe..207364cd 100755
+--- a/modules.d/40network/netroot.sh
++++ b/modules.d/40network/netroot.sh
+@@ -46,7 +46,7 @@ if [ -z "$2" ]; then
+ # we die. Otherwise we just warn
+ if [ -z "$new_root_path" ] ; then
+ [ -n "$BOOTDEV" ] && die "No dhcp root-path received for '$BOOTDEV'"
+- warn "No dhcp root-path received for '$BOOTDEV' trying other interfaces if available"
++ warn "No dhcp root-path received for '$netif' trying other interfaces if available"
+ exit 1
+ fi
+
+
diff --git a/0096.patch b/0096.patch
new file mode 100644
index 0000000..f67d657
--- /dev/null
+++ b/0096.patch
@@ -0,0 +1,287 @@
+From 734739187bfab24f063904ea18f0bdf03b4a136c Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Thu, 30 Aug 2018 16:44:22 +0200
+Subject: [PATCH] network-legacy: split off from network module
+
+---
+ dracut.spec | 1 +
+ .../dhclient-script.sh | 0
+ .../{40network => 35network-legacy}/dhclient.conf | 0
+ .../{40network => 35network-legacy}/dhcp-root.sh | 0
+ modules.d/{40network => 35network-legacy}/ifup.sh | 0
+ .../kill-dhclient.sh | 0
+ modules.d/35network-legacy/module-setup.sh | 93 ++++++++++++++++++++++
+ .../net-genrules.sh | 0
+ .../{40network => 35network-legacy}/parse-bond.sh | 0
+ .../parse-bridge.sh | 0
+ .../{40network => 35network-legacy}/parse-ibft.sh | 0
+ .../parse-ifname.sh | 0
+ .../parse-ip-opts.sh | 0
+ .../{40network => 35network-legacy}/parse-team.sh | 0
+ .../{40network => 35network-legacy}/parse-vlan.sh | 0
+ modules.d/40network/module-setup.sh | 76 +-----------------
+ 16 files changed, 95 insertions(+), 75 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index d9cfdf1c..f6486d50 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -419,6 +419,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+
+ %files network
+ %{dracutlibdir}/modules.d/02systemd-networkd
++%{dracutlibdir}/modules.d/35network-legacy
+ %{dracutlibdir}/modules.d/40network
+ %{dracutlibdir}/modules.d/45ifcfg
+ %{dracutlibdir}/modules.d/90kernel-network-modules
+diff --git a/modules.d/40network/dhclient-script.sh b/modules.d/35network-legacy/dhclient-script.sh
+similarity index 100%
+rename from modules.d/40network/dhclient-script.sh
+rename to modules.d/35network-legacy/dhclient-script.sh
+diff --git a/modules.d/40network/dhclient.conf b/modules.d/35network-legacy/dhclient.conf
+similarity index 100%
+rename from modules.d/40network/dhclient.conf
+rename to modules.d/35network-legacy/dhclient.conf
+diff --git a/modules.d/40network/dhcp-root.sh b/modules.d/35network-legacy/dhcp-root.sh
+similarity index 100%
+rename from modules.d/40network/dhcp-root.sh
+rename to modules.d/35network-legacy/dhcp-root.sh
+diff --git a/modules.d/40network/ifup.sh b/modules.d/35network-legacy/ifup.sh
+similarity index 100%
+rename from modules.d/40network/ifup.sh
+rename to modules.d/35network-legacy/ifup.sh
+diff --git a/modules.d/40network/kill-dhclient.sh b/modules.d/35network-legacy/kill-dhclient.sh
+similarity index 100%
+rename from modules.d/40network/kill-dhclient.sh
+rename to modules.d/35network-legacy/kill-dhclient.sh
+diff --git a/modules.d/35network-legacy/module-setup.sh b/modules.d/35network-legacy/module-setup.sh
+new file mode 100755
+index 00000000..71abda36
+--- /dev/null
++++ b/modules.d/35network-legacy/module-setup.sh
+@@ -0,0 +1,93 @@
++#!/bin/bash
++
++# called by dracut
++check() {
++ local _program
++
++ require_binaries ip dhclient sed awk grep || return 1
++ require_any_binary arping arping2 || return 1
++
++ return 255
++}
++
++# called by dracut
++depends() {
++ return 0
++}
++
++# called by dracut
++installkernel() {
++ return 0
++}
++
++# called by dracut
++install() {
++ local _arch _i _dir
++ inst_multiple ip dhclient sed awk grep
++
++ inst_multiple -o arping arping2
++ strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
++
++ inst_multiple -o ping ping6
++ inst_multiple -o teamd teamdctl teamnl
++ inst_simple /etc/libnl/classid
++ inst_script "$moddir/ifup.sh" "/sbin/ifup"
++ inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
++ inst_simple -H "/etc/dhclient.conf"
++ cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
++ inst_hook pre-udev 60 "$moddir/net-genrules.sh"
++ inst_hook cmdline 91 "$moddir/dhcp-root.sh"
++ inst_hook cmdline 92 "$moddir/parse-ibft.sh"
++ inst_hook cmdline 95 "$moddir/parse-vlan.sh"
++ inst_hook cmdline 96 "$moddir/parse-bond.sh"
++ inst_hook cmdline 96 "$moddir/parse-team.sh"
++ inst_hook cmdline 97 "$moddir/parse-bridge.sh"
++ inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
++ inst_hook cmdline 99 "$moddir/parse-ifname.sh"
++ inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
++
++ # install all config files for teaming
++ unset TEAM_MASTER
++ unset TEAM_CONFIG
++ unset TEAM_PORT_CONFIG
++ unset HWADDR
++ unset SUBCHANNELS
++ for i in /etc/sysconfig/network-scripts/ifcfg-*; do
++ [ -e "$i" ] || continue
++ case "$i" in
++ *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
++ continue
++ ;;
++ esac
++ (
++ . "$i"
++ if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
++ && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
++ if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
++ mkdir -p $initdir/etc/teamd
++ printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
++ elif [ -n "$TEAM_PORT_CONFIG" ]; then
++ inst_simple "$i"
++
++ HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
++ if [ -n "$HWADDR" ]; then
++ ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
++ fi
++
++ SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
++ if [ -n "$SUBCHANNELS" ]; then
++ ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
++ fi
++ fi
++ fi
++ )
++ done
++
++ _arch=$(uname -m)
++
++ inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
++ {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
++
++ dracut_need_initqueue
++}
++
+diff --git a/modules.d/40network/net-genrules.sh b/modules.d/35network-legacy/net-genrules.sh
+similarity index 100%
+rename from modules.d/40network/net-genrules.sh
+rename to modules.d/35network-legacy/net-genrules.sh
+diff --git a/modules.d/40network/parse-bond.sh b/modules.d/35network-legacy/parse-bond.sh
+similarity index 100%
+rename from modules.d/40network/parse-bond.sh
+rename to modules.d/35network-legacy/parse-bond.sh
+diff --git a/modules.d/40network/parse-bridge.sh b/modules.d/35network-legacy/parse-bridge.sh
+similarity index 100%
+rename from modules.d/40network/parse-bridge.sh
+rename to modules.d/35network-legacy/parse-bridge.sh
+diff --git a/modules.d/40network/parse-ibft.sh b/modules.d/35network-legacy/parse-ibft.sh
+similarity index 100%
+rename from modules.d/40network/parse-ibft.sh
+rename to modules.d/35network-legacy/parse-ibft.sh
+diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/35network-legacy/parse-ifname.sh
+similarity index 100%
+rename from modules.d/40network/parse-ifname.sh
+rename to modules.d/35network-legacy/parse-ifname.sh
+diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/35network-legacy/parse-ip-opts.sh
+similarity index 100%
+rename from modules.d/40network/parse-ip-opts.sh
+rename to modules.d/35network-legacy/parse-ip-opts.sh
+diff --git a/modules.d/40network/parse-team.sh b/modules.d/35network-legacy/parse-team.sh
+similarity index 100%
+rename from modules.d/40network/parse-team.sh
+rename to modules.d/35network-legacy/parse-team.sh
+diff --git a/modules.d/40network/parse-vlan.sh b/modules.d/35network-legacy/parse-vlan.sh
+similarity index 100%
+rename from modules.d/40network/parse-vlan.sh
+rename to modules.d/35network-legacy/parse-vlan.sh
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index a1010911..fbd43925 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -1,18 +1,8 @@
+ #!/bin/bash
+
+-# called by dracut
+-check() {
+- local _program
+-
+- require_binaries ip dhclient sed awk grep || return 1
+- require_any_binary arping arping2 || return 1
+-
+- return 255
+-}
+-
+ # called by dracut
+ depends() {
+- echo "kernel-network-modules"
++ echo "network-legacy"
+ return 0
+ }
+
+@@ -24,74 +14,10 @@ installkernel() {
+ # called by dracut
+ install() {
+ local _arch _i _dir
+- inst_multiple ip dhclient sed awk grep
+-
+- inst_multiple -o arping arping2
+- strstr "$(arping 2>&1)" "ARPing 2" && mv "$initdir/bin/arping" "$initdir/bin/arping2"
+
+- inst_multiple -o ping ping6
+- inst_multiple -o teamd teamdctl teamnl
+- inst_simple /etc/libnl/classid
+- inst_script "$moddir/ifup.sh" "/sbin/ifup"
+ inst_script "$moddir/netroot.sh" "/sbin/netroot"
+- inst_script "$moddir/dhclient-script.sh" "/sbin/dhclient-script"
+ inst_simple "$moddir/net-lib.sh" "/lib/net-lib.sh"
+- inst_simple -H "/etc/dhclient.conf"
+- cat "$moddir/dhclient.conf" >> "${initdir}/etc/dhclient.conf"
+ inst_hook pre-udev 50 "$moddir/ifname-genrules.sh"
+- inst_hook pre-udev 60 "$moddir/net-genrules.sh"
+- inst_hook cmdline 91 "$moddir/dhcp-root.sh"
+- inst_hook cmdline 92 "$moddir/parse-ibft.sh"
+- inst_hook cmdline 95 "$moddir/parse-vlan.sh"
+- inst_hook cmdline 96 "$moddir/parse-bond.sh"
+- inst_hook cmdline 96 "$moddir/parse-team.sh"
+- inst_hook cmdline 97 "$moddir/parse-bridge.sh"
+- inst_hook cmdline 98 "$moddir/parse-ip-opts.sh"
+- inst_hook cmdline 99 "$moddir/parse-ifname.sh"
+- inst_hook cleanup 10 "$moddir/kill-dhclient.sh"
+-
+- # install all config files for teaming
+- unset TEAM_MASTER
+- unset TEAM_CONFIG
+- unset TEAM_PORT_CONFIG
+- unset HWADDR
+- unset SUBCHANNELS
+- for i in /etc/sysconfig/network-scripts/ifcfg-*; do
+- [ -e "$i" ] || continue
+- case "$i" in
+- *~ | *.bak | *.orig | *.rpmnew | *.rpmorig | *.rpmsave)
+- continue
+- ;;
+- esac
+- (
+- . "$i"
+- if ! [ "${ONBOOT}" = "no" -o "${ONBOOT}" = "NO" ] \
+- && [ -n "${TEAM_MASTER}${TEAM_CONFIG}${TEAM_PORT_CONFIG}" ]; then
+- if [ -n "$TEAM_CONFIG" ] && [ -n "$DEVICE" ]; then
+- mkdir -p $initdir/etc/teamd
+- printf -- "%s" "$TEAM_CONFIG" > "$initdir/etc/teamd/${DEVICE}.conf"
+- elif [ -n "$TEAM_PORT_CONFIG" ]; then
+- inst_simple "$i"
+-
+- HWADDR="$(echo $HWADDR | sed 'y/ABCDEF/abcdef/')"
+- if [ -n "$HWADDR" ]; then
+- ln_r "$i" "/etc/sysconfig/network-scripts/mac-${HWADDR}.conf"
+- fi
+-
+- SUBCHANNELS="$(echo $SUBCHANNELS | sed 'y/ABCDEF/abcdef/')"
+- if [ -n "$SUBCHANNELS" ]; then
+- ln_r "$i" "/etc/sysconfig/network-scripts/ccw-${SUBCHANNELS}.conf"
+- fi
+- fi
+- fi
+- )
+- done
+-
+- _arch=$(uname -m)
+-
+- inst_libdir_file {"tls/$_arch/",tls/,"$_arch/",}"libnss_dns.so.*" \
+- {"tls/$_arch/",tls/,"$_arch/",}"libnss_mdns4_minimal.so.*"
+
+ dracut_need_initqueue
+ }
+-
+
diff --git a/0097.patch b/0097.patch
new file mode 100644
index 0000000..95b0689
--- /dev/null
+++ b/0097.patch
@@ -0,0 +1,133 @@
+From 08bdadbf315cced437385228b2434a02a19090e4 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak(a)v3.sk>
+Date: Thu, 30 Aug 2018 16:44:22 +0200
+Subject: [PATCH] network-manager: add module
+
+---
+ dracut.spec | 1 +
+ modules.d/35network-manager/module-setup.sh | 52 +++++++++++++++++++++++++++++
+ modules.d/35network-manager/nm-config.sh | 3 ++
+ modules.d/35network-manager/nm-run.sh | 16 +++++++++
+ modules.d/40network/module-setup.sh | 7 +++-
+ 5 files changed, 78 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index f6486d50..b6099824 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -419,6 +419,7 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
+
+ %files network
+ %{dracutlibdir}/modules.d/02systemd-networkd
++%{dracutlibdir}/modules.d/35network-manager
+ %{dracutlibdir}/modules.d/35network-legacy
+ %{dracutlibdir}/modules.d/40network
+ %{dracutlibdir}/modules.d/45ifcfg
+diff --git a/modules.d/35network-manager/module-setup.sh b/modules.d/35network-manager/module-setup.sh
+new file mode 100755
+index 00000000..62aba3c6
+--- /dev/null
++++ b/modules.d/35network-manager/module-setup.sh
+@@ -0,0 +1,52 @@
++#!/bin/bash
++
++# called by dracut
++check() {
++ local _program
++
++ require_binaries sed grep || return 1
++
++ # do not add this module by default
++ return 255
++}
++
++# called by dracut
++depends() {
++ return 0
++}
++
++# called by dracut
++installkernel() {
++ return 0
++}
++
++# called by dracut
++install() {
++ local _nm_version
++
++ _nm_version=$(NetworkManager --version)
++
++ inst_multiple sed grep
++
++ inst NetworkManager
++ inst /usr/libexec/nm-initrd-generator
++ inst_multiple -o teamd dhclient
++ inst_hook cmdline 99 "$moddir/nm-config.sh"
++ inst_hook initqueue/settled 99 "$moddir/nm-run.sh"
++ inst_rules 85-nm-unmanaged.rules
++ inst_libdir_file "NetworkManager/$_nm_version/libnm-device-plugin-team.so"
++
++ if [[ -x "$initdir/usr/sbin/dhclient" ]]; then
++ inst /usr/libexec/nm-dhcp-helper
++ elif ! [[ -e "$initdir/etc/machine-id" ]]; then
++ # The internal DHCP client silently fails if we
++ # have no machine-id
++ systemd-machine-id-setup --root="$initdir"
++ fi
++
++ # We don't install the ifcfg files from the host automatically.
++ # But if the user chooses to include them, we pull in the machinery to read them.
++ if ! [[ -d "$initdir/etc/sysconfig/network-scripts" ]]; then
++ inst_libdir_file "NetworkManager/$_nm_version/libnm-settings-plugin-ifcfg-rh.so"
++ fi
++}
+diff --git a/modules.d/35network-manager/nm-config.sh b/modules.d/35network-manager/nm-config.sh
+new file mode 100755
+index 00000000..1339ebe7
+--- /dev/null
++++ b/modules.d/35network-manager/nm-config.sh
+@@ -0,0 +1,3 @@
++#!/bin/sh
++
++/usr/libexec/nm-initrd-generator -- $(getcmdline)
+diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
+new file mode 100755
+index 00000000..f6defa99
+--- /dev/null
++++ b/modules.d/35network-manager/nm-run.sh
+@@ -0,0 +1,16 @@
++#!/bin/sh
++
++if getargbool 0 rd.debug -d -y rdinitdebug -d -y rdnetdebug; then
++ /usr/sbin/NetworkManager --configure-and-quit=initrd --debug --log-level=trace
++else
++ /usr/sbin/NetworkManager --configure-and-quit=initrd --no-daemon
++fi
++
++for _i in /sys/class/net/*/
++do
++ state=/run/NetworkManager/devices/$(cat $_i/ifindex)
++ grep -q managed=true $state 2>/dev/null || continue
++ ifname=$(basename $_i)
++ sed -n 's/root-path/new_root_path/p' <$state >/tmp/dhclient.$ifname.dhcpopts
++ /sbin/netroot $ifname
++done
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index fbd43925..57c0a45e 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -2,7 +2,12 @@
+
+ # called by dracut
+ depends() {
+- echo "network-legacy"
++ echo -n "kernel-network-modules "
++ if ! dracut_module_included "network-legacy" && [ -x "/usr/libexec/nm-initrd-generator" ] ; then
++ echo "network-manager"
++ else
++ echo "network-legacy"
++ fi
+ return 0
+ }
+
+
diff --git a/0098.patch b/0098.patch
new file mode 100644
index 0000000..bbf8f16
--- /dev/null
+++ b/0098.patch
@@ -0,0 +1,22 @@
+From 4be697e5c19f18a17ec18368ded0787d6f32baf5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald(a)redhat.com>
+Date: Fri, 21 Sep 2018 12:41:00 +0200
+Subject: [PATCH] dracut.spec: fixed invalid spec line
+
+---
+ dracut.spec | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index b6099824..c6fbdc77 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -49,7 +49,7 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt
+ %endif
+
+ %if 0%{?suse_version}
+--BuildRequires: docbook-xsl-stylesheets libxslt
++BuildRequires: docbook-xsl-stylesheets libxslt
+ %endif
+
+ BuildRequires: asciidoc
diff --git a/dracut.spec b/dracut.spec
index 53ca5c7..4690c65 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -5,7 +5,7 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
-%define dist_free_release 14.git20180726
+%define dist_free_release 99.git20180921
Name: dracut
Version: 048
@@ -41,6 +41,91 @@ Patch10: 0010.patch
Patch11: 0011.patch
Patch12: 0012.patch
Patch13: 0013.patch
+Patch14: 0014.patch
+Patch15: 0015.patch
+Patch16: 0016.patch
+Patch17: 0017.patch
+Patch18: 0018.patch
+Patch19: 0019.patch
+Patch20: 0020.patch
+Patch21: 0021.patch
+Patch22: 0022.patch
+Patch23: 0023.patch
+Patch24: 0024.patch
+Patch25: 0025.patch
+Patch26: 0026.patch
+Patch27: 0027.patch
+Patch28: 0028.patch
+Patch29: 0029.patch
+Patch30: 0030.patch
+Patch31: 0031.patch
+Patch32: 0032.patch
+Patch33: 0033.patch
+Patch34: 0034.patch
+Patch35: 0035.patch
+Patch36: 0036.patch
+Patch37: 0037.patch
+Patch38: 0038.patch
+Patch39: 0039.patch
+Patch40: 0040.patch
+Patch41: 0041.patch
+Patch42: 0042.patch
+Patch43: 0043.patch
+Patch44: 0044.patch
+Patch45: 0045.patch
+Patch46: 0046.patch
+Patch47: 0047.patch
+Patch48: 0048.patch
+Patch49: 0049.patch
+Patch50: 0050.patch
+Patch51: 0051.patch
+Patch52: 0052.patch
+Patch53: 0053.patch
+Patch54: 0054.patch
+Patch55: 0055.patch
+Patch56: 0056.patch
+Patch57: 0057.patch
+Patch58: 0058.patch
+Patch59: 0059.patch
+Patch60: 0060.patch
+Patch61: 0061.patch
+Patch62: 0062.patch
+Patch63: 0063.patch
+Patch64: 0064.patch
+Patch65: 0065.patch
+Patch66: 0066.patch
+Patch67: 0067.patch
+Patch68: 0068.patch
+Patch69: 0069.patch
+Patch70: 0070.patch
+Patch71: 0071.patch
+Patch72: 0072.patch
+Patch73: 0073.patch
+Patch74: 0074.patch
+Patch75: 0075.patch
+Patch76: 0076.patch
+Patch77: 0077.patch
+Patch78: 0078.patch
+Patch79: 0079.patch
+Patch80: 0080.patch
+Patch81: 0081.patch
+Patch82: 0082.patch
+Patch83: 0083.patch
+Patch84: 0084.patch
+Patch85: 0085.patch
+Patch86: 0086.patch
+Patch87: 0087.patch
+Patch88: 0088.patch
+Patch89: 0089.patch
+Patch90: 0090.patch
+Patch91: 0091.patch
+Patch92: 0092.patch
+Patch93: 0093.patch
+Patch94: 0094.patch
+Patch95: 0095.patch
+Patch96: 0096.patch
+Patch97: 0097.patch
+Patch98: 0098.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@@ -63,7 +148,7 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt
%endif
%if 0%{?suse_version}
--BuildRequires: docbook-xsl-stylesheets libxslt
+BuildRequires: docbook-xsl-stylesheets libxslt
%endif
BuildRequires: asciidoc
@@ -192,6 +277,16 @@ Requires: %{name} = %{version}-%{release}
%description tools
This package contains tools to assemble the local initrd and host configuration.
+%package squash
+Summary: dracut module to build an initramfs with most files in a squashfs image
+Requires: %{name} = %{version}-%{release}
+Requires: squash-tools
+
+%description squash
+This package provides a dracut module to build an initramfs, but store most files
+in a squashfs image, result in a smaller initramfs size and reduce runtime memory
+usage.
+
%prep
%autosetup -n %{name}-%{version} -S git_am
cp %{SOURCE1} .
@@ -249,6 +344,8 @@ rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95qeth_rules
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95zfcp_rules
rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/95znet
+%else
+rm -fr -- $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00warpclock
%endif
mkdir -p $RPM_BUILD_ROOT/boot/dracut
@@ -330,7 +427,12 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%endif
%{dracutlibdir}/modules.d/00bash
%{dracutlibdir}/modules.d/00systemd
+%ifnarch s390 s390x
%{dracutlibdir}/modules.d/00warpclock
+%endif
+%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
+%{dracutlibdir}/modules.d/01fips
+%endif
%{dracutlibdir}/modules.d/01systemd-initrd
%{dracutlibdir}/modules.d/03modsign
%{dracutlibdir}/modules.d/03rescue
@@ -414,13 +516,10 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{_prefix}/lib/kernel/install.d/50-dracut.install
%endif
-%if 0%{?fedora} || 0%{?rhel} || 0%{?suse_version}
-%defattr(-,root,root,0755)
-%{dracutlibdir}/modules.d/01fips
-%endif
-
%files network
%{dracutlibdir}/modules.d/02systemd-networkd
+%{dracutlibdir}/modules.d/35network-manager
+%{dracutlibdir}/modules.d/35network-legacy
%{dracutlibdir}/modules.d/40network
%{dracutlibdir}/modules.d/45ifcfg
%{dracutlibdir}/modules.d/90kernel-network-modules
@@ -447,11 +546,13 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%{dracutlibdir}/modules.d/90livenet
%files tools
-
%if %{with doc}
%doc %{_mandir}/man8/dracut-catimages.8*
%endif
+%files squash
+%{dracutlibdir}/modules.d/99squash
+
%{_bindir}/dracut-catimages
%dir /boot/dracut
%dir /var/lib/dracut
@@ -469,6 +570,9 @@ install -m 0755 51-dracut-rescue-postinst.sh $RPM_BUILD_ROOT%{_sysconfdir}/kerne
%endif
%changelog
+* Fri Sep 21 2018 Harald Hoyer <harald(a)redhat.com> - 048-99.git20180921
+- git snapshot
+
* Thu Jul 26 2018 Harald Hoyer <harald(a)redhat.com> - 048-14.git20180726
- bring back 51-dracut-rescue-postinst.sh
diff --git a/newdracut.sh b/newdracut.sh
index 382d7b2..c53481d 100644
--- a/newdracut.sh
+++ b/newdracut.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-if [[ -e "$HOME/git/dracut/$1" ]]; then
+if [[ -f "$HOME/git/dracut/$1" ]]; then
srcrpm="$HOME/git/dracut/$1"
else
srcrpm="$1"
5 years, 6 months
Architecture specific change in rpms/traverso.git
by githook-noreply@fedoraproject.org
The package rpms/traverso.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/traverso.git/commit/?id=951f1c7cb....
Change:
+%ifarch ia64 x86_64
Thanks.
Full change:
============
commit 951f1c7cbe44accda0ccfe3047912ff1b2559ceb
Author: Vasiliy Glazov <v.glazov(a)javad.com>
Date: Wed Oct 24 16:22:51 2018 +0300
Initial commit.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..80a07f6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/traverso-0.49.5.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..83a9043
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (traverso-0.49.5.tar.gz) = 86490479a06dca0e03e07a7938dd8ef1cf680da30c83ff1fac5f6a2f99b771995f6ef8f5ef8dff31103db50efadb69179057bf1c6a27b42b66260386986c94c4
diff --git a/traverso-gcc49.patch b/traverso-gcc49.patch
new file mode 100644
index 0000000..835801f
--- /dev/null
+++ b/traverso-gcc49.patch
@@ -0,0 +1,12 @@
+diff -rupN traverso-0.49.3.org/src/core/InputEngine.cpp traverso-0.49.3/src/core/InputEngine.cpp
+--- traverso-0.49.3.org/src/core/InputEngine.cpp 2009-03-28 04:48:39.000000000 -0400
++++ traverso-0.49.3/src/core/InputEngine.cpp 2014-11-28 21:50:12.919214578 -0500
+@@ -1519,7 +1519,7 @@ int InputEngine::init_map(const QString&
+ exists = true;
+ QString errorstring = QString("InputEngine:: keyfact with: type=%1, key1='%2', key2='%3' already exists!\n"
+ "You should only define keyfact types one time!!\n").arg(keyFactType).arg(key1).arg(key2);
+- printf(QS_C(errorstring));
++ puts(QS_C(errorstring));
+ info().warning(errorstring);
+ break;
+ }
diff --git a/traverso-priority.patch b/traverso-priority.patch
new file mode 100644
index 0000000..5cb1e1d
--- /dev/null
+++ b/traverso-priority.patch
@@ -0,0 +1,20 @@
+--- traverso-0.49.1.old/src/engine/AudioDeviceThread.cpp 2009-03-28 04:48:39.000000000 -0400
++++ traverso-0.49.1/src/engine/AudioDeviceThread.cpp 2009-05-01 14:27:02.000000000 -0400
+@@ -54,7 +54,7 @@ protected:
+ {
+ #if defined (Q_WS_X11) || defined (Q_WS_MAC)
+ struct sched_param param;
+- param.sched_priority = 90;
++ param.sched_priority = 20;
+ if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) {}
+ #endif
+
+@@ -127,7 +127,7 @@ int AudioDeviceThread::become_realtime(
+ /* RTC stuff */
+ if (realtime) {
+ struct sched_param param;
+- param.sched_priority = 70;
++ param.sched_priority = 20;
+ if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) {
+ m_device->message(tr("Unable to set Audiodevice Thread to realtime priority!!!"
+ "This most likely results in unreliable playback/capture and "
diff --git a/traverso.spec b/traverso.spec
new file mode 100644
index 0000000..7acaf2e
--- /dev/null
+++ b/traverso.spec
@@ -0,0 +1,235 @@
+%global sse_cxxflags %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=FALSE
+%ifarch %{ix86}
+%global with_sse %{!?_without_sse:1}%{?_without_sse:0}
+%if %{with_sse}
+%global sse_cxxflags -DSSE_OPTIMIZATIONS -DARCH_X86 %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=TRUE -DIS_ARCH_X86:BOOL=TRUE
+%endif
+%endif
+%ifarch ia64 x86_64
+%global with_sse 1
+%global sse_cxxflags -DSSE_OPTIMIZATIONS -DUSE_XMMINTRIN -DARCH_X86 -DUSE_X86_64_ASM %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=TRUE -DIS_ARCH_X86_64:BOOL=TRUE
+%endif
+
+Name: traverso
+Version: 0.49.5
+Release: 1%{?dist}
+Summary: Multitrack Audio Recording and Editing Suite
+
+License: GPLv2+
+URL: http://traverso-daw.org/
+Source0: http://traverso-daw.org/%{name}-%{version}.tar.gz
+# lower the rtprio requirement to 20, for compliance with our jack
+Patch0: %{name}-priority.patch
+# Fix DSO linking
+Patch1: traverso-gcc49.patch
+# Patch2: gcc6-buildfix-01.patch
+
+BuildRequires: gcc-c++
+BuildRequires: alsa-lib-devel
+BuildRequires: cmake
+BuildRequires: desktop-file-utils
+BuildRequires: fftw-devel
+BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: lame-devel
+BuildRequires: lilv-devel
+BuildRequires: libmad-devel
+BuildRequires: libogg-devel
+BuildRequires: libsamplerate-devel
+BuildRequires: libsndfile-devel
+BuildRequires: libvorbis-devel
+BuildRequires: portaudio-devel
+# Native pulseaudio is not supported yet.
+#BuildRequires: pulseaudio-libs-devel
+BuildRequires: cmake(Qt5Core)
+BuildRequires: cmake(Qt5Widgets)
+BuildRequires: cmake(Qt5Gui)
+BuildRequires: cmake(Qt5Xml)
+BuildRequires: raptor-devel
+BuildRequires: redland-devel
+BuildRequires: wavpack-devel
+
+# For directory ownership:
+Requires: hicolor-icon-theme
+Requires: shared-mime-info
+
+%description
+Traverso Digital Audio Workstation is a cross platform multitrack audio
+recording and editing suite, with an innovative and easy to master User
+Interface. It's suited for both the professional and home user, who needs a
+robust and solid DAW.
+
+Traverso is a complete solution from recording to CD Mastering. By supplying
+many common tools in one package, you don't have to learn how to use lots of
+applications with different user interfaces. This considerably lowers the
+learning curve, letting you get your audio processing work done faster!
+
+A unique approach to non-linear audio processing was developed for Traverso to
+provide extremely solid and robust audio processing and editing. Adding and
+removal of effects plugins, moving Audio Clips and creating new Tracks during
+playback are all perfectly safe, giving you instant feedback on your work!
+
+%prep
+%autosetup -p1
+
+
+# Fix permission issues
+chmod 644 ChangeLog TODO
+for ext in h cpp; do
+ find . -name "*.$ext" -exec chmod 644 {} \;
+done
+
+# To match the freedesktop standards
+sed -i -e '\|^MimeType=.*[^;]$|s|$|;|' \
+ resources/%{name}.desktop
+
+# We use the system slv2, so just to make sure
+rm -fr src/3rdparty/slv2
+
+# For proper slv2 detection
+sed -i 's|libslv2|slv2|g' CMakeLists.txt
+
+
+%build
+# Build the actual program
+%{cmake} \
+ -DWANT_MP3_ENCODE=ON \
+ -DUSE_SYSTEM_SLV2_LIBRARY=ON \
+ -DDETECT_HOST_CPU_FEATURES=OFF \
+ -DWANT_PORTAUDIO=ON \
+ -DCXX_FLAGS:STRING="%{sse_cxxflags}" \
+ %{sse_cmakeflags} \
+ .
+
+%make_build VERBOSE=1
+
+# Add Comment to the .desktop file
+echo "Comment=Digital Audio Workstation" >> resources/%{name}.desktop
+
+
+%install
+%make_install
+
+# icons
+install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/
+cp -a resources/freedesktop/icons/* %{buildroot}%{_datadir}/icons/hicolor/
+
+# desktop file
+install -dm 755 %{buildroot}%{_datadir}/applications/
+desktop-file-install \
+ --dir %{buildroot}%{_datadir}/applications \
+ --remove-mime-type=text/plain \
+ --add-mime-type=application/x-traverso \
+ --add-category=X-Multitrack \
+ --add-category=Sequencer \
+ --remove-key=Path \
+ resources/%{name}.desktop
+
+# mime-type file
+install -dm 755 %{buildroot}%{_datadir}/mime/packages/
+install -pm 644 resources/x-%{name}.xml %{buildroot}%{_datadir}/mime/packages/
+
+
+%files
+%license COPYING
+%doc AUTHORS ChangeLog COPYRIGHT HISTORY README TODO
+%doc resources/projectconversion/2_to_3.html resources/help.text
+%{_bindir}/%{name}
+%{_datadir}/icons/hicolor/*/*/*
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/mime/packages/*.xml
+
+%changelog
+* Tue Oct 23 2018 Vasiliy N. Glazov <vascom2(a)gmail.com> - 0.49.5-1
+- Update to 0.49.5
+- Switch to Qt5
+
+* Sun Aug 19 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 0.49.3-7
+- Rebuilt for Fedora 29 Mass Rebuild binutils issue
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 0.49.3-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 0.49.3-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 0.49.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Mar 20 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 0.49.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jul 19 2016 Leigh Scott <leigh123linux(a)googlemail.com> - 0.49.3-2
+- patch for gcc-6
+
+* Fri Nov 28 2014 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.3-1
+- Update to 0.49.3
+
+* Sun Aug 31 2014 Srgio Basto <sergio(a)serjux.com> - 0.49.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sun Mar 03 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-6
+- Mass rebuilt for Fedora 19 Features
+
+* Thu May 03 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-5
+- Fix for gcc47 and missing cflags
+
+* Fri Mar 02 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-4
+- Rebuilt for c++ ABI breakage
+
+* Wed Feb 08 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sat Aug 21 2010 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 0.49.2-2
+- rebuilt
+
+* Fri Aug 13 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.2-1
+- Update to 0.49.2
+
+* Wed May 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-7
+- Explicitly disable SSE optimizations on non-"%%{ix86} ia64 x86_64" architectures
+
+* Wed May 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-6
+- Re-enable portaudio
+
+* Fri May 01 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-5
+- Patch for dropping the rtprio requirement of traverso
+- Drop the limits config file
+- Drop the warnings patch
+
+* Tue Apr 28 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-4
+- Drop the defaults patch
+- Fix slv2 library detection
+- Add traversouser group
+- Install limits config file in /etc/security/limits.d/
+
+* Mon Apr 27 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-3
+- Remove the supplied slv2 library in %%prep
+- Add versioned BR to slv2 (>= 0.6.1)
+- Drop the pdf manual
+- Introduce new patch to handle the sse optimizations
+
+* Thu Apr 16 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-2
+- Change the default number of periods from 3 to 2
+- Give a more verbose output if sound doesn't work
+- Add the manual
+
+* Sun Mar 29 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-1
+- New upstream release
+- Fix the year of the previous changelog entries
+- Drop portaudio support. Upstream says that is unnecessary
+- Drop pulseaudio support. Upstream says it is not ready yet
+- Use system slv2 library instead of the shipped one
+
+* Mon Mar 16 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.0-2
+- Add disttag
+- Disable automatic host cpu features detection while building and manually select
+ the cpu related flags
+- Minor adjustment in %%postun: Use "|| :" only in the last command
+- Minor adjustment in the .desktop file: Add trailing ";" to MimeType
+
+* Sun Mar 15 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.0-1
+- Initial build
5 years, 6 months
Architecture specific change in rpms/traverso.git
by githook-noreply@fedoraproject.org
The package rpms/traverso.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/traverso.git/commit/?id=951f1c7cb....
Change:
+%ifarch ia64 x86_64
Thanks.
Full change:
============
commit 951f1c7cbe44accda0ccfe3047912ff1b2559ceb
Author: Vasiliy Glazov <v.glazov(a)javad.com>
Date: Wed Oct 24 16:22:51 2018 +0300
Initial commit.
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..80a07f6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/traverso-0.49.5.tar.gz
diff --git a/sources b/sources
new file mode 100644
index 0000000..83a9043
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+SHA512 (traverso-0.49.5.tar.gz) = 86490479a06dca0e03e07a7938dd8ef1cf680da30c83ff1fac5f6a2f99b771995f6ef8f5ef8dff31103db50efadb69179057bf1c6a27b42b66260386986c94c4
diff --git a/traverso-gcc49.patch b/traverso-gcc49.patch
new file mode 100644
index 0000000..835801f
--- /dev/null
+++ b/traverso-gcc49.patch
@@ -0,0 +1,12 @@
+diff -rupN traverso-0.49.3.org/src/core/InputEngine.cpp traverso-0.49.3/src/core/InputEngine.cpp
+--- traverso-0.49.3.org/src/core/InputEngine.cpp 2009-03-28 04:48:39.000000000 -0400
++++ traverso-0.49.3/src/core/InputEngine.cpp 2014-11-28 21:50:12.919214578 -0500
+@@ -1519,7 +1519,7 @@ int InputEngine::init_map(const QString&
+ exists = true;
+ QString errorstring = QString("InputEngine:: keyfact with: type=%1, key1='%2', key2='%3' already exists!\n"
+ "You should only define keyfact types one time!!\n").arg(keyFactType).arg(key1).arg(key2);
+- printf(QS_C(errorstring));
++ puts(QS_C(errorstring));
+ info().warning(errorstring);
+ break;
+ }
diff --git a/traverso-priority.patch b/traverso-priority.patch
new file mode 100644
index 0000000..5cb1e1d
--- /dev/null
+++ b/traverso-priority.patch
@@ -0,0 +1,20 @@
+--- traverso-0.49.1.old/src/engine/AudioDeviceThread.cpp 2009-03-28 04:48:39.000000000 -0400
++++ traverso-0.49.1/src/engine/AudioDeviceThread.cpp 2009-05-01 14:27:02.000000000 -0400
+@@ -54,7 +54,7 @@ protected:
+ {
+ #if defined (Q_WS_X11) || defined (Q_WS_MAC)
+ struct sched_param param;
+- param.sched_priority = 90;
++ param.sched_priority = 20;
+ if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) {}
+ #endif
+
+@@ -127,7 +127,7 @@ int AudioDeviceThread::become_realtime(
+ /* RTC stuff */
+ if (realtime) {
+ struct sched_param param;
+- param.sched_priority = 70;
++ param.sched_priority = 20;
+ if (pthread_setschedparam (pthread_self(), SCHED_FIFO, ¶m) != 0) {
+ m_device->message(tr("Unable to set Audiodevice Thread to realtime priority!!!"
+ "This most likely results in unreliable playback/capture and "
diff --git a/traverso.spec b/traverso.spec
new file mode 100644
index 0000000..7acaf2e
--- /dev/null
+++ b/traverso.spec
@@ -0,0 +1,235 @@
+%global sse_cxxflags %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=FALSE
+%ifarch %{ix86}
+%global with_sse %{!?_without_sse:1}%{?_without_sse:0}
+%if %{with_sse}
+%global sse_cxxflags -DSSE_OPTIMIZATIONS -DARCH_X86 %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=TRUE -DIS_ARCH_X86:BOOL=TRUE
+%endif
+%endif
+%ifarch ia64 x86_64
+%global with_sse 1
+%global sse_cxxflags -DSSE_OPTIMIZATIONS -DUSE_XMMINTRIN -DARCH_X86 -DUSE_X86_64_ASM %{optflags}
+%global sse_cmakeflags -DHOST_SUPPORTS_SSE:BOOL=TRUE -DIS_ARCH_X86_64:BOOL=TRUE
+%endif
+
+Name: traverso
+Version: 0.49.5
+Release: 1%{?dist}
+Summary: Multitrack Audio Recording and Editing Suite
+
+License: GPLv2+
+URL: http://traverso-daw.org/
+Source0: http://traverso-daw.org/%{name}-%{version}.tar.gz
+# lower the rtprio requirement to 20, for compliance with our jack
+Patch0: %{name}-priority.patch
+# Fix DSO linking
+Patch1: traverso-gcc49.patch
+# Patch2: gcc6-buildfix-01.patch
+
+BuildRequires: gcc-c++
+BuildRequires: alsa-lib-devel
+BuildRequires: cmake
+BuildRequires: desktop-file-utils
+BuildRequires: fftw-devel
+BuildRequires: flac-devel
+BuildRequires: jack-audio-connection-kit-devel
+BuildRequires: lame-devel
+BuildRequires: lilv-devel
+BuildRequires: libmad-devel
+BuildRequires: libogg-devel
+BuildRequires: libsamplerate-devel
+BuildRequires: libsndfile-devel
+BuildRequires: libvorbis-devel
+BuildRequires: portaudio-devel
+# Native pulseaudio is not supported yet.
+#BuildRequires: pulseaudio-libs-devel
+BuildRequires: cmake(Qt5Core)
+BuildRequires: cmake(Qt5Widgets)
+BuildRequires: cmake(Qt5Gui)
+BuildRequires: cmake(Qt5Xml)
+BuildRequires: raptor-devel
+BuildRequires: redland-devel
+BuildRequires: wavpack-devel
+
+# For directory ownership:
+Requires: hicolor-icon-theme
+Requires: shared-mime-info
+
+%description
+Traverso Digital Audio Workstation is a cross platform multitrack audio
+recording and editing suite, with an innovative and easy to master User
+Interface. It's suited for both the professional and home user, who needs a
+robust and solid DAW.
+
+Traverso is a complete solution from recording to CD Mastering. By supplying
+many common tools in one package, you don't have to learn how to use lots of
+applications with different user interfaces. This considerably lowers the
+learning curve, letting you get your audio processing work done faster!
+
+A unique approach to non-linear audio processing was developed for Traverso to
+provide extremely solid and robust audio processing and editing. Adding and
+removal of effects plugins, moving Audio Clips and creating new Tracks during
+playback are all perfectly safe, giving you instant feedback on your work!
+
+%prep
+%autosetup -p1
+
+
+# Fix permission issues
+chmod 644 ChangeLog TODO
+for ext in h cpp; do
+ find . -name "*.$ext" -exec chmod 644 {} \;
+done
+
+# To match the freedesktop standards
+sed -i -e '\|^MimeType=.*[^;]$|s|$|;|' \
+ resources/%{name}.desktop
+
+# We use the system slv2, so just to make sure
+rm -fr src/3rdparty/slv2
+
+# For proper slv2 detection
+sed -i 's|libslv2|slv2|g' CMakeLists.txt
+
+
+%build
+# Build the actual program
+%{cmake} \
+ -DWANT_MP3_ENCODE=ON \
+ -DUSE_SYSTEM_SLV2_LIBRARY=ON \
+ -DDETECT_HOST_CPU_FEATURES=OFF \
+ -DWANT_PORTAUDIO=ON \
+ -DCXX_FLAGS:STRING="%{sse_cxxflags}" \
+ %{sse_cmakeflags} \
+ .
+
+%make_build VERBOSE=1
+
+# Add Comment to the .desktop file
+echo "Comment=Digital Audio Workstation" >> resources/%{name}.desktop
+
+
+%install
+%make_install
+
+# icons
+install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/
+cp -a resources/freedesktop/icons/* %{buildroot}%{_datadir}/icons/hicolor/
+
+# desktop file
+install -dm 755 %{buildroot}%{_datadir}/applications/
+desktop-file-install \
+ --dir %{buildroot}%{_datadir}/applications \
+ --remove-mime-type=text/plain \
+ --add-mime-type=application/x-traverso \
+ --add-category=X-Multitrack \
+ --add-category=Sequencer \
+ --remove-key=Path \
+ resources/%{name}.desktop
+
+# mime-type file
+install -dm 755 %{buildroot}%{_datadir}/mime/packages/
+install -pm 644 resources/x-%{name}.xml %{buildroot}%{_datadir}/mime/packages/
+
+
+%files
+%license COPYING
+%doc AUTHORS ChangeLog COPYRIGHT HISTORY README TODO
+%doc resources/projectconversion/2_to_3.html resources/help.text
+%{_bindir}/%{name}
+%{_datadir}/icons/hicolor/*/*/*
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/mime/packages/*.xml
+
+%changelog
+* Tue Oct 23 2018 Vasiliy N. Glazov <vascom2(a)gmail.com> - 0.49.5-1
+- Update to 0.49.5
+- Switch to Qt5
+
+* Sun Aug 19 2018 Leigh Scott <leigh123linux(a)googlemail.com> - 0.49.3-7
+- Rebuilt for Fedora 29 Mass Rebuild binutils issue
+
+* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux(a)gmail.com> - 0.49.3-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Thu Mar 01 2018 RPM Fusion Release Engineering <leigh123linux(a)googlemail.com> - 0.49.3-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 0.49.3-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Mon Mar 20 2017 RPM Fusion Release Engineering <kwizart(a)rpmfusion.org> - 0.49.3-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Tue Jul 19 2016 Leigh Scott <leigh123linux(a)googlemail.com> - 0.49.3-2
+- patch for gcc-6
+
+* Fri Nov 28 2014 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.3-1
+- Update to 0.49.3
+
+* Sun Aug 31 2014 Srgio Basto <sergio(a)serjux.com> - 0.49.2-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Sun Mar 03 2013 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-6
+- Mass rebuilt for Fedora 19 Features
+
+* Thu May 03 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-5
+- Fix for gcc47 and missing cflags
+
+* Fri Mar 02 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-4
+- Rebuilt for c++ ABI breakage
+
+* Wed Feb 08 2012 Nicolas Chauvet <kwizart(a)gmail.com> - 0.49.2-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+
+* Sat Aug 21 2010 Thorsten Leemhuis <fedora [AT] leemhuis [DOT] info> - 0.49.2-2
+- rebuilt
+
+* Fri Aug 13 2010 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.2-1
+- Update to 0.49.2
+
+* Wed May 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-7
+- Explicitly disable SSE optimizations on non-"%%{ix86} ia64 x86_64" architectures
+
+* Wed May 06 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-6
+- Re-enable portaudio
+
+* Fri May 01 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-5
+- Patch for dropping the rtprio requirement of traverso
+- Drop the limits config file
+- Drop the warnings patch
+
+* Tue Apr 28 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-4
+- Drop the defaults patch
+- Fix slv2 library detection
+- Add traversouser group
+- Install limits config file in /etc/security/limits.d/
+
+* Mon Apr 27 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-3
+- Remove the supplied slv2 library in %%prep
+- Add versioned BR to slv2 (>= 0.6.1)
+- Drop the pdf manual
+- Introduce new patch to handle the sse optimizations
+
+* Thu Apr 16 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-2
+- Change the default number of periods from 3 to 2
+- Give a more verbose output if sound doesn't work
+- Add the manual
+
+* Sun Mar 29 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.1-1
+- New upstream release
+- Fix the year of the previous changelog entries
+- Drop portaudio support. Upstream says that is unnecessary
+- Drop pulseaudio support. Upstream says it is not ready yet
+- Use system slv2 library instead of the shipped one
+
+* Mon Mar 16 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.0-2
+- Add disttag
+- Disable automatic host cpu features detection while building and manually select
+ the cpu related flags
+- Minor adjustment in %%postun: Use "|| :" only in the last command
+- Minor adjustment in the .desktop file: Add trailing ";" to MimeType
+
+* Sun Mar 15 2009 Orcan Ogetbil <oget [DOT] fedora [AT] gmail [DOT] com> - 0.49.0-1
+- Initial build
5 years, 6 months
[Report] Packages Restricting Arches
by root
List of packages currently excluding arches (2670)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- LuxRender
ExclusiveArch: x86_64
- OpenTK
ExclusiveArch: %mono_arches
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- RdRand
ExclusiveArch: %{ix86} x86_64
- SLOF
ExclusiveArch: ppc64le
- YafaRay
ExclusiveArch: %{ix86} x86_64
- aboot
ExclusiveArch: alpha
- acpid
ExclusiveArch: ia64 x86_64 %{ix86} %{arm} aarch64
- ahven
ExclusiveArch: %{GPRbuild_arches}
- alleyoop
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x %{arm} aarch64
- american-fuzzy-lop
ExclusiveArch: %{ix86} x86_64
- anet
ExclusiveArch: %{GPRbuild_arches}
- apmd
ExclusiveArch: %{ix86}
- appstream-generator
ExclusiveArch: x86_64 %{ix86} %{arm}
- arduino
ExclusiveArch: %{go_arches}
- arduino-builder
ExclusiveArch: %{go_arches}
- arm-trusted-firmware
ExclusiveArch: aarch64
- atomic
ExclusiveArch: %{go_arches}
- aunit
ExclusiveArch: %GPRbuild_arches
- avgtime
ExclusiveArch: %{ldc_arches}
- aws
ExclusiveArch: %GPRbuild_arches
- banshee
ExclusiveArch: %{mono_arches}
- banshee-community-extensions
ExclusiveArch: %ix86 x86_64 ppc ppc64 ia64 %{arm} sparcv9 alpha s390x
- bareftp
ExclusiveArch: %{mono_arches}
- bcal
ExclusiveArch: x86_64 aarch64 ia64 ppc64 ppc64le s390x
- bcc
ExclusiveArch: x86_64 %{power64}
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- beignet
ExclusiveArch: x86_64 %{ix86}
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- buildah
ExclusiveArch: x86_64 %{arm} aarch64 ppc64le s390x
- bwa
ExclusiveArch: x86_64
- caddy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- cadvisor
ExclusiveArch: %{ix86} x86_64 aarch64 ppc64le
- calamares
ExclusiveArch: %{ix86} x86_64
- carto
ExclusiveArch: %{nodejs_arches} noarch
- ccdciel
ExclusiveArch: %{fpc_arches}
- cdcollect
ExclusiveArch: %{mono_arches}
- ceph
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- chromium
ExclusiveArch: x86_64 i686
ExclusiveArch: x86_64 i686 aarch64
- cjdns
ExclusiveArch: %{nodejs_arches}
- cmospwd
ExclusiveArch: %{ix86} x86_64
- cmrt
ExclusiveArch: %{ix86} x86_64 ia64
- coffee-script
ExclusiveArch: %{nodejs_arches} noarch
- colorful
ExclusiveArch: %{fpc_arches}
- compat-gcc-296
ExclusiveArch: %{ix86} ia64 ppc
- compat-rust-serde_derive
ExclusiveArch: %{rust_arches}
- consul
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- containerd
ExclusiveArch: %{go_arches}
- containers
ExclusiveArch: %{ldc_arches}
- cpuid
ExclusiveArch: %{ix86} x86_64
- cqrlog
ExclusiveArch: %{fpc_arches}
- crash
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- cri-tools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- criu
ExclusiveArch: x86_64 %{arm} ppc64le aarch64 s390x
- cryptlib
ExclusiveArch: x86_64 %{ix86} aarch64 ppc64 ppc64le
- cryptobone
ExclusiveArch: x86_64 %{ix86} ppc64 ppc64le aarch64
- daq
ExclusiveArch: x86_64 aarch64
- darktable
ExclusiveArch: x86_64 aarch64
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-api
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- deepin-daemon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-dbus-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- deepin-gir-generator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- derelict
ExclusiveArch: %{ldc_arches}
- direnv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- discord-irc
ExclusiveArch: %{nodejs_arches} noarch
- dlm
ExclusiveArch: i686 x86_64
- dmidecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- dmtcp
ExclusiveArch: %ix86 x86_64 aarch64
- docco
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- docker
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-anaconda-addon
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- docker-latest
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- dolphin-emu
ExclusiveArch: x86_64 armv7l aarch64
- douceur
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- dpdk
ExclusiveArch: x86_64 i686 aarch64 ppc64le
- dssi-vst
ExclusiveArch: %{ix86} x86_64
- dsymbol
ExclusiveArch: %{ldc_arches}
- dustmite
ExclusiveArch: %{ldc_arches}
- dyninst
ExclusiveArch: %{ix86} x86_64 ppc ppc64
- e3
ExclusiveArch: %{ix86} x86_64
- edac-utils
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- edb
ExclusiveArch: %{ix86} x86_64
- edk2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: x86_64 aarch64
- efibootmgr
ExclusiveArch: %{efi}
- efivar
ExclusiveArch: %{efi}
- elasticdump
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- elk
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- embree
ExclusiveArch: x86_64
- embree2
ExclusiveArch: x86_64
- envytools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- exciting
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: x86_64 %{ix86} aarch64 %{power64}
ExclusiveArch: x86_64 %{ix86} aarch64 %{arm} %{power64}
- exercism
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- expresso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- extlinux-bootloader
ExclusiveArch: %{arm} aarch64
- fcitx-libpinyin
ExclusiveArch: %{qt5_qtwebengine_arches}
- fedora-dockerfiles
ExclusiveArch: %{go_arches}
- fedora-gnat-project-common
ExclusiveArch: noarch %{GNAT_arches}
- fence-virt
ExclusiveArch: i686 x86_64
- fes
ExclusiveArch: x86_64
- flannel
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- florist
ExclusiveArch: %{GPRbuild_arches}
- fluxcapacitor
ExclusiveArch: %{ix86} x86_64 %{arm}
- fpc
ExclusiveArch: %{arm} %{ix86} x86_64 ppc ppc64
- freshmaker
ExclusiveArch: %{ix86} x86_64
- frysk
ExclusiveArch: %{ix86} x86_64 ppc64
- fst
ExclusiveArch: i686
- fwts
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x %{power64}
- fwupdate
ExclusiveArch: %{efi}
- ga
ExclusiveArch: %{ix86} x86_64
- gbrainy
ExclusiveArch: %mono_arches
- gdata-sharp
ExclusiveArch: %mono_arches
- gdb-exploitable
ExclusiveArch: x86_64 i386
ExclusiveArch: x86_64 noarch
- gela-asis
ExclusiveArch: %GPRbuild_arches
- ghdl
ExclusiveArch: %{GNAT_arches}
- gio-sharp
ExclusiveArch: %mono_arches
- gir-to-d
ExclusiveArch: %{ldc_arches}
- git-octopus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- giver
ExclusiveArch: %{mono_arches}
- gkeyfile-sharp
ExclusiveArch: %mono_arches
- gl3n
ExclusiveArch: %{ldc_arches}
- glibc32
ExclusiveArch: x86_64 ppc64 s390x
- glusterd2
ExclusiveArch: %{go_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %GPRbuild_arches
- gnome-boxes
ExclusiveArch: x86_64
- gnome-desktop-sharp
ExclusiveArch: %mono_arches
- gnome-do
ExclusiveArch: %mono_arches
- gnome-guitar
ExclusiveArch: %{mono_arches}
- gnome-keyring-sharp
ExclusiveArch: %mono_arches
- gnome-rdp
ExclusiveArch: %{mono_arches}
- gnome-sharp
ExclusiveArch: %mono_arches
- gnome-subtitles
ExclusiveArch: %mono_arches
- gnu-efi
ExclusiveArch: %{efi}
- gnu-smalltalk
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le
- go-bindata
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- go-compilers
ExclusiveArch: %{go_arches}
- go-i18n
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- godep
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- godotenv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- gofed
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- golang
ExclusiveArch: %{golang_arches}
- golang-bitbucket-kardianos-osext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-deepin-dbus-factory
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-deepin-go-lib
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-10gen-openssl
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- golang-github-BurntSushi-freetype-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-graphics-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-toml-test
ExclusiveArch: %{go_arches}
- golang-github-BurntSushi-xgb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-xgbutil
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-Jeffail-gabs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-goquery
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-purell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-PuerkitoBio-urlesc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-RangelReale-osin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-RangelReale-osincli
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-SeanDolphin-bqschema
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-SermoDigital-jose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-Shopify-sarama
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-Shopify-toxiproxy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-assert
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-chroma
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-alecthomas-colour
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-kingpin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-repr
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-template
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-alecthomas-units
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-andybalholm-cascadia
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-armon-go-proxyproto
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-asaskevich-govalidator
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-auth0-go-jwt-middleware
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-axgle-mahonia
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-bep-gitmap
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-bep-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-bgentry-go-netrc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-boombuler-barcode
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-buger-jsonparser
ExclusiveArch: %{go_arches} noarch
- golang-github-cespare-xxhash
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-chaseadamsio-goorgeous
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-cheekybits-is
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-chrismalek-oktasdk-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-client9-gospell
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-cockroachdb-cockroach-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-codahale-aesnicheck
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-codegangsta-negroni
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-coreos-go-etcd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-cryptix-wav
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-danwakefield-fnmatch
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-cssmin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-dchest-siphash
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-disintegration-imaging
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-dlclark-regexp2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-docker-libkv
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-docopt-docopt-go
ExclusiveArch: %{go_arches}
- golang-github-duosecurity-duo_api_golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-eknkc-amber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-endophage-gotuf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fatih-structs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-flynn-go-shlex
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fortytw2-leaktest
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsnotify-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-fsouza-go-dockerclient
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-fullsailor-pkcs7
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-glacjay-goini
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-errors-errors
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-macaron-inject
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-go-mgo-mgo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-go-tomb-tomb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gobuffalo-envy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gocql-gocql
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-golang-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-google-go-cmp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-goraft-raft
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-gorilla-css
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-gosexy-gettext
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-hailocab-go-hostpool
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-hclog
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-plugin
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-hashicorp-go-rootcerts
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-howeyc-fsnotify
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-inconshreveable-go-vhost
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-influxdb-influxdb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-prose
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jdkato-syllables
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-jefferai-jsonx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-justinas-alice
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-klauspost-cpuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-knieriem-markdown
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-kyokomi-emoji
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-linuxdeepin-go-x11-client
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-lpabon-godbc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-markbates-inflect
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mattn-go-colorable
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-ansi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mgutz-logxi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-michaelklishin-rabbit-hole
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-miekg-mmark
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-milochristiansen-axis2
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-milochristiansen-lua
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-go-testing-interface
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mitchellh-goamz
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-montanaflynn-stats
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-msteinert-pam
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-muesli-smartcrop
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-mvo5-goconfigparser
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-mvo5-uboot-go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-neurosnap-sentences
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-nfnt-resize
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-noahdesu-go-ceph
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-ojii-gettext.go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-opencontainers-specs
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-openshift-go-json-rest
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-go-systemd
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-openshift-openshift-sdn
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-paulrosania-go-charset
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-pquerna-otp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-prometheus-prometheus
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rackspace-gophercloud
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-rakyll-globalconf
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rakyll-pb
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-rakyll-statik
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-rasky-go-xdr
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-remeh-sizedwaitgroup
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-remyoudompheng-bigfft
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-ryanuber-go-glob
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-samuel-go-zookeeper
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-seccomp-libseccomp-golang
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sergi-go-diff
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sethgrid-pester
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shiena-ansicolor
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shogo82148-go-shuffle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-shurcooL-sanitized_anchor_name
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-skarademir-naturalsort
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-skratchdot-open-golang
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-skynetservices-skydns
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-smartystreets-assertions
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-smartystreets-go-aws-auth
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-smartystreets-goconvey
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spacejam-loghisto
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-spacemonkeygo-openssl
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm} ppc64le s390x}
- golang-github-spaolacci-murmur3
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-afero
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-fsync
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-spf13-nitro
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-sstarcher-go-okta
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stathat-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-stevvooe-resumable
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-streadway-amqp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-stretchr-objx
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-syndtr-gocapability
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-goleveldb
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-syndtr-gosnappy
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-tent-http-link-go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-tonnerre-golang-pretty
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-urfave-cli
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-vaughan0-go-ini
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-vbatts-tar-split
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vishvananda-netlink
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} aarch64 x86_64 %{arm}}
- golang-github-vishvananda-netns
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vjeantet-asn1-ber
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-vmware-govcloudair
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-github-wsxiaoys-terminal
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonpointer
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonreference
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xeipuuv-gojsonschema
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-xiang90-probing
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-xrash-smetrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-ace
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yosssi-gohtml
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-github-yvasiyarov-go-metrics
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-gorelic
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-yvasiyarov-newrelic_platform_go
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-gcfg
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-go-decimal-inf
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-googlecode-go-exp
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-googlecode-log4go
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-sqlite
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- golang-googlecode-uuid
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-gopkg-go-check-check
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-go-macaroon-macaroon
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-gopkg-retry-v1
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golang-torproject-pluggable-transports-goptlib
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- golint
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gomtree
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- gotags
ExclusiveArch: %{go_arches}
- gotun
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: x86_64
- gprbuild
ExclusiveArch: %{GPRbuild_arches} %{bootstrap_arch}
- gprolog
ExclusiveArch: x86_64 %{ix86} ppc alpha
- gsf-sharp
ExclusiveArch: %mono_arches
- gtk-sharp-beans
ExclusiveArch: %mono_arches
- gtk-sharp2
ExclusiveArch: %mono_arches
- gtk-sharp3
ExclusiveArch: %{mono_arches}
- gtkd
ExclusiveArch: %{ldc_arches}
- gudev-sharp
ExclusiveArch: %mono_arches
- hedgewars
ExclusiveArch: %{fpc_arches}
- heketi
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- hsakmt
ExclusiveArch: x86_64 aarch64
- hub
ExclusiveArch: %{go_arches}
- hugo
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- icaro
ExclusiveArch: %{ix86} %{arm} x86_64 noarch
- ignition
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- ikarus
ExclusiveArch: %{ix86}
- imvirt
ExclusiveArch: %{ix86} x86_64 ia64
- indistarter
ExclusiveArch: %{fpc_arches}
- infinipath-psm
ExclusiveArch: x86_64
- insect
ExclusiveArch: %{nodejs_arches} noarch
- intel-cmt-cat
ExclusiveArch: x86_64 i686 i586
ExclusiveArch: x86_64 i686 i586
- intel-gmmlib
ExclusiveArch: x86_64 i686
- ioport
ExclusiveArch: %{ix86} x86_64
- ipmctl
ExclusiveArch: x86_64
- ipw2100-firmware
ExclusiveArch: noarch i386 x86_64
- ipw2200-firmware
ExclusiveArch: noarch i386 x86_64
- ispc
ExclusiveArch: %{arm} %{ix86} x86_64
- iucode-tool
ExclusiveArch: %{ix86} x86_64
- iwyu
ExclusiveArch: %{ix86} x86_64
- jake
ExclusiveArch: %{nodejs_arches} noarch
- jasmine-node
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- java-1.8.0-openjdk-aarch32
ExclusiveArch: %{arm}
- josm
ExclusiveArch: %{ix86} x86_64
- keepass
ExclusiveArch: %{mono_arches}
- kernel
ExclusiveArch: %{all_x86} x86_64 s390x %{arm} aarch64 ppc64le
- kicad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- knot-resolver
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- kompose
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 s390x
- kosmtik
ExclusiveArch: %{nodejs_arches} noarch
- kubernetes
ExclusiveArch: x86_64 aarch64 ppc64le s390x %{arm}
- latrace
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64}
- lazarus
ExclusiveArch: %{fpc_arches}
- ldc
ExclusiveArch: %{ldc_arches}
- libbsr
ExclusiveArch: %{power64}
- libclc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{power64} s390x
- libcxl
ExclusiveArch: %{power64}
- libdparse
ExclusiveArch: %{ldc_arches}
- libflatarray
ExclusiveArch: %{ix86} x86_64
- libica
ExclusiveArch: s390 s390x
- libipt
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- libmfx
ExclusiveArch: %{ix86} x86_64
- libocxl
ExclusiveArch: ppc64le
- libpsm2
ExclusiveArch: x86_64
- libquentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- librtas
ExclusiveArch: %{power64}
- libseccomp
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 mipsel mips64el ppc64 ppc64le s390 s390x
- libservicelog
ExclusiveArch: ppc %{power64}
- libsmbios
ExclusiveArch: x86_64 %{ix86}
- libunwind
ExclusiveArch: %{arm} aarch64 hppa ia64 mips ppc %{power64} %{ix86} x86_64
- libva-intel-hybrid-driver
ExclusiveArch: %{ix86} x86_64 ia64
- libvmi
ExclusiveArch: x86_64
- libvpd
ExclusiveArch: %{power64}
- libxsmm
ExclusiveArch: x86_64
- libzfcphbaapi
ExclusiveArch: s390 s390x
- lodash
ExclusiveArch: %{nodejs_arches} noarch
- log4net
ExclusiveArch: %mono_arches
- lrmi
ExclusiveArch: %{ix86}
- lsvpd
ExclusiveArch: %{power64}
- luajit
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- matreshka
ExclusiveArch: %GPRbuild_arches
- maven-eclipse-plugin
ExclusiveArch: %{ix86} x86_64
- maxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- mcelog
ExclusiveArch: i686 x86_64
- mediaconch
ExclusiveArch: %{qt5_qtwebengine_arches}
- mellowplayer
ExclusiveArch: %{qt5_qtwebengine_arches}
- memkind
ExclusiveArch: x86_64
- memtest86+
ExclusiveArch: %{ix86} x86_64
- mesos
ExclusiveArch: x86_64
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} x86_64
- mine_detector
ExclusiveArch: %{GPRbuild_arches}
- minetest
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- mingw-wine-gecko
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- mkbootdisk
ExclusiveArch: %{ix86} sparc sparc64 x86_64
- mnemosyne
ExclusiveArch: noarch %{qt5_qtwebengine_arches}
- mocha
ExclusiveArch: %{nodejs_arches} noarch
- mod_mono
ExclusiveArch: %mono_arches
- module-build-service
ExclusiveArch: %{ix86} x86_64 noarch
- mokutil
ExclusiveArch: %{ix86} x86_64 aarch64
- mongo-tools
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- mongodb
ExclusiveArch: %{upstream_arches}
- mono
ExclusiveArch: %mono_arches
- mono-addins
ExclusiveArch: %mono_arches
- mono-basic
ExclusiveArch: %{mono_arches}
- mono-bouncycastle
ExclusiveArch: %mono_arches
- mono-cecil
ExclusiveArch: %mono_arches
- mono-cecil-flowanalysis
ExclusiveArch: %mono_arches
- mono-debugger
ExclusiveArch: %ix86 x86_64
- mono-reflection
ExclusiveArch: %mono_arches
- mono-tools
ExclusiveArch: %mono_arches
- mono-zeroconf
ExclusiveArch: %mono_arches
- monobristol
ExclusiveArch: %{mono_arches}
- monodevelop
ExclusiveArch: %mono_arches
- monodevelop-debugger-gdb
ExclusiveArch: %{mono_arches}
- monosim
ExclusiveArch: %mono_arches
- mrrescue
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- msgpack-d
ExclusiveArch: %{ldc_arches}
- msr-tools
ExclusiveArch: %{ix86} x86_64
- mustache-d
ExclusiveArch: %{ldc_arches}
- mysql-connector-net
ExclusiveArch: %{mono_arches}
- nacl-arm-binutils
ExclusiveArch: x86_64
- nacl-binutils
ExclusiveArch: x86_64
- nacl-gcc
ExclusiveArch: x86_64
- nacl-newlib
ExclusiveArch: x86_64
- nant
ExclusiveArch: %mono_arches
- nbc
ExclusiveArch: %{fpc_arches}
- nbdkit
ExclusiveArch: x86_64
- ndesk-dbus
ExclusiveArch: %{mono_arches}
- ndesk-dbus-glib
ExclusiveArch: %{mono_arches}
- newtonsoft-json
ExclusiveArch: %{mono_arches}
- nim
ExclusiveArch: %{nim_arches}
- node-gyp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs
ExclusiveArch: %{nodejs_arches}
- nodejs-Base64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-abbrev
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-accepts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-dynamic-import
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-acorn-jsx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-acorn-object-spread
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-add-stream
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-after
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-agent-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-agentkeepalive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ain2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-align-text
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-alter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgblue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgcyan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bggreen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgmagenta
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgwhite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bgyellow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-black
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-blue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-bold
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-cyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-dim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-escapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-font
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-gray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-green
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-grey
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-hidden
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-inverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-italic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-magenta
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-red
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-reset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-strikethrough
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-styles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-underline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-white
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ansi-wrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansi-yellow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansicolors
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansidiff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ansistyles
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-any-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-field
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-append-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-aproba
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archiver-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-archy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-are-we-there-yet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-argparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-argsparser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arr-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arr-union
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-buffer-from-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-differ
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-find
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-find-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-flatten
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-foreach
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-ify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-array-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-uniq
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-array-unique
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-arraybuffer-dot-slice
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arraybuffer-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-arrify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-as-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ascii-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ascli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-asn1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assert-plus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assertion-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-assume
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ast-traverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ast-types
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-astral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-angular-annotate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-astral-pass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-array-reduce
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-async-arrays
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-limiter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-queue
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-async-some
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-asynckit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-atob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-auto-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-autoresolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ava-init
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-aws-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws-sign2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-aws4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-code-frame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-messages
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-functions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-plugin-syntax-async-generators
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-babel-runtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-babylon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backbone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-backoff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-balanced-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-option
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base-plugins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base32-encode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-arraybuffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-base64-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-base64id
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bash-match
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-basic-auth-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-basic-auth-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-batch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bcrypt
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-bcryptjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-beeper
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-benchmark
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-better-than-before
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bignumber-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bind-obj-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bindings
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bit-mask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-blob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-block-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bluebird
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-body-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boolbase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-boom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-brace-expansion
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-braces
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-breakable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-browser-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-browser-stdout
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buble
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buf-compare
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-crc32
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-buffer-shims
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffer-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-buffertools
ExclusiveArch: %{nodejs_arches}
- nodejs-bufferutil
ExclusiveArch: %{nodejs_arches}
- nodejs-builtin-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-builtins
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bundle-dependencies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-bunyan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-burrito
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-busboy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-byline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cache-base
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caching-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-call-delayed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-matcher
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-me-maybe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-call-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-callback-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caller-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-callsites
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camel-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-camelcase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caniuse-db
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-capture-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-carrier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-caseless
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-center-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-as-promised
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-connect-middleware
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-json-schema
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-oauth2orize-grant
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chai-spies-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chainsaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chalk
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-change-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-char-spinner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-character-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-chardet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-charenc
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-charm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-check-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-check-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cheerio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-child-process-close
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chmodr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chownr
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chroma-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-chrono
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ci-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-circular-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cjson
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-class-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clean-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clean-yaml-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-clear-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-spinner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cli-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cliui
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-clone-stats
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-closure-compiler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-co-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-co-with-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-code-point-at
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-coffee-coverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-collection-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-collections
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-color-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-colour
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-columnify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-combined-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commander
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-common-path-prefix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commondir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-commoner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-commonmark
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compare-func
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compare-versions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-component-inherit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compress-commons
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-compressible
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-compression
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-map
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-concat-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-config-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-livereload
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-connect-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-console-dot-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-console-group
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-consolemd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constant-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-constantinople
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-disposition
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-content-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-angular
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-atom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-codemirror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-core
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-conventional-changelog-ember
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-eslint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-express
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jquery
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jscs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-preset-loader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-changelog-writer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-filter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-commits-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-conventional-recommended-bump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-hex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-convert-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-jar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookie-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookie-signature
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cookiejar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cookies
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-copy-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-core-assert
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-core-util-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-couch-login
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-coveralls
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-crc
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crc32-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-create-error-class
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-cross-spawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cross-spawn-async
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-crypt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cryptiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csrf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-select
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-css-tree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-css-what
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-csscomb-core
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csso
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cssom
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csurf
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-generate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-spectrum
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-csv-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ctype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-currently-unhandled
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cycle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-cyclist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-d
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dargs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dashdash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-data-uri-to-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-date-now
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dateformat
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-death
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-debug-fabulous
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debug-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-debuglog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-decamelize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decamelize-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decimal-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-decompress-response
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dedent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-eql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-equal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deep-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deep-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-default-require-extensions
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-default-resolution
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defaults
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defence
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-defence-cli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-properties
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-define-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defined
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-defs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-degenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-del
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delayed-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-delegates
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-delete
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dep-graph
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-depd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-deprecated
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-detect-newline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detect-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-detective
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dezalgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-difflib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dirty-chai
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-discord-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-docopt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-doctrine
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dom-serializer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domelementtype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-domutils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dot-prop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dotfile-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dreamopt
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-dryice
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-dtree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-duplexer3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duration
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-each-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ebnf-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-echomd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ecstatic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-editor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ee-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-emojione
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-empty-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-encodeurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-encoding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-end-of-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-engine-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-entities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-ex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-error-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-errorhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-errs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-abstract
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es-to-primitive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es5-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es5-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-iterator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-promisify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-es6-set
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-es6-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escallmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-html
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escape-regexp-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-escape-string-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escodegen
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-escope
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espower-location-detector
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-fb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-esprima-harmony-jscs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-espurify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esrecurse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estraverse-fb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-estree-walker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-esutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-etag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-event-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-event-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-eventemitter3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-events-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-everything-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-execa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-exit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-brackets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expand-tilde
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-expect-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-express-session
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extend-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extended-emitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-extsprintf
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-eyes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fake
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fancy-log
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-far
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fast-levenshtein
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fastfall
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-faucet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-faye-websocket
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fd-slicer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fg-lodash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-figures
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-file-entry-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-sync-cmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-file-uri-to-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-filed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filelist
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-filename-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fileset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fill-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fill-range
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-finalhandler
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-find-cache-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-find-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-findup-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-first-chunk-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flagged-respawn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flat-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-flot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-flush-write-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fmix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-dot-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fn-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-follow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-follow-redirects
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-for-in
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-for-own
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-foreach
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-foreground-child
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forever-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-form-data
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-formatio
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-formidable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-forwarded
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fragment-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-freetree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fresh
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-from2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-dot-notify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-cached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-exists-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-fs-ext
ExclusiveArch: %{nodejs_arches}
- nodejs-fs-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-temp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-vacuum
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs-write-stream-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fs2
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-ignore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-fstream-npm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ftp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-function-bind
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-function-loop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gauge
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gaze
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gdal
ExclusiveArch: %{nodejs_arches}
- nodejs-generate-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generate-object-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-generic-pool
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-pkg-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-stdin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-get-uri
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-get-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-getobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gettext-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-dummy-commit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-raw-commits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-remote-origin-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-semver-tags
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-git-tails
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gitconfiglocal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-github-url-from-username-repo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glob-base
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-expand
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-parent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-glob-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-global-modules
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-global-prefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globby
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-globule
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-glogg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gnode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gonzales-pe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-got
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-graceful-readlink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-growl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-angular-templates
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-banner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-cli
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-compare-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-clean
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-concat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-connect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-csslint
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-cssmin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-htmlmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-internal
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-less
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-nodeunit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-requirejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-contrib-uglify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-contrib-watch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-git-authors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-html-validation
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-init
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-known-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-legacy-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-lib-contrib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-sed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-simple-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-grunt-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-process
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-util-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-grunt-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-mocha
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulp-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-gulp-util
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-gzip-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-handle-thing
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-handlebars
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-har-validator
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-binary2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-cors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-flag
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-gulplog
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-has-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-unicode
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-has-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hash_file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hawk
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-he
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-heap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hex-to-array-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-highlight-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-historic-readline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hoek
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-homedir-polyfill
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hook-std
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hooker
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-hosted-git-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-hsluv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-html-minifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-htmlparser2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-deceiver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-errors
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-proxy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-http-server
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http-signature
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-http2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-https-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-humanize-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-i18n-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-i2c
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv
ExclusiveArch: %{nodejs_arches}
- nodejs-iconv-lite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-iferr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ignore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-image-size
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-immutable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-import-local
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imul
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-imurmurhash
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-indent-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-indexof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-infinity-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inflight
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-info-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-inherits
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inherits1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ini
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-init-package-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-inline-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-install
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-int64-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-intercept-require
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-interpret
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-into-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-invert-kv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ip
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ipaddr-dot-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-irc-colors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-formatting
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irc-upd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-irregular-plurals
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-accessor-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrayish
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-boolean-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-builtin-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-callable
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-data-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-date-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-descriptor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-dotfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-equal-shallow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-extendable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-extglob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-finite
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-fullwidth-code-point
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-generator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-generator-function
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-module
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-my-json-valid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-negated-glob
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-number
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-number-object
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-odd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-path-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-in-cwd
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-path-inside
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-plain-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-plain-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-primitive
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-property
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-redirect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-regexp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-registered
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-relative
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-retry-allowed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-subset
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-text-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-typedarray
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-unc-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-url
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-valid-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-is-valid-instance
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-is-windows
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-isexe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-iso8601
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isobject
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isodate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-isstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-coverage
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-hook
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-report
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-lib-source-maps
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-istanbul-reports
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jade
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-growl-reporter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jasmine-reporters
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jest-mock
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jison-lex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jju
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joose
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-namespace-depended
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-joosex-simplerequest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-base64
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-string-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-js-tokens
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-js-yaml
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jschardet
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jscoverage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jshint
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-diff
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-localizer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-better-errors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json-parse-helpfulerror
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stable-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-json-stringify-safe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-json3
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jsonm
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonparse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonpointer-dot-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-jsonselect
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-jwt-simple
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keep-alive-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-keygrip
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-keypress
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-kind-of
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-klaw
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-kuler2gpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-latest-version
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazy-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lazystream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lcid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lcov-parse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-leaflet
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-formbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leaflet-hash
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-leche
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-left-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-less
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-less-plugin-clean-css
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-levn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lex-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-libpq
ExclusiveArch: %{nodejs_arches}
- nodejs-libxmljs
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-line-numbers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-line-reader
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linefix
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-linkify-it
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-grunt-tasks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-load-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-character
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-locate-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lockfile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-log-driver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-ok
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-symbols
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-log-utils
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lolex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-long
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-longest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loophole
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-loud-rejection
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-lower-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lower-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lowercase-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-lru-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ltx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-magic-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-make-arrow-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-generator-function
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-make-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-makeerror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-obj
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-map-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik
ExclusiveArch: %{nodejs_arches}
- nodejs-mapnik-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mapnik-vector-tile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-markdown
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-markdown-it-testgen
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-marked
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-matched
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-max-timeout
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-maxmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mbtiles
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-md5
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-hex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-md5-o-matic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mdn-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mdurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-media-typer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-memoizee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-memwatch-next
ExclusiveArch: %{nodejs_arches}
- nodejs-meow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-descriptors
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-merge-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-metascript
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-method-override
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-methods
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-micromatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-millstone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mime-db
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mime-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mimeparse
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mimic-response
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimalistic-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minimist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-minimist-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minipass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-minstache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-deep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mixin-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mkfiletree
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-bin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mock-git
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-modify-values
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-module-not-found-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-moment
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-moment-timezone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mongodb-core
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-monocle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-morgan
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-muffin
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiline
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-multimatch
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multiparty
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-multipipe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-murmur-32
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mustache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mutate-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mute-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mv
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-mysql
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-mz
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nan0
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nan1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanomatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nanoseconds
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-native-or-bluebird
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ncp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-needle
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-negative-zero
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-negotiator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nested-error-stacks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-net-browserify-alt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-netmask
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-next
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-next-tick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ng-classify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-expat
ExclusiveArch: %{nodejs_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
- nodejs-node-int64
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-print
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-static
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-status-codes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-node-stringprep
ExclusiveArch: %{nodejs_arches}
- nodejs-node-uuid
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-nomnom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-noncharacters
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nopt-usage
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-noptify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-normalize-git-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-package-data
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-normalize-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-cache-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-install-checks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-package-arg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-registry-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-npm-run-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npm-user-validate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-npmlog
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nsp-api
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nsp-audit-shrinkwrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-nth-check
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-number-is-nan
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-numeral
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth-sign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oauth2orize
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-assign
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-copy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-dot-entries
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-omit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-dot-pick
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-object-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-object-visit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-observable-to-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-obuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-okay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-finished
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-on-headers
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-once
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-onetime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-only-shallow
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-oop
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opal-runtime
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opener
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-opn
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-cache
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-option-chain
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optionator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-options
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-optjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-opts
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-orchestrator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ordered-read-streams
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-os-homedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-locale
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-os-tmpdir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-osenv
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-output-file-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-own-or
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-own-or-env
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-finally
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-is-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-p-locate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pac-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pac-resolver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-info
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-package-license
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-packaging
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-packet-reader
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pad-left
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-paperboy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parallel-transform
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-param-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-github-repo-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parse-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parse-passwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parsejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseqs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parserlib
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-parseuri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-parseurl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pascal-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pascalcase
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-http-bearer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth1
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-oauth2-client-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-passport-strategy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-array
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-dirname
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-exists
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-extra
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-absolute
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-is-inside
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-key
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path-to-regexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-path-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-path2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pathval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pause
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pause-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pegjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pem
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-connection-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-cursor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-escape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-int8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-native
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-pool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pg-types
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pgpass
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pinkie-promise
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkg-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pkginfo
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-platform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-plur
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-portfinder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-portscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-posix-character-classes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-posix-getopt
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-bytea
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-date
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-postgres-interval
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-precond
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prelude-ls
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-prepend-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-preserve
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-bytes
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-hrtime
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pretty-ms
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pretty-time
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prism-media
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-private
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-process-nextick-args
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proclaim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-progress-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-promise
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promises-aplus-tests
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-prompt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-promzard
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-propagate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-propget
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proto-list
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-proxy-addr
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-proxyquire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pruddy-error
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pseudomap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pubcontrol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-pump
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pumpify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-q
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-q-io
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qtdatastream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-queue-async
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-quick-lru
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-qunit-extras
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-qunitjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rainbowsocks
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-random-bytes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-random-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-randomatic
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-range-parser
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-raw-body
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rc
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-re-emitter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-all-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-cmd-shim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-dir-files
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-file
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-installed
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-json-sync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-json
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-package-tree
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-read-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-read-pkg-up
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readable-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-readdir-enhanced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdir-scoped-modules
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-readdirp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-realize-package-specifier
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-recast
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rechoir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-redent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reduce-component
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regenerator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-regex-cache
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-regex-not
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-registry-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-relateurl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-remove-trailing-separator
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repeat-element
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeat-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-repeating
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-repl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-replace-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-replace-require-self
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-request
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-requestretry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-cs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-require-directory
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-inject
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-main-filename
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-relative
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-uncached
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-require-yaml
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requirejs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-requires-port
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-cwd
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-dir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-from
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-resolve-pkg
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resolve-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-response-time
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-resumer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ret
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-retry
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-reusify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-revalidator
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rewire
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rhea
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-right-align
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rimraf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rndm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-rollup-plugin-buble
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-commonjs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-json
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-node-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-plugin-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-rollup-pluginutils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ronn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-run-parallel-limit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-runforcover
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-buffer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safe-json-stringify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-safe-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-safecb
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-samsam
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sauce-tunnel
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-saucelabs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sax
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-scmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-secure-random
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seedrandom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-select-hose
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-semver
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-send
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sentence-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sentiment
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-seq
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sequencify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serialize-error
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-index
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-serve-static
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-server-destroy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-blocking
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-getter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-set-immediate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-immediate-shim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-set-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-setimmediate
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-setprototypeof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sha
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shallow-clone
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-command
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shebang-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-shelljs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-shelljs-nodecli
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-should-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-format
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-http
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-should-type
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-showdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sigmund
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-signal-exit
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-silent-npm-registry-client
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-assert
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-asyncify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-simple-fmt
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-is
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-simple-markdown
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-single-line-log
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sinon-chai
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sinon-restore
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slash
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sliced
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-slide
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-smart-buffer
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-snake-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-capture-set
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-node
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snapdragon-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snekfetch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-snockets
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sntp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socket-dot-io-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-socks-client
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-socks-proxy-agent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-sort-keys
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sorted-object
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-fixtures
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-resolve
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-source-map-support
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-source-map-url
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sparkles
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-spawn-sync
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spawn-wrap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-correct
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-exceptions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-expression-parse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spdx-license-ids
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-spec-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-speedometer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-split2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sprintf-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-sqlite3
ExclusiveArch: %{nodejs_arches}
- nodejs-srs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ssri
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-st
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-trace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stack-utils
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-static-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-static-favicon
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-statuses
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-std-mocks
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-combiner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-consume
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-counter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-each
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-equal
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-pair
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-reduce
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-replace
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stream-shift
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-spigot
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stream-transform
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-streamsearch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamsink
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-streamtest
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-repeat
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-string-dot-prototype-dot-trim
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string-width
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-string_decoder
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringmap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringset
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-stringstream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-ansi
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-bom-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-bom-string
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-color
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-eof
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-indent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strip-json-comments
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strip-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-strong-log-transformer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-strscanner
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-stylus
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-success-symbol
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-superagent-proxy
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-supertest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supervisor
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-supports-color
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-suspend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgmin
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-svgo
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-swap-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-symbol-observable
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tad
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-mocha-reporter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-out
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tap-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tap-spec
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tape
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tapes
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-pack
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tar-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temp-write
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tempfile
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-temporary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-cordovajs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tern-liferay
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-terst
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-test
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-test-exclude
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testdata-w3c-json-form
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-testjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testswarm
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-testutil
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-extensions
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-text-table
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-thenify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thenify-all
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-through2
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-through2-filter
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-thunkify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tildify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tilejson
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tilelive-mapnik
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tiletype
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-diff
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-time-stamp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-timed-out
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timekeeper
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-timers-ext
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tiny-lr-fork
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tippex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-title-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tlds
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tmatch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmp
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tmpl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-absolute-glob
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-array
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-object-path
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-to-regex
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-to-regex-range
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-touch
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tough-cookie
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tracejs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-transformers
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-traverse
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-treeify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tressa
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-trim-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trim-off-newlines
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-trivial-deferred
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-try-open
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-try-thread-sleep
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tryor
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-tsame
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tslib
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tsscmp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ttembed-js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tunnel-agent
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tv4
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-tweetnacl-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-check
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-type-detect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-is
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-type-name
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-typeahead.js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typedarray
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-typescript
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uc-dot-micro
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uglify-to-browserify
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid-number
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uid-safe
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-uid2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-ultron
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-umask
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unc-path-regex
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-underscore-dot-logger
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unicode-length
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-union-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unique-filename
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-slug
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-stream
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-unique-temp-dir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unpipe
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-unset-value
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-upper-case-first
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uri-path
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-urix
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url-join
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url-parse-lax
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-url2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-use
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-user-home
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utf8
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utfx
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-util
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-deprecate
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-util-inspect
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utile
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-utilities
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-utils-merge
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-uuid
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vali-date
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-validate-npm-package-license
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-validate-npm-package-name
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vary
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vasync
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-verror
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vhost
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vinyl
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vlq
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vow-fs
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-vow-queue
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-vows
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-w3cjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walkdir
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-walker
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ware
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-warning-symbol
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-watchit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-watershed
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wbuf
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wcwidth
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-weak-map
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-websocket-driver
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-when
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-whet-dot-extend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-which
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-win-spawn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-window-size
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-winston
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-with
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wolfy87-eventemitter
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-woothee
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wordwrap
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrap-ansi
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-wrap-fn
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-wrappy
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-write-file-atomic
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-json-file
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-write-pkg
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-ws
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xdg-basedir
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xml2js
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlbuilder
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmldom
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xmlhttprequest-ssl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-xregexp
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-xtend
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-y18n
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yallist
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yapool
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yargs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-yargs-parser
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yarn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yauzl
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yeast
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-yn
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zap
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zeropad
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zip-stream
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zipfile
ExclusiveArch: %{nodejs_arches}
- nodejs-zlib-browserify
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-zlibjs
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodeunit
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- notify-sharp
ExclusiveArch: %{mono_arches}
- notify-sharp3
ExclusiveArch: %{mono_arches}
- nuget
ExclusiveArch: %{mono_arches}
- numatop
ExclusiveArch: %{ix86} x86_64
- nunit
ExclusiveArch: %{mono_arches}
- nunit2
ExclusiveArch: %{mono_arches}
- nvml
ExclusiveArch: x86_64
- nwchem
ExclusiveArch: x86_64 %{ix86}
- obfs4
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-kvm-hook
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- oci-register-machine
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- oci-umount
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- ocitools
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- odcs
ExclusiveArch: %{ix86} x86_64
- olpc-kbdshim
ExclusiveArch: %{ix86} %{arm}
- olpc-netutils
ExclusiveArch: %{ix86} %{arm}
- olpc-powerd
ExclusiveArch: %{ix86} %{arm}
- olpc-utils
ExclusiveArch: %{ix86} %{arm}
- onedrive
ExclusiveArch: %{ldc_arches}
- opal-prd
ExclusiveArch: ppc64le
- open-vm-tools
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64
- openblas
ExclusiveArch: %{openblas_arches}
- openjfx
ExclusiveArch: %{ix86} x86_64
- openlibm
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 %{power64}
- openmx
ExclusiveArch: x86_64 %{ix86}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 s390x
- openvswitch
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- origin
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- orion
ExclusiveArch: %{qt5_qtwebengine_arches}
- orthorobot
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- oshinko-cli
ExclusiveArch: %{go_arches}
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- paflib
ExclusiveArch: ppc %{power64}
- pcc
ExclusiveArch: %{ix86} x86_64
- pcmciautils
ExclusiveArch: %{ix86} x86_64 ia64 ppc ppc64 %{arm}
- pdfmod
ExclusiveArch: %mono_arches
- peripety
ExclusiveArch: %{rust_arches}
- perl-Dumbbench
ExclusiveArch: %{ix86} x86_64 noarch
- perl-Parse-DMIDecode
ExclusiveArch: %{ix86} x86_64 ia64 aarch64
- pesign
ExclusiveArch: %{ix86} x86_64 ia64 aarch64 %{arm}
- pesign-test-app
ExclusiveArch: i686 x86_64 ia64 aarch64
- pinta
ExclusiveArch: %mono_arches
- pioneer
ExclusiveArch: %{ix86} x86_64
- playonlinux
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- plv8
ExclusiveArch: %v8_arches
- pocl
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- podman
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- poppler-sharp
ExclusiveArch: %mono_arches
- popub
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- powerpc-utils
ExclusiveArch: ppc %{power64}
- ppc64-diag
ExclusiveArch: ppc %{power64}
- publican-jboss
ExclusiveArch: i686 x86_64
- pvs-sbcl
ExclusiveArch: %{ix86} x86_64 ppc sparcv9
- python-afl
ExclusiveArch: %{ix86} x86_64
- python-etcd
ExclusiveArch: noarch %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- python-healpy
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-openoffice
ExclusiveArch: noarch x86_64
- python-pymoc
ExclusiveArch: aarch64 ppc64 ppc64le x86_64 s390x
- python-rpi-gpio
ExclusiveArch: %{arm} aarch64
- q4wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- qcint
ExclusiveArch: x86_64
- qclib
ExclusiveArch: s390 s390x
- qevercloud
ExclusiveArch: %{qt5_qtwebengine_arches}
- qmapshack
ExclusiveArch: %{qt5_qtwebengine_arches}
- qt4pas
ExclusiveArch: %{fpc_arches}
- qt5-qtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- quantum-espresso
ExclusiveArch: x86_64 %{ix86}
ExclusiveArch: %{openblas_arches}
- quentier
ExclusiveArch: %{qt5_qtwebengine_arches}
- rear
ExclusiveArch: %ix86 x86_64 ppc ppc64 ppc64le ia64
- redhat-lsb
ExclusiveArch: %{ix86} ia64 x86_64 ppc ppc64 s390 s390x %{arm} aarch64 ppc64le
- reg
ExclusiveArch: x86_64
- renderdoc
ExclusiveArch: %{ix86} x86_64
- reptyr
ExclusiveArch: %{ix86} x86_64 %{arm}
- rescene
ExclusiveArch: %{mono_arches}
- restsharp
ExclusiveArch: %{mono_arches}
- rhythmbox-alternative-toolbar
ExclusiveArch: %{ix86} %{arm} x86_64 ppc64 ppc64le
- rkt
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- rocm-runtime
ExclusiveArch: x86_64 aarch64
- rpm-ostree
ExclusiveArch: %{rust_arches}
- rssguard
ExclusiveArch: %{qt5_qtwebengine_arches}
- runc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le %{mips} s390x
- rust
ExclusiveArch: %{rust_arches}
- rust-abomonation
ExclusiveArch: %{rust_arches}
- rust-addr2line
ExclusiveArch: %{rust_arches}
- rust-adler32
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-backtrace
ExclusiveArch: %{rust_arches}
- rust-backtrace-sys
ExclusiveArch: %{rust_arches}
- rust-base100
ExclusiveArch: %{rust_arches}
- rust-base64
ExclusiveArch: %{rust_arches}
- rust-bat
ExclusiveArch: %{rust_arches}
- rust-bencher
ExclusiveArch: %{rust_arches}
- rust-bincode
ExclusiveArch: %{rust_arches}
- rust-bincode0.8
ExclusiveArch: %{rust_arches}
- rust-bindgen
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitflags0.9
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-bufstream
ExclusiveArch: %{rust_arches}
- rust-build_const
ExclusiveArch: %{rust_arches}
- rust-byte-tools
ExclusiveArch: %{rust_arches}
- rust-bytecount
ExclusiveArch: %{rust_arches}
- rust-byteorder
ExclusiveArch: %{rust_arches}
- rust-bytes
ExclusiveArch: %{rust_arches}
- rust-bytes0.3
ExclusiveArch: %{rust_arches}
- rust-c_vec
ExclusiveArch: %{rust_arches}
- rust-cairo-rs
ExclusiveArch: %{rust_arches}
- rust-cairo-sys-rs
ExclusiveArch: %{rust_arches}
- rust-cargo
ExclusiveArch: %{rust_arches}
- rust-cast
ExclusiveArch: %{rust_arches}
- rust-cbindgen
ExclusiveArch: %{rust_arches}
- rust-cc
ExclusiveArch: %{rust_arches}
- rust-cexpr
ExclusiveArch: %{rust_arches}
- rust-cfg-if
ExclusiveArch: %{rust_arches}
- rust-chan
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-clang-sys
ExclusiveArch: %{rust_arches}
- rust-clap
ExclusiveArch: %{rust_arches}
- rust-clicolors-control
ExclusiveArch: %{rust_arches}
- rust-cmake
ExclusiveArch: %{rust_arches}
- rust-coco
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-cpp_demangle
ExclusiveArch: %{rust_arches}
- rust-crates-io
ExclusiveArch: %{rust_arches}
- rust-crc
ExclusiveArch: %{rust_arches}
- rust-crc-core
ExclusiveArch: %{rust_arches}
- rust-crossbeam
ExclusiveArch: %{rust_arches}
- rust-crossbeam-channel
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.4
ExclusiveArch: %{rust_arches}
- rust-crossbeam-deque0.5
ExclusiveArch: %{rust_arches}
- rust-crossbeam-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-cryptovec
ExclusiveArch: %{rust_arches}
- rust-cssparser
ExclusiveArch: %{rust_arches}
- rust-cssparser-macros
ExclusiveArch: %{rust_arches}
- rust-csv
ExclusiveArch: %{rust_arches}
- rust-csv-core
ExclusiveArch: %{rust_arches}
- rust-ctrlc
ExclusiveArch: %{rust_arches}
- rust-curl
ExclusiveArch: %{rust_arches}
- rust-curl-sys
ExclusiveArch: %{rust_arches}
- rust-custom_derive
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-deque
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-docopt
ExclusiveArch: %{rust_arches}
- rust-downcast-rs
ExclusiveArch: %{rust_arches}
- rust-dtoa
ExclusiveArch: %{rust_arches}
- rust-dtoa-short
ExclusiveArch: %{rust_arches}
- rust-edit-distance
ExclusiveArch: %{rust_arches}
- rust-either
ExclusiveArch: %{rust_arches}
- rust-encoding
ExclusiveArch: %{rust_arches}
- rust-encoding-index-japanese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-korean
ExclusiveArch: %{rust_arches}
- rust-encoding-index-simpchinese
ExclusiveArch: %{rust_arches}
- rust-encoding-index-singlebyte
ExclusiveArch: %{rust_arches}
- rust-encoding-index-tradchinese
ExclusiveArch: %{rust_arches}
- rust-encoding_index_tests
ExclusiveArch: %{rust_arches}
- rust-encoding_rs
ExclusiveArch: %{rust_arches}
- rust-encoding_rs_io
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-errln
ExclusiveArch: %{rust_arches}
- rust-errno
ExclusiveArch: %{rust_arches}
- rust-error-chain
ExclusiveArch: %{rust_arches}
- rust-exa
ExclusiveArch: %{rust_arches}
- rust-extprim
ExclusiveArch: %{rust_arches}
- rust-extprim_literals_macros
ExclusiveArch: %{rust_arches}
- rust-failure
ExclusiveArch: %{rust_arches}
- rust-failure_derive
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-filetime
ExclusiveArch: %{rust_arches}
- rust-fixedbitset
ExclusiveArch: %{rust_arches}
- rust-flame
ExclusiveArch: %{rust_arches}
- rust-flate2
ExclusiveArch: %{rust_arches}
- rust-float-cmp
ExclusiveArch: %{rust_arches}
- rust-fnv
ExclusiveArch: %{rust_arches}
- rust-foreign-types
ExclusiveArch: %{rust_arches}
- rust-foreign-types-shared
ExclusiveArch: %{rust_arches}
- rust-fragile
ExclusiveArch: %{rust_arches}
- rust-fs2
ExclusiveArch: %{rust_arches}
- rust-fuse
ExclusiveArch: %{rust_arches}
- rust-futures
ExclusiveArch: %{rust_arches}
- rust-futures-async-runtime
ExclusiveArch: %{rust_arches}
- rust-futures-channel
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor
ExclusiveArch: %{rust_arches}
- rust-futures-io
ExclusiveArch: %{rust_arches}
- rust-futures-macro-async
ExclusiveArch: %{rust_arches}
- rust-futures-macro-await
ExclusiveArch: %{rust_arches}
- rust-futures-sink
ExclusiveArch: %{rust_arches}
- rust-futures-stable
ExclusiveArch: %{rust_arches}
- rust-futures-timer
ExclusiveArch: %{rust_arches}
- rust-futures-util
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-gcsf
ExclusiveArch: %{rust_arches}
- rust-gdk
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf
ExclusiveArch: %{rust_arches}
- rust-gdk-pixbuf-sys
ExclusiveArch: %{rust_arches}
- rust-gdk-sys
ExclusiveArch: %{rust_arches}
- rust-generic-array
ExclusiveArch: %{rust_arches}
- rust-getopts
ExclusiveArch: %{rust_arches}
- rust-gimli
ExclusiveArch: %{rust_arches}
- rust-gio
ExclusiveArch: %{rust_arches}
- rust-gio-sys
ExclusiveArch: %{rust_arches}
- rust-gir-format-check
ExclusiveArch: %{rust_arches}
- rust-git2
ExclusiveArch: %{rust_arches}
- rust-git2-curl
ExclusiveArch: %{rust_arches}
- rust-glib
ExclusiveArch: %{rust_arches}
- rust-glib-sys
ExclusiveArch: %{rust_arches}
- rust-glob
ExclusiveArch: %{rust_arches}
- rust-globset
ExclusiveArch: %{rust_arches}
- rust-gobject-sys
ExclusiveArch: %{rust_arches}
- rust-goblin
ExclusiveArch: %{rust_arches}
- rust-google-drive3-fork
ExclusiveArch: %{rust_arches}
- rust-grep
ExclusiveArch: %{rust_arches}
- rust-grep-cli
ExclusiveArch: %{rust_arches}
- rust-grep-matcher
ExclusiveArch: %{rust_arches}
- rust-grep-pcre2
ExclusiveArch: %{rust_arches}
- rust-grep-printer
ExclusiveArch: %{rust_arches}
- rust-grep-regex
ExclusiveArch: %{rust_arches}
- rust-grep-searcher
ExclusiveArch: %{rust_arches}
- rust-gtk
ExclusiveArch: %{rust_arches}
- rust-gtk-rs-lgpl-docs
ExclusiveArch: %{rust_arches}
- rust-gtk-source-sys
ExclusiveArch: %{rust_arches}
- rust-gtk-sys
ExclusiveArch: %{rust_arches}
- rust-gzip-header
ExclusiveArch: %{rust_arches}
- rust-h2
ExclusiveArch: %{rust_arches}
- rust-half
ExclusiveArch: %{rust_arches}
- rust-hamcrest
ExclusiveArch: %{rust_arches}
- rust-handlebars
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-http
ExclusiveArch: %{rust_arches}
- rust-httparse
ExclusiveArch: %{rust_arches}
- rust-humantime
ExclusiveArch: %{rust_arches}
- rust-hyper
ExclusiveArch: %{rust_arches}
- rust-hyper-native-tls
ExclusiveArch: %{rust_arches}
- rust-hyper-tls
ExclusiveArch: %{rust_arches}
- rust-hyper0.10
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-itertools
ExclusiveArch: %{rust_arches}
- rust-itertools-num
ExclusiveArch: %{rust_arches}
- rust-itoa
ExclusiveArch: %{rust_arches}
- rust-jobserver
ExclusiveArch: %{rust_arches}
- rust-lab
ExclusiveArch: %{rust_arches}
- rust-language-tags
ExclusiveArch: %{rust_arches}
- rust-lazy-init
ExclusiveArch: %{rust_arches}
- rust-lazy_static
ExclusiveArch: %{rust_arches}
- rust-lazycell
ExclusiveArch: %{rust_arches}
- rust-libc
ExclusiveArch: %{rust_arches}
- rust-libdbus-sys
ExclusiveArch: %{rust_arches}
- rust-libgit2-sys
ExclusiveArch: %{rust_arches}
- rust-libloading
ExclusiveArch: %{rust_arches}
- rust-libm
ExclusiveArch: %{rust_arches}
- rust-libmount
ExclusiveArch: %{rust_arches}
- rust-libssh2-sys
ExclusiveArch: %{rust_arches}
- rust-libudev
ExclusiveArch: %{rust_arches}
- rust-libudev-sys
ExclusiveArch: %{rust_arches}
- rust-libz-sys
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-lock_api
ExclusiveArch: %{rust_arches}
- rust-log
ExclusiveArch: %{rust_arches}
- rust-log0.3
ExclusiveArch: %{rust_arches}
- rust-loopdev
ExclusiveArch: %{rust_arches}
- rust-lru_time_cache
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-memchr
ExclusiveArch: %{rust_arches}
- rust-memmap
ExclusiveArch: %{rust_arches}
- rust-memoffset
ExclusiveArch: %{rust_arches}
- rust-metadeps
ExclusiveArch: %{rust_arches}
- rust-mime
ExclusiveArch: %{rust_arches}
- rust-mime-sniffer
ExclusiveArch: %{rust_arches}
- rust-mime0.2
ExclusiveArch: %{rust_arches}
- rust-miniz-sys
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide
ExclusiveArch: %{rust_arches}
- rust-miniz_oxide_c_api
ExclusiveArch: %{rust_arches}
- rust-mint
ExclusiveArch: %{rust_arches}
- rust-mio
ExclusiveArch: %{rust_arches}
- rust-mio-extras
ExclusiveArch: %{rust_arches}
- rust-mio-uds
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-nom3
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-integer
ExclusiveArch: %{rust_arches}
- rust-num-iter
ExclusiveArch: %{rust_arches}
- rust-num-rational
ExclusiveArch: %{rust_arches}
- rust-num-traits
ExclusiveArch: %{rust_arches}
- rust-num-traits0.1
ExclusiveArch: %{rust_arches}
- rust-num_cpus
ExclusiveArch: %{rust_arches}
- rust-number_prefix
ExclusiveArch: %{rust_arches}
- rust-object
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-openssl
ExclusiveArch: %{rust_arches}
- rust-openssl-probe
ExclusiveArch: %{rust_arches}
- rust-openssl-sys
ExclusiveArch: %{rust_arches}
- rust-ord_subset
ExclusiveArch: %{rust_arches}
- rust-owning_ref
ExclusiveArch: %{rust_arches}
- rust-packaging
ExclusiveArch: %{rust_arches} noarch
- rust-pad
ExclusiveArch: %{rust_arches}
- rust-pager
ExclusiveArch: %{rust_arches}
- rust-pango
ExclusiveArch: %{rust_arches}
- rust-pango-sys
ExclusiveArch: %{rust_arches}
- rust-pangocairo
ExclusiveArch: %{rust_arches}
- rust-pangocairo-sys
ExclusiveArch: %{rust_arches}
- rust-parity-wasm
ExclusiveArch: %{rust_arches}
- rust-parking_lot
ExclusiveArch: %{rust_arches}
- rust-parking_lot_core
ExclusiveArch: %{rust_arches}
- rust-pcre2
ExclusiveArch: %{rust_arches}
- rust-pcre2-sys
ExclusiveArch: %{rust_arches}
- rust-peeking_take_while
ExclusiveArch: %{rust_arches}
- rust-peg
ExclusiveArch: %{rust_arches}
- rust-percent-encoding
ExclusiveArch: %{rust_arches}
- rust-permutate
ExclusiveArch: %{rust_arches}
- rust-permutohedron
ExclusiveArch: %{rust_arches}
- rust-pest
ExclusiveArch: %{rust_arches}
- rust-pest_derive
ExclusiveArch: %{rust_arches}
- rust-phf
ExclusiveArch: %{rust_arches}
- rust-phf_codegen
ExclusiveArch: %{rust_arches}
- rust-phf_generator
ExclusiveArch: %{rust_arches}
- rust-phf_shared
ExclusiveArch: %{rust_arches}
- rust-pkg-config
ExclusiveArch: %{rust_arches}
- rust-plain
ExclusiveArch: %{rust_arches}
- rust-plist
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.3
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-quick-error
ExclusiveArch: %{rust_arches}
- rust-quickcheck
ExclusiveArch: %{rust_arches}
- rust-quickcheck0.6
ExclusiveArch: %{rust_arches}
- rust-quickersort
ExclusiveArch: %{rust_arches}
- rust-quote
ExclusiveArch: %{rust_arches}
- rust-quote0.3
ExclusiveArch: %{rust_arches}
- rust-quote0.5
ExclusiveArch: %{rust_arches}
- rust-rand
ExclusiveArch: %{rust_arches}
- rust-rand0.4
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rayon
ExclusiveArch: %{rust_arches}
- rust-rayon-core
ExclusiveArch: %{rust_arches}
- rust-recycler
ExclusiveArch: %{rust_arches}
- rust-regex
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rust-ini
ExclusiveArch: %{rust_arches}
- rust-rustc-demangle
ExclusiveArch: %{rust_arches}
- rust-rustc-serialize
ExclusiveArch: %{rust_arches}
- rust-rustc-test
ExclusiveArch: %{rust_arches}
- rust-rustc_version
ExclusiveArch: %{rust_arches}
- rust-rustdoc-stripper
ExclusiveArch: %{rust_arches}
- rust-rustfilt
ExclusiveArch: %{rust_arches}
- rust-rustfix
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scoped-tls
ExclusiveArch: %{rust_arches}
- rust-scoped_threadpool
ExclusiveArch: %{rust_arches}
- rust-scopeguard
ExclusiveArch: %{rust_arches}
- rust-scroll
ExclusiveArch: %{rust_arches}
- rust-scroll_derive
ExclusiveArch: %{rust_arches}
- rust-seahash
ExclusiveArch: %{rust_arches}
- rust-semver
ExclusiveArch: %{rust_arches}
- rust-semver-parser
ExclusiveArch: %{rust_arches}
- rust-semver-parser0.7
ExclusiveArch: %{rust_arches}
- rust-serde
ExclusiveArch: %{rust_arches}
- rust-serde0.8
ExclusiveArch: %{rust_arches}
- rust-serde_bytes
ExclusiveArch: %{rust_arches}
- rust-serde_cbor
ExclusiveArch: %{rust_arches}
- rust-serde_derive
ExclusiveArch: %{rust_arches}
- rust-serde_ignored
ExclusiveArch: %{rust_arches}
- rust-serde_json
ExclusiveArch: %{rust_arches}
- rust-serde_json0.8
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-smallvec
ExclusiveArch: %{rust_arches}
- rust-snowflake
ExclusiveArch: %{rust_arches}
- rust-socket2
ExclusiveArch: %{rust_arches}
- rust-sourceview
ExclusiveArch: %{rust_arches}
- rust-spin
ExclusiveArch: %{rust_arches}
- rust-spmc
ExclusiveArch: %{rust_arches}
- rust-stable_deref_trait
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-strings
ExclusiveArch: %{rust_arches}
- rust-strsim
ExclusiveArch: %{rust_arches}
- rust-structopt
ExclusiveArch: %{rust_arches}
- rust-structopt-derive
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn0.11
ExclusiveArch: %{rust_arches}
- rust-syn0.13
ExclusiveArch: %{rust_arches}
- rust-syn0.14
ExclusiveArch: %{rust_arches}
- rust-synom
ExclusiveArch: %{rust_arches}
- rust-synstructure
ExclusiveArch: %{rust_arches}
- rust-syntect
ExclusiveArch: %{rust_arches}
- rust-sys-info
ExclusiveArch: %{rust_arches}
- rust-tabwriter
ExclusiveArch: %{rust_arches}
- rust-take
ExclusiveArch: %{rust_arches}
- rust-take_mut
ExclusiveArch: %{rust_arches}
- rust-tar
ExclusiveArch: %{rust_arches}
- rust-tempdir
ExclusiveArch: %{rust_arches}
- rust-tempfile
ExclusiveArch: %{rust_arches}
- rust-term
ExclusiveArch: %{rust_arches}
- rust-term_grid
ExclusiveArch: %{rust_arches}
- rust-term_size
ExclusiveArch: %{rust_arches}
- rust-termcolor
ExclusiveArch: %{rust_arches}
- rust-termion
ExclusiveArch: %{rust_arches}
- rust-termios
ExclusiveArch: %{rust_arches}
- rust-test-assembler
ExclusiveArch: %{rust_arches}
- rust-textwrap
ExclusiveArch: %{rust_arches}
- rust-thread-id
ExclusiveArch: %{rust_arches}
- rust-thread-scoped
ExclusiveArch: %{rust_arches}
- rust-thread_local
ExclusiveArch: %{rust_arches}
- rust-threadpool
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-codec
ExclusiveArch: %{rust_arches}
- rust-tokio-core
ExclusiveArch: %{rust_arches}
- rust-tokio-current-thread
ExclusiveArch: %{rust_arches}
- rust-tokio-executor
ExclusiveArch: %{rust_arches}
- rust-tokio-fs
ExclusiveArch: %{rust_arches}
- rust-tokio-io
ExclusiveArch: %{rust_arches}
- rust-tokio-mock-task
ExclusiveArch: %{rust_arches}
- rust-tokio-mockstream
ExclusiveArch: %{rust_arches}
- rust-tokio-process
ExclusiveArch: %{rust_arches}
- rust-tokio-reactor
ExclusiveArch: %{rust_arches}
- rust-tokio-service
ExclusiveArch: %{rust_arches}
- rust-tokio-signal
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unicase
ExclusiveArch: %{rust_arches}
- rust-unicase1
ExclusiveArch: %{rust_arches}
- rust-unicode-bidi
ExclusiveArch: %{rust_arches}
- rust-unicode-normalization
ExclusiveArch: %{rust_arches}
- rust-unicode-segmentation
ExclusiveArch: %{rust_arches}
- rust-unicode-width
ExclusiveArch: %{rust_arches}
- rust-unicode-xid
ExclusiveArch: %{rust_arches}
- rust-unindent
ExclusiveArch: %{rust_arches}
- rust-unix_socket
ExclusiveArch: %{rust_arches}
- rust-unreachable
ExclusiveArch: %{rust_arches}
- rust-unsafe-any
ExclusiveArch: %{rust_arches}
- rust-untrusted
ExclusiveArch: %{rust_arches}
- rust-url
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-uuid
ExclusiveArch: %{rust_arches}
- rust-varlink
ExclusiveArch: %{rust_arches}
- rust-varlink-cli
ExclusiveArch: %{rust_arches}
- rust-varlink_generator
ExclusiveArch: %{rust_arches}
- rust-varlink_parser
ExclusiveArch: %{rust_arches}
- rust-varlink_stdinterfaces
ExclusiveArch: %{rust_arches}
- rust-vec_map
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-xattr
ExclusiveArch: %{rust_arches}
- rust-xdg
ExclusiveArch: %{rust_arches}
- rust-xml-rs
ExclusiveArch: %{rust_arches}
- rust-xz2
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-yubibomb
ExclusiveArch: %{rust_arches}
- rust-yup-oauth2
ExclusiveArch: %{rust_arches}
- rust-zoneinfo_compiled
ExclusiveArch: %{rust_arches}
- rust-zram-generator
ExclusiveArch: %{rust_arches}
- s390utils
ExclusiveArch: s390 s390x
- safetyblanket
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- sagemath
ExclusiveArch: aarch64 %{arm} %{ix86} x86_64 ppc sparcv9
- sbcl
ExclusiveArch: %{arm} %{ix86} x86_64 ppc sparcv9 aarch64
- sbd
ExclusiveArch: i686 x86_64 s390x
- sbsigntools
ExclusiveArch: x86_64 aarch64 %{arm} %{ix86}
- seabios
ExclusiveArch: x86_64
- seamonkey
ExclusiveArch: %{ix86} x86_64
- servicelog
ExclusiveArch: ppc %{power64}
- sgabios
ExclusiveArch: %{ix86} x86_64
- sharpfont
ExclusiveArch: %mono_arches
- sharpziplib
ExclusiveArch: %{mono_arches}
- shim
ExclusiveArch: %{efi}
- shim-unsigned-aarch64
ExclusiveArch: aarch64
- shim-unsigned-x64
ExclusiveArch: x86_64
- sigul
ExclusiveArch: x86_64
- skychart
ExclusiveArch: %{fpc_arches}
- snapd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x
- source-to-image
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- sparkleshare
ExclusiveArch: %{mono_arches}
- spicctrl
ExclusiveArch: %{ix86} x86_64
- spice
ExclusiveArch: x86_64
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- spring
ExclusiveArch: %{ix86} x86_64
- springlobby
ExclusiveArch: %{ix86} x86_64
- startdde
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- statsd
ExclusiveArch: %{nodejs_arches} noarch
- stdx-allocator
ExclusiveArch: %{ldc_arches}
- stratis-cli
ExclusiveArch: %{rust_arches} noarch
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supermin
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64
- sysbench
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64
- syslinux
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
ExclusiveArch: %{ix86} x86_64
- taglib-sharp
ExclusiveArch: %{mono_arches}
- tarantool
ExclusiveArch: %{ix86} x86_64 armv7hl armv7hnl aarch64
- tboot
ExclusiveArch: %{ix86} x86_64
- tdlib
ExclusiveArch: %{ix86} x86_64
- templates_parser
ExclusiveArch: %GPRbuild_arches
- termy-qt
ExclusiveArch: %{ix86} x86_64
- ternimal
ExclusiveArch: %{rust_arches}
- themonospot-base
ExclusiveArch: %mono_arches
- themonospot-console
ExclusiveArch: %mono_arches
- themonospot-gui-gtk
ExclusiveArch: %mono_arches
- themonospot-plugin-avi
ExclusiveArch: %mono_arches
- themonospot-plugin-mkv
ExclusiveArch: %mono_arches
- thermald
ExclusiveArch: %{ix86} x86_64
- tilix
ExclusiveArch: %{ldc_arches}
- tmux-top
ExclusiveArch: %{go_arches}
- tomboy
ExclusiveArch: %{mono_arches}
- tuned-profiles-nfv-host-bin
ExclusiveArch: %{ix86} x86_64
- uClibc
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips}
- ucx
ExclusiveArch: aarch64 ppc64le x86_64
- ugene
ExclusiveArch: %{ix86} x86_64
- uglify-js
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- uglify-js1
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- unetbootin
ExclusiveArch: %{ix86} x86_64
- v8
ExclusiveArch: %{ix86} x86_64 %{arm} ppc mipsel mips64el
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
ExclusiveArch: %{valgrind_arches}
ExclusiveArch: %{ix86} x86_64 ppc ppc64 ppc64le s390x armv7hl aarch64
- vboot-utils
ExclusiveArch: %{arm} aarch64 %{ix86} x86_64
- vdsm
ExclusiveArch: x86_64 %{power64} aarch64
- vim-go
ExclusiveArch: %{?golang_arches}%{!?golang_arches:%{ix86} x86_64 %{arm}}
- virtio-forwarder
ExclusiveArch: x86_64 aarch64 ppc64le %ix86
- virtualbox-guest-additions
ExclusiveArch: i686 x86_64
- virtualplanet
ExclusiveArch: %{fpc_arches}
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- webkit-sharp
ExclusiveArch: %mono_arches
- webkit2-sharp
ExclusiveArch: %mono_arches
- wine
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
ExclusiveArch: %{ix86} %{arm}
- winetricks
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- wraplinux
ExclusiveArch: %{ix86} x86_64
- wxMaxima
ExclusiveArch: %{arm} %{ix86} x86_64 aarch64 ppc sparcv9
- x2goclient
ExclusiveArch: x86_64
- x86info
ExclusiveArch: %{ix86} x86_64
- xen
ExclusiveArch: %{ix86} x86_64 armv7hl aarch64
- xorg-x11-drv-armsoc
ExclusiveArch: %{arm} aarch64
- xorg-x11-drv-geode
ExclusiveArch: %{ix86}
- xorg-x11-drv-intel
ExclusiveArch: %{ix86} x86_64 ia64
- xorg-x11-drv-omap
ExclusiveArch: %{arm}
- xorg-x11-drv-openchrome
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-opentegra
ExclusiveArch: %{arm}
- xorg-x11-drv-vesa
ExclusiveArch: %{ix86} x86_64
- xorg-x11-drv-vmware
ExclusiveArch: %{ix86} x86_64 ia64
- xsp
ExclusiveArch: %mono_arches
- ycssmin
ExclusiveArch: %{nodejs_arches} noarch
- zeromq-ada
ExclusiveArch: %{GPRbuild_arches}
- zlib-ada
ExclusiveArch: %{GPRbuild_arches}
5 years, 6 months
Architecture specific change in rpms/ghc-rpm-macros.git
by githook-noreply@fedoraproject.org
The package rpms/ghc-rpm-macros.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/ghc-rpm-macros.git/commit/?id=5b2....
Change:
+%ifarch s390x\
Thanks.
Full change:
============
commit 5b2544a8cce900ff62a9d1209edac849e8ab9e31
Author: Jens Petersen <petersen(a)redhat.com>
Date: Thu Oct 25 00:12:12 2018 +0900
silence C Wunused-label warnings flood on s390x again
diff --git a/ghc-rpm-macros.spec b/ghc-rpm-macros.spec
index f7f6e38..3716fa7 100644
--- a/ghc-rpm-macros.spec
+++ b/ghc-rpm-macros.spec
@@ -11,7 +11,7 @@
Name: ghc-rpm-macros
Version: 1.9.5
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: RPM macros for building Haskell packages for GHC
License: GPLv3+
@@ -175,6 +175,9 @@ EOF
%changelog
+* Wed Oct 24 2018 Jens Petersen <petersen(a)redhat.com> - 1.9.5-4
+- silence C compiler Wunused-label warnings flood on s390x again
+
* Tue Oct 23 2018 Jens Petersen <petersen(a)redhat.com> - 1.9.5-3
- f29: obsolete content-store, bdcs, and bdcs-api
diff --git a/macros.ghc b/macros.ghc
index 1dbeb50..1e0dba9 100644
--- a/macros.ghc
+++ b/macros.ghc
@@ -11,7 +11,13 @@ LANG=en_US.utf8\
%ghc_set_gcc_flags\
-export CFLAGS="${CFLAGS:-%optflags}"\
+# -Wunused-label is extremely noisy\
+%ifarch s390x\
+CFLAGS="${CFLAGS:-$(echo %optflags | sed -e 's/-Wall //')}"\
+%else\
+CFLAGS="${CFLAGS:-%optflags}"\
+%endif\
+export CFLAGS\
%global _hardened_ldflags %{nil}\
export LDFLAGS="${LDFLAGS:-%{?__global_ldflags}}"\
%{nil}
5 years, 6 months
Architecture specific change in rpms/community-mysql.git
by githook-noreply@fedoraproject.org
The package rpms/community-mysql.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/community-mysql.git/commit/?id=ff....
Change:
-%ifarch aarch64
Thanks.
Full change:
============
commit ffd96fa910dd7843928896b8781c076a2ce8dd63
Author: Michal Schorm <mschorm(a)redhat.com>
Date: Tue Oct 23 16:35:29 2018 +0200
Rebase to 8.0.13
ICU patch removed; upstreamed
Patch for MySQL Router introduced. Do not build it.
CVEs fixed:
CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195
CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247
CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282
CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145
CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143
CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185
CVE-2018-3280 CVE-2018-3203 CVE-2018-3155
diff --git a/community-mysql-arm32-timer.patch b/community-mysql-arm32-timer.patch
index 6d47307..4e5302c 100644
--- a/community-mysql-arm32-timer.patch
+++ b/community-mysql-arm32-timer.patch
@@ -1,8 +1,8 @@
--- mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql~ 2018-01-18 16:52:52.000000000 +0100
+++ mysql-8.0.4-rc/mysql-test/include/mtr_warnings.sql 2018-03-08 20:14:48.537507245 +0100
@@ -311,6 +311,11 @@
- ("The member has resumed contact with a majority of the members in the group.*"),
- ("Members removed from the group.*"),
+ */
+ ("The SSL library function CRYPTO_set_mem_functions failed"),
+ /*
+ ARM32 don't support timers and get this warning in every test.
diff --git a/community-mysql-icu.patch b/community-mysql-icu.patch
deleted file mode 100644
index 7761d93..0000000
--- a/community-mysql-icu.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/plugin/x/src/xpl_regex.cc b/plugin/x/src/xpl_regex.cc
-index eefb14d78b7..a77a807459c 100644
---- a/plugin/x/src/xpl_regex.cc
-+++ b/plugin/x/src/xpl_regex.cc
-@@ -53,7 +53,7 @@ bool xpl::Regex::match(const char *value) const {
- * and parse the text patter each time that xpl::Regex::match
- * is called.
- */
-- UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)};
-+ icu::UnicodeString value_as_utf8{icu::UnicodeString::fromUTF8(value)};
- std::unique_ptr<icu::RegexMatcher> regexp{
- m_pattern->matcher(value_as_utf8, match_status)};
-
diff --git a/community-mysql-router.patch b/community-mysql-router.patch
new file mode 100644
index 0000000..6e19604
--- /dev/null
+++ b/community-mysql-router.patch
@@ -0,0 +1,17 @@
+Do not build MySQL Router.
+It is a set of tools and libraries used for the InnoDB cluster.
+
+However without MySQL SHELL it can't be operated.
+We don't pack the MySQL SHELL, so dont build the router at all.
+
+--- mysql-8.0.13/CMakeLists.txt 2018-10-07 10:44:22.000000000 +0200
++++ mysql-8.0.13/CMakeLists.txt_patched 2018-10-23 03:10:01.490792624 +0200
+@@ -1046,7 +1046,7 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/s
+
+ # depends on mysql_version.h to exist
+ IF(NOT WITHOUT_SERVER)
+- ADD_SUBDIRECTORY(router)
++# ADD_SUBDIRECTORY(router)
+ ENDIF()
+
+ GET_PROPERTY(CWD_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS)
diff --git a/community-mysql-sharedir.patch b/community-mysql-sharedir.patch
index 9f05b1b..cb1f1dc 100644
--- a/community-mysql-sharedir.patch
+++ b/community-mysql-sharedir.patch
@@ -26,16 +26,8 @@ index 8c058527..7acd8534 100755
my $path_share = $path_language;
@share_locations =
-- ("share/mysql", "share/mysql-" . $mysql_base_version, "share");
-+ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql", "share/mysql-" . $mysql_base_version, "share");
+- ("share/mysql-" . $mysql_base_version, "share/mysql", "share");
++ ("@INSTALL_MYSQLSHAREDIR@", "share/mysql-" . $mysql_base_version, "share/mysql", "share");
$path_charsetsdir = my_find_dir($basedir, \@share_locations, "charsets");
-@@ -3727,6 +3727,7 @@ sub mysql_install_db {
-
- my $path_sql = my_find_file($install_basedir,
- [ "mysql", "share/mysql",
-+ "@INSTALL_MYSQLSHAREDIR@",
- "share/mysql-" . $mysql_base_version,
- "share", "scripts"
- ],
diff --git a/community-mysql.spec b/community-mysql.spec
index 7edc744..0ae6990 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -5,7 +5,7 @@
# Regression tests may take a long time (many cores recommended), skip them by
# passing --nocheck to rpmbuild or by setting runselftest to 0 if defining
# --nocheck is not possible (e.g. in koji build)
-%{!?runselftest:%global runselftest 0}
+%{!?runselftest:%global runselftest 1}
# Set this to 1 to see which tests fail
%global check_testsuite 0
@@ -79,8 +79,8 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
-Version: 8.0.12
-Release: 2%{?with_debug:.debug}%{?dist}
+Version: 8.0.13
+Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@@ -115,11 +115,11 @@ Patch2: %{pkgnamepatch}-s390-tsc.patch
Patch3: %{pkgnamepatch}-file-contents.patch
Patch4: %{pkgnamepatch}-scripts.patch
Patch5: %{pkgnamepatch}-paths.patch
-Patch6: %{pkgnamepatch}-icu.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
+Patch53: %{pkgnamepatch}-router.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
# Patches taken from boost 1.59
@@ -135,6 +135,7 @@ BuildRequires: libicu-devel
BuildRequires: lz4
BuildRequires: lz4-devel
BuildRequires: mecab-devel
+BuildRequires: bison
%ifnarch aarch64 %{arm} s390 s390x
BuildRequires: numactl-devel
%endif
@@ -364,9 +365,9 @@ the MySQL sources.
%patch3 -p1
%patch4 -p1
%patch5 -p1
-%patch6 -p1
%patch51 -p1
%patch52 -p1
+%patch53 -p1
%patch75 -p1
# Patch Boost
@@ -384,47 +385,43 @@ add_test () {
touch %{skiplist}
-# fails everywhere
-add_test gis.srs : 8.0 issue
-add_test main.import : 8.0 issue
-add_test main.no_binlog_related_options : 8.0 issue
-add_test main.regular_expressions_func_icu_54 : 8.0 issue
-add_test main.regular_expressions_utf-8_icu_58 : 8.0 issue
-add_test main.regular_expressions_utf-8 : 8.0 issue
-add_test main.regular_expressions_utf-8_icu_59 : 8.0 issue
-add_test perfschema.histograms : 8.0 issue
-add_test main.log_options_cmdline : 8.0 issue
-
-# Fails since 8.0
-add_test x.crud_insert_cast :
-add_test x.insert_table :
-add_test x.insert_table_bad_column :
-add_test x.insert_table_bad_column_type :
-add_test x.insert_table_bad_numcolumns :
-add_test x.update_crud_arrayappend_o :
-add_test x.update_crud_arrayinsert_o :
-
-add_test innodb.innodb : missing correct value
-add_test innodb.innodb_cats :
-add_test innodb.log_corruption :
-
-add_test main.dd_upgrade_test :
-add_test main.disabled_replication :
-add_test main.flush2 :
-add_test main.import :
-add_test main.mysqldump-no-binlog :
-add_test main.skip_log_bin :
-
-add_test main.window_functions_explain :
-add_test rpl_gtid.rpl_gtid_perfschema_applier_xa_status :
-add_test gis.gis_bugs_crashes :
-add_test perfschema.histograms :
-add_test main.log_options_cmdline :
-
-# these tests fail on arm32
-%ifarch %arm
-# FTS; still apply for 5.7.21
-add_test innodb_fts.opt : arm32 FTS issue
+# Fails everywhere
+add_test auth_sec.cert_verify :
+add_test auth_sec.mysql_ssl_connection :
+add_test auth_sec.openssl_cert_generation :
+add_test auth_sec.openssl_without_fips :
+add_test auth_sec.ssl_auto_detect :
+add_test auth_sec.ssl_mode :
+add_test auth_sec.tls :
+add_test binlog.binlog_grant_alter_user :
+add_test innodb.create_tablespace :
+add_test main.grant_alter_user_qa :
+add_test main.grant_user_lock_qa :
+add_test main.mysql_ssl_default :
+add_test main.openssl_1 :
+add_test main.persisted_variables_bugs :
+add_test main.plugin_auth_sha256_tls :
+add_test main.read_only_persisted_plugin_variables :
+add_test main.ssl :
+add_test main.ssl_ca :
+add_test main.ssl_cipher :
+add_test main.ssl_compress :
+add_test main.ssl_crl :
+add_test main.ssl_verify_identity :
+add_test main.ssl_8k_key :
+add_test x.connection_openssl :
+add_test x.connection_openssl_unixsocket :
+add_test x.connection_tls_version :
+add_test x.mysqlxtest_mode_ssl :
+add_test x.mysqlxtest_mode_ssl_unixsocket :
+
+# these tests fail on arm
+%ifarch %arm aarch64
+add_test innodb.log_corruption :
+add_test innodb.innodb-wl6445-2 :
+add_test gis.st_latitude :
+add_test gis.st_longitude :
+add_test main.log_options_cmdline:
# Missing hw counters; in 5.7.21 reported as unstable tests
add_test perfschema.func_file_io : missing hw on arm32
add_test perfschema.setup_objects : missing hw on arm32
@@ -432,35 +429,28 @@ add_test perfschema.global_read_lock : missing hw on arm32
add_test perfschema.func_mutex : missing hw on arm32
%endif
-# these tests fail on aarch64
-%ifarch aarch64
-add_test import_5_7 : 8.0 issue/aarch64
-add_test sdi : 8.0 issue/aarch64
-add_test dd_upgrade_partition : 8.0 issue/aarch64
-%endif
-
# This test fail on ppc64 and ppc64le; applicable in 5.7.21
%ifarch ppc64le
-add_test main.histograms : 8.0 issue/ppc64le
-add_test main.opt_costmodel : 8.0 issue/ppc64le
-add_test innodb.temporary_table_optimization : 8.0 issue/ppc64le
-add_test perfschema.memory_aggregate_no_a : incorrect numbers in output
-add_test innodb_zip.wl6469 :
-add_test json.json_functions_innodb :
-add_test main.ps :
-add_test main.select_all :
-add_test main.select_all_bka :
-add_test main.select_all_bka_nixbnl :
-add_test main.select_icp_mrr :
-add_test main.select_icp_mrr_bka :
-add_test main.select_icp_mrr_bka_nixbnl :
-add_test main.select_none :
-add_test main.select_none_bka :
-add_test main.select_none_bka_nixbnl :
-add_test main.sp :
-add_test main.type_float :
-add_test main.type_newdecimal :
-add_test main.type_ranges :
+add_test innodb.create_tablespace :
+add_test innodb.instant_add_column_basic :
+add_test innodb.temporary_table_optimization :
+add_test json.json_functions_innodb :
+add_test main.histograms :
+add_test main.opt_costmodel :
+add_test main.ps :
+add_test main.select_all :
+add_test main.select_all_bka :
+add_test main.select_all_bka_nixbnl :
+add_test main.select_icp_mrr :
+add_test main.select_icp_mrr_bka :
+add_test main.select_icp_mrr_bka_nixbnl :
+add_test main.select_none :
+add_test main.select_none_bka :
+add_test main.select_none_bka_nixbnl :
+add_test main.sp :
+add_test main.type_float :
+add_test main.type_newdecimal :
+add_test main.type_ranges :
add_test test_service_sql_api.test_sql_all_col_types :
%endif
@@ -534,6 +524,8 @@ cmake .. \
-DTMPDIR=/var/tmp \
%{?_hardened_build:-DWITH_MYSQLD_LDFLAGS="-pie -Wl,-z,relro,-z,now"}
+cmake .. -LAH
+
make %{?_smp_mflags} VERBOSE=1
popd
@@ -898,15 +890,7 @@ fi
%{_mandir}/man8/mysqld.8*
%{_datadir}/%{pkg_name}/dictionary.txt
-%{_datadir}/%{pkg_name}/fill_help_tables.sql
-%{_datadir}/%{pkg_name}/innodb_memcached_config.sql
-%{_datadir}/%{pkg_name}/install_rewriter.sql
-%{_datadir}/%{pkg_name}/mysql_sys_schema.sql
-%{_datadir}/%{pkg_name}/mysql_system_tables.sql
-%{_datadir}/%{pkg_name}/mysql_system_tables_data.sql
-%{_datadir}/%{pkg_name}/mysql_system_users.sql
-%{_datadir}/%{pkg_name}/mysql_test_data_timezone.sql
-%{_datadir}/%{pkg_name}/uninstall_rewriter.sql
+%{_datadir}/%{pkg_name}/*.sql
%{daemondir}/%{daemon_name}*
%{_libexecdir}/mysql-prepare-db-dir
@@ -950,6 +934,19 @@ fi
%endif
%changelog
+* Tue Oct 23 2018 Michal Schorm <mschorm(a)redhat.com> - 8.0.13-1
+- Rebase to 8.0.13
+- ICU patch removed; upstreamed
+- Patch for MySQL Router introduced. Do not build it.
+- CVEs fixed:
+ CVE-2018-3276 CVE-2018-3200 CVE-2018-3137 CVE-2018-3284 CVE-2018-3195
+ CVE-2018-3173 CVE-2018-3212 CVE-2018-3279 CVE-2018-3162 CVE-2018-3247
+ CVE-2018-3156 CVE-2018-3161 CVE-2018-3278 CVE-2018-3174 CVE-2018-3282
+ CVE-2018-3285 CVE-2018-3187 CVE-2018-3277 CVE-2018-3144 CVE-2018-3145
+ CVE-2018-3170 CVE-2018-3186 CVE-2018-3182 CVE-2018-3133 CVE-2018-3143
+ CVE-2018-3283 CVE-2018-3171 CVE-2018-3251 CVE-2018-3286 CVE-2018-3185
+ CVE-2018-3280 CVE-2018-3203 CVE-2018-3155
+
* Thu Sep 06 2018 Michal Schorm <mschorm(a)redhat.com> - 8.0.12-2
- Fix the SYS_NICE capabilities
Related: #1540946
diff --git a/sources b/sources
index 53e97a1..730ca16 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mysql-boost-8.0.12.tar.gz) = 68aeb0bb69f7087e0c308fe735f67dd973a6a2282b4027f9e20bed5e179f48e073d116542ae0dce80de7538e62247bd893ed2eb13371188e1b5019ff74c4b9ad
+SHA512 (mysql-boost-8.0.13.tar.gz) = 3452ee09f3c1217bd86137fc415ea67140a81c22ca208e8edf1f9f6b6ad05fd99251ae8ad6283a3bdf316633d8969331e716bc566a8ff138d81ddb575da269fe
5 years, 6 months