Upgrade to Apache Karaf 4.2.8 to support Kafka log appender
This is required for CORD. Karaf 4.2.6 explicitelly prevents loading of
some of the bundles required to support shipping logs via Karaf.
Change-Id: I8ae525e6c8a04c0381c5e3bac39de1a7b85b4446
diff --git a/deps/deps.json b/deps/deps.json
index 157ef3c..a8f0a20 100644
--- a/deps/deps.json
+++ b/deps/deps.json
@@ -251,13 +251,13 @@
"org.osgi.service.metatype.annotations": "mvn:org.osgi:org.osgi.service.metatype.annotations:1.4.0",
"org.osgi.service.cm": "mvn:org.osgi:org.osgi.service.cm:1.6.0",
"org.apache.felix.scr.bnd": "mvn:org.apache.felix:org.apache.felix.scr.bnd:1.9.0",
- "org.apache.karaf.features.core": "mvn:org.apache.karaf.features:org.apache.karaf.features.core:4.2.6",
- "org.apache.karaf.shell.console": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:4.2.6",
- "org.apache.karaf.shell.core": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:4.2.6",
+ "org.apache.karaf.features.core": "mvn:org.apache.karaf.features:org.apache.karaf.features.core:4.2.8",
+ "org.apache.karaf.shell.console": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:4.2.8",
+ "org.apache.karaf.shell.core": "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:4.2.8",
"org.apache.httpcomponents.httpasyncclient-osgi": "mvn:org.apache.httpcomponents:httpasyncclient-osgi:4.1.2",
"org.apache.httpcomponents.httpcore-nio": "mvn:org.apache.httpcomponents:httpcore-nio:4.4.4",
- "org.apache.karaf.jaas": "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:4.2.6",
- "org.apache.karaf.system.core": "mvn:org.apache.karaf.system:org.apache.karaf.system.core:4.2.6",
+ "org.apache.karaf.jaas": "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:4.2.8",
+ "org.apache.karaf.system.core": "mvn:org.apache.karaf.system:org.apache.karaf.system.core:4.2.8",
"org.apache.servicemix.bundles.snmp4j": "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:2.3.4_1",
"org.osgi.cmpn": "mvn:org.osgi:osgi.cmpn:6.0.0",
"osgi-core": "mvn:org.osgi:org.osgi.core:6.0.0",
@@ -273,7 +273,7 @@
"typesafe-config": "mvn:com.typesafe:config:1.3.2",
"validation-api": "mvn:javax.validation:validation-api:2.0.1.Final",
"checkstyle": "mvn:com.puppycrawl.tools:checkstyle:8.10",
- "apache-karaf": "https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.6-offline-20190628/apache-karaf-4.2.6-offline-20190628.tar.gz",
+ "apache-karaf": "https://repo.maven.apache.org/maven2/org/onosproject/apache-karaf-offline/4.2.8-offline-20200131/apache-karaf-4.2.8-offline-20200131.tar.gz",
"bndlib": "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0",
"bndexe": "mvn:biz.aQute.bnd:biz.aQute.bnd:4.1.0",
"libthrift": "mvn:org.apache.thrift:libthrift:0.11.0",
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 8a61e89..ae3a3f3 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Fri, 7 Feb 2020 17:51:36 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Fri, 7 Feb 2020 17:55:38 GMT. Do not edit this file manually. *****
# ***** Use onos-lib-gen *****
load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
@@ -871,21 +871,21 @@
if "org_apache_karaf_features_core" not in native.existing_rules():
java_import_external(
name = "org_apache_karaf_features_core",
- jar_sha256 = "b4dfeced968b2ae1647a403bfbc2c2a1eb26eeff55d1a5003edfa2b9209ea9c5",
+ jar_sha256 = "8f0556b7eba43e6de4313a600a179b6d81d42f70dfb4cc187213bf02a1a2589b",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.6/org.apache.karaf.features.core-4.2.6.jar"], )
+ jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.8/org.apache.karaf.features.core-4.2.8.jar"], )
if "org_apache_karaf_shell_console" not in native.existing_rules():
java_import_external(
name = "org_apache_karaf_shell_console",
- jar_sha256 = "02762fb7d2d37e475644398bbc617e36c8feacbde0ede68e91e2f7f6df49f07e",
+ jar_sha256 = "c11d754be2b67255568b62414e35fedd2a15ba2ee50cd749804521cdd0e771e5",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.6/org.apache.karaf.shell.console-4.2.6.jar"], )
+ jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.8/org.apache.karaf.shell.console-4.2.8.jar"], )
if "org_apache_karaf_shell_core" not in native.existing_rules():
java_import_external(
name = "org_apache_karaf_shell_core",
- jar_sha256 = "9d240a6b1dad60bd43de72e570114583affde8ac3494dcf1e9f61f66cb9d7485",
+ jar_sha256 = "f0232a99f22390a8dd95fa6c346d7c1cb9b7d765ade0e491b8a2864cafb29e19",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.6/org.apache.karaf.shell.core-4.2.6.jar"], )
+ jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.8/org.apache.karaf.shell.core-4.2.8.jar"], )
if "org_apache_httpcomponents_httpasyncclient_osgi" not in native.existing_rules():
java_import_external(
name = "org_apache_httpcomponents_httpasyncclient_osgi",
@@ -901,15 +901,15 @@
if "org_apache_karaf_jaas" not in native.existing_rules():
java_import_external(
name = "org_apache_karaf_jaas",
- jar_sha256 = "7ec4acde3c88d9810f0554401a9f1552dc8c3cf38ed14a2b18e4668558586038",
+ jar_sha256 = "8c9ef8d7a73c7082208e283e8ec5f523aaf5fd335751d3158dae1d360d635930",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.6/org.apache.karaf.jaas.modules-4.2.6.jar"], )
+ jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.8/org.apache.karaf.jaas.modules-4.2.8.jar"], )
if "org_apache_karaf_system_core" not in native.existing_rules():
java_import_external(
name = "org_apache_karaf_system_core",
- jar_sha256 = "628a94a733548de70532d39177838bf4b246ee04a3b13d4a4b8f6633e2a5d8e5",
+ jar_sha256 = "042e3334dc85f141c592a23ee1822b9473bb0b1640ae69e4fcdd6a42aa810a3e",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.6/org.apache.karaf.system.core-4.2.6.jar"], )
+ jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.8/org.apache.karaf.system.core-4.2.8.jar"], )
if "org_apache_servicemix_bundles_snmp4j" not in native.existing_rules():
java_import_external(
name = "org_apache_servicemix_bundles_snmp4j",
@@ -1003,9 +1003,9 @@
if "apache_karaf" not in native.existing_rules():
java_import_external(
name = "apache_karaf",
- jar_sha256 = "dfc820eb9c543d8d578f97a3f79bf02d7b8e391677c430059c3e3b59a7145fe1",
+ jar_sha256 = "9e90c037a16d1736e0c49052758a1a2a1b862b4627362c2f3a6df0335554aefd",
licenses = ["notice"],
- jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.6-offline-20190628/apache-karaf-4.2.6-offline-20190628.tar.gz"], )
+ jar_urls = ["https://repo.maven.apache.org/maven2/org/onosproject/apache-karaf-offline/4.2.8-offline-20200131/apache-karaf-4.2.8-offline-20200131.tar.gz"], )
if "bndlib" not in native.existing_rules():
java_import_external(
name = "bndlib",
@@ -1461,13 +1461,13 @@
artifact_map["@org_osgi_service_metatype_annotations//:org_osgi_service_metatype_annotations"] = "mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0"
artifact_map["@org_osgi_service_cm//:org_osgi_service_cm"] = "mvn:org.osgi:org.osgi.service.cm:jar:1.6.0"
artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0"
-artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.6"
-artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.6"
-artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.6"
+artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.8"
+artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.8"
+artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.8"
artifact_map["@org_apache_httpcomponents_httpasyncclient_osgi//:org_apache_httpcomponents_httpasyncclient_osgi"] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2"
artifact_map["@org_apache_httpcomponents_httpcore_nio//:org_apache_httpcomponents_httpcore_nio"] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4"
-artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.6"
-artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.6"
+artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.8"
+artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.8"
artifact_map["@org_apache_servicemix_bundles_snmp4j//:org_apache_servicemix_bundles_snmp4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1"
artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:6.0.0"
artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:6.0.0"
@@ -1483,7 +1483,7 @@
artifact_map["@typesafe_config//:typesafe_config"] = "mvn:com.typesafe:config:jar:1.3.2"
artifact_map["@validation_api//:validation_api"] = "mvn:javax.validation:validation-api:jar:2.0.1.Final"
artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
-artifact_map["@apache_karaf//:apache_karaf"] = "https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.6-offline-20190628/apache-karaf-4.2.6-offline-20190628.tar.gz"
+artifact_map["@apache_karaf//:apache_karaf"] = "https://repo.maven.apache.org/maven2/org/onosproject/apache-karaf-offline/4.2.8-offline-20200131/apache-karaf-4.2.8-offline-20200131.tar.gz"
artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0"
artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.1.0"
artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.11.0"
diff --git a/tools/build/bazel/osgi_features.bzl b/tools/build/bazel/osgi_features.bzl
index 43610f5..90366aa 100644
--- a/tools/build/bazel/osgi_features.bzl
+++ b/tools/build/bazel/osgi_features.bzl
@@ -102,7 +102,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<features xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
name="onos-%s">
- <repository>mvn:org.apache.karaf.features/standard/4.2.6/xml/features</repository>
+ <repository>mvn:org.apache.karaf.features/standard/4.2.8/xml/features</repository>
''' % ONOS_VERSION
FEATURES_FOOTER = "</features>"
diff --git a/tools/build/build-offline-karaf b/tools/build/build-offline-karaf
index cdd245c..554f532 100755
--- a/tools/build/build-offline-karaf
+++ b/tools/build/build-offline-karaf
@@ -1,7 +1,7 @@
#!/bin/bash
-KARAF_RELEASE_VERSION="4.2.6"
-KARAF_BASE_PACKAGE_VERSION="4.2.6"
+KARAF_RELEASE_VERSION="4.2.8"
+KARAF_BASE_PACKAGE_VERSION="4.2.8"
KARAF_TARFILE_NAME="apache-karaf-${KARAF_RELEASE_VERSION}.tar"
ADDED_BOOT_FEATURES="kar/${KARAF_RELEASE_VERSION},webconsole/${KARAF_RELEASE_VERSION},scr/${KARAF_RELEASE_VERSION},war/${KARAF_RELEASE_VERSION}"
diff --git a/tools/build/envDefaults b/tools/build/envDefaults
index 3bb6a56..889a6dc 100644
--- a/tools/build/envDefaults
+++ b/tools/build/envDefaults
@@ -5,7 +5,7 @@
# M2 repository and Karaf gold bits
export M2_REPO=${M2_REPO:-~/.m2/repository}
-export KARAF_VERSION=4.2.6
+export KARAF_VERSION=4.2.8
export KARAF_ZIP=${KARAF_ZIP:-~/Downloads/apache-karaf-$KARAF_VERSION.zip}
export KARAF_TAR=${KARAF_TAR:-~/Downloads/apache-karaf-$KARAF_VERSION.tar.gz}
export KARAF_DIST=$(basename $KARAF_ZIP .zip)
diff --git a/tools/package/bin/onos-backup b/tools/package/bin/onos-backup
index ed4d1fb..65e55d4 100755
--- a/tools/package/bin/onos-backup
+++ b/tools/package/bin/onos-backup
@@ -5,7 +5,7 @@
ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)}
ONOS_DEFAULT_ARCHIVE=$(dirname $ONOS_HOME)/onos-data.tar.gz
-ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.6
+ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.8
# Fetch the name of the archive or use a default if none is specified
archive=${1:-$ONOS_DEFAULT_ARCHIVE}
diff --git a/tools/package/bin/onos-restore b/tools/package/bin/onos-restore
index 9ba23f4..3b1f8bf 100755
--- a/tools/package/bin/onos-restore
+++ b/tools/package/bin/onos-restore
@@ -5,7 +5,7 @@
ONOS_HOME=${ONOS_HOME:-$(cd $(dirname $0)/.. >/dev/null 2>&1 && pwd)}
ONOS_DEFAULT_ARCHIVE=$(dirname $ONOS_HOME)/onos-data.tar.gz
-ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.6
+ONOS_KARAF=$ONOS_HOME/apache-karaf-4.2.8
# Fetch the name of the archive or use a default if none is specified
archive=${1:-$ONOS_DEFAULT_ARCHIVE}
diff --git a/tools/package/deb/prerm b/tools/package/deb/prerm
index ee32a56..7c7106e 100755
--- a/tools/package/deb/prerm
+++ b/tools/package/deb/prerm
@@ -14,7 +14,7 @@
# Clean up onos runtime directories
# TODO don't hardcode karaf version
-rm -rf /opt/onos/apache-karaf-4.2.6/
+rm -rf /opt/onos/apache-karaf-4.2.8/
rm -rf /opt/onos/var/*
rm -rf /opt/onos/config
rm -rf /opt/onos/options
diff --git a/tools/package/dependencies/template.pom b/tools/package/dependencies/template.pom
index 91ce5de..01fc9a5 100644
--- a/tools/package/dependencies/template.pom
+++ b/tools/package/dependencies/template.pom
@@ -33,7 +33,7 @@
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <karaf.version>4.2.6</karaf.version>
+ <karaf.version>4.2.8</karaf.version>
<maven.version.min>3.3.9</maven.version.min>
<java.version.min><!-- JAVA_VERSION --></java.version.min>
<onos.version><!-- ONOS_VERSION --></onos.version>
diff --git a/tools/package/etc/org.apache.karaf.features.cfg b/tools/package/etc/org.apache.karaf.features.cfg
index c96ef52..fb91f56 100644
--- a/tools/package/etc/org.apache.karaf.features.cfg
+++ b/tools/package/etc/org.apache.karaf.features.cfg
@@ -20,38 +20,38 @@
#
# Comma separated list of features repositories to register by default
#
-featuresRepositories = \ mvn:org.apache.karaf.features/standard/4.2.6/xml/features, \
+featuresRepositories = \ mvn:org.apache.karaf.features/standard/4.2.8/xml/features, \
mvn:org.onosproject/onos-features/$ONOS_VERSION/xml/features, \
- mvn:org.apache.karaf.features/enterprise/4.2.6/xml/features, \
- mvn:org.apache.karaf.features/spring/4.2.6/xml/features, \
- mvn:org.apache.karaf.features/standard/4.2.6/xml/features, \
- mvn:org.apache.karaf.features/framework/4.2.6/xml/features
+ mvn:org.apache.karaf.features/enterprise/4.2.8/xml/features, \
+ mvn:org.apache.karaf.features/spring/4.2.8/xml/features, \
+ mvn:org.apache.karaf.features/standard/4.2.8/xml/features, \
+ mvn:org.apache.karaf.features/framework/4.2.8/xml/features
#
# Comma separated list of features to install at startup
#
featuresBoot = \
- (instance/4.2.6, \
- package/4.2.6, \
- log/4.2.6, \
- ssh/4.2.6, \
- framework/4.2.6, \
- system/4.2.6, \
- eventadmin/4.2.6, \
- feature/4.2.6, \
- shell/4.2.6, \
- management/4.2.6, \
- service/4.2.6, \
- jaas/4.2.6, \
- deployer/4.2.6, \
- diagnostic/4.2.6, \
- wrap/2.6.1, \
- bundle/4.2.6, \
- config/4.2.6, \
- kar/4.2.6, \
- webconsole/4.2.6, \
- scr/4.2.6, \
- war/4.2.6), \
+ (instance/4.2.8, \
+ package/4.2.8, \
+ log/4.2.8, \
+ ssh/4.2.8, \
+ framework/4.2.8, \
+ system/4.2.8, \
+ eventadmin/4.2.8, \
+ feature/4.2.8, \
+ shell/4.2.8, \
+ management/4.2.8, \
+ service/4.2.8, \
+ jaas/4.2.8, \
+ deployer/4.2.8, \
+ diagnostic/4.2.8, \
+ wrap/2.6.2, \
+ bundle/4.2.8, \
+ config/4.2.8, \
+ kar/4.2.8, \
+ webconsole/4.2.8, \
+ scr/4.2.8, \
+ war/4.2.8), \
(onos-thirdparty-base/$ONOS_VERSION), \
(onos-api/$ONOS_VERSION, \
onos-core/$ONOS_VERSION, \
diff --git a/tools/package/onos-prep-karaf b/tools/package/onos-prep-karaf
index c1986b3..315aa13 100755
--- a/tools/package/onos-prep-karaf
+++ b/tools/package/onos-prep-karaf
@@ -12,7 +12,7 @@
KARAF_PATCHES=$5
SANDBOX=${6:-.}
-KARAF_VERSION="4.2.6"
+KARAF_VERSION="4.2.8"
ONOS_SECURITY_MODE="false"
PREFIX="onos-$ONOS_VERSION"
diff --git a/tools/package/onos_stage.py b/tools/package/onos_stage.py
index 466c016..e11a3fa 100755
--- a/tools/package/onos_stage.py
+++ b/tools/package/onos_stage.py
@@ -27,7 +27,7 @@
written_files = set()
now = time.time()
-karaf_version = "4.2.6"
+karaf_version = "4.2.8"
karaf_system = "apache-karaf-" + karaf_version + "/system/"
def addFile(tar, dest, file, file_size):
diff --git a/tools/test/bin/onos-check-bits b/tools/test/bin/onos-check-bits
index be1b8da..6ce3ec9 100755
--- a/tools/test/bin/onos-check-bits
+++ b/tools/test/bin/onos-check-bits
@@ -32,7 +32,7 @@
echo "ONOS archive does not contain the proper version file" && exit 1
fi
-tar tzf ${ONOS_TAR} | grep -q apache-karaf-4.2.6
+tar tzf ${ONOS_TAR} | grep -q apache-karaf-4.2.8
if [ $? -ne 0 ]; then
echo "ONOS archive does not contain karaf" && exit 1
fi
diff --git a/tools/test/bin/onos-check-logs b/tools/test/bin/onos-check-logs
index 47df150..266a741 100755
--- a/tools/test/bin/onos-check-logs
+++ b/tools/test/bin/onos-check-logs
@@ -113,6 +113,8 @@
/at org\.apache\.sshd\.server\.SshServer\.start/ { exclusion = 1; }
/at org\.apache\.felix\.scr\.impl\.ComponentRegistry\.getComponentHolders/ { exclusion = 1; }
/at org\.apache\.felix\.framework\.Felix/ { exclusion = 1; }
+ /at org\.apache\.karaf\.util\.tracker\.BaseActivator\.getTrackedService/ { exclusion = 1; }
+
END { exit fail; }
' > $aux