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=78....
Change:
-%ifarch ppc ppc64 ppc64le
Thanks.
Full change:
============
commit 780acf29b57620e611485136b71bdb74921c2610
Author: Lars Tangvald <lars.tangvald(a)oracle.com>
Date: Fri Apr 26 15:37:22 2019 +0200
Update to MySQL 8.0.16
diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch
deleted file mode 100644
index 652390f..0000000
--- a/community-mysql-gcc9.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
-index 8cc64089f5a..2ee48177b85 100644
---- a/client/CMakeLists.txt
-+++ b/client/CMakeLists.txt
-@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient)
-
- MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
--# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ??
--IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0")
-- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++)
--ENDIF()
-
- # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
- IF(WIN32)
diff --git a/community-mysql-router.patch b/community-mysql-router.patch
deleted file mode 100644
index f86d2ea..0000000
--- a/community-mysql-router.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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.
-
-
-
-I have this confirmed from the mail conversation with the MySQL side:
-"While technically possible, it's practically impossible to set up router without the MySQL Shell."
-
---- 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 cb1f1dc..72fe369 100644
--- a/community-mysql-sharedir.patch
+++ b/community-mysql-sharedir.patch
@@ -1,28 +1,22 @@
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
-index 7c1e82b5..a92ba915 100644
+index 1eb22c37..e200d4eb 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
-@@ -56,6 +56,10 @@ INSTALL(
+@@ -56,6 +56,9 @@ INSTALL(
ENDIF()
-+# Expand some paths in the perl scripts correctly
-+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY)
++# Expand some paths in the perl script correctly
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY)
+
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
# Enable running mtr from build directory
- CONFIGURE_FILE(
+ FIND_PROGRAM(PERL_EXECUTABLE perl
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
-index 8c058527..7acd8534 100755
+index 05a504da..9cdc2cda 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
-@@ -1479,11 +1479,11 @@ sub command_line_setup {
- }
-
- # Look for language files and charsetsdir, use same share
-- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share");
-+ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share");
+@@ -1626,7 +1626,7 @@ sub command_line_setup {
my $path_share = $path_language;
@share_locations =
diff --git a/community-mysql.spec b/community-mysql.spec
index 148ba48..bbbc4eb 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -82,7 +82,7 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
-Version: 8.0.15
+Version: 8.0.16
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@@ -122,8 +122,6 @@ Patch5: %{pkgnamepatch}-paths.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
-Patch53: %{pkgnamepatch}-router.patch
-Patch54: %{pkgnamepatch}-gcc9.patch
Patch55: %{pkgnamepatch}-rpath.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
@@ -375,8 +373,6 @@ the MySQL sources.
%patch5 -p1
%patch51 -p1
%patch52 -p1
-%patch53 -p1
-%patch54 -p1
%patch55 -p1
%patch75 -p1
@@ -390,86 +386,20 @@ popd
pushd mysql-test
add_test () {
- echo "$@" $ >> %{skiplist}
+ echo "$1" : BUG#0 "${@:2}" >> %{skiplist}
}
touch %{skiplist}
-# Fails everywhere; last check: 8.0.14
-add_test auth_sec.cert_verify :
-add_test auth_sec.mysql_ssl_connection :
-add_test auth_sec.openssl_cert_generation :
-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.mysqldump :
-add_test main.mysql_ssl_default :
-add_test main.openssl_1 :
-add_test main.plugin_auth_sha256_tls :
-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 main.type_float :
-add_test perfschema.start_server_zero_digest_sql_length :
-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 :
-
-# Started failing in due to changes in Rawhide after ~25.1.2019
-add_test main.ctype_utf8 :
-add_test main.ctype_utf8mb4_heap :
-add_test main.ctype_utf8mb4_innodb :
-add_test main.ctype_utf8mb4_myisam :
-add_test main.regular_expressions_func :
-add_test main.regular_expressions_utf-8 :
-
-# These tests fail on ppc64 and ppc64le; last check 8.0.14
-%ifarch ppc ppc64 ppc64le
-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_newdecimal :
-add_test main.type_ranges :
-add_test test_service_sql_api.test_sql_all_col_types :
-add_test x.multiple_resultsets :
-%endif
-
-# These tests fail on armv7hl; last check 8.0.14
+# These tests fail on armv7hl; last check 8.0.16
%ifarch %arm aarch64
-add_test gis.st_latitude :
-add_test gis.st_longitude :
-add_test x.connection_auth_mechanism_memory_ssl :
-add_test x.connection_auth_mechanism_memory_with_invalidation :
-add_test x.connection_auth_mechanism_memory1 :
-add_test x.connection_auth_mechanism_memory2 :
-# Missing hw counters; in 5.7.21 reported as unstable tests
-add_test perfschema.func_file_io : missing hw on arm32
-add_test perfschema.func_mutex : missing hw on arm32
-add_test perfschema.global_read_lock : missing hw on arm32
-add_test perfschema.setup_objects : missing hw on arm32
+add_test gis.st_latitude
+add_test gis.st_longitude
+# Missing hw counters
+add_test perfschema.func_file_io missing hw on arm32
+add_test perfschema.func_mutex missing hw on arm32
+add_test perfschema.global_read_lock missing hw on arm32
+add_test perfschema.setup_objects missing hw on arm32
%endif
popd
@@ -533,6 +463,7 @@ cmake .. \
%ifarch s390 s390x
-DUSE_LD_GOLD=OFF \
%endif
+ -DWITH_ROUTER=OFF \
-DWITH_SYSTEM_LIBS=ON \
-DWITH_BOOST=../boost \
-DREPRODUCIBLE_BUILD=OFF \
@@ -598,13 +529,7 @@ install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-c
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
-mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
-ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
-
rm %{buildroot}%{_libdir}/mysql/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/comp_err.1*
@@ -679,7 +604,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process}
rm -r %{buildroot}%{_datadir}/mysql-test
rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
%endif
@@ -704,7 +629,7 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%else
--skip-test-list=%{skiplist}
%endif
- rm -r var $(readlink var)
+rm -r var $(readlink var)
popd
popd
%endif
@@ -927,12 +852,21 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/mysqltest
+%{_bindir}/mysqltest_safe_process
%{_bindir}/mysqlxtest
-%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%endif
%changelog
+* Fri Apr 26 2019 Lars Tangvald <lars.tangvald(a)oracle.com> - 8.0.16-1
+- Update to MySQL 8.0.16
+- Rediff sharedir patch
+- Refresh skip list and use new, required format
+- Remove GCC9 patch now upstream
+- Upstream: my_safe_process renamed and moved into proper location
+- Use upstream option to skip router build
+- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests
+
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 8.0.15-1
- Update to MySQL 8.0.15
diff --git a/sources b/sources
index b9632c3..b24db50 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3
+SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516
4 years, 1 month
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=78....
Change:
-%ifarch ppc ppc64 ppc64le
Thanks.
Full change:
============
commit 780acf29b57620e611485136b71bdb74921c2610
Author: Lars Tangvald <lars.tangvald(a)oracle.com>
Date: Fri Apr 26 15:37:22 2019 +0200
Update to MySQL 8.0.16
diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch
deleted file mode 100644
index 652390f..0000000
--- a/community-mysql-gcc9.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
-index 8cc64089f5a..2ee48177b85 100644
---- a/client/CMakeLists.txt
-+++ b/client/CMakeLists.txt
-@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient)
-
- MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
--# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ??
--IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0")
-- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++)
--ENDIF()
-
- # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
- IF(WIN32)
diff --git a/community-mysql-router.patch b/community-mysql-router.patch
deleted file mode 100644
index f86d2ea..0000000
--- a/community-mysql-router.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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.
-
-
-
-I have this confirmed from the mail conversation with the MySQL side:
-"While technically possible, it's practically impossible to set up router without the MySQL Shell."
-
---- 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 cb1f1dc..72fe369 100644
--- a/community-mysql-sharedir.patch
+++ b/community-mysql-sharedir.patch
@@ -1,28 +1,22 @@
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
-index 7c1e82b5..a92ba915 100644
+index 1eb22c37..e200d4eb 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
-@@ -56,6 +56,10 @@ INSTALL(
+@@ -56,6 +56,9 @@ INSTALL(
ENDIF()
-+# Expand some paths in the perl scripts correctly
-+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY)
++# Expand some paths in the perl script correctly
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY)
+
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
# Enable running mtr from build directory
- CONFIGURE_FILE(
+ FIND_PROGRAM(PERL_EXECUTABLE perl
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
-index 8c058527..7acd8534 100755
+index 05a504da..9cdc2cda 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
-@@ -1479,11 +1479,11 @@ sub command_line_setup {
- }
-
- # Look for language files and charsetsdir, use same share
-- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share");
-+ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share");
+@@ -1626,7 +1626,7 @@ sub command_line_setup {
my $path_share = $path_language;
@share_locations =
diff --git a/community-mysql.spec b/community-mysql.spec
index 148ba48..bbbc4eb 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -82,7 +82,7 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
-Version: 8.0.15
+Version: 8.0.16
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@@ -122,8 +122,6 @@ Patch5: %{pkgnamepatch}-paths.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
-Patch53: %{pkgnamepatch}-router.patch
-Patch54: %{pkgnamepatch}-gcc9.patch
Patch55: %{pkgnamepatch}-rpath.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
@@ -375,8 +373,6 @@ the MySQL sources.
%patch5 -p1
%patch51 -p1
%patch52 -p1
-%patch53 -p1
-%patch54 -p1
%patch55 -p1
%patch75 -p1
@@ -390,86 +386,20 @@ popd
pushd mysql-test
add_test () {
- echo "$@" $ >> %{skiplist}
+ echo "$1" : BUG#0 "${@:2}" >> %{skiplist}
}
touch %{skiplist}
-# Fails everywhere; last check: 8.0.14
-add_test auth_sec.cert_verify :
-add_test auth_sec.mysql_ssl_connection :
-add_test auth_sec.openssl_cert_generation :
-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.mysqldump :
-add_test main.mysql_ssl_default :
-add_test main.openssl_1 :
-add_test main.plugin_auth_sha256_tls :
-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 main.type_float :
-add_test perfschema.start_server_zero_digest_sql_length :
-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 :
-
-# Started failing in due to changes in Rawhide after ~25.1.2019
-add_test main.ctype_utf8 :
-add_test main.ctype_utf8mb4_heap :
-add_test main.ctype_utf8mb4_innodb :
-add_test main.ctype_utf8mb4_myisam :
-add_test main.regular_expressions_func :
-add_test main.regular_expressions_utf-8 :
-
-# These tests fail on ppc64 and ppc64le; last check 8.0.14
-%ifarch ppc ppc64 ppc64le
-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_newdecimal :
-add_test main.type_ranges :
-add_test test_service_sql_api.test_sql_all_col_types :
-add_test x.multiple_resultsets :
-%endif
-
-# These tests fail on armv7hl; last check 8.0.14
+# These tests fail on armv7hl; last check 8.0.16
%ifarch %arm aarch64
-add_test gis.st_latitude :
-add_test gis.st_longitude :
-add_test x.connection_auth_mechanism_memory_ssl :
-add_test x.connection_auth_mechanism_memory_with_invalidation :
-add_test x.connection_auth_mechanism_memory1 :
-add_test x.connection_auth_mechanism_memory2 :
-# Missing hw counters; in 5.7.21 reported as unstable tests
-add_test perfschema.func_file_io : missing hw on arm32
-add_test perfschema.func_mutex : missing hw on arm32
-add_test perfschema.global_read_lock : missing hw on arm32
-add_test perfschema.setup_objects : missing hw on arm32
+add_test gis.st_latitude
+add_test gis.st_longitude
+# Missing hw counters
+add_test perfschema.func_file_io missing hw on arm32
+add_test perfschema.func_mutex missing hw on arm32
+add_test perfschema.global_read_lock missing hw on arm32
+add_test perfschema.setup_objects missing hw on arm32
%endif
popd
@@ -533,6 +463,7 @@ cmake .. \
%ifarch s390 s390x
-DUSE_LD_GOLD=OFF \
%endif
+ -DWITH_ROUTER=OFF \
-DWITH_SYSTEM_LIBS=ON \
-DWITH_BOOST=../boost \
-DREPRODUCIBLE_BUILD=OFF \
@@ -598,13 +529,7 @@ install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-c
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
-mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
-ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
-
rm %{buildroot}%{_libdir}/mysql/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/comp_err.1*
@@ -679,7 +604,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process}
rm -r %{buildroot}%{_datadir}/mysql-test
rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
%endif
@@ -704,7 +629,7 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%else
--skip-test-list=%{skiplist}
%endif
- rm -r var $(readlink var)
+rm -r var $(readlink var)
popd
popd
%endif
@@ -927,12 +852,21 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/mysqltest
+%{_bindir}/mysqltest_safe_process
%{_bindir}/mysqlxtest
-%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%endif
%changelog
+* Fri Apr 26 2019 Lars Tangvald <lars.tangvald(a)oracle.com> - 8.0.16-1
+- Update to MySQL 8.0.16
+- Rediff sharedir patch
+- Refresh skip list and use new, required format
+- Remove GCC9 patch now upstream
+- Upstream: my_safe_process renamed and moved into proper location
+- Use upstream option to skip router build
+- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests
+
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 8.0.15-1
- Update to MySQL 8.0.15
diff --git a/sources b/sources
index b9632c3..b24db50 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3
+SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516
4 years, 1 month
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=78....
Change:
-%ifarch ppc ppc64 ppc64le
Thanks.
Full change:
============
commit 780acf29b57620e611485136b71bdb74921c2610
Author: Lars Tangvald <lars.tangvald(a)oracle.com>
Date: Fri Apr 26 15:37:22 2019 +0200
Update to MySQL 8.0.16
diff --git a/community-mysql-gcc9.patch b/community-mysql-gcc9.patch
deleted file mode 100644
index 652390f..0000000
--- a/community-mysql-gcc9.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
-index 8cc64089f5a..2ee48177b85 100644
---- a/client/CMakeLists.txt
-+++ b/client/CMakeLists.txt
-@@ -113,10 +113,6 @@ TARGET_LINK_LIBRARIES(mysql_secure_installation mysqlclient)
-
- MYSQL_ADD_EXECUTABLE(mysql_ssl_rsa_setup mysql_ssl_rsa_setup.cc path.cc logger.cc)
- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup mysys mysys_ssl)
--# Bug in /usr/lib/gcc-snapshot/lib/libstdc++.so ??
--IF(CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL "9.0.0")
-- TARGET_LINK_LIBRARIES(mysql_ssl_rsa_setup -static-libstdc++)
--ENDIF()
-
- # "WIN32" also covers 64 bit. "echo" is used in some files below "mysql-test/".
- IF(WIN32)
diff --git a/community-mysql-router.patch b/community-mysql-router.patch
deleted file mode 100644
index f86d2ea..0000000
--- a/community-mysql-router.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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.
-
-
-
-I have this confirmed from the mail conversation with the MySQL side:
-"While technically possible, it's practically impossible to set up router without the MySQL Shell."
-
---- 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 cb1f1dc..72fe369 100644
--- a/community-mysql-sharedir.patch
+++ b/community-mysql-sharedir.patch
@@ -1,28 +1,22 @@
diff --git a/mysql-test/CMakeLists.txt b/mysql-test/CMakeLists.txt
-index 7c1e82b5..a92ba915 100644
+index 1eb22c37..e200d4eb 100644
--- a/mysql-test/CMakeLists.txt
+++ b/mysql-test/CMakeLists.txt
-@@ -56,6 +56,10 @@ INSTALL(
+@@ -56,6 +56,9 @@ INSTALL(
ENDIF()
-+# Expand some paths in the perl scripts correctly
-+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm ${CMAKE_CURRENT_SOURCE_DIR}/lib/My/ConfigFactory.pm @ONLY)
++# Expand some paths in the perl script correctly
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl ${CMAKE_CURRENT_SOURCE_DIR}/mysql-test-run.pl @ONLY)
+
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
# Enable running mtr from build directory
- CONFIGURE_FILE(
+ FIND_PROGRAM(PERL_EXECUTABLE perl
diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl
-index 8c058527..7acd8534 100755
+index 05a504da..9cdc2cda 100755
--- a/mysql-test/mysql-test-run.pl
+++ b/mysql-test/mysql-test-run.pl
-@@ -1479,11 +1479,11 @@ sub command_line_setup {
- }
-
- # Look for language files and charsetsdir, use same share
-- $path_language = mtr_path_exists("$bindir/share/mysql", "$bindir/share");
-+ $path_language = mtr_path_exists("$bindir/@INSTALL_MYSQLSHAREDIR@", "$bindir/share/mysql", "$bindir/share");
+@@ -1626,7 +1626,7 @@ sub command_line_setup {
my $path_share = $path_language;
@share_locations =
diff --git a/community-mysql.spec b/community-mysql.spec
index 148ba48..bbbc4eb 100644
--- a/community-mysql.spec
+++ b/community-mysql.spec
@@ -82,7 +82,7 @@
%global sameevr %{?epoch:%{epoch}:}%{version}-%{release}
Name: community-mysql
-Version: 8.0.15
+Version: 8.0.16
Release: 1%{?with_debug:.debug}%{?dist}
Summary: MySQL client programs and shared libraries
URL: http://www.mysql.com
@@ -122,8 +122,6 @@ Patch5: %{pkgnamepatch}-paths.patch
# Patches specific for this mysql package
Patch51: %{pkgnamepatch}-chain-certs.patch
Patch52: %{pkgnamepatch}-sharedir.patch
-Patch53: %{pkgnamepatch}-router.patch
-Patch54: %{pkgnamepatch}-gcc9.patch
Patch55: %{pkgnamepatch}-rpath.patch
Patch75: %{pkgnamepatch}-arm32-timer.patch
@@ -375,8 +373,6 @@ the MySQL sources.
%patch5 -p1
%patch51 -p1
%patch52 -p1
-%patch53 -p1
-%patch54 -p1
%patch55 -p1
%patch75 -p1
@@ -390,86 +386,20 @@ popd
pushd mysql-test
add_test () {
- echo "$@" $ >> %{skiplist}
+ echo "$1" : BUG#0 "${@:2}" >> %{skiplist}
}
touch %{skiplist}
-# Fails everywhere; last check: 8.0.14
-add_test auth_sec.cert_verify :
-add_test auth_sec.mysql_ssl_connection :
-add_test auth_sec.openssl_cert_generation :
-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.mysqldump :
-add_test main.mysql_ssl_default :
-add_test main.openssl_1 :
-add_test main.plugin_auth_sha256_tls :
-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 main.type_float :
-add_test perfschema.start_server_zero_digest_sql_length :
-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 :
-
-# Started failing in due to changes in Rawhide after ~25.1.2019
-add_test main.ctype_utf8 :
-add_test main.ctype_utf8mb4_heap :
-add_test main.ctype_utf8mb4_innodb :
-add_test main.ctype_utf8mb4_myisam :
-add_test main.regular_expressions_func :
-add_test main.regular_expressions_utf-8 :
-
-# These tests fail on ppc64 and ppc64le; last check 8.0.14
-%ifarch ppc ppc64 ppc64le
-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_newdecimal :
-add_test main.type_ranges :
-add_test test_service_sql_api.test_sql_all_col_types :
-add_test x.multiple_resultsets :
-%endif
-
-# These tests fail on armv7hl; last check 8.0.14
+# These tests fail on armv7hl; last check 8.0.16
%ifarch %arm aarch64
-add_test gis.st_latitude :
-add_test gis.st_longitude :
-add_test x.connection_auth_mechanism_memory_ssl :
-add_test x.connection_auth_mechanism_memory_with_invalidation :
-add_test x.connection_auth_mechanism_memory1 :
-add_test x.connection_auth_mechanism_memory2 :
-# Missing hw counters; in 5.7.21 reported as unstable tests
-add_test perfschema.func_file_io : missing hw on arm32
-add_test perfschema.func_mutex : missing hw on arm32
-add_test perfschema.global_read_lock : missing hw on arm32
-add_test perfschema.setup_objects : missing hw on arm32
+add_test gis.st_latitude
+add_test gis.st_longitude
+# Missing hw counters
+add_test perfschema.func_file_io missing hw on arm32
+add_test perfschema.func_mutex missing hw on arm32
+add_test perfschema.global_read_lock missing hw on arm32
+add_test perfschema.setup_objects missing hw on arm32
%endif
popd
@@ -533,6 +463,7 @@ cmake .. \
%ifarch s390 s390x
-DUSE_LD_GOLD=OFF \
%endif
+ -DWITH_ROUTER=OFF \
-DWITH_SYSTEM_LIBS=ON \
-DWITH_BOOST=../boost \
-DREPRODUCIBLE_BUILD=OFF \
@@ -598,13 +529,7 @@ install -p -m 755 scripts/mysql-check-upgrade %{buildroot}%{_libexecdir}/mysql-c
install -p -m 644 scripts/mysql-scripts-common %{buildroot}%{_libexecdir}/mysql-scripts-common
install -D -p -m 0644 scripts/server.cnf %{buildroot}%{_sysconfdir}/my.cnf.d/%{pkg_name}-server.cnf
-# mysql-test includes one executable that doesn't belong under /usr/share,
-# so move it and provide a symlink
-mv %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process %{buildroot}%{_bindir}
-ln -s ../../../../../bin/my_safe_process %{buildroot}%{_datadir}/mysql-test/lib/My/SafeProcess/my_safe_process
-
rm %{buildroot}%{_libdir}/mysql/*.a
-rm %{buildroot}%{_datadir}/%{pkg_name}/magic
rm %{buildroot}%{_datadir}/%{pkg_name}/mysql.server
rm %{buildroot}%{_datadir}/%{pkg_name}/mysqld_multi.server
rm %{buildroot}%{_mandir}/man1/comp_err.1*
@@ -679,7 +604,7 @@ polish,portuguese,romanian,russian,serbian,slovak,spanish,swedish,ukrainian}
%endif
%if %{without test}
-rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,my_safe_process}
+rm %{buildroot}%{_bindir}/{mysql_client_test,mysqlxtest,mysqltest_safe_process}
rm -r %{buildroot}%{_datadir}/mysql-test
rm %{buildroot}%{_mandir}/man1/mysql_client_test.1*
%endif
@@ -704,7 +629,7 @@ export MTR_BUILD_THREAD=%{__isa_bits}
%else
--skip-test-list=%{skiplist}
%endif
- rm -r var $(readlink var)
+rm -r var $(readlink var)
popd
popd
%endif
@@ -927,12 +852,21 @@ fi
%files test
%{_bindir}/mysql_client_test
%{_bindir}/mysqltest
+%{_bindir}/mysqltest_safe_process
%{_bindir}/mysqlxtest
-%{_bindir}/my_safe_process
%attr(-,mysql,mysql) %{_datadir}/mysql-test
%endif
%changelog
+* Fri Apr 26 2019 Lars Tangvald <lars.tangvald(a)oracle.com> - 8.0.16-1
+- Update to MySQL 8.0.16
+- Rediff sharedir patch
+- Refresh skip list and use new, required format
+- Remove GCC9 patch now upstream
+- Upstream: my_safe_process renamed and moved into proper location
+- Use upstream option to skip router build
+- OpenSSL 1.1.1 and TLSv1.3 is now supported, enable tests
+
* Mon Feb 11 2019 Michal Schorm <mschorm(a)redhat.com> - 8.0.15-1
- Update to MySQL 8.0.15
diff --git a/sources b/sources
index b9632c3..b24db50 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (mysql-boost-8.0.15.tar.gz) = eda525aa6545b9c62d268d4cdff5b5ba5a286929234a05487b5e13bbed87046811f7fd4e4fc2c4f41432519bd28d7da38ad99c5c10d1d1389b027540a7817bf3
+SHA512 (mysql-boost-8.0.16.tar.gz) = 4de08d74637d1fef4f570148e66c8ddf2b59d1c0a49d715ca632da7f572645b65ec5f7c115aaf0bd179b0a9f1ba2bc40357c371f170a674118159d99b2c49516
4 years, 1 month
Architecture specific change in rpms/gcc.git
by githook-noreply@fedoraproject.org
The package rpms/gcc.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/gcc.git/commit/?id=f2dc6d80c8786f....
Change:
+%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
Thanks.
Full change:
============
commit f2dc6d80c8786f2f460671c50b3e6e5367f3b5ee
Author: Jakub Jelinek <jakub(a)redhat.com>
Date: Tue Apr 30 16:52:43 2019 +0200
9.0.1-0.16
diff --git a/.gitignore b/.gitignore
index 9bc2bf3..21519f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@
/gcc-9.0.1-20190415.tar.xz
/gcc-9.0.1-20190418.tar.xz
/gcc-9.0.1-20190426.tar.xz
+/gcc-9.0.1-20190430.tar.xz
diff --git a/gcc.spec b/gcc.spec
index b59cefe..4e50fd5 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20190426
-%global SVNREV 270616
+%global DATE 20190430
+%global SVNREV 270701
%global gcc_version 9.0.1
%global gcc_major 9
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
-%global gcc_release 0.15
+%global gcc_release 0.16
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
%global _unpackaged_files_terminate_build 0
@@ -33,7 +33,7 @@
%else
%global build_go 0
%endif
-%ifarch %{ix86} x86_64 %{arm} %{mips}
+%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
%global build_d 1
%else
%global build_d 0
@@ -2955,6 +2955,13 @@ end
%endif
%changelog
+* Tue Apr 30 2019 Jakub Jelinek <jakub(a)redhat.com> 9.0.1-0.16
+- update from 9 branch
+ - gcc 9.1-rc2
+ - PRs middle-end/90258, target/86538, translation/90274,
+ tree-optimization/90273
+- enable D on s390{,x} and riscv64
+
* Fri Apr 26 2019 Jakub Jelinek <jakub(a)redhat.com> 9.0.1-0.15
- update from trunk and 9 branch
- gcc 9.1-rc1
diff --git a/sources b/sources
index 5b33e51..2ba8128 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-9.0.1-20190426.tar.xz) = a1680dba81d9779b3579ebde62f0887a0a6dbffd23ca758ab3013543057d5cc50e415974aa063eccfee473159572e3c317f8a586feafbaf19ee4a187015bed71
+SHA512 (gcc-9.0.1-20190430.tar.xz) = c1b6cfa8be2478aa6df3d7be247fcd5098f8d402e4c70ff65c6a439533dc327fd3249a48b357dd9e242afd67a1b4ea60b71baa709802716952a22677320fae9f
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1
4 years, 1 month
Architecture specific change in rpms/gcc.git
by githook-noreply@fedoraproject.org
The package rpms/gcc.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/gcc.git/commit/?id=f2dc6d80c8786f....
Change:
+%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
Thanks.
Full change:
============
commit f2dc6d80c8786f2f460671c50b3e6e5367f3b5ee
Author: Jakub Jelinek <jakub(a)redhat.com>
Date: Tue Apr 30 16:52:43 2019 +0200
9.0.1-0.16
diff --git a/.gitignore b/.gitignore
index 9bc2bf3..21519f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,3 +74,4 @@
/gcc-9.0.1-20190415.tar.xz
/gcc-9.0.1-20190418.tar.xz
/gcc-9.0.1-20190426.tar.xz
+/gcc-9.0.1-20190430.tar.xz
diff --git a/gcc.spec b/gcc.spec
index b59cefe..4e50fd5 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20190426
-%global SVNREV 270616
+%global DATE 20190430
+%global SVNREV 270701
%global gcc_version 9.0.1
%global gcc_major 9
# Note, gcc_release must be integer, if you want to add suffixes to
# %%{release}, append them after %%{gcc_release} on Release: line.
-%global gcc_release 0.15
+%global gcc_release 0.16
%global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
%global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
%global _unpackaged_files_terminate_build 0
@@ -33,7 +33,7 @@
%else
%global build_go 0
%endif
-%ifarch %{ix86} x86_64 %{arm} %{mips}
+%ifarch %{ix86} x86_64 %{arm} %{mips} s390 s390x riscv64
%global build_d 1
%else
%global build_d 0
@@ -2955,6 +2955,13 @@ end
%endif
%changelog
+* Tue Apr 30 2019 Jakub Jelinek <jakub(a)redhat.com> 9.0.1-0.16
+- update from 9 branch
+ - gcc 9.1-rc2
+ - PRs middle-end/90258, target/86538, translation/90274,
+ tree-optimization/90273
+- enable D on s390{,x} and riscv64
+
* Fri Apr 26 2019 Jakub Jelinek <jakub(a)redhat.com> 9.0.1-0.15
- update from trunk and 9 branch
- gcc 9.1-rc1
diff --git a/sources b/sources
index 5b33e51..2ba8128 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-9.0.1-20190426.tar.xz) = a1680dba81d9779b3579ebde62f0887a0a6dbffd23ca758ab3013543057d5cc50e415974aa063eccfee473159572e3c317f8a586feafbaf19ee4a187015bed71
+SHA512 (gcc-9.0.1-20190430.tar.xz) = c1b6cfa8be2478aa6df3d7be247fcd5098f8d402e4c70ff65c6a439533dc327fd3249a48b357dd9e242afd67a1b4ea60b71baa709802716952a22677320fae9f
SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1
4 years, 1 month
Architecture specific change in rpms/smartmontools.git
by githook-noreply@fedoraproject.org
The package rpms/smartmontools.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/smartmontools.git/commit/?id=946c....
Change:
-%ifarch sparc64
Thanks.
Full change:
============
commit 946c32475d4cf854b50bbeaad355095961ea94f7
Author: Daniel Axelrod <daxelrod(a)datto.com>
Date: Sat Apr 27 18:31:56 2019 +0000
Clean up spec and patches
Remove old patches that were not referenced by the specfile.
Drop pre script for migrating from unsupported Fedora versions.
Replace sed with configure switch; this should be more future-proof.
diff --git a/smartmontools-5.38-perc.patch b/smartmontools-5.38-perc.patch
deleted file mode 100644
index a63c890..0000000
--- a/smartmontools-5.38-perc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -up smartmontools-5.38/scsiprint.cpp.perc smartmontools-5.38/scsiprint.cpp
---- smartmontools-5.38/scsiprint.cpp.perc 2008-03-04 23:09:47.000000000 +0100
-+++ smartmontools-5.38/scsiprint.cpp 2008-03-27 11:28:20.000000000 +0100
-@@ -1037,6 +1037,9 @@ static int scsiGetDriveInfo(int device,
- (0 == strncmp((const char *)(gBuf + 36), "MVSATA", 6))) {
- pout("please try '-d marvell'\n");
- return 2;
-+ } else if (0 == strncmp(product, "PERC", 4)) {
-+ pout("\nDELL PERC controllers are not supported.\n");
-+ return 2;
- } else if ((0 == con->controller_explicit) &&
- (0 == strncmp(manufacturer, "ATA ", 8)) &&
- has_sat_pass_through(device, 0)) {
diff --git a/smartmontools-5.38-selinux.patch b/smartmontools-5.38-selinux.patch
deleted file mode 100644
index 3b7cfc2..0000000
--- a/smartmontools-5.38-selinux.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-diff -up sm5.mine/configure.in.selinux sm5.mine/configure.in
---- sm5.mine/configure.in.selinux 2008-04-01 09:01:02.000000000 +0200
-+++ sm5.mine/configure.in 2008-03-28 11:06:05.000000000 +0100
-@@ -136,6 +136,16 @@ AC_ARG_ENABLE(sample,[AC_HELP_STRING([--
- AC_SUBST(smartd_suffix)
- AM_CONDITIONAL(SMARTD_SUFFIX, test $smartd_suffix)
-
-+AC_ARG_WITH(selinux,[AC_HELP_STRING([--with-selinux],[Enables SELinux support])],
-+ [
-+ AC_CHECK_HEADERS([selinux/selinux.h], [], [echo "*** Error: Missing SELinux header files";exit 1])
-+ AC_CHECK_LIB(selinux, matchpathcon, [with_selinux=yes], [echo "*** Error: Missing or incorrect SELinux library files"; exit 1],)
-+ ],[])
-+AC_SUBST(with_selinux)
-+if test "$with_selinux" = "yes"; then
-+ AC_DEFINE(WITH_SELINUX, [1], [Define to 1 if SELinux support is enabled])
-+fi
-+
- if test "$prefix" = "NONE"; then
- dnl no prefix and no mandir, so use ${prefix}/share/man as default
- if test "$mandir" = '${prefix}/man'; then
-@@ -151,7 +161,11 @@ dnl if OS not recognized, then use the o
- case "${host}" in
- *-*-linux*)
- AC_SUBST([os_deps], ['os_linux.o cciss.o'])
-- AC_SUBST([os_libs], ['']) ;;
-+ if test "$with_selinux" = "yes"; then
-+ AC_SUBST([os_libs], ['-lselinux'])
-+ else
-+ AC_SUBST([os_libs], [''])
-+ fi;;
- *-*-freebsd*|*-*-dragonfly*|*-*-kfreebsd*-gnu*)
- AC_SUBST([os_deps], ['os_freebsd.o cciss.o'])
- AC_SUBST([os_libs], ['-lcam']);;
-diff -up sm5.mine/os_linux.cpp.selinux sm5.mine/os_linux.cpp
---- sm5.mine/os_linux.cpp.selinux 2008-04-01 09:01:14.000000000 +0200
-+++ sm5.mine/os_linux.cpp 2008-04-01 12:28:04.000000000 +0200
-@@ -60,6 +60,9 @@
- #ifndef makedev // old versions of types.h do not include sysmacros.h
- #include <sys/sysmacros.h>
- #endif
-+#ifdef WITH_SELINUX
-+#include <selinux/selinux.h>
-+#endif
-
- #include "int64.h"
- #include "atacmds.h"
-@@ -105,6 +108,14 @@ int setup_3ware_nodes(const char *nodena
- char nodestring[NODE_STRING_LENGTH];
- struct stat stat_buf;
- FILE *file;
-+ int retval = 0;
-+#ifdef WITH_SELINUX
-+ security_context_t orig_context = NULL;
-+ security_context_t node_context = NULL;
-+ int selinux_enabled = is_selinux_enabled();
-+ int selinux_enforced = security_getenforce();
-+#endif
-+
-
- /* First try to open up /proc/devices */
- if (!(file = fopen("/proc/devices", "r"))) {
-@@ -129,18 +140,50 @@ int setup_3ware_nodes(const char *nodena
- pout("No major number for /dev/%s listed in /proc/devices. Is the %s driver loaded?\n", nodename, driver_name);
- return 2;
- }
--
-+#ifdef WITH_SELINUX
-+ /* Prepare a database of contexts for files in /dev
-+ * and save the current context */
-+ if (selinux_enabled) {
-+ if (matchpathcon_init_prefix(NULL, "/dev") < 0)
-+ pout("Error initializing contexts database for /dev");
-+ if (getfscreatecon(&orig_context) < 0) {
-+ pout("Error retrieving original SELinux fscreate context");
-+ if (selinux_enforced)
-+ matchpathcon_fini();
-+ return 6;
-+ }
-+ }
-+#endif
- /* Now check if nodes are correct */
- for (index=0; index<16; index++) {
- sprintf(nodestring, "/dev/%s%d", nodename, index);
--
-+#ifdef WITH_SELINUX
-+ /* Get context of the node and set it as the default */
-+ if (selinux_enabled) {
-+ if (matchpathcon(nodestring, S_IRUSR | S_IWUSR, &node_context) < 0) {
-+ pout("Could not retreive context for %s", nodestring);
-+ if (selinux_enforced) {
-+ retval = 6;
-+ break;
-+ }
-+ }
-+ if (setfscreatecon(node_context) < 0) {
-+ pout ("Error setting default fscreate context");
-+ if (selinux_enforced) {
-+ retval = 6;
-+ break;
-+ }
-+ }
-+ }
-+#endif
- /* Try to stat the node */
- if ((stat(nodestring, &stat_buf))) {
- /* Create a new node if it doesn't exist */
- if (mknod(nodestring, S_IFCHR|0600, makedev(tw_major, index))) {
- pout("problem creating 3ware device nodes %s", nodestring);
- syserror("mknod");
-- return 3;
-+ retval = 3;
-+ break;
- }
- }
-
-@@ -153,18 +196,41 @@ int setup_3ware_nodes(const char *nodena
- if (unlink(nodestring)) {
- pout("problem unlinking stale 3ware device node %s", nodestring);
- syserror("unlink");
-- return 4;
-+ retval = 4;
-+ break;
- }
-
- /* Make a new node */
- if (mknod(nodestring, S_IFCHR|0600, makedev(tw_major, index))) {
- pout("problem creating 3ware device nodes %s", nodestring);
- syserror("mknod");
-- return 5;
-+ retval = 5;
-+ break;
- }
- }
-+#ifdef WITH_SELINUX
-+ if (selinux_enabled && node_context) {
-+ freecon(node_context);
-+ node_context = NULL;
-+ }
-+#endif
- }
-- return 0;
-+
-+#ifdef WITH_SELINUX
-+ if (selinux_enabled) {
-+ if(setfscreatecon(orig_context) < 0) {
-+ pout("Error re-setting original fscreate context");
-+ if (selinux_enforced)
-+ retval = 6;
-+ }
-+ if(orig_context)
-+ freecon(orig_context);
-+ if(node_context)
-+ freecon(node_context);
-+ matchpathcon_fini();
-+ }
-+#endif
-+ return retval;
- }
-
- static char prev_scsi_dev[128];
diff --git a/smartmontools-6.22-newdrivedb.patch b/smartmontools-6.22-newdrivedb.patch
deleted file mode 100644
index c0ede76..0000000
--- a/smartmontools-6.22-newdrivedb.patch
+++ /dev/null
@@ -1,956 +0,0 @@
-diff -up smartmontools-6.2/drivedb.h.newdrivedb smartmontools-6.2/drivedb.h
---- smartmontools-6.2/drivedb.h.newdrivedb 2013-07-25 23:29:08.000000000 +0200
-+++ smartmontools-6.2/drivedb.h 2014-07-17 10:13:06.041488876 +0200
-@@ -4,7 +4,7 @@
- * Home page of code is: http://smartmontools.sourceforge.net
- *
- * Copyright (C) 2003-11 Philip Williams, Bruce Allen
-- * Copyright (C) 2008-13 Christian Franke <smartmontools-support(a)lists.sourceforge.net>
-+ * Copyright (C) 2008-14 Christian Franke <smartmontools-support(a)lists.sourceforge.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
-@@ -75,7 +75,7 @@
- /*
- const drive_settings builtin_knowndrives[] = {
- */
-- { "$Id: drivedb.h 3840 2013-07-25 21:29:08Z chrfranke $",
-+ { "$Id: drivedb.h 3952 2014-07-16 21:30:37Z chrfranke $",
- "-", "-",
- "This is a dummy entry to hold the SVN-Id of drivedb.h",
- ""
-@@ -158,8 +158,8 @@ const drive_settings builtin_knowndrives
- "", "", ""
- },
- { "Apacer SDM4",
-- "2GB SATA Flash Drive", // tested with APSDM002G15AN-CT/SFI2101D
-- "SFI2101D", "",
-+ "2GB SATA Flash Drive", // tested with APSDM002G15AN-CT/SFDDA01C and SFI2101D
-+ "SF(DDA01C|I2101D)", "",
- "-v 160,raw48,Initial_Bad_Block_Count "
- "-v 161,raw48,Bad_Block_Count "
- "-v 162,raw48,Spare_Block_Count "
-@@ -174,7 +174,8 @@ const drive_settings builtin_knowndrives
- { "Crucial/Micron RealSSD C300/M500", // Marvell 88SS91xx
- "C300-CTFDDA[AC](064|128|256)MAG|" // Marvell 88SS9174 BJP2, tested with C300-CTFDDAC128MAG/0002,
- // C300-CTFDDAC064MAG/0006
-- "Crucial_CT(120|240|480)M500SSD3", // Marvell 88SS9187 BLD2, tested with Crucial_CT120M500SSD3/MU02
-+ "Crucial_CT(120|240|480)M500SSD[13]", // Marvell 88SS9187 BLD2, tested with Crucial_CT120M500SSD3/MU02,
-+ // Crucial_CT120M500SSD1/MU02, Crucial_CT240M500SSD1/MU03, Crucial_CT480M500SSD1/MU03
- "", "",
- //"-v 1,raw48,Raw_Read_Error_Rate "
- //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-@@ -197,12 +198,16 @@ const drive_settings builtin_knowndrives
- //"-v 197,raw48,Current_Pending_Sector "
- //"-v 198,raw48,Offline_Uncorrectable "
- //"-v 199,raw48,UDMA_CRC_Error_Count "
-- "-v 202,raw48,Perc_Rated_Life_Used "
-- "-v 206,raw48,Write_Error_Rate"
-+ "-v 202,raw48,Percent_Lifetime_Used "
-+ "-v 206,raw48,Write_Error_Rate "
-+ "-v 210,raw48,Success_RAIN_Recov_Cnt "
-+ "-v 246,raw48,Total_Host_Sector_Write "
-+ "-v 247,raw48,Host_Program_Page_Count "
-+ "-v 248,raw48,Bckgnd_Program_Page_Cnt"
- },
- { "Crucial/Micron RealSSD m4/C400/P400", // Marvell 9176, fixed firmware
- "C400-MTFDDA[ACK](064|128|256|512)MAM|"
-- "M4-CT(064|128|256|512)M4SSD[23]|" // tested with M4-CT512M4SSD2/0309
-+ "M4-CT(064|128|256|512)M4SSD[123]|" // tested with M4-CT512M4SSD2/0309
- "MTFDDAK(064|128|256|512|050|100|200|400)MA[RN]-1[JKS]1AA.*", // tested with
- // MTFDDAK256MAR-1K1AA/MA52
- "030[9-Z]|03[1-Z].|0[4-Z]..|[1-Z]....*", // >= "0309"
-@@ -233,7 +238,7 @@ const drive_settings builtin_knowndrives
- },
- { "Crucial/Micron RealSSD m4/C400", // Marvell 9176, buggy or unknown firmware
- "C400-MTFDDA[ACK](064|128|256|512)MAM|" // tested with C400-MTFDDAC256MAM/0002
-- "M4-CT(064|128|256|512)M4SSD[23]", // tested with M4-CT064M4SSD2/0002,
-+ "M4-CT(064|128|256|512)M4SSD[123]", // tested with M4-CT064M4SSD2/0002,
- // M4-CT064M4SSD2/0009, M4-CT256M4SSD3/000F
- "",
- "This drive may hang after 5184 hours of power-on time:\n"
-@@ -252,22 +257,82 @@ const drive_settings builtin_knowndrives
- "-v 202,raw48,Perc_Rated_Life_Used "
- "-v 206,raw48,Write_Error_Rate"
- },
-+ { "Crucial/Micron M500/M510/M550 Client SSDs",
-+ "Micron_M500_MTFDDA[KTV](120|240|480|960)MAV|"// tested with Micron_M500_MTFDDAK960MAV/MU05
-+ "M510-MTFDDA[KTV](128|256)MAZ|" // tested with M510-MTFDDAK256MAZ/MU01
-+ "M550-MTFDDA[KTV](064|128|256|512|1T0)MAY", // tested with M550-MTFDDAK256MAY/MU01
-+ "", "",
-+ //"-v 1,raw48,Raw_Read_Error_Rate "
-+ "-v 5,raw48,Reallocate_NAND_Blk_Cnt "
-+ //"-v 9,raw24(raw8),Power_On_Hours "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 173,raw48,Ave_Block-Erase_Count "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ "-v 180,raw48,Unused_Reserve_NAND_Blk "
-+ "-v 183,raw48,SATA_Interfac_Downshift "
-+ "-v 184,raw48,Error_Correction_Count "
-+ //"-v 187,raw48,Reported_Uncorrect "
-+ //"-v 194,tempminmax,Temperature_Celsius "
-+ //"-v 196,raw16(raw16),Reallocated_Event_Count "
-+ //"-v 197,raw48,Current_Pending_Sector "
-+ //"-v 198,raw48,Offline_Uncorrectable "
-+ //"-v 199,raw48,UDMA_CRC_Error_Count "
-+ "-v 202,raw48,Percent_Lifetime_Used "
-+ "-v 206,raw48,Write_Error_Rate "
-+ "-v 210,raw48,Success_RAIN_Recov_Cnt "
-+ "-v 246,raw48,Total_Host_Sector_Write "
-+ "-v 247,raw48,Host_Program_Page_Count "
-+ "-v 248,raw48,Bckgnd_Program_Page_Cnt"
-+ },
-+ { "Micron M500DC Enterprise SSDs",
-+ "Micron_M500DC_(EE|MT)FDDA[AK](120|240|480|800)MBB", // tested with
-+ // Micron_M500DC_EEFDDAA120MBB/129, Micron_M500DC_MTFDDAK800MBB/0129
-+ "", "",
-+ //"-v 1,raw48,Raw_Read_Error_Rate "
-+ "-v 5,raw48,Reallocated_Block_Count "
-+ //"-v 9,raw24(raw8),Power_On_Hours "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 170,raw48,Reserved_Block_Count "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 173,raw48,Ave_Block-Erase_Count "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ "-v 184,raw48,Error_Correction_Count "
-+ //"-v 187,raw48,Reported_Uncorrect "
-+ "-v 188,raw48,Command_Timeouts "
-+ //"-v 194,tempminmax,Temperature_Celsius "
-+ "-v 195,raw48,Cumulativ_Corrected_ECC "
-+ //"-v 197,raw48,Current_Pending_Sector "
-+ //"-v 198,raw48,Offline_Uncorrectable "
-+ //"-v 199,raw48,UDMA_CRC_Error_Count "
-+ "-v 202,raw48,Percent_Lifetime_Remain "
-+ "-v 206,raw48,Write_Error_Rate "
-+ "-v 247,raw48,Host_Program_Page_Count "
-+ "-v 248,raw48,Bckgnd_Program_Page_Cnt"
-+ },
- { "SandForce Driven SSDs",
- "SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
- "ADATA SSD S(396|510|599) .?..GB|" // tested with ADATA SSD S510 60GB/320ABBF0,
- // ADATA SSD S599 256GB/3.1.0, 64GB/3.4.6
-- "ADATA SP900|" // Premier Pro, SF-2281, tested with ADATA SP900/5.0.6
-+ "ADATA SP[389]00|" // tested with ADATA SP300/5.0.2d, SP800/5.0.6c,
-+ // ADATA SP900/5.0.6 (Premier Pro, SF-2281)
-+ "ADATA SSD SP900 (64|128|256)GB-DL2|" // tested with ADATA SSD SP900 256GB-DL2/5.0.6
-+ "ADATA XM11 (128|256)GB|" // tested with ADATA XM11 128GB/5.0.1
- "Corsair CSSD-F(40|60|80|115|120|160|240)GBP?2.*|" // Corsair Force, tested with
- // Corsair CSSD-F40GB2/1.1, Corsair CSSD-F115GB2-A/2.1a
-- "Corsair Force (3 SSD|GS|GT)|" // SF-2281, tested with
-- // Corsair Force 3 SSD/1.3.2, GT/1.3.3, GS/5.03
-+ "Corsair Force ((3 |LS )?SSD|GS|GT)|" // SF-2281, tested with
-+ // Corsair Force SSD/5.05, 3 SSD/1.3.2, GT/1.3.3, GS/5.03, LS SSD/S8FM06.5
- "FM-25S2S-(60|120|240)GBP2|" // G.SKILL Phoenix Pro, SF-1200, tested with
- // FM-25S2S-240GBP2/4.2
- "FTM(06|12|24|48)CT25H|" // Supertalent TeraDrive CT, tested with
- // FTM24CT25H/STTMP2P1
-+ "KINGSTON SE50S3(100|240|480)G|" // tested with SE50S3100G/KE1ABBF0
- "KINGSTON SH10[03]S3(90|120|240|480)G|" // HyperX (3K), SF-2281, tested with
- // SH100S3240G/320ABBF0, SH103S3120G/505ABBF0
-- "KINGSTON SKC300S37A(60|120|240|480)G|" // SF-2281, tested with SKC300S37A120G/KC4ABBF0
-+ "KINGSTON SKC(300S37A|380S3)(60|120|240|480)G|" // SF-2281, tested with SKC300S37A120G/KC4ABBF0,
-+ // SKC380S3120G/507ABBF0
- "KINGSTON SVP200S3(7A)?(60|90|120|240|480)G|" // V+ 200, SF-2281, tested with
- // SVP200S37A480G/502ABBF0, SVP200S390G/332ABBF0
- "KINGSTON SMS200S3(30|60|120)G|" // mSATA, SF-2241, tested with SMS200S3120G/KC3ABBF0
-@@ -294,22 +359,26 @@ const drive_settings builtin_knowndrives
- "(APOC|DENC|DENEVA|FTNC|GFGC|MANG|MMOC|NIMC|TMSC).*|" // other OCZ SF-1200,
- // tested with DENCSTE251M11-0120/1.33, DENEVA PCI-E/1.33
- "(DENR|DRSAK|EC188|NIMR|PSIR|TRSAK).*|" // other OCZ SF-1500
-- "OWC Mercury Electra [36]G SSD|" // tested with
-- // OWC Mercury Electra 6G SSD/502ABBF0
-- "OWC Mercury Extreme Pro (RE )?SSD|" // tested with
-- // OWC Mercury Extreme Pro SSD/360A13F0
-- "OWC Mercury EXTREME Pro 6G SSD|" // tested with
-- // OWC Mercury EXTREME Pro 6G SSD/507ABBF0
-+ "OWC Aura Pro 6G SSD|" // tested with OWC Aura Pro 6G SSD/507ABBF0
-+ "OWC Mercury Electra (Pro )?[36]G SSD|" // tested with
-+ // OWC Mercury Electra 6G SSD/502ABBF0, OWC Mercury Electra Pro 3G SSD/541ABBF0
-+ "OWC Mercury E(xtreme|XTREME) Pro (6G |RE )?SSD|" // tested with
-+ // OWC Mercury Extreme Pro SSD/360A13F0, OWC Mercury EXTREME Pro 6G SSD/507ABBF0
- "Patriot Pyro|" // tested with Patriot Pyro/332ABBF0
- "SanDisk SDSSDX(60|120|240|480)GG25|" // SanDisk Extreme, SF-2281, tested with
- // SDSSDX240GG25/R201
- "SuperSSpeed S301 [0-9]*GB|" // SF-2281, tested with SuperSSpeed S301 128GB/503
-+ "SG9XCS2D(0?50|100|200|400)GESLT|" // Smart Storage Systems XceedIOPS2, tested with
-+ // SG9XCS2D200GESLT/SA03L370
-+ "SSD9SC(120|240|480)GED[EA]|" // PNY Prevail Elite, tested with SSD9SC120GEDA/334ABBF0
- "(TX32|TX31C1|VN0.?..GCNMK).*|" // Smart Storage Systems XceedSTOR
- "(TX22D1|TX21B1).*|" // Smart Storage Systems XceedIOPS2
- "TX52D1.*|" // Smart Storage Systems Xcel-200
-- "TS(64|128|256|512)GSSD320|" // Transcend SSD320, SF-2281, tested with TS128GSSD320
-- "UGB(88P|99S)GC...H[BF].", // Unigen, tested with
-+ "TS(64|128|256|512)GSSD[37]20|" // Transcend SSD320/720, SF-2281, tested with
-+ // TS128GSSD320, TS256GSSD720/5.2.0
-+ "UGB(88P|99S)GC...H[BF].|" // Unigen, tested with
- // UGB88PGC100HF2/MP Rev2, UGB99SGC100HB3/RC Rev3
-+ "VisionTek GoDrive (60|120|240|480)GB", // tested with VisionTek GoDrive 480GB/506ABBF0
- "", "",
- "-v 1,raw24/raw32,Raw_Read_Error_Rate "
- "-v 5,raw48,Retired_Block_Count "
-@@ -397,7 +466,8 @@ const drive_settings builtin_knowndrives
- //"-v 233,raw48,Media_Wearout_Indicator"
- },
- { "Indilinx Barefoot 3 based SSDs",
-- "OCZ-VECTOR", // tested with OCZ-VECTOR/1.03
-+ "OCZ-VECTOR|" // tested with OCZ-VECTOR/1.03
-+ "OCZ-VERTEX450", // tested with OCZ-VERTEX450/1.0 (Barefoot 3 M10)
- "", "", ""
- "-v 5,raw48,Runtime_Bad_Block "
- //"-v 9,raw24(raw8),Power_On_Hours "
-@@ -413,8 +483,44 @@ const drive_settings builtin_knowndrives
- "-v 208,raw48,Average_Erase_Count "
- "-v 210,raw48,SATA_CRC_Error_Count "
- "-v 233,raw48,Remaining_Lifetime_Perc "
-+ "-v 241,raw48,Host_Writes_GiB " // M10
-+ "-v 242,raw48,Host_Reads_GiB " // M10
- "-v 249,raw48,Total_NAND_Prog_Ct_GiB"
- },
-+ { "OCZ Intrepid 3000 SSDs", // tested with OCZ INTREPID 3600/1.4.3.6, 3800/1.4.3.0
-+ "OCZ INTREPID 3[68]00",
-+ "", "", ""
-+ "-v 5,raw48,Runtime_Bad_Block "
-+ //"-v 9,raw24(raw8),Power_On_Hours "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 100,raw48,Total_Blocks_Erased "
-+ "-v 171,raw48,Avail_OP_Block_Count "
-+ "-v 174,raw48,Pwr_Cycle_Ct_Unplanned "
-+ "-v 184,raw48,Factory_Bad_Block_Count "
-+ "-v 187,raw48,Total_Unc_NAND_Reads "
-+ "-v 190,tempminmax,Temperature_Celsius "
-+ "-v 195,raw48,Total_Prog_Failures "
-+ "-v 196,raw48,Total_Erase_Failures "
-+ "-v 197,raw48,Total_Unc_Read_Failures "
-+ "-v 198,raw48,Host_Reads_GiB "
-+ "-v 199,raw48,Host_Writes_GiB "
-+ "-v 202,raw48,Total_Read_Bits_Corr_Ct "
-+ "-v 205,raw48,Max_Rated_PE_Count "
-+ "-v 206,raw48,Min_Erase_Count "
-+ "-v 207,raw48,Max_Erase_Count "
-+ "-v 208,raw48,Average_Erase_Count "
-+ "-v 210,raw48,SATA_CRC_Error_Count "
-+ "-v 211,raw48,SATA_UNC_Count "
-+ "-v 212,raw48,NAND_Reads_with_Retry "
-+ "-v 213,raw48,Simple_Rd_Rtry_Attempts "
-+ "-v 214,raw48,Adaptv_Rd_Rtry_Attempts "
-+ "-v 221,raw48,Int_Data_Path_Prot_Unc "
-+ "-v 222,raw48,RAID_Recovery_Count "
-+ "-v 230,raw48,SuperCap_Charge_Status " // 0=not charged, 1=fully charged, 2=unknown
-+ "-v 233,raw48,Remaining_Lifetime_Perc "
-+ "-v 249,raw48,Total_NAND_Prog_Ct_GiB "
-+ "-v 251,raw48,Total_NAND_Read_Ct_GiB"
-+ },
- { "InnoDisk InnoLite SATADOM D150QV-L SSDs", // tested with InnoLite SATADOM D150QV-L/120319
- "InnoLite SATADOM D150QV-L",
- "", "",
-@@ -528,8 +634,9 @@ const drive_settings builtin_knowndrives
- "-v 242,raw48,Host_Reads_32MiB"
- },
- { "Intel 320 Series SSDs", // tested with INTEL SSDSA2CT040G3/4PC10362,
-- // INTEL SSDSA2CW160G3/4PC10362, INTEL SSDSA2BT040G3/4PC10362, INTEL SSDSA2BW120G3A/4PC10362
-- "INTEL SSDSA[12][BC][WT](040|080|120|160|300|600)G3A?",
-+ // INTEL SSDSA2CW160G3/4PC10362, INTEL SSDSA2BT040G3/4PC10362, INTEL SSDSA2BW120G3A/4PC10362,
-+ // INTEL SSDSA2BW300G3D/4PC10362
-+ "INTEL SSDSA[12][BC][WT](040|080|120|160|300|600)G3[AD]?",
- "", "",
- "-F nologdir "
- //"-v 3,raw16(avg16),Spin_Up_Time "
-@@ -540,8 +647,10 @@ const drive_settings builtin_knowndrives
- "-v 170,raw48,Reserve_Block_Count "
- "-v 171,raw48,Program_Fail_Count "
- "-v 172,raw48,Erase_Fail_Count "
-+ "-v 183,raw48,SATA_Downshift_Count " // FW >= 4Px10362
- //"-v 184,raw48,End-to-End_Error "
- //"-v 187,raw48,Reported_Uncorrect "
-+ "-v 199,raw48,CRC_Error_Count " // FW >= 4Px10362
- "-v 192,raw48,Unsafe_Shutdown_Count "
- "-v 225,raw48,Host_Writes_32MiB "
- "-v 226,raw48,Workld_Media_Wear_Indic " // Timed Workload Media Wear Indicator (percent*1024)
-@@ -615,6 +724,58 @@ const drive_settings builtin_knowndrives
- "-v 242,raw48,Host_Reads_32MiB "
- "-v 249,raw48,NAND_Writes_1GiB"
- },
-+ { "Intel 525 Series SSDs", // mSATA, tested with SSDMCEAC120B3/LLLi
-+ "INTEL SSDMCEAC(030|060|090|120|180|240)B3",
-+ "", "",
-+ //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+ "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 170,raw48,Available_Reservd_Space "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ "-v 183,raw48,SATA_Downshift_Count "
-+ //"-v 184,raw48,End-to-End_Error "
-+ "-v 187,raw48,Uncorrectable_Error_Cnt "
-+ //"-v 190,tempminmax,Airflow_Temperature_Cel "
-+ //"-v 192,raw48,Power-Off_Retract_Count "
-+ //"-v 199,raw48,UDMA_CRC_Error_Count "
-+ "-v 225,raw48,Host_Writes_32MiB "
-+ "-v 226,raw48,Workld_Media_Wear_Indic "
-+ "-v 227,raw48,Workld_Host_Reads_Perc "
-+ "-v 228,raw48,Workload_Minutes "
-+ //"-v 232,raw48,Available_Reservd_Space "
-+ //"-v 233,raw48,Media_Wearout_Indicator "
-+ "-v 241,raw48,Host_Writes_32MiB "
-+ "-v 242,raw48,Host_Reads_32MiB "
-+ "-v 249,raw48,NAND_Writes_1GiB"
-+ },
-+ { "Intel 530 Series SSDs", // tested with INTEL SSDSC2BW180A4/DC12, SSDSC2BW240A4/DC12
-+ "INTEL SSDSC2BW(080|120|180|240|360|480)A4",
-+ "", "",
-+ //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+ "-v 9,msec24hour32,Power_On_Hours_and_Msec "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 170,raw48,Available_Reservd_Space "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ "-v 183,raw48,SATA_Downshift_Count "
-+ //"-v 184,raw48,End-to-End_Error "
-+ "-v 187,raw48,Uncorrectable_Error_Cnt "
-+ //"-v 190,tempminmax,Airflow_Temperature_Cel "
-+ //"-v 192,raw48,Power-Off_Retract_Count "
-+ //"-v 199,raw48,UDMA_CRC_Error_Count "
-+ "-v 225,raw48,Host_Writes_32MiB "
-+ "-v 226,raw48,Workld_Media_Wear_Indic "
-+ "-v 227,raw48,Workld_Host_Reads_Perc "
-+ "-v 228,raw48,Workload_Minutes "
-+ //"-v 232,raw48,Available_Reservd_Space "
-+ //"-v 233,raw48,Media_Wearout_Indicator "
-+ "-v 241,raw48,Host_Writes_32MiB "
-+ "-v 242,raw48,Host_Reads_32MiB "
-+ "-v 249,raw48,NAND_Writes_1GiB"
-+ },
- { "Intel 330/335 Series SSDs", // tested with INTEL SSDSC2CT180A3/300i, SSDSC2CT240A3/300i,
- // INTEL SSDSC2CT240A4/335t
- "INTEL SSDSC2CT(060|120|180|240)A[34]", // A4 = 335 Series
-@@ -632,8 +793,9 @@ const drive_settings builtin_knowndrives
- "-v 242,raw48,Host_Reads_32MiB "
- "-v 249,raw48,NAND_Writes_1GiB"
- },
-- { "Intel DC S3700 Series SSDs", // tested with INTEL SSDSC2BA200G3/5DV10250
-- "INTEL SSDSC(1N|2B)A(100|200|400|800)G3",
-+ { "Intel 730 and DC S3500/S3700 Series SSDs", // tested with INTEL SSDSC2BP480G4, SSDSC2BB120G4/D2010355,
-+ // INTEL SSDSC2BB800G4T, SSDSC2BA200G3/5DV10250
-+ "INTEL SSDSC(1N|2B)[ABP](080|100|120|160|200|240|300|400|480|600|800)G[34]T?", // A=S3700, B=S3500, P=730
- "", "",
- //"-v 3,raw16(avg16),Spin_Up_Time "
- //"-v 4,raw48,Start_Stop_Count "
-@@ -644,7 +806,7 @@ const drive_settings builtin_knowndrives
- "-v 171,raw48,Program_Fail_Count "
- "-v 172,raw48,Erase_Fail_Count "
- "-v 174,raw48,Unsafe_Shutdown_Count "
-- "-v 175,raw48,Power_Loss_Cap_Test "
-+ "-v 175,raw16(raw16),Power_Loss_Cap_Test "
- "-v 183,raw48,SATA_Downshift_Count "
- //"-v 184,raw48,End-to-End_Error "
- //"-v 187,raw48,Reported_Uncorrect "
-@@ -659,9 +821,10 @@ const drive_settings builtin_knowndrives
- "-v 228,raw48,Workload_Minutes " // 226,227,228 can be reset by 'smartctl -t vendor,0x40'
- //"-v 232,raw48,Available_Reservd_Space "
- //"-v 233,raw48,Media_Wearout_Indicator "
-- "-v 234,raw48,Thermal_Throttle "
-+ "-v 234,raw24/raw32:04321,Thermal_Throttle "
- "-v 241,raw48,Host_Writes_32MiB "
-- "-v 242,raw48,Host_Reads_32MiB"
-+ "-v 242,raw48,Host_Reads_32MiB "
-+ "-F xerrorlba" // tested with SSDSC2BB600G4/D2010355
- },
- { "Kingston branded X25-V SSDs", // fixed firmware
- "KINGSTON SSDNow 40GB",
-@@ -700,8 +863,9 @@ const drive_settings builtin_knowndrives
- "-v 234,raw24/raw24:w01234,Avg/Max_Erase_Count "
- "-v 235,raw24/raw24:w01z23,Good/Sys_Block_Count"
- },
-- { "JMicron based SSDs", // JMicron JMF61x
-+ { "JMicron based SSDs", // JMicron JMF61x, JMF661
- "ADATA S596 Turbo|" // tested with ADATA S596 Turbo 256GB SATA SSD (JMicron JMF616)
-+ "ADATA SP600|" // tested with ADATA SP600/2.4 (JMicron JMF661)
- "APPLE SSD TS.*|" // Toshiba?, tested with APPLE SSD TS064C/CJAA0201
- "KINGSTON SNV425S2(64|128)GB|" // SSDNow V Series (2. Generation, JMF618),
- // tested with KINGSTON SNV425S264GB/C091126a
-@@ -729,17 +893,18 @@ const drive_settings builtin_knowndrives
- "-v 168,raw48,SATA_Phy_Error_Count "
- //"-v 169,raw48,Unknown_Attribute "
- "-v 170,raw16,Bad_Block_Count "
-- "-v 173,raw16,Erase_Count "
-+ "-v 173,raw16,Erase_Count " // JMF661: different?
- "-v 175,raw48,Bad_Cluster_Table_Count "
- "-v 192,raw48,Unexpect_Power_Loss_Ct "
- //"-v 194,tempminmax,Temperature_Celsius "
- //"-v 197,raw48,Current_Pending_Sector "
- "-v 240,raw48,Unknown_Attribute"
- },
-- { "Plextor M3 (Pro) Series SSDs", // Marvell 9174, tested with PLEXTOR PX-128M3/1.01,
-- // PLEXTOR PX-128M3P/1.04, PLEXTOR PX-256M3/1.05
-+ { "Plextor M3/M5 (Pro) Series SSDs", // Marvell 88SS9174 (M3, M5S), 88SS9187 (M5Pro), tested with
-+ // PLEXTOR PX-128M3/1.01, PX-128M3P/1.04, PX-256M3/1.05, PX-128M5S/1.02, PX-256M5S/1.03,
-+ // PX-128M5S/1.05, PX-128M5Pro/1.05, PX-512M5Pro/1.06
- // (1.04/5 Firmware self-test log lifetime unit is bogus, possibly 1/256 hours)
-- "PLEXTOR PX-(64|128|256|512)M3P?",
-+ "PLEXTOR PX-(64|128|256|512)M(3P?|5S|5Pro)",
- "", "",
- //"-v 1,raw48,Raw_Read_Error_Rate "
- //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-@@ -755,7 +920,8 @@ const drive_settings builtin_knowndrives
- //"-v 198,raw48,Offline_Uncorrectable "
- //"-v 199,raw48,UDMA_CRC_Error_Count "
- //"-v 232,raw48,Available_Reservd_Space "
-- ""
-+ "-v 241,raw48,Host_Writes_32MiB "
-+ "-v 242,raw48,Host_Reads_32MiB"
- },
- { "Samsung based SSDs",
- "SAMSUNG SSD PM800 .*GB|" // SAMSUNG PM800 SSDs, tested with SAMSUNG SSD PM800 TH 64GB/VBM25D1Q
-@@ -791,6 +957,53 @@ const drive_settings builtin_knowndrives
- "-v 235,raw48,POR_Recovery_Count " // 830/840 Series
- //"-v 241,raw48,Total_LBAs_Written"
- },
-+ { "Marvell based SanDisk SSDs",
-+ "SanDisk SD5SG2[0-9]*G1052E|" // X100 (88SS9174), tested with SanDisk SD5SG2256G1052E/10.04.01
-+ "SanDisk SD6SB1M[0-9]*G1022I|" // X110 (88SS9175), tested with SanDisk SD6SB1M(064|256)G1022I/X231600
-+ "SanDisk SDSSDHP[0-9]*G|" // Ultra Plus (88SS9175), tested with SanDisk SDSSDHP128G/X23[01]6RL
-+ "SanDisk SDSSDXP[0-9]*G", // Extreme II (88SS9187), tested with SanDisk SDSSDXP480G/R1311
-+ "", "",
-+ //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+ //"-v 9,raw24(raw8),Power_On_Hours "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 166,raw48,Min_W/E_Cycle "
-+ "-v 167,raw48,Min_Bad_Block/Die "
-+ "-v 168,raw48,Maximum_Erase_Cycle "
-+ "-v 169,raw48,Total_Bad_Block "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 173,raw48,Avg_Write_Erase_Ct "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ //"-v 187,raw48,Reported_Uncorrect "
-+ //"-v 194,tempminmax,Temperature_Celsius "
-+ "-v 212,raw48,SATA_PHY_Error "
-+ "-v 230,raw48,Perc_Write_Erase_Count "
-+ "-v 232,raw48,Perc_Avail_Resrvd_Space "
-+ "-v 233,raw48,Total_NAND_Writes_GiB "
-+ "-v 241,raw48,Total_Writes_GiB "
-+ "-v 242,raw48,Total_Reads_GiB "
-+ //"-v 243,raw48,Unknown_Attribute "
-+ },
-+ { "SanDisk based SSDs",
-+ "SanDisk iSSD P4 [0-9]*GB|" // tested with SanDisk iSSD P4 16GB/SSD 9.14
-+ "SanDisk SDSSDP[0-9]*G|" // tested with SanDisk SDSSDP064G/1.0.0, SDSSDP128G/2.0.0
-+ "SanDisk SSD i100 [0-9]*GB|" // tested with SanDisk SSD i100 8GB/11.56.04, 24GB/11.56.04
-+ "SanDisk SSD U100 ([0-9]*GB|SMG2)", // tested with SanDisk SSD U100 8GB/10.56.00, 256GB/10.01.02, SMG2/10.56.04
-+ "", "",
-+ //"-v 5,raw16(raw16),Reallocated_Sector_Ct "
-+ //"-v 9,raw24(raw8),Power_On_Hours "
-+ //"-v 12,raw48,Power_Cycle_Count "
-+ "-v 171,raw48,Program_Fail_Count "
-+ "-v 172,raw48,Erase_Fail_Count "
-+ "-v 173,raw48,Avg_Write_Erase_Ct "
-+ "-v 174,raw48,Unexpect_Power_Loss_Ct "
-+ //"-v 187,raw48,Reported_Uncorrect "
-+ "-v 230,raw48,Perc_Write_Erase_Count "
-+ "-v 232,raw48,Perc_Avail_Resrvd_Space "
-+ "-v 234,raw48,Perc_Write_Erase_Ct_BC "
-+ //"-v 241,raw48,Total_LBAs_Written "
-+ //"-v 242,raw48,Total_LBAs_Read "
-+ },
- { "Smart Storage Systems Xcel-10 SSDs", // based on http://www.smartm.com/files/salesLiterature/storage/xcel10.pdf
- "SMART A25FD-(32|64|128)GI32N", // tested with SMART A25FD-128GI32N/B9F23D4K
- "",
-@@ -1139,6 +1352,10 @@ const drive_settings builtin_knowndrives
- "SAMSUNG HE(502H|754J|103S)J",
- "", "", ""
- },
-+ { "Seagate Samsung Spinpoint F4", // tested with ST250DM001 HD256GJ/1AR10001
-+ "ST(250|320)DM001 HD(256G|322G|323H)J",
-+ "", "", ""
-+ },
- { "SAMSUNG SpinPoint F4 EG (AF)",// tested with HD204UI/1AQ10001(buggy|fixed)
- "SAMSUNG HD(155|204)UI",
- "", // 1AQ10001
-@@ -1148,7 +1365,7 @@ const drive_settings builtin_knowndrives
- "Buggy and fixed firmware report same version number!\n"
- "See the following web pages for details:\n"
- "http://knowledge.seagate.com/articles/en_US/FAQ/223571en\n"
-- "http://sourceforge.net/apps/trac/smartmontools/wiki/SamsungF4EGBadBlocks",
-+ "http://www.smartmontools.org/wiki/SamsungF4EGBadBlocks",
- ""
- },
- { "SAMSUNG SpinPoint S250", // tested with HD200HJ/KF100-06
-@@ -1887,8 +2104,8 @@ const drive_settings builtin_knowndrives
- "", "", ""
- },
- { "Toshiba 2.5\" HDD MK..65GSX", // tested with TOSHIBA MK5065GSX/GJ003A, MK3265GSXN/GH012H,
-- // MK5065GSXF/GP006B
-- "TOSHIBA MK(16|25|32|50|64)65GSX[FN]?",
-+ // MK5065GSXF/GP006B, MK2565GSX H/GJ003A
-+ "TOSHIBA MK(16|25|32|50|64)65GSX[FN]?( H)?", // "... H" = USB ?
- "", "", ""
- },
- { "Toshiba 2.5\" HDD MK..76GSX", // tested with TOSHIBA MK3276GSX/GS002D
-@@ -1901,10 +2118,18 @@ const drive_settings builtin_knowndrives
- "TOSHIBA MQ01ABD(025|032|050|064|075|100)",
- "", "", ""
- },
-+ { "Toshiba 2.5\" HDD MQ01UBD... (USB 3.0)", // tested with TOSHIBA MQ01ABD100/AX001U
-+ "TOSHIBA MQ01UBD(050|075|100)",
-+ "", "", ""
-+ },
- { "Toshiba 3.5\" HDD MK.002TSKB", // tested with TOSHIBA MK1002TSKB/MT1A
- "TOSHIBA MK(10|20)02TSKB",
- "", "", ""
- },
-+ { "Toshiba 3.5\" MG03ACAxxx(Y) Enterprise HDD", // tested with TOSHIBA MG03ACA100/FL1A
-+ "TOSHIBA MG03ACA[1234]00Y?",
-+ "", "", ""
-+ },
- { "Toshiba 3.5\" HDD DT01ACA...", // tested with TOSHIBA DT01ACA100/MS2OA750,
- // TOSHIBA DT01ACA200/MX4OABB0, TOSHIBA DT01ACA300/MX6OABB0
- "TOSHIBA DT01ACA(025|032|050|075|100|150|200|300)",
-@@ -2037,6 +2262,10 @@ const drive_settings builtin_knowndrives
- "ST(160|250|320)LT0(07|09|11|14)-.*",
- "", "", ""
- },
-+ { "Seagate Laptop Thin HDD", // tested with ST500LT012-9WS142/0001SDM1
-+ "ST(250|320|500)LT0(12|15|25)-.*",
-+ "", "", ""
-+ },
- { "Seagate Laptop SSHD", // tested with ST500LM000-1EJ162/SM11
- "ST(500|1000)LM0(00|14)-.*",
- "", "", ""
-@@ -2183,14 +2412,14 @@ const drive_settings builtin_knowndrives
- },
- { "Seagate Barracuda 7200.14 (AF)", // new firmware, tested with
- // ST3000DM001-9YN166/CC4H, ST3000DM001-9YN166/CC9E
-- "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+ "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
- "CC(4[H-Z]|[5-9A-Z]..*)", // >= "CC4H"
- "",
- "-v 188,raw16 -v 240,msec24hour32" // tested with ST3000DM001-9YN166/CC4H
- },
- { "Seagate Barracuda 7200.14 (AF)", // old firmware, tested with
- // ST1000DM003-9YN162/CC46
-- "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+ "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
- "CC4[679CG]",
- "A firmware update for this drive is available,\n"
- "see the following Seagate web pages:\n"
-@@ -2199,7 +2428,7 @@ const drive_settings builtin_knowndrives
- "-v 188,raw16 -v 240,msec24hour32"
- },
- { "Seagate Barracuda 7200.14 (AF)", // unknown firmware
-- "ST(1000|1500|2000|2500|3000)DM00[1-3]-.*",
-+ "ST(1000|1500|2000|2500|3000)DM00[1-3]-9YN16.",
- "",
- "A firmware update for this drive may be available,\n"
- "see the following Seagate web pages:\n"
-@@ -2207,6 +2436,13 @@ const drive_settings builtin_knowndrives
- "http://knowledge.seagate.com/articles/en_US/FAQ/223651en",
- "-v 188,raw16 -v 240,msec24hour32"
- },
-+ { "Seagate Barracuda 7200.14 (AF)", // different part number, tested with
-+ // ST1000DM003-1CH162/CC47, ST1000DM003-1CH162/CC49, ST2000DM001-1CH164/CC24,
-+ // ST1000DM000-9TS15E/CC92
-+ "ST(1000|1500|2000|2500|3000)DM00[0-3]-.*",
-+ "", "",
-+ "-v 188,raw16 -v 240,msec24hour32"
-+ },
- { "Seagate Barracuda 7200.14 (AF)", // < 1TB, tested with ST250DM000-1BC141
- "ST(250|320|500|750)DM00[0-3]-.*",
- "", "",
-@@ -2217,6 +2453,11 @@ const drive_settings builtin_knowndrives
- "", "",
- "-v 188,raw16 -v 240,msec24hour32"
- },
-+ { "Seagate Desktop SSHD", // tested with ST2000DX001-1CM164/CC43
-+ "ST(1000|2000|4000)DX001-.*",
-+ "", "",
-+ "-v 188,raw16 -v 240,msec24hour32"
-+ },
- { "Seagate Barracuda LP", // new firmware
- "ST3(500412|1000520|1500541|2000542)AS",
- "CC3[5-9A-Z]",
-@@ -2234,7 +2475,7 @@ const drive_settings builtin_knowndrives
- },
- { "Seagate Barracuda Green (AF)", // new firmware
- "ST((10|15|20)00DL00[123])-.*",
-- "CC3[2-9A-Z]",
-+ "CC(3[2-9A-Z]|[4-9A-Z]..*)", // >= "CC32"
- "", ""
- },
- { "Seagate Barracuda Green (AF)", // unknown firmware
-@@ -2295,6 +2536,18 @@ const drive_settings builtin_knowndrives
- "ST[1234]000NM00[35]3-.*",
- "", "", ""
- },
-+ { "Seagate Constellation CS", // tested with ST3000NC000/CE02, ST3000NC002-1DY166/CN02
-+ "ST(1000|2000|3000)NC00[0-3](-.*)?",
-+ "", "", ""
-+ },
-+ { "Seagate Constellation.2 (SATA)", // 2.5", tested with ST91000640NS/SN02
-+ "ST9(25061|50062|100064)[012]NS", // *SS = SAS
-+ "", "", ""
-+ },
-+ { "Seagate NAS HDD", // tested with ST2000VN000-1H3164/SC42, ST3000VN000-1H4167/SC43
-+ "ST[234]000VN000-.*",
-+ "", "", ""
-+ },
- { "Seagate Pipeline HD 5900.1",
- "ST3(160310|320[34]10|500(321|422))CS",
- "", "", ""
-@@ -2303,6 +2556,10 @@ const drive_settings builtin_knowndrives
- "ST3(160316|250[34]12|320(311|413)|500(312|414)|1000(322|424))CS",
- "", "", ""
- },
-+ { "Seagate Video 3.5 HDD", // tested with ST4000VM000-1F3168/SC23, SC25
-+ "ST(10|15|20|30|40)00VM00[023]-.*",
-+ "", "", ""
-+ },
- { "Seagate Medalist 17240, 13030, 10231, 8420, and 4310",
- "ST3(17240|13030|10231|8420|4310)A",
- "", "", ""
-@@ -2473,8 +2730,13 @@ const drive_settings builtin_knowndrives
- "WDC WD2002FYPS-.*",
- "", "", ""
- },
-- { "Western Digital RE4 (SATA 6Gb/s)", // tested with WDC WD2000FYYZ-01UL1B0/01.01K01
-- "WDC WD(20|30|40)00FYYZ-.*",
-+ { "Western Digital RE4 (SATA 6Gb/s)", // tested with WDC WD2000FYYZ-01UL1B0/01.01K01,
-+ // WD2000FYYX/00.0D1K2
-+ "WDC WD(20|30|40)00FYYZ-.*|WD2000FYYX",
-+ "", "", ""
-+ },
-+ { "Western Digital Se", // tested with WDC WD2000F9YZ-09N20L0/01.01A01
-+ "WDC WD(1002|2000|3000|4000)F9YZ-.*",
- "", "", ""
- },
- { "Western Digital Caviar Green",
-@@ -2489,21 +2751,18 @@ const drive_settings builtin_knowndrives
- },
- { "Western Digital Caviar Green (AF, SATA 6Gb/s)", // tested with
- // WDC WD10EZRX-00A8LB0/01.01A01, WDC WD20EZRX-00DC0B0/80.00A80,
-- // WDC WD30EZRX-00MMMB0/80.00A80
-- "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30)EZ)RX-.*",
-+ // WDC WD30EZRX-00MMMB0/80.00A80, WDC WD40EZRX-00SPEB0/80.00A80
-+ "WDC WD(7500AA|(10|15|20)EA|(10|20|25|30|40)EZ)RX-.*",
- "", "", ""
- },
- { "Western Digital Caviar Black",
- "WDC WD((500|640|750)1AAL|1001FA[EL]|2001FAS)S-.*",
- "", "", ""
- },
-- { "Western Digital Caviar Black", // SATA 6 Gb/s variants, tested with
-- // WDC WD4001FAEX-00MJRA0/01.01L01
-- "WDC WD(5002AAL|(64|75)02AAE|((10|15|20)02|4001)FAE)X-.*",
-- "", "", ""
-- },
-- { "Western Digital Caviar Black (AF)", // tested with WDC WD5003AZEX-00RKKA0/80.00A80
-- "WDC WD(5003AZE)X-.*",
-+ { "Western Digital Black", // tested with
-+ // WDC WD5003AZEX-00RKKA0/80.00A80, WDC WD1003FZEX-00MK2A0/01.01A01,
-+ // WDC WD3001FAEX-00MJRA0/01.01L01, WDC WD4001FAEX-00MJRA0/01.01L01
-+ "WDC WD(5002AAL|5003AZE|(64|75)02AAE|((10|15|20)0[23]|[34]001)F[AZ]E)X-.*",
- "", "", ""
- },
- { "Western Digital AV ATA", // tested with WDC WD3200AVJB-63J5A0/01.03E01
-@@ -2571,15 +2830,24 @@ const drive_settings builtin_knowndrives
- "WDC WD(50|75)00BPKT-.*",
- "", "", ""
- },
-- { "Western Digital Red (AF)", // tested with WDC WD10EFRX-68JCSN0/01.01A01
-- "WDC WD(10|20|30)EFRX-.*",
-+ { "Western Digital Red (AF)", // tested with WDC WD10EFRX-68JCSN0/01.01A01,
-+ // WDC WD10JFCX-68N6GN0/01.01A01, WDC WD40EFRX-68WT0N0/80.00A80
-+ "WDC WD(10|20|30|40)[EJ]F[CR]X-.*",
-+ "", "", ""
-+ },
-+ { "Western Digital Blue Mobile", // tested with WDC WD5000LPVX-08V0TT2/03.01A03
-+ "WDC WD((25|32|50|75)00[BLM]|10[JS])P[CV][TX]-.*",
-+ "", "", ""
-+ },
-+ { "Western Digital Green Mobile", // tested with WDC WD20NPVX-00EA4T0/01.01A01
-+ "WDC WD(15|20)NPV[TX]-.*",
- "", "", ""
- },
-- { "Western Digital My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
-+ { "Western Digital Elements / My Passport (USB)", // tested with WDC WD5000BMVW-11AMCS0/01.01A01
- "WDC WD(25|32|40|50)00BMV[UVW]-.*", // *W-* = USB 3.0
- "", "", ""
- },
-- { "Western Digital My Passport (USB, AF)", // tested with
-+ { "Western Digital Elements / My Passport (USB, AF)", // tested with
- // WDC WD5000KMVV-11TK7S1/01.01A01, WDC WD10TMVW-11ZSMS5/01.01A01,
- // WDC WD10JMVW-11S5XS1/01.01A01, WDC WD20NMVW-11W68S0/01.01A01
- "WDC WD(5000[LK]|7500K|10[JT]|20N)MV[VW]-.*", // *W-* = USB 3.0
-@@ -2672,6 +2940,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: Buffalo MiniStationHD-PCFU3; ",
-+ "0x0411:0x0240",
-+ "",
-+ "",
-+ "-d sat"
-+ },
- // LG Electronics
- { "USB: LG Mini HXD5; JMicron",
- "0x043e:0x70f1",
-@@ -2687,6 +2961,12 @@ const drive_settings builtin_knowndrives
- "-d sat"
- },
- // Toshiba
-+ { "USB: Toshiba Stor.E Slim USB 3.0; ", // 1TB, MQ01UBD100
-+ "0x0480:0x0100",
-+ "", // 0x0000
-+ "",
-+ "-d sat"
-+ },
- { "USB: Toshiba Canvio 500GB; SunPlus",
- "0x0480:0xa004",
- "",
-@@ -2705,6 +2985,18 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: Toshiba Stor.E Basics; ", // 1TB
-+ "0x0480:0xa009",
-+ "",
-+ "",
-+ "-d sat"
-+ },
-+ { "USB: Toshiba Stor.E Plus", // 2TB
-+ "0x0480:0xa00a",
-+ "",
-+ "",
-+ "-d sat"
-+ },
- { "USB: Toshiba Canvio Desktop; ", // 2TB
- "0x0480:0xd010",
- "",
-@@ -2788,8 +3080,14 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-- { "USB: Samsung M3 Portable USB 3.0; ", // 1TB
-- "0x04e8:0x61b6",
-+ { "USB: Samsung D3 Station; ", // 3TB
-+ "0x04e8:0x6124",
-+ "", // 0x200
-+ "",
-+ "-d sat"
-+ },
-+ { "USB: Samsung M3 Portable USB 3.0; ",
-+ "0x04e8:0x61b[456]", // 4=2TB, 5=1.5TB, 6=1TB
- "", // 0x0e00
- "",
- "-d sat"
-@@ -2850,6 +3148,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d usbjmicron"
- },
-+ { "USB: Iomega; JMicron",
-+ "0x059b:0x047a",
-+ "", // 0x0100
-+ "",
-+ "-d sat" // works also with "-d usbjmicron"
-+ },
- // LaCie
- { "USB: LaCie hard disk (FA Porsche design);",
- "0x059f:0x0651",
-@@ -3041,7 +3345,7 @@ const drive_settings builtin_knowndrives
- },
- // Lumberg, Inc.
- { "USB: Toshiba Stor.E; Sunplus",
-- "0x0939:0x0b16",
-+ "0x0939:0x0b1[56]",
- "",
- "",
- "-d usbsunplus"
-@@ -3066,7 +3370,7 @@ const drive_settings builtin_knowndrives
- "-d sat"
- },
- { "USB: Seagate Expansion Portable; ",
-- "0x0bc2:0x2300",
-+ "0x0bc2:0x23(00|12)",
- "",
- "",
- "-d sat"
-@@ -3090,13 +3394,13 @@ const drive_settings builtin_knowndrives
- "-d sat,12"
- },
- { "USB: Seagate Expansion External; ", // 2TB, 3TB
-- "0x0bc2:0x33(00|20|32)",
-+ "0x0bc2:0x33(00|12|20|32)",
- "",
- "",
- "-d sat"
- },
- { "USB: Seagate FreeAgent GoFlex USB 2.0; ",
-- "0x0bc2:0x5021",
-+ "0x0bc2:0x502[01]",
- "",
- "",
- "-d sat"
-@@ -3227,44 +3531,14 @@ const drive_settings builtin_knowndrives
- "",
- "-d usbcypress"
- },
-- { "USB: WD My Passport Portable; ",
-- "0x1058:0x0702",
-- "", // 0x0102
-- "",
-- "-d sat"
-- },
-- { "USB: WD My Passport Essential; ",
-- "0x1058:0x0704",
-- "", // 0x0175
-- "",
-- "-d sat"
-- },
-- { "USB: WD My Passport Elite; ",
-- "0x1058:0x0705",
-- "", // 0x0175
-- "",
-- "-d sat"
-- },
-- { "USB: WD My Passport 070A; ",
-- "0x1058:0x070a",
-- "", // 0x1028
-- "",
-- "-d sat"
-- },
-- { "USB: WD My Passport 0730; ",
-- "0x1058:0x0730",
-- "", // 0x1008
-- "",
-- "-d sat"
-- },
-- { "USB: WD My Passport Essential SE USB 3.0; ",
-- "0x1058:0x074[02]",
-+ { "USB: WD My Passport; ",
-+ "0x1058:0x07(0[245a]|30)",
- "",
- "",
- "-d sat"
- },
- { "USB: WD My Passport USB 3.0; ",
-- "0x1058:0x07[4a]8",
-+ "0x1058:0x0(74[0128a]|7a8|820)",
- "",
- "",
- "-d sat"
-@@ -3294,7 +3568,7 @@ const drive_settings builtin_knowndrives
- "-d sat"
- },
- { "USB: WD Elements; ",
-- "0x1058:0x10(10|a2)",
-+ "0x1058:0x10(10|48|a2)",
- "", // 0x0105
- "",
- "-d sat"
-@@ -3317,6 +3591,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: WD Elements; ",
-+ "0x1058:0x10[ab]8", // a=1TB, b=2TB
-+ "", // a=0x1042, b=0x1007
-+ "",
-+ "-d sat"
-+ },
- { "USB: WD My Book Essential; ",
- "0x1058:0x1100",
- "", // 0x0165
-@@ -3360,7 +3640,13 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-- // A-DATA
-+ // ADATA
-+ { "USB: ADATA; ",
-+ "0x125f:0xa[13]1a", // 1=Classic CH11 1TB, 3=DashDrive HV620 2TB
-+ "", // 0x0100
-+ "",
-+ "-d sat"
-+ },
- { "USB: A-DATA SH93; Cypress",
- "0x125f:0xa93a",
- "", // 0x0150
-@@ -3410,6 +3696,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: ; Initio",
-+ "0x13fd:0x1640",
-+ "", // 0x0864
-+ "",
-+ "-d sat,12" // some SMART commands fail, see ticket #295
-+ },
- { "USB: Intenso Memory Station 2,5\"; Initio",
- "0x13fd:0x1840",
- "",
-@@ -3430,12 +3722,19 @@ const drive_settings builtin_knowndrives
- "-d usbcypress"
- },
- // JMicron
-- { "USB: ; JMicron USB 3.0",
-+ { "USB: ; JMicron JMS539", // USB2/3->SATA (old firmware)
- "0x152d:0x0539",
-- "", // 0x0100
-+ "0x0100", // 1.00
- "",
- "-d usbjmicron"
- },
-+ { "USB: ; JMicron JMS539", // USB2/3->SATA (new firmware)
-+ "0x152d:0x0539",
-+ "0x0205|" // 2.05, ticket #338
-+ "0x2812", // 28.12, Mediasonic ProBox H82-SU3S2 (port multiplier)
-+ "",
-+ "-d sat"
-+ },
- { "USB: ; JMicron ", // USB->SATA->4xSATA (port multiplier)
- "0x152d:0x0551",
- "", // 0x0100
-@@ -3511,6 +3810,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: ; ASMedia AS2105", // Icy Box IB-AC603A-U3
-+ "0x174c:0x5136",
-+ "", // 0x0001
-+ "",
-+ "-d sat"
-+ },
- // LucidPort
- { "USB: ; LucidPORT USB300", // RaidSonic ICY BOX IB-110StU3-B, Sharkoon SATA QuickPort H3
- "0x1759:0x500[02]", // 0x5000: USB 2.0, 0x5002: USB 3.0
-@@ -3518,6 +3823,12 @@ const drive_settings builtin_knowndrives
- "",
- "-d sat"
- },
-+ { "USB: ; LucidPort", // Fuj:tech SATA-USB3 dock
-+ "0x1759:0x5100",
-+ "", // 0x2580
-+ "",
-+ "-d sat"
-+ },
- // Verbatim
- { "USB: Verbatim Portable Hard Drive; Sunplus",
- "0x18a5:0x0214",
-@@ -3569,6 +3880,13 @@ const drive_settings builtin_knowndrives
- "",
- "-d usbsunplus"
- },
-+ // TrekStor
-+ { "USB: TrekStor DataStation; ", // DataStation maxi light (USB 3.0)
-+ "0x1e68:0x0050",
-+ "", // 0x0100
-+ "",
-+ "-d sat"
-+ },
- // Innostor
- { "USB: ; Innostor IS888", // Sharkoon SATA QuickDeck Pro USB 3.0
- "0x1f75:0x0888",
diff --git a/smartmontools.spec b/smartmontools.spec
index ee90255..62dedb0 100644
--- a/smartmontools.spec
+++ b/smartmontools.spec
@@ -1,7 +1,7 @@
Summary: Tools for monitoring SMART capable hard disks
Name: smartmontools
Version: 7.0
-Release: 5%{?dist}
+Release: 6%{?dist}
Epoch: 1
License: GPLv2+
URL: http://smartmontools.sourceforge.net/
@@ -38,14 +38,8 @@ cp %{SOURCE5} .
%build
autoreconf -i
-%configure --with-selinux --with-libcap-ng=yes --with-libsystemd --with-systemdsystemunitdir=%{_unitdir} --sysconfdir=%{_sysconfdir}/%name/
-%ifarch sparc64
-%make_build CXXFLAGS="$RPM_OPT_FLAGS -fPIE" LDFLAGS="-pie -Wl,-z,relro,-z,now"
-%else
+%configure --with-selinux --with-libcap-ng=yes --with-libsystemd --with-systemdsystemunitdir=%{_unitdir} --sysconfdir=%{_sysconfdir}/%{name}/ --with-systemdenvfile=%{_sysconfdir}/sysconfig/%{name}
%make_build CXXFLAGS="$RPM_OPT_FLAGS -fpie" LDFLAGS="-pie -Wl,-z,relro,-z,now"
-%endif
-
-sed -i 's|/etc/smartmontools/sysconfig|/etc/sysconfig|g' smartd.service
%install
%make_install
@@ -62,17 +56,6 @@ mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
%preun
%systemd_preun smartd.service
-%pre
-if [ $1 = 2 ] # only during update
-then
- # for Fedora 19-22
- if [ -f %{_sysconfdir}/smartd.conf -a ! -e %{_sysconfdir}/%name ]
- then
- mkdir -p %{_sysconfdir}/%{name}
- cp -p %{_sysconfdir}/smartd.conf %{_sysconfdir}/%{name}
- fi
-fi
-
%post
%systemd_post smartd.service
@@ -99,6 +82,11 @@ fi
%{_sharedstatedir}/%{name}
%changelog
+* Fri Apr 12 2019 Daniel Axelrod <daxelrod(a)datto.com> - 1:7.0-6
+- Remove unused patches
+- Drop pre script for migrating from unsupported Fedora versions
+- Replace sed with configure switch
+
* Wed Apr 03 2019 Michal Hlavinka <mhlavink(a)redhat.com> - 1:7.0-5
- revert smartd_warning related changes
4 years, 1 month
Architecture specific change in rpms/ocaml-camomile.git
by githook-noreply@fedoraproject.org
The package rpms/ocaml-camomile.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/ocaml-camomile.git/commit/?id=6ed....
Change:
-%ifarch %{ocaml_native_compiler}
Thanks.
Full change:
============
commit 6ed96a004759ebcdf8eab8944466940ffaea074b
Author: Richard W.M. Jones <rjones(a)redhat.com>
Date: Tue Apr 30 10:02:52 2019 +0100
Use jbuilder --profile release to disable warn-error.
Use jbuilder install instead of hand-installing.
Use %doc and %license.
Remove some binaries which are no longer installed.
diff --git a/ocaml-camomile.spec b/ocaml-camomile.spec
index 11708ee..55e2110 100644
--- a/ocaml-camomile.spec
+++ b/ocaml-camomile.spec
@@ -1,3 +1,6 @@
+# FIXME: Broken in 1.0.1 for unknown reasons.
+%global debug_package %{nil}
+
Name: ocaml-camomile
Version: 1.0.1
Release: 3%{?dist}
@@ -59,30 +62,30 @@ applications that use %{name}.
ulimit -Hs 65536
ulimit -Ss 65536
%endif
-jbuilder build --verbose
+jbuilder build --verbose --profile release
%install
-# We have to do this by hand because jbuilder doesn't work.
-export DESTDIR=$RPM_BUILD_ROOT
-export OCAMLFIND_DESTDIR=$RPM_BUILD_ROOT%{_libdir}/ocaml
-mkdir -p $OCAMLFIND_DESTDIR $OCAMLFIND_DESTDIR/stublibs
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-mkdir -p $RPM_BUILD_ROOT%{_datadir}
-ocamlfind install camomile _build/install/default/lib/camomile/*
-cp -r -L _build/install/default/share/camomile $RPM_BUILD_ROOT%{_datadir}
-%ifarch %{ocaml_native_compiler}
-cp _build/default/Camomile/tools/camomilecharmap.exe $RPM_BUILD_ROOT%{_bindir}/camomilecharmap
-cp _build/default/Camomile/tools/camomilelocaledef.exe $RPM_BUILD_ROOT%{_bindir}/camomilelocaledef
-%endif
+jbuilder install \
+ --destdir=%{buildroot} \
+ --libdir=%{_libdir}/ocaml \
+ --verbose \
+ --profile release
+
+# Remove /usr/doc because we will use %%doc rules instead.
+rm -rf %{buildroot}/usr/doc
+
+# Install the *.mli files by hand.
+cp _build/install/default/lib/camomile/library/*.mli %{buildroot}%{_libdir}/ocaml/camomile/
%check
-jbuilder runtest
+jbuilder runtest --profile release
%files
-%doc README
+%doc README.md CHANGES.md
+%license LICENSE.md
%{_libdir}/ocaml/camomile
%ifarch %{ocaml_native_compiler}
%exclude %{_libdir}/ocaml/camomile/*.a
@@ -91,13 +94,11 @@ jbuilder runtest
%endif
%exclude %{_libdir}/ocaml/camomile/*.mli
%ifarch %{ocaml_native_compiler}
-%{_bindir}/camomilecharmap
-%{_bindir}/camomilelocaledef
%endif
%files devel
-%doc README web/dochtml/*
+%license LICENSE.md
%ifarch %{ocaml_native_compiler}
%{_libdir}/ocaml/camomile/*.a
%{_libdir}/ocaml/camomile/*.cmxa
@@ -107,13 +108,16 @@ jbuilder runtest
%files data
-%doc README
+%license LICENSE.md
%{_datadir}/camomile/
%changelog
-* Mon Apr 29 2019 Richard W.M. Jones <rjones(a)redhat.com> - 1.0.1-3
-- Bump release and rebuild.
+* Tue Apr 30 2019 Richard W.M. Jones <rjones(a)redhat.com> - 1.0.1-3
+- Use jbuilder --profile release to disable warn-error.
+- Use jbuilder install instead of hand-installing.
+- Use %%doc and %%license.
+- Remove some binaries which are no longer installed.
* Mon Apr 29 2019 Richard W.M. Jones <rjones(a)redhat.com> - 1.0.1-2
- OCaml 4.08.0 (beta 3) rebuild.
4 years, 1 month
[Report] Packages Restricting Arches
by root
New package excluding arches (1)
============================
- grafana
ExclusiveArch: %{grafana_arches}
List of packages currently excluding arches (2747)
===========================================
- 0ad
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- 90-Second-Portraits
ExclusiveArch: %{arm} %{ix86} x86_64 %{mips} aarch64 ppc64
- GoldenCheetah
ExclusiveArch: %{qt5_qtwebengine_arches}
- GtkAda
ExclusiveArch: %{GPRbuild_arches}
- GtkAda3
ExclusiveArch: %{GPRbuild_arches}
- PragmARC
ExclusiveArch: %{GPRbuild_arches}
- R-V8
ExclusiveArch: %{nodejs_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
- 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} aarch64 s390x
- bcm283x-firmware
ExclusiveArch: %{arm} aarch64
- berusky2
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 %{mips}
- biosdevname
ExclusiveArch: %{ix86} x86_64
- bless
ExclusiveArch: %mono_arches
- boo
ExclusiveArch: %{mono_arches}
- bpftrace
ExclusiveArch: x86_64 %{power64} aarch64 s390x
- 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}
- 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
- consul
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- containerd
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}}
- 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 ppc64le
- dbus-sharp
ExclusiveArch: %mono_arches
- dbus-sharp-glib
ExclusiveArch: %mono_arches
- dbxtool
ExclusiveArch: i386 x86_64 aarch64
- deepin-clone
ExclusiveArch: x86_64 %{ix86} aarch64
- 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-anaconda-addon
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64 ppc64le s390x %{mips}
- docker-distribution
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- 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 ppc64le
- 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: %{ix86} 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
- geoipupdate
ExclusiveArch: %{go_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
- glibd
ExclusiveArch: %{ldc_arches}
- glusterd2
ExclusiveArch: %{go_arches}
- gmqcc
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- gnatcoll
ExclusiveArch: %{GPRbuild_arches}
- gnatcoll-bindings
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}
- 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-deepin-dbus-factory
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{arm}}
- golang-github-BurntSushi-toml-test
ExclusiveArch: %{go_arches}
- 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-andybalholm-cascadia
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-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-client9-gospell
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-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-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-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-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-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-gobuffalo-envy
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-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-lpabon-godbc
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 %{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-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-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-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-samuel-go-zookeeper
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{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-skynetservices-skydns
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{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-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-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-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-vaughan0-go-ini
ExclusiveArch: %{go_arches}
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{go_arches}
ExclusiveArch: %{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-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-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
- grafana
ExclusiveArch: %{grafana_arches}
- 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
- hcc
ExclusiveArch: x86_64 aarch64
- 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}
- hyena
ExclusiveArch: %{mono_arches}
- hyperscan
ExclusiveArch: x86_64
- hyperv-daemons
ExclusiveArch: i686 x86_64
- icaro
ExclusiveArch: %{ix86} %{arm} x86_64 noarch
- ignition
ExclusiveArch: x86_64 ppc64le aarch64 s390x
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
- libpmemobj-cpp
ExclusiveArch: x86_64
- 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 s390x
- luxcorerender
ExclusiveArch: x86_64
- mactel-boot
ExclusiveArch: x86_64
- manifest-tool
ExclusiveArch: x86_64 aarch64 ppc64le s390x
- mantle
ExclusiveArch: %{?go_arches:%{go_arches}}%{!?go_arches:%{ix86} x86_64 aarch64 %{arm}}
- 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
- microcode_ctl
ExclusiveArch: %{ix86} x86_64
- micropython
ExclusiveArch: %{arm} %{ix86} 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
- 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
- mozilla-iot-gateway
ExclusiveArch: %{nodejs_arches} noarch
- mozilla-iot-gateway-addon-node
ExclusiveArch: %{nodejs_arches} noarch
- 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-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-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-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-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-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-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-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-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-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-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-duplexer
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-duplexer2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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-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-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-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-eventemitter2
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} 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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-nanomsg
ExclusiveArch: %{nodejs_arches}
- nodejs-nanoseconds
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-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-static
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-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-assign
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-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-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-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-pbkdf2-password
ExclusiveArch: %{nodejs_arches} noarch
- nodejs-pedding
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-portscanner
ExclusiveArch: %{nodejs_arches} noarch
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
- nodejs-posix-character-classes
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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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-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: x86_64 ppc64le
- 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}}
- oidn
ExclusiveArch: 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}
- openni
ExclusiveArch: %{ix86} x86_64 %{arm}
- openni-primesense
ExclusiveArch: %{ix86} x86_64 %{arm}
- openssl-ibmca
ExclusiveArch: s390 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
- pmdk-convert
ExclusiveArch: x86_64
- 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
- pyqtwebengine
ExclusiveArch: %{qt5_qtwebengine_arches}
- 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}
- reactfx
ExclusiveArch: %{ix86} x86_64 noarch
- 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
- rocminfo
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-aes-soft
ExclusiveArch: %{rust_arches}
- rust-afterburn
ExclusiveArch: %{rust_arches}
- rust-aho-corasick
ExclusiveArch: %{rust_arches}
- rust-alga
ExclusiveArch: %{rust_arches}
- rust-alga_derive
ExclusiveArch: %{rust_arches}
- rust-ammonia
ExclusiveArch: %{rust_arches}
- rust-ansi_colours
ExclusiveArch: %{rust_arches}
- rust-ansi_term
ExclusiveArch: %{rust_arches}
- rust-antidote
ExclusiveArch: %{rust_arches}
- rust-aom-sys
ExclusiveArch: %{rust_arches}
- rust-approx
ExclusiveArch: %{rust_arches}
- rust-arc-swap
ExclusiveArch: %{rust_arches}
- rust-arg_enum_proc_macro
ExclusiveArch: %{rust_arches}
- rust-arraydeque
ExclusiveArch: %{rust_arches}
- rust-arrayref
ExclusiveArch: %{rust_arches}
- rust-arrayvec
ExclusiveArch: %{rust_arches}
- rust-ascii
ExclusiveArch: %{rust_arches}
- rust-askalono
ExclusiveArch: %{rust_arches}
- rust-askalono-cli
ExclusiveArch: %{rust_arches}
- rust-atk
ExclusiveArch: %{rust_arches}
- rust-atk-sys
ExclusiveArch: %{rust_arches}
- rust-atom
ExclusiveArch: %{rust_arches}
- rust-atomicwrites
ExclusiveArch: %{rust_arches}
- rust-atty
ExclusiveArch: %{rust_arches}
- rust-autocfg
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-bindgen
ExclusiveArch: %{rust_arches}
- rust-bit-set
ExclusiveArch: %{rust_arches}
- rust-bit-vec
ExclusiveArch: %{rust_arches}
- rust-bitflags
ExclusiveArch: %{rust_arches}
- rust-bitstream-io
ExclusiveArch: %{rust_arches}
- rust-blake2
ExclusiveArch: %{rust_arches}
- rust-blobby
ExclusiveArch: %{rust_arches}
- rust-block-buffer
ExclusiveArch: %{rust_arches}
- rust-block-cipher-trait
ExclusiveArch: %{rust_arches}
- rust-block-modes
ExclusiveArch: %{rust_arches}
- rust-block-padding
ExclusiveArch: %{rust_arches}
- rust-brev
ExclusiveArch: %{rust_arches}
- rust-bstr
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-bytesize
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-cargo_metadata
ExclusiveArch: %{rust_arches}
- rust-cargo_metadata0.6
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-chainerror
ExclusiveArch: %{rust_arches}
- rust-chbs
ExclusiveArch: %{rust_arches}
- rust-checked_int_cast
ExclusiveArch: %{rust_arches}
- rust-chrono
ExclusiveArch: %{rust_arches}
- rust-chrono-humanize
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-color_quant
ExclusiveArch: %{rust_arches}
- rust-colored
ExclusiveArch: %{rust_arches}
- rust-colored_json
ExclusiveArch: %{rust_arches}
- rust-config
ExclusiveArch: %{rust_arches}
- rust-console
ExclusiveArch: %{rust_arches}
- rust-content_inspector
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-crc32fast
ExclusiveArch: %{rust_arches}
- rust-criterion
ExclusiveArch: %{rust_arches}
- rust-criterion-plot
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-epoch
ExclusiveArch: %{rust_arches}
- rust-crossbeam-queue
ExclusiveArch: %{rust_arches}
- rust-crossbeam-utils
ExclusiveArch: %{rust_arches}
- rust-crossterm
ExclusiveArch: %{rust_arches}
- rust-crossterm_cursor
ExclusiveArch: %{rust_arches}
- rust-crossterm_input
ExclusiveArch: %{rust_arches}
- rust-crossterm_screen
ExclusiveArch: %{rust_arches}
- rust-crossterm_style
ExclusiveArch: %{rust_arches}
- rust-crossterm_terminal
ExclusiveArch: %{rust_arches}
- rust-crossterm_utils
ExclusiveArch: %{rust_arches}
- rust-crypto-hash
ExclusiveArch: %{rust_arches}
- rust-crypto-mac
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-darling
ExclusiveArch: %{rust_arches}
- rust-darling_core
ExclusiveArch: %{rust_arches}
- rust-darling_macro
ExclusiveArch: %{rust_arches}
- rust-data-encoding
ExclusiveArch: %{rust_arches}
- rust-data-url
ExclusiveArch: %{rust_arches}
- rust-datetime
ExclusiveArch: %{rust_arches}
- rust-dav1d-sys
ExclusiveArch: %{rust_arches}
- rust-dbus
ExclusiveArch: %{rust_arches}
- rust-decimal
ExclusiveArch: %{rust_arches}
- rust-deflate
ExclusiveArch: %{rust_arches}
- rust-defmac
ExclusiveArch: %{rust_arches}
- rust-delta_e
ExclusiveArch: %{rust_arches}
- rust-derive_builder
ExclusiveArch: %{rust_arches}
- rust-derive_builder_core
ExclusiveArch: %{rust_arches}
- rust-devicemapper
ExclusiveArch: %{rust_arches}
- rust-diff
ExclusiveArch: %{rust_arches}
- rust-difference
ExclusiveArch: %{rust_arches}
- rust-digest
ExclusiveArch: %{rust_arches}
- rust-directories
ExclusiveArch: %{rust_arches}
- rust-dirs
ExclusiveArch: %{rust_arches}
- rust-dns-parser
ExclusiveArch: %{rust_arches}
- rust-docmatic
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-encode_unicode
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-entities
ExclusiveArch: %{rust_arches}
- rust-enum_primitive
ExclusiveArch: %{rust_arches}
- rust-env_logger
ExclusiveArch: %{rust_arches}
- rust-env_logger0.4
ExclusiveArch: %{rust_arches}
- rust-env_logger0.5
ExclusiveArch: %{rust_arches}
- rust-erased-serde
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-simd
ExclusiveArch: %{rust_arches}
- rust-fake_clock
ExclusiveArch: %{rust_arches}
- rust-fallible-iterator
ExclusiveArch: %{rust_arches}
- rust-fd-find
ExclusiveArch: %{rust_arches}
- rust-ffsend
ExclusiveArch: %{rust_arches}
- rust-ffsend-api
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-futf
ExclusiveArch: %{rust_arches}
- rust-futures-async-runtime-preview
ExclusiveArch: %{rust_arches}
- rust-futures-channel-preview
ExclusiveArch: %{rust_arches}
- rust-futures-core
ExclusiveArch: %{rust_arches}
- rust-futures-core-preview
ExclusiveArch: %{rust_arches}
- rust-futures-cpupool
ExclusiveArch: %{rust_arches}
- rust-futures-executor-preview
ExclusiveArch: %{rust_arches}
- rust-futures-io-preview
ExclusiveArch: %{rust_arches}
- rust-futures-preview
ExclusiveArch: %{rust_arches}
- rust-futures-sink-preview
ExclusiveArch: %{rust_arches}
- rust-futures-stable-preview
ExclusiveArch: %{rust_arches}
- rust-futures-util-preview
ExclusiveArch: %{rust_arches}
- rust-futures0.1
ExclusiveArch: %{rust_arches}
- rust-fuzzy-matcher
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-gettext-sys
ExclusiveArch: %{rust_arches}
- rust-gif
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-hashbrown
ExclusiveArch: %{rust_arches}
- rust-headers
ExclusiveArch: %{rust_arches}
- rust-headers-core
ExclusiveArch: %{rust_arches}
- rust-headers-derive
ExclusiveArch: %{rust_arches}
- rust-heapsize
ExclusiveArch: %{rust_arches}
- rust-heatseeker
ExclusiveArch: %{rust_arches}
- rust-heck
ExclusiveArch: %{rust_arches}
- rust-hex
ExclusiveArch: %{rust_arches}
- rust-hex-literal
ExclusiveArch: %{rust_arches}
- rust-hex-literal-impl
ExclusiveArch: %{rust_arches}
- rust-hexyl
ExclusiveArch: %{rust_arches}
- rust-hkdf
ExclusiveArch: %{rust_arches}
- rust-hmac
ExclusiveArch: %{rust_arches}
- rust-home
ExclusiveArch: %{rust_arches}
- rust-horrorshow
ExclusiveArch: %{rust_arches}
- rust-hostname
ExclusiveArch: %{rust_arches}
- rust-html5ever
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-hyperfine
ExclusiveArch: %{rust_arches}
- rust-id_tree
ExclusiveArch: %{rust_arches}
- rust-ident_case
ExclusiveArch: %{rust_arches}
- rust-idna
ExclusiveArch: %{rust_arches}
- rust-ignore
ExclusiveArch: %{rust_arches}
- rust-image
ExclusiveArch: %{rust_arches}
- rust-indexmap
ExclusiveArch: %{rust_arches}
- rust-indicatif
ExclusiveArch: %{rust_arches}
- rust-inflate
ExclusiveArch: %{rust_arches}
- rust-inotify
ExclusiveArch: %{rust_arches}
- rust-inotify-sys
ExclusiveArch: %{rust_arches}
- rust-input_buffer
ExclusiveArch: %{rust_arches}
- rust-interpolate_name
ExclusiveArch: %{rust_arches}
- rust-intervaltree
ExclusiveArch: %{rust_arches}
- rust-iovec
ExclusiveArch: %{rust_arches}
- rust-ipnetwork
ExclusiveArch: %{rust_arches}
- rust-iso8601
ExclusiveArch: %{rust_arches}
- rust-iter-read
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-jpeg-decoder
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-libflate
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-line-wrap
ExclusiveArch: %{rust_arches}
- rust-linked-hash-map
ExclusiveArch: %{rust_arches}
- rust-lipsum
ExclusiveArch: %{rust_arches}
- rust-lmdb
ExclusiveArch: %{rust_arches}
- rust-lmdb-sys
ExclusiveArch: %{rust_arches}
- rust-locale
ExclusiveArch: %{rust_arches}
- rust-locale_config
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-lscolors
ExclusiveArch: %{rust_arches}
- rust-lsd
ExclusiveArch: %{rust_arches}
- rust-lzma-sys
ExclusiveArch: %{rust_arches}
- rust-lzw
ExclusiveArch: %{rust_arches}
- rust-mac
ExclusiveArch: %{rust_arches}
- rust-macro-attr
ExclusiveArch: %{rust_arches}
- rust-maplit
ExclusiveArch: %{rust_arches}
- rust-markup5ever
ExclusiveArch: %{rust_arches}
- rust-matches
ExclusiveArch: %{rust_arches}
- rust-matrixmultiply
ExclusiveArch: %{rust_arches}
- rust-md-5
ExclusiveArch: %{rust_arches}
- rust-md5
ExclusiveArch: %{rust_arches}
- rust-mdl
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-mime_guess
ExclusiveArch: %{rust_arches}
- rust-mime_guess1
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-mktemp
ExclusiveArch: %{rust_arches}
- rust-mnt
ExclusiveArch: %{rust_arches}
- rust-mockito
ExclusiveArch: %{rust_arches}
- rust-modifier
ExclusiveArch: %{rust_arches}
- rust-muldiv
ExclusiveArch: %{rust_arches}
- rust-multimap
ExclusiveArch: %{rust_arches}
- rust-nalgebra
ExclusiveArch: %{rust_arches}
- rust-nasm-rs
ExclusiveArch: %{rust_arches}
- rust-native-tls
ExclusiveArch: %{rust_arches}
- rust-natord
ExclusiveArch: %{rust_arches}
- rust-net2
ExclusiveArch: %{rust_arches}
- rust-netmap_sys
ExclusiveArch: %{rust_arches}
- rust-new_debug_unreachable
ExclusiveArch: %{rust_arches}
- rust-newtype_derive
ExclusiveArch: %{rust_arches}
- rust-nix
ExclusiveArch: %{rust_arches}
- rust-no-panic
ExclusiveArch: %{rust_arches}
- rust-nodrop
ExclusiveArch: %{rust_arches}
- rust-nom
ExclusiveArch: %{rust_arches}
- rust-notify
ExclusiveArch: %{rust_arches}
- rust-num
ExclusiveArch: %{rust_arches}
- rust-num-bigint
ExclusiveArch: %{rust_arches}
- rust-num-complex
ExclusiveArch: %{rust_arches}
- rust-num-derive
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-odds
ExclusiveArch: %{rust_arches}
- rust-once_cell
ExclusiveArch: %{rust_arches}
- rust-onig
ExclusiveArch: %{rust_arches}
- rust-onig_sys
ExclusiveArch: %{rust_arches}
- rust-opaque-debug
ExclusiveArch: %{rust_arches}
- rust-open
ExclusiveArch: %{rust_arches}
- rust-opener
ExclusiveArch: %{rust_arches}
- rust-openssh-keys
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}
- 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-paste
ExclusiveArch: %{rust_arches}
- rust-paste-impl
ExclusiveArch: %{rust_arches}
- rust-pbr
ExclusiveArch: %{rust_arches}
- rust-pcap
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-pest_generator
ExclusiveArch: %{rust_arches}
- rust-pest_meta
ExclusiveArch: %{rust_arches}
- rust-petgraph
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-plugin
ExclusiveArch: %{rust_arches}
- rust-pnet_base
ExclusiveArch: %{rust_arches}
- rust-pnet_datalink
ExclusiveArch: %{rust_arches}
- rust-pnet_sys
ExclusiveArch: %{rust_arches}
- rust-png
ExclusiveArch: %{rust_arches}
- rust-precomputed-hash
ExclusiveArch: %{rust_arches}
- rust-pretty-git-prompt
ExclusiveArch: %{rust_arches}
- rust-pretty_assertions
ExclusiveArch: %{rust_arches}
- rust-pretty_env_logger
ExclusiveArch: %{rust_arches}
- rust-prettytable-rs
ExclusiveArch: %{rust_arches}
- rust-proc-macro-hack
ExclusiveArch: %{rust_arches}
- rust-proc-macro2
ExclusiveArch: %{rust_arches}
- rust-proc-macro2-0.3
ExclusiveArch: %{rust_arches}
- rust-procedural-masquerade
ExclusiveArch: %{rust_arches}
- rust-proptest
ExclusiveArch: %{rust_arches}
- rust-pulldown-cmark
ExclusiveArch: %{rust_arches}
- rust-pulse
ExclusiveArch: %{rust_arches}
- rust-qr2term
ExclusiveArch: %{rust_arches}
- rust-qrcode
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-rand0.5
ExclusiveArch: %{rust_arches}
- rust-rand_chacha
ExclusiveArch: %{rust_arches}
- rust-rand_core
ExclusiveArch: %{rust_arches}
- rust-rand_core0.2
ExclusiveArch: %{rust_arches}
- rust-rand_core0.3
ExclusiveArch: %{rust_arches}
- rust-rand_hc
ExclusiveArch: %{rust_arches}
- rust-rand_isaac
ExclusiveArch: %{rust_arches}
- rust-rand_jitter
ExclusiveArch: %{rust_arches}
- rust-rand_os
ExclusiveArch: %{rust_arches}
- rust-rand_pcg
ExclusiveArch: %{rust_arches}
- rust-rand_xorshift
ExclusiveArch: %{rust_arches}
- rust-rand_xoshiro
ExclusiveArch: %{rust_arches}
- rust-rawpointer
ExclusiveArch: %{rust_arches}
- rust-rawslice
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-automata
ExclusiveArch: %{rust_arches}
- rust-regex-syntax
ExclusiveArch: %{rust_arches}
- rust-relay
ExclusiveArch: %{rust_arches}
- rust-remove_dir_all
ExclusiveArch: %{rust_arches}
- rust-reqwest
ExclusiveArch: %{rust_arches}
- rust-resize
ExclusiveArch: %{rust_arches}
- rust-ripgrep
ExclusiveArch: %{rust_arches}
- rust-rmp
ExclusiveArch: %{rust_arches}
- rust-rmp-serde
ExclusiveArch: %{rust_arches}
- rust-ron
ExclusiveArch: %{rust_arches}
- rust-rpassword
ExclusiveArch: %{rust_arches}
- rust-rpick
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-rusty-fork
ExclusiveArch: %{rust_arches}
- rust-ryu
ExclusiveArch: %{rust_arches}
- rust-safe-transmute
ExclusiveArch: %{rust_arches}
- rust-safemem
ExclusiveArch: %{rust_arches}
- rust-same-file
ExclusiveArch: %{rust_arches}
- rust-scan_fmt
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-sd
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-serde-pickle
ExclusiveArch: %{rust_arches}
- rust-serde-xml-rs
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_stacker
ExclusiveArch: %{rust_arches}
- rust-serde_test
ExclusiveArch: %{rust_arches}
- rust-serde_urlencoded
ExclusiveArch: %{rust_arches}
- rust-serde_yaml
ExclusiveArch: %{rust_arches}
- rust-sha-1
ExclusiveArch: %{rust_arches}
- rust-sha1
ExclusiveArch: %{rust_arches}
- rust-sha2
ExclusiveArch: %{rust_arches}
- rust-shell-escape
ExclusiveArch: %{rust_arches}
- rust-shell-words
ExclusiveArch: %{rust_arches}
- rust-shlex
ExclusiveArch: %{rust_arches}
- rust-signal-hook
ExclusiveArch: %{rust_arches}
- rust-signal-hook-registry
ExclusiveArch: %{rust_arches}
- rust-silver
ExclusiveArch: %{rust_arches}
- rust-simple_logger
ExclusiveArch: %{rust_arches}
- rust-simplelog
ExclusiveArch: %{rust_arches}
- rust-siphasher
ExclusiveArch: %{rust_arches}
- rust-skeptic
ExclusiveArch: %{rust_arches}
- rust-skim
ExclusiveArch: %{rust_arches}
- rust-slab
ExclusiveArch: %{rust_arches}
- rust-slog
ExclusiveArch: %{rust_arches}
- rust-slog-async
ExclusiveArch: %{rust_arches}
- rust-slog-scope
ExclusiveArch: %{rust_arches}
- rust-slog-term
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-stacker
ExclusiveArch: %{rust_arches}
- rust-static_assertions
ExclusiveArch: %{rust_arches}
- rust-statistical
ExclusiveArch: %{rust_arches}
- rust-stb_truetype
ExclusiveArch: %{rust_arches}
- rust-stream-cipher
ExclusiveArch: %{rust_arches}
- rust-streaming-stats
ExclusiveArch: %{rust_arches}
- rust-string
ExclusiveArch: %{rust_arches}
- rust-string_cache
ExclusiveArch: %{rust_arches}
- rust-string_cache_codegen
ExclusiveArch: %{rust_arches}
- rust-string_cache_shared
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-subtle
ExclusiveArch: %{rust_arches}
- rust-syn
ExclusiveArch: %{rust_arches}
- rust-syn0.11
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-tendril
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-terminal_size
ExclusiveArch: %{rust_arches}
- rust-terminfo
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-tiff
ExclusiveArch: %{rust_arches}
- rust-time
ExclusiveArch: %{rust_arches}
- rust-timer
ExclusiveArch: %{rust_arches}
- rust-timerfd
ExclusiveArch: %{rust_arches}
- rust-tinytemplate
ExclusiveArch: %{rust_arches}
- rust-tokei
ExclusiveArch: %{rust_arches}
- rust-tokio
ExclusiveArch: %{rust_arches}
- rust-tokio-async-await
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-sync
ExclusiveArch: %{rust_arches}
- rust-tokio-tcp
ExclusiveArch: %{rust_arches}
- rust-tokio-threadpool
ExclusiveArch: %{rust_arches}
- rust-tokio-timer
ExclusiveArch: %{rust_arches}
- rust-tokio-tls
ExclusiveArch: %{rust_arches}
- rust-tokio-trace-core
ExclusiveArch: %{rust_arches}
- rust-tokio-udp
ExclusiveArch: %{rust_arches}
- rust-tokio-uds
ExclusiveArch: %{rust_arches}
- rust-toml
ExclusiveArch: %{rust_arches}
- rust-toml0.4
ExclusiveArch: %{rust_arches}
- rust-traitobject
ExclusiveArch: %{rust_arches}
- rust-try-lock
ExclusiveArch: %{rust_arches}
- rust-tuikit
ExclusiveArch: %{rust_arches}
- rust-tungstenite
ExclusiveArch: %{rust_arches}
- rust-typeable
ExclusiveArch: %{rust_arches}
- rust-typed-arena
ExclusiveArch: %{rust_arches}
- rust-typemap
ExclusiveArch: %{rust_arches}
- rust-typenum
ExclusiveArch: %{rust_arches}
- rust-ucd-parse
ExclusiveArch: %{rust_arches}
- rust-ucd-trie
ExclusiveArch: %{rust_arches}
- rust-ucd-util
ExclusiveArch: %{rust_arches}
- rust-unchecked-index
ExclusiveArch: %{rust_arches}
- rust-unescape
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-unicode_categories
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-url_serde
ExclusiveArch: %{rust_arches}
- rust-urlencoding
ExclusiveArch: %{rust_arches}
- rust-urlshortener
ExclusiveArch: %{rust_arches}
- rust-users
ExclusiveArch: %{rust_arches}
- rust-utf-8
ExclusiveArch: %{rust_arches}
- rust-utf8-ranges
ExclusiveArch: %{rust_arches}
- rust-utf8parse
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-compare
ExclusiveArch: %{rust_arches}
- rust-version-sync
ExclusiveArch: %{rust_arches}
- rust-version_check
ExclusiveArch: %{rust_arches}
- rust-void
ExclusiveArch: %{rust_arches}
- rust-vte
ExclusiveArch: %{rust_arches}
- rust-wait-timeout
ExclusiveArch: %{rust_arches}
- rust-walkdir
ExclusiveArch: %{rust_arches}
- rust-want
ExclusiveArch: %{rust_arches}
- rust-warp
ExclusiveArch: %{rust_arches}
- rust-websocket
ExclusiveArch: %{rust_arches}
- rust-which
ExclusiveArch: %{rust_arches}
- rust-which1
ExclusiveArch: %{rust_arches}
- rust-wild
ExclusiveArch: %{rust_arches}
- rust-x11
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-y4m
ExclusiveArch: %{rust_arches}
- rust-yaml-rust
ExclusiveArch: %{rust_arches}
- rust-yaml-rust0.3
ExclusiveArch: %{rust_arches}
- rust-ybaas
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 aarch64 ppc64le
- 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}
- stratisd
ExclusiveArch: %{rust_arches}
- stripesnoop
ExclusiveArch: %{ix86} x86_64
- supermin
ExclusiveArch: x86_64
- swift-lang
ExclusiveArch: x86_64 aarch64
- 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: 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}
- toolbox
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
- 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
- ursa-major
ExclusiveArch: %{ix86} x86_64 noarch
- v8-314
ExclusiveArch: %{ix86} x86_64 %{arm} mips mipsel ppc ppc64
- valgrind
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}
- vkd3d
ExclusiveArch: %{ix86} x86_64 %{arm}
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
- vmaf
ExclusiveArch: x86_64
- vrq
ExclusiveArch: %{ix86} x86_64
- warsow
ExclusiveArch: %{ix86} x86_64 %{arm}
- warsow-data
ExclusiveArch: %{ix86} x86_64 %{arm} noarch
ExclusiveArch: %{ix86} x86_64 %{arm}
- 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
- xmlada
ExclusiveArch: %{GPRbuild_arches}
- 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}
4 years, 1 month
Architecture specific change in rpms/grafana.git
by githook-noreply@fedoraproject.org
The package rpms/grafana.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/grafana.git/commit/?id=1f64cbeaf4....
Change:
+ExclusiveArch: %{grafana_arches}
Thanks.
Full change:
============
commit 1f64cbeaf41f121397d63d96352b9e403d744bfc
Author: Mark Goodwin <mgoodwin(a)redhat.com>
Date: Tue Apr 30 06:55:24 2019 +1000
Initial import (#1670656).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..016c26f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/grafana-6.1.4.tar.gz
+/grafana_webpack-6.1.4.tar.gz
diff --git a/000-go-test-fixes.patch b/000-go-test-fixes.patch
new file mode 100644
index 0000000..b8a9e82
--- /dev/null
+++ b/000-go-test-fixes.patch
@@ -0,0 +1,141 @@
+diff --git a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
+index b8d1d6cc2..39cfe3f76 100644
+--- a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
++++ b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
+@@ -107,19 +107,19 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(len(res.Series[0].Points), ShouldEqual, 5)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 2.0875)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549620780000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549620780000))
+
+ So(res.Series[0].Points[1][0].Float64, ShouldEqual, 2.1525)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1549620840000)
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1549620840000))
+
+ So(res.Series[0].Points[2][0].Float64, ShouldEqual, 2.155)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1549620900000)
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1549620900000))
+
+ So(res.Series[0].Points[3][0].Float64, ShouldEqual, 3.6925)
+- So(res.Series[0].Points[3][1].Float64, ShouldEqual, 1549620960000)
++ So(res.Series[0].Points[3][1].Float64, ShouldEqual, int64(1549620960000))
+
+ So(res.Series[0].Points[4][0].Float64, ShouldEqual, 2.44)
+- So(res.Series[0].Points[4][1].Float64, ShouldEqual, 1549621020000)
++ So(res.Series[0].Points[4][1].Float64, ShouldEqual, int64(1549621020000))
+ })
+
+ Convey("when data from query aggregated as total to one time series", func() {
+@@ -139,7 +139,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 8.26)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549718940000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549718940000))
+ })
+
+ Convey("when data from query aggregated as maximum to one time series", func() {
+@@ -159,7 +159,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 3.07)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549722360000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549722360000))
+ })
+
+ Convey("when data from query aggregated as minimum to one time series", func() {
+@@ -179,7 +179,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 1.51)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549723380000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549723380000))
+ })
+
+ Convey("when data from query aggregated as Count to one time series", func() {
+@@ -199,7 +199,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 4)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549723440000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549723440000))
+ })
+
+ Convey("when data from query aggregated as total and has dimension filter", func() {
+diff --git a/pkg/tsdb/mssql/mssql_test.go b/pkg/tsdb/mssql/mssql_test.go
+index c3d447060..cc27304fc 100644
+--- a/pkg/tsdb/mssql/mssql_test.go
++++ b/pkg/tsdb/mssql/mssql_test.go
+@@ -162,7 +162,7 @@ func TestMSSQL(t *testing.T) {
+ So(column[19].(time.Time), ShouldEqual, dt.Truncate(time.Minute))
+ So(column[20].(time.Time), ShouldEqual, dt.Truncate(24*time.Hour))
+ So(column[21].(time.Time), ShouldEqual, time.Date(1, 1, 1, dt.Hour(), dt.Minute(), dt.Second(), dt.Nanosecond(), time.UTC))
+- So(column[22].(time.Time), ShouldEqual, dt2.In(time.FixedZone("UTC", int(-7*time.Hour))))
++ So(column[22].(time.Time), ShouldEqual, dt2.In(time.FixedZone("UTC-7", int(-7*60*60))))
+ })
+ })
+
+diff --git a/pkg/tsdb/stackdriver/stackdriver_test.go b/pkg/tsdb/stackdriver/stackdriver_test.go
+index 78c3086a9..1ab1e099f 100644
+--- a/pkg/tsdb/stackdriver/stackdriver_test.go
++++ b/pkg/tsdb/stackdriver/stackdriver_test.go
+@@ -236,13 +236,13 @@ func TestStackdriver(t *testing.T) {
+
+ Convey("timestamps should be in ascending order", func() {
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 0.05)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1536670020000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1536670020000))
+
+ So(res.Series[0].Points[1][0].Float64, ShouldEqual, 1.05)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1536670080000)
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1536670080000))
+
+ So(res.Series[0].Points[2][0].Float64, ShouldEqual, 1.0666666666667)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1536670260000)
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1536670260000))
+ })
+ })
+
+@@ -365,9 +365,9 @@ func TestStackdriver(t *testing.T) {
+ }
+
+ Convey("timestamps should be in ascending order", func() {
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1536668940000)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1536669000000)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1536669060000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1536668940000))
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1536669000000))
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1536669060000))
+ })
+
+ Convey("bucket bounds should be correct", func() {
+@@ -410,8 +410,8 @@ func TestStackdriver(t *testing.T) {
+ }
+
+ Convey("timestamps should be in ascending order", func() {
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1550859086000)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1550859146000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1550859086000))
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1550859146000))
+ })
+
+ Convey("bucket bounds should be correct", func() {
+diff --git a/pkg/tsdb/time_range_test.go b/pkg/tsdb/time_range_test.go
+index 37ced412e..38b147689 100644
+--- a/pkg/tsdb/time_range_test.go
++++ b/pkg/tsdb/time_range_test.go
+@@ -70,11 +70,11 @@ func TestTimeRange(t *testing.T) {
+
+ res, err := tr.ParseFrom()
+ So(err, ShouldBeNil)
+- So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, 1474973725473)
++ So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474973725473))
+
+ res, err = tr.ParseTo()
+ So(err, ShouldBeNil)
+- So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, 1474975757930)
++ So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474975757930))
+ })
+
+ Convey("Cannot parse asdf", func() {
diff --git a/001-man-pages.patch b/001-man-pages.patch
new file mode 100644
index 0000000..44ff37d
--- /dev/null
+++ b/001-man-pages.patch
@@ -0,0 +1,219 @@
+diff --git a/docs/man/man1/grafana-cli.1 b/docs/man/man1/grafana-cli.1
+new file mode 100644
+index 000000000..171748fcd
+--- /dev/null
++++ b/docs/man/man1/grafana-cli.1
+@@ -0,0 +1,51 @@
++.TH GRAFANA "1" "February 2019" "Grafana cli version 5.4.3" "User Commands"
++.SH NAME
++grafana-cli \- command line administration for the Grafana metrics dashboard and graph editor
++.SH DESCRIPTION
++.SS "NAME:"
++.IP
++grafana-cli
++.SS "USAGE:"
++.IP
++\fBgrafana\-cli\fP [\fIglobal options\fP] \fIcommand\fP [\fIcommand options\fP] [\fIarguments\fP...]
++.SS "COMMANDS:"
++.TP
++plugins
++Manage plugins for grafana
++.TP
++admin
++Grafana admin commands
++.TP
++help, h
++Shows a list of commands or help for one command
++.SS "GLOBAL OPTIONS:"
++.TP
++\fB\-\-pluginsDir\fR value
++path to the grafana plugin directory (default: "/var/lib/grafana/plugins") [$GF_PLUGIN_DIR]
++.TP
++\fB\-\-repo\fR value
++url to the plugin repository (default: "https://grafana.com/api/plugins") [$GF_PLUGIN_REPO]
++.TP
++\fB\-\-pluginUrl\fR value
++Full url to the plugin zip file instead of downloading the plugin from grafana.com/api [$GF_PLUGIN_URL]
++.TP
++\fB\-\-insecure\fR
++Skip TLS verification (insecure)
++.TP
++\fB\-\-debug\fR, \fB\-d\fR
++enable debug logging
++.TP
++\fB\-\-help\fR, \fB\-h\fR
++show help
++.TP
++\fB\-\-version\fR, \fB\-v\fR
++print the version
++.SH "SEE ALSO"
++Additional documentation for
++.B grafana-cli
++is available on-line at
++.BR http://docs.grafana.org/administration/cli/ .
++The full documentation for
++.B Grafana
++is available on-line at
++.BR http://docs.grafana.org/ .
+diff --git a/docs/man/man1/grafana-server.1 b/docs/man/man1/grafana-server.1
+new file mode 100644
+index 000000000..30b7c1306
+--- /dev/null
++++ b/docs/man/man1/grafana-server.1
+@@ -0,0 +1,156 @@
++.TH VERSION "1" "February 2019" "Version 5.4.3" "User Commands"
++.SH NAME
++grafana-server \- back-end server for the Grafana metrics dashboard and graph editor
++.SH DESCRIPTION
++.B grafana-server
++is the back-end server for the Grafana metrics dashboard and graph editor.
++The
++.B grafana-server
++program should not normally be run from the command line,
++except when testing or for development purposes.
++Rather it should be managed by
++.BR systemd .
++After installing Grafana, the systemd service should be enabled and started as follows:
++.P
++.in 1i
++.B systemctl daemon-reload
++.br
++.B systemctl enable grafana-server.service
++.br
++.B systemctl start grafana-server.service
++.in
++.P
++.SH OPTIONS
++The
++.B gafana-server
++configuration is specified in
++.BR /etc/grafana/grafana.ini
++and is well documented with comments.
++The command-line options listed below override options of
++the same (or similar) name in the configuration file and also provide
++additional options for testing Grafana.
++.P
++.HP
++\fB\-config\fR string
++.IP
++path to config file
++.HP
++\fB\-homepath\fR string
++.IP
++path to grafana install/home path, defaults to working directory
++.HP
++\fB\-packaging\fR string
++.IP
++describes the way Grafana was installed (default "unknown")
++.HP
++\fB\-pidfile\fR string
++.IP
++path to pid file
++.HP
++\fB\-profile\fR
++.IP
++Turn on pprof profiling
++.HP
++\fB\-profile\-port\fR int
++.IP
++Define custom port for profiling (default 6060)
++.HP
++\fB\-test\fR.bench regexp
++.IP
++run only benchmarks matching regexp
++.HP
++\fB\-test\fR.benchmem
++.IP
++print memory allocations for benchmarks
++.HP
++\fB\-test\fR.benchtime d
++.IP
++run each benchmark for duration d (default 1s)
++.HP
++\fB\-test\fR.blockprofile file
++.IP
++write a goroutine blocking profile to file
++.HP
++\fB\-test\fR.blockprofilerate rate
++.IP
++set blocking profile rate (see runtime.SetBlockProfileRate) (default 1)
++.HP
++\fB\-test\fR.count n
++.IP
++run tests and benchmarks n times (default 1)
++.HP
++\fB\-test\fR.coverprofile file
++.IP
++write a coverage profile to file
++.HP
++\fB\-test\fR.cpu list
++.IP
++comma\-separated list of cpu counts to run each test with
++.HP
++\fB\-test\fR.cpuprofile file
++.IP
++write a cpu profile to file
++.HP
++\fB\-test\fR.failfast
++.IP
++do not start new tests after the first test failure
++.HP
++\fB\-test\fR.list regexp
++.IP
++list tests, examples, and benchmarks matching regexp then exit
++.HP
++\fB\-test\fR.memprofile file
++.IP
++write a memory profile to file
++.HP
++\fB\-test\fR.memprofilerate rate
++.IP
++set memory profiling rate (see runtime.MemProfileRate)
++.HP
++\fB\-test\fR.mutexprofile string
++.IP
++write a mutex contention profile to the named file after execution
++.HP
++\fB\-test\fR.mutexprofilefraction int
++.IP
++if >= 0, calls runtime.SetMutexProfileFraction() (default 1)
++.HP
++\fB\-test\fR.outputdir dir
++.IP
++write profiles to dir
++.HP
++\fB\-test\fR.parallel n
++.IP
++run at most n tests in parallel (default 8)
++.HP
++\fB\-test\fR.run regexp
++.IP
++run only tests and examples matching regexp
++.HP
++\fB\-test\fR.short
++.IP
++run smaller test suite to save time
++.HP
++\fB\-test\fR.testlogfile file
++.IP
++write test action log to file (for use only by cmd/go)
++.HP
++\fB\-test\fR.timeout d
++.IP
++panic test binary after duration d (default 0, timeout disabled)
++.HP
++\fB\-test\fR.trace file
++.IP
++write an execution trace to file
++.HP
++\fB\-test\fR.v
++.IP
++verbose: print additional output
++.TP
++\fB\-v\fR
++prints current version and exits
++.SH "SEE ALSO"
++The full documentation for
++.B Grafana
++is available on-line at
++.BR http://docs.grafana.org/ .
diff --git a/002-update-golang-oauth2-vendor-sources.patch b/002-update-golang-oauth2-vendor-sources.patch
new file mode 100644
index 0000000..f0c3f34
--- /dev/null
+++ b/002-update-golang-oauth2-vendor-sources.patch
@@ -0,0 +1,26 @@
+diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
+index a3599bc7a..0c6579847 100644
+--- a/pkg/api/login_oauth.go
++++ b/pkg/api/login_oauth.go
+@@ -125,7 +125,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) {
+ oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, oauthClient)
+
+ // get token from provider
+- token, err := connect.Exchange(oauthCtx, code)
++ token, err := connect.Exchange(oauthCtx, code, oauth2.AccessTypeOnline)
+ if err != nil {
+ ctx.Handle(500, "login.OAuthLogin(NewTransportWithCode)", err)
+ return
+diff --git a/pkg/login/social/social.go b/pkg/login/social/social.go
+index 3ec0e2c96..72807d73e 100644
+--- a/pkg/login/social/social.go
++++ b/pkg/login/social/social.go
+@@ -29,7 +29,7 @@ type SocialConnector interface {
+ IsSignupAllowed() bool
+
+ AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string
+- Exchange(ctx context.Context, code string) (*oauth2.Token, error)
++ Exchange(ctx context.Context, code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
+ Client(ctx context.Context, t *oauth2.Token) *http.Client
+ TokenSource(ctx context.Context, t *oauth2.Token) oauth2.TokenSource
+ }
diff --git a/003-file-mode-updates.patch b/003-file-mode-updates.patch
new file mode 100644
index 0000000..3eb1243
--- /dev/null
+++ b/003-file-mode-updates.patch
@@ -0,0 +1,27 @@
+diff --git a/public/app/features/dashboard/components/DashboardSettings/SettingsCtrl.ts b/public/app/features/dashboard/components/DashboardSettings/SettingsCtrl.ts
+old mode 100755
+new mode 100644
+diff --git a/public/app/features/folders/services/FolderPageLoader.ts b/public/app/features/folders/services/FolderPageLoader.ts
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg b/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/graphite/partials/query.editor.html b/public/app/plugins/datasource/graphite/partials/query.editor.html
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/stackdriver/partials/query.editor.html b/public/app/plugins/datasource/stackdriver/partials/query.editor.html
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/panel/graph/graph.ts b/public/app/plugins/panel/graph/graph.ts
+old mode 100755
+new mode 100644
+diff --git a/public/fonts/grafana-icons.svg b/public/fonts/grafana-icons.svg
+old mode 100755
+new mode 100644
+diff --git a/public/sass/components/_panel_text.scss b/public/sass/components/_panel_text.scss
+index e69de29bb..cd0183132 100644
+--- a/public/sass/components/_panel_text.scss
++++ b/public/sass/components/_panel_text.scss
+@@ -0,0 +1 @@
++// nothing here
diff --git a/004-grafana.ini-for-Linux-distros.patch b/004-grafana.ini-for-Linux-distros.patch
new file mode 100644
index 0000000..cc4089d
--- /dev/null
+++ b/004-grafana.ini-for-Linux-distros.patch
@@ -0,0 +1,616 @@
+diff --git a/conf/distro-defaults.ini b/conf/distro-defaults.ini
+new file mode 100644
+index 000000000..b75e4c839
+--- /dev/null
++++ b/conf/distro-defaults.ini
+@@ -0,0 +1,610 @@
++##################### Grafana Configuration Defaults for distros #####################
++#
++# Do not modify this file in grafana installs
++#
++
++# possible values : production, development
++app_mode = production
++
++# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
++instance_name = ${HOSTNAME}
++
++#################################### Paths ###############################
++[paths]
++# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
++data = /var/lib/grafana
++
++# Temporary files in `data` directory older than given duration will be removed
++temp_data_lifetime = 24h
++
++# Directory where grafana can store logs
++logs = /var/log/grafana
++
++# Directory where grafana will automatically scan and look for plugins
++plugins = /var/lib/grafana/plugins
++
++# folder that contains provisioning config files that grafana will apply on startup and while running.
++provisioning = conf/provisioning
++
++#################################### Server ##############################
++[server]
++# Protocol (http, https, socket)
++protocol = http
++
++# The ip address to bind to, empty will bind to all interfaces
++http_addr =
++
++# The http port to use
++http_port = 3000
++
++# The public facing domain name used to access grafana from a browser
++domain = localhost
++
++# Redirect to correct domain if host header does not match domain
++# Prevents DNS rebinding attacks
++enforce_domain = false
++
++# The full public facing url
++root_url = %(protocol)s://%(domain)s:%(http_port)s/
++
++# Log web requests
++router_logging = false
++
++# the path relative working path
++static_root_path = public
++
++# enable gzip
++enable_gzip = false
++
++# https certs & key file
++cert_file =
++cert_key =
++
++# Unix socket path
++socket = /tmp/grafana.sock
++
++#################################### Database ############################
++[database]
++# You can configure the database connection by specifying type, host, name, user and password
++# as separate properties or as on string using the url property.
++
++# Either "mysql", "postgres" or "sqlite3", it's your choice
++type = sqlite3
++host = 127.0.0.1:3306
++name = grafana
++user = root
++# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
++password =
++# Use either URL or the previous fields to configure the database
++# Example: mysql://user:secret@host:port/database
++url =
++
++# Max idle conn setting default is 2
++max_idle_conn = 2
++
++# Max conn setting default is 0 (mean not set)
++max_open_conn =
++
++# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
++conn_max_lifetime = 14400
++
++# Set to true to log the sql calls and execution times.
++log_queries =
++
++# For "postgres", use either "disable", "require" or "verify-full"
++# For "mysql", use either "true", "false", or "skip-verify".
++ssl_mode = disable
++
++ca_cert_path =
++client_key_path =
++client_cert_path =
++server_cert_name =
++
++# For "sqlite3" only, path relative to data_path setting
++path = grafana.db
++
++# For "sqlite3" only. cache mode setting used for connecting to the database
++cache_mode = private
++
++#################################### Cache server #############################
++[remote_cache]
++# Either "redis", "memcached" or "database" default is "database"
++type = database
++
++# cache connectionstring options
++# database: will use Grafana primary database.
++# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
++# memcache: 127.0.0.1:11211
++connstr =
++
++#################################### Session #############################
++[session]
++# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file"
++provider = file
++
++# Provider config options
++# memory: not have any config yet
++# file: session dir path, is relative to grafana data_path
++# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
++# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
++# mysql: go-sql-driver/mysql dsn config string, examples:
++# `user:password@tcp(127.0.0.1:3306)/database_name`
++# `user:password@unix(/var/run/mysqld/mysqld.sock)/database_name`
++# memcache: 127.0.0.1:11211
++
++
++provider_config = sessions
++
++# Session cookie name
++cookie_name = grafana_sess
++
++# If you use session in https only, default is false
++cookie_secure = false
++
++# Session life time, default is 86400
++session_life_time = 86400
++gc_interval_time = 86400
++
++# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
++conn_max_lifetime = 14400
++
++#################################### Data proxy ###########################
++[dataproxy]
++
++# This enables data proxy logging, default is false
++logging = false
++
++# How long the data proxy should wait before timing out default is 30 (seconds)
++timeout = 30
++
++# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
++send_user_header = false
++
++#################################### Analytics ###########################
++[analytics]
++# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
++# No ip addresses are being tracked, only simple counters to track
++# running instances, dashboard and error counts. It is very helpful to us.
++# Change this option to false to disable reporting.
++reporting_enabled = false
++
++# Set to false to disable all checks to https://grafana.com
++# for new versions (grafana itself and plugins), check is used
++# in some UI views to notify that grafana or plugin update exists
++# This option does not cause any auto updates, nor send any information
++# only a GET request to https://grafana.com to get latest versions
++check_for_updates = false
++
++# Google Analytics universal tracking code, only enabled if you specify an id here
++google_analytics_ua_id =
++
++# Google Tag Manager ID, only enabled if you specify an id here
++google_tag_manager_id =
++
++#################################### Security ############################
++[security]
++# default admin user, created on startup
++admin_user = admin
++
++# default admin password, can be changed before first start of grafana, or in profile settings
++admin_password = admin
++
++# used for signing
++secret_key = SW2YcwTIb9zpOOhoPsMm
++
++# disable gravatar profile images
++disable_gravatar = false
++
++# data source proxy whitelist (ip_or_domain:port separated by spaces)
++data_source_proxy_whitelist =
++
++# disable protection against brute force login attempts
++disable_brute_force_login_protection = false
++
++# set to true if you host Grafana behind HTTPS. default is false.
++cookie_secure = false
++
++# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none"
++cookie_samesite = lax
++
++#################################### Snapshots ###########################
++[snapshots]
++# snapshot sharing options
++external_enabled = false
++external_snapshot_url = https://snapshots-origin.raintank.io
++external_snapshot_name = Publish to snapshot.raintank.io
++
++# remove expired snapshot
++snapshot_remove_expired = true
++
++#################################### Dashboards ##################
++
++[dashboards]
++# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
++versions_to_keep = 20
++
++#################################### Users ###############################
++[users]
++# disable user signup / registration
++allow_sign_up = false
++
++# Allow non admin users to create organizations
++allow_org_create = false
++
++# Set to true to automatically assign new users to the default organization (id 1)
++auto_assign_org = true
++
++# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
++auto_assign_org_id = 1
++
++# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
++auto_assign_org_role = Viewer
++
++# Require email validation before sign up completes
++verify_email_enabled = false
++
++# Background text for the user field on the login page
++login_hint = email or username
++password_hint = password
++
++# Default UI theme ("dark" or "light")
++default_theme = dark
++
++# External user management
++external_manage_link_url =
++external_manage_link_name =
++external_manage_info =
++
++# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
++viewers_can_edit = false
++
++# Editors can administrate dashboard, folders and teams they create
++editors_can_admin = false
++
++[auth]
++# Login cookie name
++login_cookie_name = grafana_session
++
++# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
++login_maximum_inactive_lifetime_days = 7
++
++# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
++login_maximum_lifetime_days = 30
++
++# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
++token_rotation_interval_minutes = 10
++
++# Set to true to disable (hide) the login form, useful if you use OAuth
++disable_login_form = false
++
++# Set to true to disable the signout link in the side menu. useful if you use auth.proxy
++disable_signout_menu = false
++
++# URL to redirect the user to after sign out
++signout_redirect_url =
++
++# Set to true to attempt login with OAuth automatically, skipping the login screen.
++# This setting is ignored if multiple OAuth providers are configured.
++oauth_auto_login = false
++
++#################################### Anonymous Auth ######################
++[auth.anonymous]
++# enable anonymous access
++enabled = false
++
++# specify organization name that should be used for unauthenticated users
++org_name = Main Org.
++
++# specify role for unauthenticated users
++org_role = Viewer
++
++#################################### Github Auth #########################
++[auth.github]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email,read:org
++auth_url = https://github.com/login/oauth/authorize
++token_url = https://github.com/login/oauth/access_token
++api_url = https://api.github.com/user
++team_ids =
++allowed_organizations =
++
++#################################### GitLab Auth #########################
++[auth.gitlab]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = api
++auth_url = https://gitlab.com/oauth/authorize
++token_url = https://gitlab.com/oauth/token
++api_url = https://gitlab.com/api/v4
++allowed_groups =
++
++#################################### Google Auth #########################
++[auth.google]
++enabled = false
++allow_sign_up = true
++client_id = some_client_id
++client_secret = some_client_secret
++scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
++auth_url = https://accounts.google.com/o/oauth2/auth
++token_url = https://accounts.google.com/o/oauth2/token
++api_url = https://www.googleapis.com/oauth2/v1/userinfo
++allowed_domains =
++hosted_domain =
++
++#################################### Grafana.com Auth ####################
++# legacy key names (so they work in env variables)
++[auth.grafananet]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++allowed_organizations =
++
++[auth.grafana_com]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++allowed_organizations =
++
++#################################### Generic OAuth #######################
++[auth.generic_oauth]
++name = OAuth
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++email_attribute_name = email:primary
++auth_url =
++token_url =
++api_url =
++team_ids =
++allowed_organizations =
++tls_skip_verify_insecure = false
++tls_client_cert =
++tls_client_key =
++tls_client_ca =
++send_client_credentials_via_post = false
++
++#################################### Basic Auth ##########################
++[auth.basic]
++enabled = true
++
++#################################### Auth Proxy ##########################
++[auth.proxy]
++enabled = false
++header_name = X-WEBAUTH-USER
++header_property = username
++auto_sign_up = true
++ldap_sync_ttl = 60
++whitelist =
++headers =
++
++#################################### Auth LDAP ###########################
++[auth.ldap]
++enabled = false
++config_file = /etc/grafana/ldap.toml
++allow_sign_up = true
++
++#################################### SMTP / Emailing #####################
++[smtp]
++enabled = false
++host = localhost:25
++user =
++# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
++password =
++cert_file =
++key_file =
++skip_verify = false
++from_address = admin(a)grafana.localhost
++from_name = Grafana
++ehlo_identity =
++
++[emails]
++welcome_email_on_sign_up = false
++templates_pattern = emails/*.html
++
++#################################### Logging ##########################
++[log]
++# Either "console", "file", "syslog". Default is console and file
++# Use space to separate multiple modes, e.g. "console file"
++mode = console file
++
++# Either "debug", "info", "warn", "error", "critical", default is "info"
++level = info
++
++# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
++filters =
++
++# For "console" mode only
++[log.console]
++level =
++
++# log line format, valid options are text, console and json
++format = console
++
++# For "file" mode only
++[log.file]
++level =
++
++# log line format, valid options are text, console and json
++format = text
++
++# This enables automated log rotate(switch of following options), default is true
++log_rotate = true
++
++# Max line number of single file, default is 1000000
++max_lines = 1000000
++
++# Max size shift of single file, default is 28 means 1 << 28, 256MB
++max_size_shift = 28
++
++# Segment log daily, default is true
++daily_rotate = true
++
++# Expired days of log file(delete after max days), default is 7
++max_days = 7
++
++[log.syslog]
++level =
++
++# log line format, valid options are text, console and json
++format = text
++
++# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
++network =
++address =
++
++# Syslog facility. user, daemon and local0 through local7 are valid.
++facility =
++
++# Syslog tag. By default, the process' argv[0] is used.
++tag =
++
++#################################### Usage Quotas ########################
++[quota]
++enabled = false
++
++#### set quotas to -1 to make unlimited. ####
++# limit number of users per Org.
++org_user = 10
++
++# limit number of dashboards per Org.
++org_dashboard = 100
++
++# limit number of data_sources per Org.
++org_data_source = 10
++
++# limit number of api_keys per Org.
++org_api_key = 10
++
++# limit number of orgs a user can create.
++user_org = 10
++
++# Global limit of users.
++global_user = -1
++
++# global limit of orgs.
++global_org = -1
++
++# global limit of dashboards
++global_dashboard = -1
++
++# global limit of api_keys
++global_api_key = -1
++
++# global limit on number of logged in users.
++global_session = -1
++
++#################################### Alerting ############################
++[alerting]
++# Disable alerting engine & UI features
++enabled = true
++# Makes it possible to turn off alert rule execution but alerting UI is visible
++execute_alerts = true
++
++# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
++error_or_timeout = alerting
++
++# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
++nodata_or_nullvalues = no_data
++
++# Alert notifications can include images, but rendering many images at the same time can overload the server
++# This limit will protect the server from render overloading and make sure notifications are sent out quickly
++concurrent_render_limit = 5
++
++#################################### Explore #############################
++[explore]
++# Enable the Explore section
++enabled = true
++
++#################################### Internal Grafana Metrics ############
++# Metrics available at HTTP API Url /metrics
++[metrics]
++enabled = true
++interval_seconds = 10
++
++#If both are set, basic auth will be required for the metrics endpoint.
++basic_auth_username =
++basic_auth_password =
++
++# Send internal Grafana metrics to graphite
++[metrics.graphite]
++# Enable by setting the address setting (ex localhost:2003)
++address =
++prefix = prod.grafana.%(instance_name)s.
++
++[grafana_net]
++url = https://grafana.org
++
++[grafana_com]
++url = https://grafana.com
++
++#################################### Distributed tracing ############
++[tracing.jaeger]
++# jaeger destination (ex localhost:6831)
++address =
++# tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2)
++always_included_tag =
++# Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote
++sampler_type = const
++# jaeger samplerconfig param
++# for "const" sampler, 0 or 1 for always false/true respectively
++# for "probabilistic" sampler, a probability between 0 and 1
++# for "rateLimiting" sampler, the number of spans per second
++# for "remote" sampler, param is the same as for "probabilistic"
++# and indicates the initial sampling rate before the actual one
++# is received from the mothership
++sampler_param = 1
++
++#################################### External Image Storage ##############
++[external_image_storage]
++# You can choose between (s3, webdav, gcs, azure_blob, local)
++provider =
++
++[external_image_storage.s3]
++bucket_url =
++bucket =
++region =
++path =
++access_key =
++secret_key =
++
++[external_image_storage.webdav]
++url =
++username =
++password =
++public_url =
++
++[external_image_storage.gcs]
++key_file =
++bucket =
++path =
++
++[external_image_storage.azure_blob]
++account_name =
++account_key =
++container_name =
++
++[external_image_storage.local]
++# does not require any configuration
++
++[rendering]
++# Options to configure external image rendering server like https://github.com/grafana/grafana-image-renderer
++server_url =
++callback_url =
++
++[panels]
++enable_alpha = false
++disable_sanitize_html = false
++
++[enterprise]
++license_path =
diff --git a/005-remove-jaeger-tracing.patch b/005-remove-jaeger-tracing.patch
new file mode 100644
index 0000000..f2b4778
--- /dev/null
+++ b/005-remove-jaeger-tracing.patch
@@ -0,0 +1,189 @@
+diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go
+index c10212329..a29d14c85 100644
+--- a/pkg/cmd/grafana-server/server.go
++++ b/pkg/cmd/grafana-server/server.go
+@@ -31,7 +31,6 @@ import (
+ _ "github.com/grafana/grafana/pkg/infra/metrics"
+ _ "github.com/grafana/grafana/pkg/infra/remotecache"
+ _ "github.com/grafana/grafana/pkg/infra/serverlock"
+- _ "github.com/grafana/grafana/pkg/infra/tracing"
+ _ "github.com/grafana/grafana/pkg/infra/usagestats"
+ _ "github.com/grafana/grafana/pkg/plugins"
+ _ "github.com/grafana/grafana/pkg/services/alerting"
+diff --git a/pkg/infra/tracing/tracing.go b/pkg/infra/tracing/tracing.go
+deleted file mode 100644
+index fd7258b7a..000000000
+--- a/pkg/infra/tracing/tracing.go
++++ /dev/null
+@@ -1,129 +0,0 @@
+-package tracing
+-
+-import (
+- "context"
+- "io"
+- "strings"
+-
+- "github.com/grafana/grafana/pkg/log"
+- "github.com/grafana/grafana/pkg/registry"
+- "github.com/grafana/grafana/pkg/setting"
+-
+- opentracing "github.com/opentracing/opentracing-go"
+- jaegercfg "github.com/uber/jaeger-client-go/config"
+-)
+-
+-func init() {
+- registry.RegisterService(&TracingService{})
+-}
+-
+-type TracingService struct {
+- enabled bool
+- address string
+- customTags map[string]string
+- samplerType string
+- samplerParam float64
+- log log.Logger
+- closer io.Closer
+-
+- Cfg *setting.Cfg `inject:""`
+-}
+-
+-func (ts *TracingService) Init() error {
+- ts.log = log.New("tracing")
+- ts.parseSettings()
+-
+- if ts.enabled {
+- ts.initGlobalTracer()
+- }
+-
+- return nil
+-}
+-
+-func (ts *TracingService) parseSettings() {
+- var section, err = ts.Cfg.Raw.GetSection("tracing.jaeger")
+- if err != nil {
+- return
+- }
+-
+- ts.address = section.Key("address").MustString("")
+- if ts.address != "" {
+- ts.enabled = true
+- }
+-
+- ts.customTags = splitTagSettings(section.Key("always_included_tag").MustString(""))
+- ts.samplerType = section.Key("sampler_type").MustString("")
+- ts.samplerParam = section.Key("sampler_param").MustFloat64(1)
+-}
+-
+-func (ts *TracingService) initGlobalTracer() error {
+- cfg := jaegercfg.Configuration{
+- ServiceName: "grafana",
+- Disabled: !ts.enabled,
+- Sampler: &jaegercfg.SamplerConfig{
+- Type: ts.samplerType,
+- Param: ts.samplerParam,
+- },
+- Reporter: &jaegercfg.ReporterConfig{
+- LogSpans: false,
+- LocalAgentHostPort: ts.address,
+- },
+- }
+-
+- jLogger := &jaegerLogWrapper{logger: log.New("jaeger")}
+-
+- options := []jaegercfg.Option{}
+- options = append(options, jaegercfg.Logger(jLogger))
+-
+- for tag, value := range ts.customTags {
+- options = append(options, jaegercfg.Tag(tag, value))
+- }
+-
+- tracer, closer, err := cfg.NewTracer(options...)
+- if err != nil {
+- return err
+- }
+-
+- opentracing.InitGlobalTracer(tracer)
+-
+- ts.closer = closer
+-
+- return nil
+-}
+-
+-func (ts *TracingService) Run(ctx context.Context) error {
+- <-ctx.Done()
+-
+- if ts.closer != nil {
+- ts.log.Info("Closing tracing")
+- ts.closer.Close()
+- }
+-
+- return nil
+-}
+-
+-func splitTagSettings(input string) map[string]string {
+- res := map[string]string{}
+-
+- tags := strings.Split(input, ",")
+- for _, v := range tags {
+- kv := strings.Split(v, ":")
+- if len(kv) > 1 {
+- res[kv[0]] = kv[1]
+- }
+- }
+-
+- return res
+-}
+-
+-type jaegerLogWrapper struct {
+- logger log.Logger
+-}
+-
+-func (jlw *jaegerLogWrapper) Error(msg string) {
+- jlw.logger.Error(msg)
+-}
+-
+-func (jlw *jaegerLogWrapper) Infof(msg string, args ...interface{}) {
+- jlw.logger.Info(msg, args)
+-}
+diff --git a/pkg/infra/tracing/tracing_test.go b/pkg/infra/tracing/tracing_test.go
+deleted file mode 100644
+index 27e4de777..000000000
+--- a/pkg/infra/tracing/tracing_test.go
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package tracing
+-
+-import "testing"
+-
+-func TestGroupSplit(t *testing.T) {
+- tests := []struct {
+- input string
+- expected map[string]string
+- }{
+- {
+- input: "tag1:value1,tag2:value2",
+- expected: map[string]string{
+- "tag1": "value1",
+- "tag2": "value2",
+- },
+- },
+- {
+- input: "",
+- expected: map[string]string{},
+- },
+- {
+- input: "tag1",
+- expected: map[string]string{},
+- },
+- }
+-
+- for _, test := range tests {
+- tags := splitTagSettings(test.input)
+- for k, v := range test.expected {
+- value, exists := tags[k]
+- if !exists || value != v {
+- t.Errorf("tags does not match %v ", test)
+- }
+- }
+- }
+-}
diff --git a/006-native-RPM-spec-and-webpack-build-script.patch b/006-native-RPM-spec-and-webpack-build-script.patch
new file mode 100644
index 0000000..683f12f
--- /dev/null
+++ b/006-native-RPM-spec-and-webpack-build-script.patch
@@ -0,0 +1,597 @@
+diff --git a/packaging/rpm/spec/README b/packaging/rpm/spec/README
+new file mode 100644
+index 000000000..f97c2a26b
+--- /dev/null
++++ b/packaging/rpm/spec/README
+@@ -0,0 +1,7 @@
++The make_webpack.sh script in this directory can be used to create
++a webpack tarball of all the nodejs dependencies needed to build a
++particular tagged version of grafana, along with the grafana tarball
++itself. After running the script, the two tarballs should be copied
++to your rpmbuild SOURCES. You can then run a native rpm spec build
++using grafana.spec.
++
+diff --git a/packaging/rpm/spec/grafana.spec b/packaging/rpm/spec/grafana.spec
+new file mode 100644
+index 000000000..9d69b105e
+--- /dev/null
++++ b/packaging/rpm/spec/grafana.spec
+@@ -0,0 +1,511 @@
++%global grafana_arches %{lua: go_arches = {}
++ for arch in rpm.expand("%{go_arches}"):gmatch("%S+") do
++ go_arches[arch] = 1
++ end
++ for arch in rpm.expand("%{nodejs_arches}"):gmatch("%S+") do
++ if go_arches[arch] then
++ print(arch .. " ")
++ end
++end}
++
++Name: grafana
++Version: 6.1.4
++Release: 1%{?dist}
++Summary: Metrics dashboard and graph editor
++License: ASL 2.0
++URL: https://grafana.org
++
++# Source0 contains the tagged upstream sources
++Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}...
++
++# Source1 contains the front-end javascript modules bundled into a webpack
++Source1: grafana_webpack-%{version}.tar.gz
++
++# Source2 is the script to create the above webpack from grafana sources
++Source2: make_webpack.sh
++
++# Patches for upstream (except Patch5)
++Patch0: 000-go-test-fixes.patch
++Patch1: 001-man-pages.patch
++Patch2: 002-update-golang-oauth2-vendor-sources.patch
++Patch3: 003-file-mode-updates.patch
++Patch4: 004-grafana.ini-for-Linux-distros.patch
++Patch5: 005-remove-jaeger-tracing.patch
++Patch6: 006-native-RPM-spec-and-webpack-build-script.patch
++
++# Intersection of go_arches and nodejs_arches
++ExclusiveArch: %{grafana_arches}
++
++%global GRAFANA_USER %{name}
++%global GRAFANA_GROUP %{name}
++%global GRAFANA_HOME %{_datadir}/%{name}
++
++# grafana-server service daemon uses systemd
++%{?systemd_requires}
++Requires(pre): shadow-utils
++
++BuildRequires: systemd, golang, compiler(go-compiler)
++
++# golang build deps. These allow us to unbundle vendor golang source.
++BuildRequires: golang(github.com/aws/aws-sdk-go)
++BuildRequires: golang(github.com/benbjohnson/clock)
++BuildRequires: golang(github.com/beorn7/perks/quantile)
++BuildRequires: golang(github.com/bmizerany/assert)
++BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
++BuildRequires: golang(github.com/BurntSushi/toml)
++BuildRequires: golang(github.com/codahale/hdrhistogram)
++BuildRequires: golang(github.com/codegangsta/cli)
++BuildRequires: golang(github.com/davecgh/go-spew/spew)
++BuildRequires: golang(github.com/denisenkom/go-mssqldb)
++BuildRequires: golang(github.com/facebookgo/inject)
++BuildRequires: golang(github.com/facebookgo/structtag)
++BuildRequires: golang(github.com/fatih/color)
++BuildRequires: golang(github.com/go-ini/ini)
++BuildRequires: golang(google.golang.org/appengine)
++BuildRequires: golang(golang.org/x/sys/unix)
++BuildRequires: golang(github.com/go-macaron/binding)
++BuildRequires: golang(github.com/go-macaron/gzip)
++BuildRequires: golang(github.com/go-macaron/inject)
++BuildRequires: golang(github.com/go-macaron/session)
++BuildRequires: golang(google.golang.org/genproto/googleapis/rpc/status)
++BuildRequires: golang(github.com/gopherjs/gopherjs/js)
++BuildRequires: golang(github.com/gorilla/websocket)
++BuildRequires: golang(github.com/gosimple/slug)
++BuildRequires: golang(github.com/go-sql-driver/mysql)
++BuildRequires: golang(github.com/go-stack/stack)
++BuildRequires: golang(github.com/go-xorm/builder)
++BuildRequires: golang(github.com/go-xorm/core)
++BuildRequires: golang(github.com/go-xorm/xorm)
++BuildRequires: golang(google.golang.org/grpc)
++BuildRequires: golang(github.com/hashicorp/go-hclog)
++# need grpc_broker in go-plugin >= 1.0.0-1
++BuildRequires: golang(github.com/hashicorp/go-plugin)
++BuildRequires: golang(github.com/hashicorp/go-version)
++BuildRequires: golang(github.com/hashicorp/yamux)
++BuildRequires: golang(github.com/inconshreveable/log15)
++BuildRequires: golang(github.com/jmespath/go-jmespath)
++BuildRequires: golang(github.com/jtolds/gls)
++BuildRequires: golang(github.com/klauspost/compress/flate)
++BuildRequires: golang(github.com/klauspost/compress/gzip)
++BuildRequires: golang(github.com/klauspost/compress/snappy)
++BuildRequires: golang(github.com/klauspost/cpuid)
++BuildRequires: golang(github.com/klauspost/crc32)
++BuildRequires: golang(github.com/kr/pretty)
++BuildRequires: golang(github.com/kr/text)
++BuildRequires: golang(github.com/lib/pq)
++BuildRequires: golang(github.com/mattn/go-colorable)
++BuildRequires: golang(github.com/mattn/go-isatty)
++BuildRequires: golang(github.com/mattn/go-sqlite3)
++BuildRequires: golang(github.com/matttproud/golang_protobuf_extensions/pbutil)
++BuildRequires: golang(github.com/mitchellh/go-testing-interface)
++BuildRequires: golang(github.com/oklog/run)
++BuildRequires: golang(github.com/opentracing/opentracing-go)
++BuildRequires: golang(github.com/patrickmn/go-cache)
++BuildRequires: golang(github.com/pkg/errors)
++BuildRequires: golang(github.com/prometheus/client_golang/api)
++BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
++BuildRequires: golang(github.com/prometheus/client_model/go)
++BuildRequires: golang-github-prometheus-common-devel
++BuildRequires: golang(github.com/prometheus/common/expfmt)
++BuildRequires: golang(github.com/prometheus/common/model)
++BuildRequires: golang(github.com/prometheus/common/expfmt)
++BuildRequires: golang(github.com/prometheus/procfs)
++BuildRequires: golang(github.com/prometheus/procfs/internal/util)
++BuildRequires: golang(github.com/prometheus/procfs)
++BuildRequires: golang(github.com/prometheus/procfs/internal/util)
++BuildRequires: golang(github.com/prometheus/procfs/nfs)
++BuildRequires: golang(github.com/prometheus/procfs/xfs)
++BuildRequires: golang(github.com/rainycape/unidecode)
++BuildRequires: golang(github.com/sergi/go-diff/diffmatchpatch)
++BuildRequires: golang(github.com/smartystreets/assertions)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey/gotest)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey/reporting)
++BuildRequires: golang(github.com/teris-io/shortid)
++BuildRequires: golang(github.com/Unknwon/com)
++BuildRequires: golang(github.com/VividCortex/mysqlerr)
++BuildRequires: golang(github.com/yudai/gojsondiff)
++BuildRequires: golang(github.com/yudai/golcs)
++BuildRequires: golang(golang.org/x/crypto/pbkdf2)
++BuildRequires: golang(golang.org/x/crypto/ed25519)
++BuildRequires: golang(golang.org/x/crypto/md4)
++BuildRequires: golang(golang.org/x/net/context)
++BuildRequires: golang(golang.org/x/net/context/ctxhttp)
++BuildRequires: golang(golang.org/x/net/http2)
++BuildRequires: golang(golang.org/x/net/http2/hpack)
++BuildRequires: golang(golang.org/x/net/http/httpguts)
++BuildRequires: golang(golang.org/x/net/idna)
++BuildRequires: golang(golang.org/x/net/internal/timeseries)
++BuildRequires: golang(golang.org/x/net/trace)
++BuildRequires: golang(golang.org/x/text/collate)
++BuildRequires: golang(golang.org/x/text/collate/build)
++BuildRequires: golang(golang.org/x/text/internal/colltab)
++BuildRequires: golang(golang.org/x/text/internal/gen)
++BuildRequires: golang(golang.org/x/text/internal/tag)
++BuildRequires: golang(golang.org/x/text/internal/triegen)
++BuildRequires: golang(golang.org/x/text/internal/ucd)
++BuildRequires: golang(golang.org/x/oauth2)
++BuildRequires: golang(golang.org/x/oauth2/google)
++BuildRequires: golang(golang.org/x/oauth2/internal)
++BuildRequires: golang(golang.org/x/oauth2/jws)
++BuildRequires: golang(golang.org/x/oauth2/jwt)
++BuildRequires: golang(github.com/golang/protobuf/proto)
++BuildRequires: golang(github.com/golang/protobuf/ptypes)
++BuildRequires: golang(github.com/golang/protobuf/ptypes)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/duration)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/any)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp)
++BuildRequires: golang(cloud.google.com/go/compute/metadata)
++BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3)
++BuildRequires: golang(gopkg.in/asn1-ber.v1)
++BuildRequires: golang(github.com/go-bufio/bufio)
++BuildRequires: golang(github.com/go-ini/ini)
++BuildRequires: golang(github.com/go-macaron/macaron)
++BuildRequires: golang(github.com/go-redis/redis)
++BuildRequires: golang(gopkg.in/square/go-jose.v2)
++BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher)
++BuildRequires: golang(gopkg.in/square/go-jose.v2/json)
++BuildRequires: golang(github.com/go-yaml/yaml)
++BuildRequires: golang(golang.org/x/sync/errgroup)
++BuildRequires: golang(gopkg.in/ldap.v3)
++BuildRequires: golang(gopkg.in/mail.v2)
++
++# Declare all nodejs modules bundled in the webpack - this is for security
++# purposes so if nodejs-foo ever needs an update, affected packages can be
++# easily identified. This is generated from package-lock.json once the webpack
++# has been built with make_webpack.sh.
++Provides: bundled(nodejs-abbrev) = 1.1.1
++Provides: bundled(nodejs-ansi-regex) = 2.1.1
++Provides: bundled(nodejs-ansi-styles) = 2.2.1
++Provides: bundled(nodejs-argparse) = 1.0.10
++Provides: bundled(nodejs-array-find-index) = 1.0.2
++Provides: bundled(nodejs-async) = 1.5.2
++Provides: bundled(nodejs-balanced-match) = 1.0.0
++Provides: bundled(nodejs-brace-expansion) = 1.1.11
++Provides: bundled(nodejs-builtin-modules) = 1.1.1
++Provides: bundled(nodejs-camelcase) = 2.1.1
++Provides: bundled(nodejs-camelcase-keys) = 2.1.0
++Provides: bundled(nodejs-chalk) = 1.1.3
++Provides: bundled(nodejs-coffee-script) = 1.10.0
++Provides: bundled(nodejs-colors) = 1.1.2
++Provides: bundled(nodejs-concat-map) = 0.0.1
++Provides: bundled(nodejs-currently-unhandled) = 0.4.1
++Provides: bundled(nodejs-dateformat) = 1.0.12
++Provides: bundled(nodejs-decamelize) = 1.2.0
++Provides: bundled(nodejs-error-ex) = 1.3.2
++Provides: bundled(nodejs-escape-string-regexp) = 1.0.5
++Provides: bundled(nodejs-esprima) = 2.7.3
++Provides: bundled(nodejs-eventemitter2) = 0.4.14
++Provides: bundled(nodejs-exit) = 0.1.2
++Provides: bundled(nodejs-find-up) = 1.1.2
++Provides: bundled(nodejs-findup-sync) = 0.3.0
++Provides: bundled(nodejs-fs.realpath) = 1.0.0
++Provides: bundled(nodejs-get-stdin) = 4.0.1
++Provides: bundled(nodejs-getobject) = 0.1.0
++Provides: bundled(nodejs-glob) = 7.0.6
++Provides: bundled(nodejs-graceful-fs) = 4.1.15
++Provides: bundled(nodejs-grunt) = 1.0.1
++Provides: bundled(nodejs-grunt-cli) = 1.2.0
++Provides: bundled(nodejs-grunt-known-options) = 1.1.1
++Provides: bundled(nodejs-grunt-legacy-log) = 1.0.2
++Provides: bundled(nodejs-lodash) = 4.17.11
++Provides: bundled(nodejs-grunt-legacy-log-utils) = 1.0.0
++Provides: bundled(nodejs-grunt-legacy-util) = 1.0.0
++Provides: bundled(nodejs-has-ansi) = 2.0.0
++Provides: bundled(nodejs-hooker) = 0.2.3
++Provides: bundled(nodejs-hosted-git-info) = 2.7.1
++Provides: bundled(nodejs-iconv-lite) = 0.4.24
++Provides: bundled(nodejs-indent-string) = 2.1.0
++Provides: bundled(nodejs-inflight) = 1.0.6
++Provides: bundled(nodejs-inherits) = 2.0.3
++Provides: bundled(nodejs-is-arrayish) = 0.2.1
++Provides: bundled(nodejs-is-builtin-module) = 1.0.0
++Provides: bundled(nodejs-is-finite) = 1.0.2
++Provides: bundled(nodejs-is-utf8) = 0.2.1
++Provides: bundled(nodejs-isexe) = 2.0.0
++Provides: bundled(nodejs-js-yaml) = 3.5.5
++Provides: bundled(nodejs-load-json-file) = 1.1.0
++Provides: bundled(nodejs-loud-rejection) = 1.6.0
++Provides: bundled(nodejs-map-obj) = 1.0.1
++Provides: bundled(nodejs-meow) = 3.7.0
++Provides: bundled(nodejs-minimatch) = 3.0.4
++Provides: bundled(nodejs-minimist) = 1.2.0
++Provides: bundled(nodejs-nopt) = 3.0.6
++Provides: bundled(nodejs-normalize-package-data) = 2.4.2
++Provides: bundled(nodejs-number-is-nan) = 1.0.1
++Provides: bundled(nodejs-object-assign) = 4.1.1
++Provides: bundled(nodejs-once) = 1.4.0
++Provides: bundled(nodejs-parse-json) = 2.2.0
++Provides: bundled(nodejs-path-exists) = 2.1.0
++Provides: bundled(nodejs-path-is-absolute) = 1.0.1
++Provides: bundled(nodejs-path-type) = 1.1.0
++Provides: bundled(nodejs-pify) = 2.3.0
++Provides: bundled(nodejs-pinkie) = 2.0.4
++Provides: bundled(nodejs-pinkie-promise) = 2.0.1
++Provides: bundled(nodejs-read-pkg) = 1.1.0
++Provides: bundled(nodejs-read-pkg-up) = 1.0.1
++Provides: bundled(nodejs-redent) = 1.0.0
++Provides: bundled(nodejs-repeating) = 2.0.1
++Provides: bundled(nodejs-resolve) = 1.1.7
++Provides: bundled(nodejs-rimraf) = 2.2.8
++Provides: bundled(nodejs-safer-buffer) = 2.1.2
++Provides: bundled(nodejs-semver) = 5.6.0
++Provides: bundled(nodejs-signal-exit) = 3.0.2
++Provides: bundled(nodejs-spdx-correct) = 3.1.0
++Provides: bundled(nodejs-spdx-exceptions) = 2.2.0
++Provides: bundled(nodejs-spdx-expression-parse) = 3.0.0
++Provides: bundled(nodejs-spdx-license-ids) = 3.0.3
++Provides: bundled(nodejs-sprintf-js) = 1.0.3
++Provides: bundled(nodejs-strip-ansi) = 3.0.1
++Provides: bundled(nodejs-strip-bom) = 2.0.0
++Provides: bundled(nodejs-strip-indent) = 1.0.1
++Provides: bundled(nodejs-supports-color) = 2.0.0
++Provides: bundled(nodejs-trim-newlines) = 1.0.0
++Provides: bundled(nodejs-underscore.string) = 3.2.3
++Provides: bundled(nodejs-validate-npm-package-license) = 3.0.4
++Provides: bundled(nodejs-which) = 1.2.14
++Provides: bundled(nodejs-wrappy) = 1.0.2
++Provides: bundled(nodejs-yarn) = 1.13.0
++
++
++%description
++Grafana is an open source, feature rich metrics dashboard and graph editor for
++Graphite, InfluxDB & OpenTSDB.
++
++
++%prep
++%setup -q -T -D -b 0
++%setup -q -T -D -b 1
++%patch0 -p1
++%patch1 -p1
++%patch2 -p1
++%patch3 -p1
++%patch4 -p1
++%patch5 -p1
++%patch6 -p1
++
++# Set up build subdirs and links
++mkdir -p %{_builddir}/src/github.com/grafana
++ln -sf %{_builddir}/%{name}-%{version} \
++ %{_builddir}/src/github.com/grafana/grafana
++
++# remove some (apparent) development files, for rpmlint
++rm -f %{_builddir}/src/github.com/grafana/grafana/public/sass/.sass-lint.yml
++rm -f %{_builddir}/src/github.com/grafana/grafana/public/test/.jshintrc
++
++# Unbundle all grafana vendor sources, as per BuildRequires above.
++# An exception is grafana-plugin-model, which is part of grafana.
++cp --parents -a vendor/github.com/grafana %{_builddir}
++rm -r vendor # remove all vendor sources
++mv %{_builddir}/vendor vendor # put back what we're keeping
++
++
++%build
++# Build the server-side binaries: grafana-server and grafana-cli
++export GOPATH=%{_builddir}:%{gopath}
++%gobuild -o grafana-cli ./pkg/cmd/grafana-cli
++%gobuild -o grafana-server ./pkg/cmd/grafana-server
++
++
++%install
++# binaries
++install -d %{buildroot}%{_sbindir}
++install -p -m 755 %{name}-server %{name}-cli %{buildroot}%{_sbindir}
++
++# other shared files, public html, webpack
++install -d %{buildroot}%{_datadir}/%{name}
++cp -a conf public %{buildroot}%{_datadir}/%{name}
++
++# man pages
++install -d %{buildroot}%{_mandir}/man1
++install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1
++
++# config dirs
++install -d %{buildroot}%{_sysconfdir}/%{name}
++install -d %{buildroot}%{_sysconfdir}/sysconfig
++
++# config defaults
++install -p -m 644 conf/distro-defaults.ini \
++ %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
++install -p -m 644 conf/distro-defaults.ini \
++ %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
++install -p -m 644 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml
++install -p -m 644 packaging/rpm/sysconfig/grafana-server \
++ %{buildroot}%{_sysconfdir}/sysconfig/grafana-server
++
++# config database directory and plugins
++install -d %{buildroot}%{_sharedstatedir}/%{name}
++install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}
++install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}/plugins
++
++# log directory
++install -d %{buildroot}%{_localstatedir}/log/%{name}
++
++# systemd service files
++install -d %{buildroot}%{_unitdir} # only needed for manual rpmbuilds
++install -p -m 644 packaging/rpm/systemd/grafana-server.service \
++ %{buildroot}%{_unitdir}
++
++# daemon run pid file config for using tmpfs
++install -d %{buildroot}%{_tmpfilesdir}
++echo "d %{_rundir}/%{name} 0755 %{GRAFANA_USER} %{GRAFANA_GROUP} -" \
++ > %{buildroot}%{_tmpfilesdir}/%{name}.conf
++
++%pre
++getent group %{GRAFANA_GROUP} >/dev/null || groupadd -r %{GRAFANA_GROUP}
++getent passwd %{GRAFANA_USER} >/dev/null || \
++ useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin \
++ -c "%{GRAFANA_USER} user account" %{GRAFANA_USER}
++exit 0
++
++%preun
++%systemd_preun grafana-server.service
++
++%post
++%systemd_post grafana-server.service
++
++%postun
++%systemd_postun_with_restart grafana-server.service
++
++
++%check
++cd %{_builddir}/src/github.com/grafana/grafana
++export GOPATH=%{_builddir}:%{gopath}
++# this test fails for some reason
++rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
++# should be using %%gochecks here, but it doesn't work
++go test ./pkg/...
++
++
++%files
++# binaries
++%{_sbindir}/%{name}-server
++%{_sbindir}/%{name}-cli
++
++# config files
++%dir %{_sysconfdir}/%{name}
++%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini
++%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml
++%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server
++
++# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
++%{_tmpfilesdir}/%{name}.conf
++
++# config database directory and plugins (actual db files are created by grafana-server)
++%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
++%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
++
++# shared directory and all files therein
++%dir %{_datadir}/%{name}
++%{_datadir}/%{name}/public
++%dir %{_datadir}/%{name}/conf
++%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/*
++
++# systemd service file
++%{_unitdir}/grafana-server.service
++
++# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
++%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
++
++# man pages for grafana binaries
++%{_mandir}/man1/%{name}-server.1*
++%{_mandir}/man1/%{name}-cli.1*
++
++# other docs and license
++%license LICENSE
++%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
++%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
++
++
++%changelog
++* Wed Apr 24 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.4-1
++- update to latest upstream stable release 6.1.4, see CHANGELOG
++- use gobuild and gochecks macros, eliminate arch symlinks
++- re-enable grafana-debugsource package
++- fix GRAFANA_GROUP typo
++- fix more modes for brp-mangle-shebangs
++- vendor source unbundling now done in prep after patches
++- remove all rhel and fedora conditional guff
++
++* Tue Apr 16 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.3-1
++- update to latest upstream stable release 6.1.3, see CHANGELOG
++- unbundle all vendor sources, replace with BuildRequires, see
++ the long list of blocker BZs linked to BZ#1670656
++- BuildRequires go-plugin >= v1.0.0 for grpc_broker (thanks eclipseo)
++- tweak make_webpack to no longer use grunt, switch to prod build
++- add ExclusiveArch lua script (thanks quantum.analyst)
++- move db directory and plugins to /var/lib/grafana
++- split out into 6 patches, ready for upstream PRs
++- add check to run go tests for gating checks
++
++* Thu Apr 04 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.0-1
++- update to latest upstream stable release 6.1.0, see CHANGELOG
++
++* Thu Mar 21 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.2-1
++- bump to latest upstream stable release 6.0.2-1
++- unbundle almost all remaining vendor code, see linked blockers in BZ#1670656
++
++* Fri Mar 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-3
++- bump to latest upstream stable release 6.0.1-1
++
++* Thu Mar 14 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-2
++- unbundle and add BuildRequires for golang-github-rainycape-unidecode-devel
++
++* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-1
++- update to v6.0.1 upstream sources, tweak distro config, re-do patch
++- simplify make_webpack.sh script (Elliott Sales de Andrade)
++- vendor/github.com/go-ldap is now gone, so don't unbundle it
++
++* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-11
++- tweak after latest feedback, bump to 5.4.3-11 (BZ 1670656)
++- build debuginfo package again
++- unbundle BuildRequires for golang-github-hashicorp-version-devel
++- remove some unneeded development files
++- remove macros from changelog and other rpmlint tweaks
++
++* Fri Feb 22 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-10
++- tweak spec for available and unavailable (bundled) golang packages
++
++* Wed Feb 20 2019 Xavier Bachelot <xavier(a)bachelot.org> 5.4.3-9
++- Remove extraneous slash (cosmetic)
++- Create directories just before moving stuff in them
++- Truncate long lines
++- Group all golang stuff
++- Simplify BuildRequires/bundled Provides
++- Sort BuildRequires/bundled Provides
++- Fix bundled go packages Provides
++
++* Fri Feb 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-8
++- add BuildRequires (and unbundle) vendor sources available in Fedora
++- declare Provides for remaining (bundled) vendor go sources
++- do not attempt to unbundle anything on RHEL < 7 or Fedora < 28
++
++* Thu Feb 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-7
++- further refinement for spec doc section from Xavier Bachelot
++- disable debug_package to avoid empty debugsourcefiles.list
++
++* Wed Feb 06 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-6
++- further refinement following review by Xavier Bachelot
++
++* Tue Feb 05 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-5
++- further refinement following review by Xavier Bachelot
++
++* Fri Feb 01 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-4
++- further spec updates after packaging review
++- reworked post-install scriplets
++
++* Thu Jan 31 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-3
++- tweak FHS patch, update spec after packaging review
++
++* Wed Jan 30 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-2
++- add patch to be standard FHS compliant, remove phantomjs
++- update to v5.4.3 upstream community sources
++
++* Wed Jan 09 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.2-1
++- update to v5.4.2 upstream community sources
++
++* Thu Oct 18 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.3.1-1
++- update to v5.3.1 upstream community sources
++
++* Tue Oct 02 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.2.5-1
++- native RPM spec build with current tagged v5.2.5 sources
+diff --git a/packaging/rpm/spec/make_webpack.sh b/packaging/rpm/spec/make_webpack.sh
+new file mode 100755
+index 000000000..47a8025ff
+--- /dev/null
++++ b/packaging/rpm/spec/make_webpack.sh
+@@ -0,0 +1,61 @@
++#! /bin/bash
++#
++# Copyright (c) 2019 Red Hat.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 2 of the License, or (at your
++# option) any later version.
++#
++# This program 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
++# for more details.
++#
++
++[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
++
++# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
++VER=$1
++BUILDDIR=`mktemp -d buildXXXXXX`
++
++[ ! -f /usr/bin/npm ] && echo Error, please install \"npm\" package && exit 1
++
++# get src tree and set cwd
++echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
++git clone https://github.com/grafana/grafana grafana-$VER
++cd grafana-$VER
++git checkout -b v$VER v$VER
++
++# exclude the phantomjs-prebuilt binary module from the webpack
++sed -i '/phantomjs-prebuilt/d' package.json
++
++# nuke grunt task for copying phantomjs
++rm -f scripts/grunt/options/phantomjs.js
++sed -i '/phantomjs/d' scripts/grunt/*.js
++
++# populate node_modules using package.json
++echo Running yarn to populate local node_modules ....
++npm install yarn
++node_modules/yarn/bin/yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
++node_modules/yarn/bin/yarn --non-interactive -W add webpack-cli
++
++# build the webpack
++echo;echo Building production webpack ....
++node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
++
++cd ..
++
++# webpack tarball. Includes public/views because index.html references the webpack
++tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
++
++# source tarball (if needed)
++if [ ! -f grafana-$VER.tar.gz ]; then
++ wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
++fi
++
++# done
++echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
++echo should now be copied to your \$HOME/rpmbuild/SOURCES
++
++exit 0
diff --git a/grafana.spec b/grafana.spec
new file mode 100644
index 0000000..9d69b10
--- /dev/null
+++ b/grafana.spec
@@ -0,0 +1,511 @@
+%global grafana_arches %{lua: go_arches = {}
+ for arch in rpm.expand("%{go_arches}"):gmatch("%S+") do
+ go_arches[arch] = 1
+ end
+ for arch in rpm.expand("%{nodejs_arches}"):gmatch("%S+") do
+ if go_arches[arch] then
+ print(arch .. " ")
+ end
+end}
+
+Name: grafana
+Version: 6.1.4
+Release: 1%{?dist}
+Summary: Metrics dashboard and graph editor
+License: ASL 2.0
+URL: https://grafana.org
+
+# Source0 contains the tagged upstream sources
+Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}...
+
+# Source1 contains the front-end javascript modules bundled into a webpack
+Source1: grafana_webpack-%{version}.tar.gz
+
+# Source2 is the script to create the above webpack from grafana sources
+Source2: make_webpack.sh
+
+# Patches for upstream (except Patch5)
+Patch0: 000-go-test-fixes.patch
+Patch1: 001-man-pages.patch
+Patch2: 002-update-golang-oauth2-vendor-sources.patch
+Patch3: 003-file-mode-updates.patch
+Patch4: 004-grafana.ini-for-Linux-distros.patch
+Patch5: 005-remove-jaeger-tracing.patch
+Patch6: 006-native-RPM-spec-and-webpack-build-script.patch
+
+# Intersection of go_arches and nodejs_arches
+ExclusiveArch: %{grafana_arches}
+
+%global GRAFANA_USER %{name}
+%global GRAFANA_GROUP %{name}
+%global GRAFANA_HOME %{_datadir}/%{name}
+
+# grafana-server service daemon uses systemd
+%{?systemd_requires}
+Requires(pre): shadow-utils
+
+BuildRequires: systemd, golang, compiler(go-compiler)
+
+# golang build deps. These allow us to unbundle vendor golang source.
+BuildRequires: golang(github.com/aws/aws-sdk-go)
+BuildRequires: golang(github.com/benbjohnson/clock)
+BuildRequires: golang(github.com/beorn7/perks/quantile)
+BuildRequires: golang(github.com/bmizerany/assert)
+BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
+BuildRequires: golang(github.com/BurntSushi/toml)
+BuildRequires: golang(github.com/codahale/hdrhistogram)
+BuildRequires: golang(github.com/codegangsta/cli)
+BuildRequires: golang(github.com/davecgh/go-spew/spew)
+BuildRequires: golang(github.com/denisenkom/go-mssqldb)
+BuildRequires: golang(github.com/facebookgo/inject)
+BuildRequires: golang(github.com/facebookgo/structtag)
+BuildRequires: golang(github.com/fatih/color)
+BuildRequires: golang(github.com/go-ini/ini)
+BuildRequires: golang(google.golang.org/appengine)
+BuildRequires: golang(golang.org/x/sys/unix)
+BuildRequires: golang(github.com/go-macaron/binding)
+BuildRequires: golang(github.com/go-macaron/gzip)
+BuildRequires: golang(github.com/go-macaron/inject)
+BuildRequires: golang(github.com/go-macaron/session)
+BuildRequires: golang(google.golang.org/genproto/googleapis/rpc/status)
+BuildRequires: golang(github.com/gopherjs/gopherjs/js)
+BuildRequires: golang(github.com/gorilla/websocket)
+BuildRequires: golang(github.com/gosimple/slug)
+BuildRequires: golang(github.com/go-sql-driver/mysql)
+BuildRequires: golang(github.com/go-stack/stack)
+BuildRequires: golang(github.com/go-xorm/builder)
+BuildRequires: golang(github.com/go-xorm/core)
+BuildRequires: golang(github.com/go-xorm/xorm)
+BuildRequires: golang(google.golang.org/grpc)
+BuildRequires: golang(github.com/hashicorp/go-hclog)
+# need grpc_broker in go-plugin >= 1.0.0-1
+BuildRequires: golang(github.com/hashicorp/go-plugin)
+BuildRequires: golang(github.com/hashicorp/go-version)
+BuildRequires: golang(github.com/hashicorp/yamux)
+BuildRequires: golang(github.com/inconshreveable/log15)
+BuildRequires: golang(github.com/jmespath/go-jmespath)
+BuildRequires: golang(github.com/jtolds/gls)
+BuildRequires: golang(github.com/klauspost/compress/flate)
+BuildRequires: golang(github.com/klauspost/compress/gzip)
+BuildRequires: golang(github.com/klauspost/compress/snappy)
+BuildRequires: golang(github.com/klauspost/cpuid)
+BuildRequires: golang(github.com/klauspost/crc32)
+BuildRequires: golang(github.com/kr/pretty)
+BuildRequires: golang(github.com/kr/text)
+BuildRequires: golang(github.com/lib/pq)
+BuildRequires: golang(github.com/mattn/go-colorable)
+BuildRequires: golang(github.com/mattn/go-isatty)
+BuildRequires: golang(github.com/mattn/go-sqlite3)
+BuildRequires: golang(github.com/matttproud/golang_protobuf_extensions/pbutil)
+BuildRequires: golang(github.com/mitchellh/go-testing-interface)
+BuildRequires: golang(github.com/oklog/run)
+BuildRequires: golang(github.com/opentracing/opentracing-go)
+BuildRequires: golang(github.com/patrickmn/go-cache)
+BuildRequires: golang(github.com/pkg/errors)
+BuildRequires: golang(github.com/prometheus/client_golang/api)
+BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
+BuildRequires: golang(github.com/prometheus/client_model/go)
+BuildRequires: golang-github-prometheus-common-devel
+BuildRequires: golang(github.com/prometheus/common/expfmt)
+BuildRequires: golang(github.com/prometheus/common/model)
+BuildRequires: golang(github.com/prometheus/common/expfmt)
+BuildRequires: golang(github.com/prometheus/procfs)
+BuildRequires: golang(github.com/prometheus/procfs/internal/util)
+BuildRequires: golang(github.com/prometheus/procfs)
+BuildRequires: golang(github.com/prometheus/procfs/internal/util)
+BuildRequires: golang(github.com/prometheus/procfs/nfs)
+BuildRequires: golang(github.com/prometheus/procfs/xfs)
+BuildRequires: golang(github.com/rainycape/unidecode)
+BuildRequires: golang(github.com/sergi/go-diff/diffmatchpatch)
+BuildRequires: golang(github.com/smartystreets/assertions)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey/gotest)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey/reporting)
+BuildRequires: golang(github.com/teris-io/shortid)
+BuildRequires: golang(github.com/Unknwon/com)
+BuildRequires: golang(github.com/VividCortex/mysqlerr)
+BuildRequires: golang(github.com/yudai/gojsondiff)
+BuildRequires: golang(github.com/yudai/golcs)
+BuildRequires: golang(golang.org/x/crypto/pbkdf2)
+BuildRequires: golang(golang.org/x/crypto/ed25519)
+BuildRequires: golang(golang.org/x/crypto/md4)
+BuildRequires: golang(golang.org/x/net/context)
+BuildRequires: golang(golang.org/x/net/context/ctxhttp)
+BuildRequires: golang(golang.org/x/net/http2)
+BuildRequires: golang(golang.org/x/net/http2/hpack)
+BuildRequires: golang(golang.org/x/net/http/httpguts)
+BuildRequires: golang(golang.org/x/net/idna)
+BuildRequires: golang(golang.org/x/net/internal/timeseries)
+BuildRequires: golang(golang.org/x/net/trace)
+BuildRequires: golang(golang.org/x/text/collate)
+BuildRequires: golang(golang.org/x/text/collate/build)
+BuildRequires: golang(golang.org/x/text/internal/colltab)
+BuildRequires: golang(golang.org/x/text/internal/gen)
+BuildRequires: golang(golang.org/x/text/internal/tag)
+BuildRequires: golang(golang.org/x/text/internal/triegen)
+BuildRequires: golang(golang.org/x/text/internal/ucd)
+BuildRequires: golang(golang.org/x/oauth2)
+BuildRequires: golang(golang.org/x/oauth2/google)
+BuildRequires: golang(golang.org/x/oauth2/internal)
+BuildRequires: golang(golang.org/x/oauth2/jws)
+BuildRequires: golang(golang.org/x/oauth2/jwt)
+BuildRequires: golang(github.com/golang/protobuf/proto)
+BuildRequires: golang(github.com/golang/protobuf/ptypes)
+BuildRequires: golang(github.com/golang/protobuf/ptypes)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/duration)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/any)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp)
+BuildRequires: golang(cloud.google.com/go/compute/metadata)
+BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3)
+BuildRequires: golang(gopkg.in/asn1-ber.v1)
+BuildRequires: golang(github.com/go-bufio/bufio)
+BuildRequires: golang(github.com/go-ini/ini)
+BuildRequires: golang(github.com/go-macaron/macaron)
+BuildRequires: golang(github.com/go-redis/redis)
+BuildRequires: golang(gopkg.in/square/go-jose.v2)
+BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher)
+BuildRequires: golang(gopkg.in/square/go-jose.v2/json)
+BuildRequires: golang(github.com/go-yaml/yaml)
+BuildRequires: golang(golang.org/x/sync/errgroup)
+BuildRequires: golang(gopkg.in/ldap.v3)
+BuildRequires: golang(gopkg.in/mail.v2)
+
+# Declare all nodejs modules bundled in the webpack - this is for security
+# purposes so if nodejs-foo ever needs an update, affected packages can be
+# easily identified. This is generated from package-lock.json once the webpack
+# has been built with make_webpack.sh.
+Provides: bundled(nodejs-abbrev) = 1.1.1
+Provides: bundled(nodejs-ansi-regex) = 2.1.1
+Provides: bundled(nodejs-ansi-styles) = 2.2.1
+Provides: bundled(nodejs-argparse) = 1.0.10
+Provides: bundled(nodejs-array-find-index) = 1.0.2
+Provides: bundled(nodejs-async) = 1.5.2
+Provides: bundled(nodejs-balanced-match) = 1.0.0
+Provides: bundled(nodejs-brace-expansion) = 1.1.11
+Provides: bundled(nodejs-builtin-modules) = 1.1.1
+Provides: bundled(nodejs-camelcase) = 2.1.1
+Provides: bundled(nodejs-camelcase-keys) = 2.1.0
+Provides: bundled(nodejs-chalk) = 1.1.3
+Provides: bundled(nodejs-coffee-script) = 1.10.0
+Provides: bundled(nodejs-colors) = 1.1.2
+Provides: bundled(nodejs-concat-map) = 0.0.1
+Provides: bundled(nodejs-currently-unhandled) = 0.4.1
+Provides: bundled(nodejs-dateformat) = 1.0.12
+Provides: bundled(nodejs-decamelize) = 1.2.0
+Provides: bundled(nodejs-error-ex) = 1.3.2
+Provides: bundled(nodejs-escape-string-regexp) = 1.0.5
+Provides: bundled(nodejs-esprima) = 2.7.3
+Provides: bundled(nodejs-eventemitter2) = 0.4.14
+Provides: bundled(nodejs-exit) = 0.1.2
+Provides: bundled(nodejs-find-up) = 1.1.2
+Provides: bundled(nodejs-findup-sync) = 0.3.0
+Provides: bundled(nodejs-fs.realpath) = 1.0.0
+Provides: bundled(nodejs-get-stdin) = 4.0.1
+Provides: bundled(nodejs-getobject) = 0.1.0
+Provides: bundled(nodejs-glob) = 7.0.6
+Provides: bundled(nodejs-graceful-fs) = 4.1.15
+Provides: bundled(nodejs-grunt) = 1.0.1
+Provides: bundled(nodejs-grunt-cli) = 1.2.0
+Provides: bundled(nodejs-grunt-known-options) = 1.1.1
+Provides: bundled(nodejs-grunt-legacy-log) = 1.0.2
+Provides: bundled(nodejs-lodash) = 4.17.11
+Provides: bundled(nodejs-grunt-legacy-log-utils) = 1.0.0
+Provides: bundled(nodejs-grunt-legacy-util) = 1.0.0
+Provides: bundled(nodejs-has-ansi) = 2.0.0
+Provides: bundled(nodejs-hooker) = 0.2.3
+Provides: bundled(nodejs-hosted-git-info) = 2.7.1
+Provides: bundled(nodejs-iconv-lite) = 0.4.24
+Provides: bundled(nodejs-indent-string) = 2.1.0
+Provides: bundled(nodejs-inflight) = 1.0.6
+Provides: bundled(nodejs-inherits) = 2.0.3
+Provides: bundled(nodejs-is-arrayish) = 0.2.1
+Provides: bundled(nodejs-is-builtin-module) = 1.0.0
+Provides: bundled(nodejs-is-finite) = 1.0.2
+Provides: bundled(nodejs-is-utf8) = 0.2.1
+Provides: bundled(nodejs-isexe) = 2.0.0
+Provides: bundled(nodejs-js-yaml) = 3.5.5
+Provides: bundled(nodejs-load-json-file) = 1.1.0
+Provides: bundled(nodejs-loud-rejection) = 1.6.0
+Provides: bundled(nodejs-map-obj) = 1.0.1
+Provides: bundled(nodejs-meow) = 3.7.0
+Provides: bundled(nodejs-minimatch) = 3.0.4
+Provides: bundled(nodejs-minimist) = 1.2.0
+Provides: bundled(nodejs-nopt) = 3.0.6
+Provides: bundled(nodejs-normalize-package-data) = 2.4.2
+Provides: bundled(nodejs-number-is-nan) = 1.0.1
+Provides: bundled(nodejs-object-assign) = 4.1.1
+Provides: bundled(nodejs-once) = 1.4.0
+Provides: bundled(nodejs-parse-json) = 2.2.0
+Provides: bundled(nodejs-path-exists) = 2.1.0
+Provides: bundled(nodejs-path-is-absolute) = 1.0.1
+Provides: bundled(nodejs-path-type) = 1.1.0
+Provides: bundled(nodejs-pify) = 2.3.0
+Provides: bundled(nodejs-pinkie) = 2.0.4
+Provides: bundled(nodejs-pinkie-promise) = 2.0.1
+Provides: bundled(nodejs-read-pkg) = 1.1.0
+Provides: bundled(nodejs-read-pkg-up) = 1.0.1
+Provides: bundled(nodejs-redent) = 1.0.0
+Provides: bundled(nodejs-repeating) = 2.0.1
+Provides: bundled(nodejs-resolve) = 1.1.7
+Provides: bundled(nodejs-rimraf) = 2.2.8
+Provides: bundled(nodejs-safer-buffer) = 2.1.2
+Provides: bundled(nodejs-semver) = 5.6.0
+Provides: bundled(nodejs-signal-exit) = 3.0.2
+Provides: bundled(nodejs-spdx-correct) = 3.1.0
+Provides: bundled(nodejs-spdx-exceptions) = 2.2.0
+Provides: bundled(nodejs-spdx-expression-parse) = 3.0.0
+Provides: bundled(nodejs-spdx-license-ids) = 3.0.3
+Provides: bundled(nodejs-sprintf-js) = 1.0.3
+Provides: bundled(nodejs-strip-ansi) = 3.0.1
+Provides: bundled(nodejs-strip-bom) = 2.0.0
+Provides: bundled(nodejs-strip-indent) = 1.0.1
+Provides: bundled(nodejs-supports-color) = 2.0.0
+Provides: bundled(nodejs-trim-newlines) = 1.0.0
+Provides: bundled(nodejs-underscore.string) = 3.2.3
+Provides: bundled(nodejs-validate-npm-package-license) = 3.0.4
+Provides: bundled(nodejs-which) = 1.2.14
+Provides: bundled(nodejs-wrappy) = 1.0.2
+Provides: bundled(nodejs-yarn) = 1.13.0
+
+
+%description
+Grafana is an open source, feature rich metrics dashboard and graph editor for
+Graphite, InfluxDB & OpenTSDB.
+
+
+%prep
+%setup -q -T -D -b 0
+%setup -q -T -D -b 1
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+
+# Set up build subdirs and links
+mkdir -p %{_builddir}/src/github.com/grafana
+ln -sf %{_builddir}/%{name}-%{version} \
+ %{_builddir}/src/github.com/grafana/grafana
+
+# remove some (apparent) development files, for rpmlint
+rm -f %{_builddir}/src/github.com/grafana/grafana/public/sass/.sass-lint.yml
+rm -f %{_builddir}/src/github.com/grafana/grafana/public/test/.jshintrc
+
+# Unbundle all grafana vendor sources, as per BuildRequires above.
+# An exception is grafana-plugin-model, which is part of grafana.
+cp --parents -a vendor/github.com/grafana %{_builddir}
+rm -r vendor # remove all vendor sources
+mv %{_builddir}/vendor vendor # put back what we're keeping
+
+
+%build
+# Build the server-side binaries: grafana-server and grafana-cli
+export GOPATH=%{_builddir}:%{gopath}
+%gobuild -o grafana-cli ./pkg/cmd/grafana-cli
+%gobuild -o grafana-server ./pkg/cmd/grafana-server
+
+
+%install
+# binaries
+install -d %{buildroot}%{_sbindir}
+install -p -m 755 %{name}-server %{name}-cli %{buildroot}%{_sbindir}
+
+# other shared files, public html, webpack
+install -d %{buildroot}%{_datadir}/%{name}
+cp -a conf public %{buildroot}%{_datadir}/%{name}
+
+# man pages
+install -d %{buildroot}%{_mandir}/man1
+install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1
+
+# config dirs
+install -d %{buildroot}%{_sysconfdir}/%{name}
+install -d %{buildroot}%{_sysconfdir}/sysconfig
+
+# config defaults
+install -p -m 644 conf/distro-defaults.ini \
+ %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
+install -p -m 644 conf/distro-defaults.ini \
+ %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
+install -p -m 644 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml
+install -p -m 644 packaging/rpm/sysconfig/grafana-server \
+ %{buildroot}%{_sysconfdir}/sysconfig/grafana-server
+
+# config database directory and plugins
+install -d %{buildroot}%{_sharedstatedir}/%{name}
+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}
+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}/plugins
+
+# log directory
+install -d %{buildroot}%{_localstatedir}/log/%{name}
+
+# systemd service files
+install -d %{buildroot}%{_unitdir} # only needed for manual rpmbuilds
+install -p -m 644 packaging/rpm/systemd/grafana-server.service \
+ %{buildroot}%{_unitdir}
+
+# daemon run pid file config for using tmpfs
+install -d %{buildroot}%{_tmpfilesdir}
+echo "d %{_rundir}/%{name} 0755 %{GRAFANA_USER} %{GRAFANA_GROUP} -" \
+ > %{buildroot}%{_tmpfilesdir}/%{name}.conf
+
+%pre
+getent group %{GRAFANA_GROUP} >/dev/null || groupadd -r %{GRAFANA_GROUP}
+getent passwd %{GRAFANA_USER} >/dev/null || \
+ useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin \
+ -c "%{GRAFANA_USER} user account" %{GRAFANA_USER}
+exit 0
+
+%preun
+%systemd_preun grafana-server.service
+
+%post
+%systemd_post grafana-server.service
+
+%postun
+%systemd_postun_with_restart grafana-server.service
+
+
+%check
+cd %{_builddir}/src/github.com/grafana/grafana
+export GOPATH=%{_builddir}:%{gopath}
+# this test fails for some reason
+rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
+# should be using %%gochecks here, but it doesn't work
+go test ./pkg/...
+
+
+%files
+# binaries
+%{_sbindir}/%{name}-server
+%{_sbindir}/%{name}-cli
+
+# config files
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini
+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml
+%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server
+
+# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
+%{_tmpfilesdir}/%{name}.conf
+
+# config database directory and plugins (actual db files are created by grafana-server)
+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
+
+# shared directory and all files therein
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/public
+%dir %{_datadir}/%{name}/conf
+%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/*
+
+# systemd service file
+%{_unitdir}/grafana-server.service
+
+# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
+%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
+
+# man pages for grafana binaries
+%{_mandir}/man1/%{name}-server.1*
+%{_mandir}/man1/%{name}-cli.1*
+
+# other docs and license
+%license LICENSE
+%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
+%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
+
+
+%changelog
+* Wed Apr 24 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.4-1
+- update to latest upstream stable release 6.1.4, see CHANGELOG
+- use gobuild and gochecks macros, eliminate arch symlinks
+- re-enable grafana-debugsource package
+- fix GRAFANA_GROUP typo
+- fix more modes for brp-mangle-shebangs
+- vendor source unbundling now done in prep after patches
+- remove all rhel and fedora conditional guff
+
+* Tue Apr 16 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.3-1
+- update to latest upstream stable release 6.1.3, see CHANGELOG
+- unbundle all vendor sources, replace with BuildRequires, see
+ the long list of blocker BZs linked to BZ#1670656
+- BuildRequires go-plugin >= v1.0.0 for grpc_broker (thanks eclipseo)
+- tweak make_webpack to no longer use grunt, switch to prod build
+- add ExclusiveArch lua script (thanks quantum.analyst)
+- move db directory and plugins to /var/lib/grafana
+- split out into 6 patches, ready for upstream PRs
+- add check to run go tests for gating checks
+
+* Thu Apr 04 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.0-1
+- update to latest upstream stable release 6.1.0, see CHANGELOG
+
+* Thu Mar 21 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.2-1
+- bump to latest upstream stable release 6.0.2-1
+- unbundle almost all remaining vendor code, see linked blockers in BZ#1670656
+
+* Fri Mar 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-3
+- bump to latest upstream stable release 6.0.1-1
+
+* Thu Mar 14 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-2
+- unbundle and add BuildRequires for golang-github-rainycape-unidecode-devel
+
+* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-1
+- update to v6.0.1 upstream sources, tweak distro config, re-do patch
+- simplify make_webpack.sh script (Elliott Sales de Andrade)
+- vendor/github.com/go-ldap is now gone, so don't unbundle it
+
+* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-11
+- tweak after latest feedback, bump to 5.4.3-11 (BZ 1670656)
+- build debuginfo package again
+- unbundle BuildRequires for golang-github-hashicorp-version-devel
+- remove some unneeded development files
+- remove macros from changelog and other rpmlint tweaks
+
+* Fri Feb 22 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-10
+- tweak spec for available and unavailable (bundled) golang packages
+
+* Wed Feb 20 2019 Xavier Bachelot <xavier(a)bachelot.org> 5.4.3-9
+- Remove extraneous slash (cosmetic)
+- Create directories just before moving stuff in them
+- Truncate long lines
+- Group all golang stuff
+- Simplify BuildRequires/bundled Provides
+- Sort BuildRequires/bundled Provides
+- Fix bundled go packages Provides
+
+* Fri Feb 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-8
+- add BuildRequires (and unbundle) vendor sources available in Fedora
+- declare Provides for remaining (bundled) vendor go sources
+- do not attempt to unbundle anything on RHEL < 7 or Fedora < 28
+
+* Thu Feb 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-7
+- further refinement for spec doc section from Xavier Bachelot
+- disable debug_package to avoid empty debugsourcefiles.list
+
+* Wed Feb 06 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-6
+- further refinement following review by Xavier Bachelot
+
+* Tue Feb 05 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-5
+- further refinement following review by Xavier Bachelot
+
+* Fri Feb 01 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-4
+- further spec updates after packaging review
+- reworked post-install scriplets
+
+* Thu Jan 31 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-3
+- tweak FHS patch, update spec after packaging review
+
+* Wed Jan 30 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-2
+- add patch to be standard FHS compliant, remove phantomjs
+- update to v5.4.3 upstream community sources
+
+* Wed Jan 09 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.2-1
+- update to v5.4.2 upstream community sources
+
+* Thu Oct 18 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.3.1-1
+- update to v5.3.1 upstream community sources
+
+* Tue Oct 02 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.2.5-1
+- native RPM spec build with current tagged v5.2.5 sources
diff --git a/make_webpack.sh b/make_webpack.sh
new file mode 100644
index 0000000..47a8025
--- /dev/null
+++ b/make_webpack.sh
@@ -0,0 +1,61 @@
+#! /bin/bash
+#
+# Copyright (c) 2019 Red Hat.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program 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
+# for more details.
+#
+
+[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
+
+# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
+VER=$1
+BUILDDIR=`mktemp -d buildXXXXXX`
+
+[ ! -f /usr/bin/npm ] && echo Error, please install \"npm\" package && exit 1
+
+# get src tree and set cwd
+echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
+git clone https://github.com/grafana/grafana grafana-$VER
+cd grafana-$VER
+git checkout -b v$VER v$VER
+
+# exclude the phantomjs-prebuilt binary module from the webpack
+sed -i '/phantomjs-prebuilt/d' package.json
+
+# nuke grunt task for copying phantomjs
+rm -f scripts/grunt/options/phantomjs.js
+sed -i '/phantomjs/d' scripts/grunt/*.js
+
+# populate node_modules using package.json
+echo Running yarn to populate local node_modules ....
+npm install yarn
+node_modules/yarn/bin/yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
+node_modules/yarn/bin/yarn --non-interactive -W add webpack-cli
+
+# build the webpack
+echo;echo Building production webpack ....
+node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
+
+cd ..
+
+# webpack tarball. Includes public/views because index.html references the webpack
+tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
+
+# source tarball (if needed)
+if [ ! -f grafana-$VER.tar.gz ]; then
+ wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
+fi
+
+# done
+echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
+echo should now be copied to your \$HOME/rpmbuild/SOURCES
+
+exit 0
diff --git a/sources b/sources
new file mode 100644
index 0000000..64f93e3
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (grafana-6.1.4.tar.gz) = 75ed40232182d33484ecaeb58539d465bfcbd0ba7d03901925e8256a40fb6c87292ec0b324e97dce89ddb3b87505090f730eb12f77d987de5fe6e3b31ffb1782
+SHA512 (grafana_webpack-6.1.4.tar.gz) = a8895d14213cbe43adb3585969a6b23c1016d39bdcee9b48bd544f31f84a51bb4eb9b942ef68450910bd73ad9c03f89870782a230bba098197e7ce32000b8058
4 years, 1 month
Architecture specific change in rpms/grafana.git
by githook-noreply@fedoraproject.org
The package rpms/grafana.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/grafana.git/commit/?id=1f64cbeaf4....
Change:
+ExclusiveArch: %{grafana_arches}
Thanks.
Full change:
============
commit 1f64cbeaf41f121397d63d96352b9e403d744bfc
Author: Mark Goodwin <mgoodwin(a)redhat.com>
Date: Tue Apr 30 06:55:24 2019 +1000
Initial import (#1670656).
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..016c26f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/grafana-6.1.4.tar.gz
+/grafana_webpack-6.1.4.tar.gz
diff --git a/000-go-test-fixes.patch b/000-go-test-fixes.patch
new file mode 100644
index 0000000..b8a9e82
--- /dev/null
+++ b/000-go-test-fixes.patch
@@ -0,0 +1,141 @@
+diff --git a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
+index b8d1d6cc2..39cfe3f76 100644
+--- a/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
++++ b/pkg/tsdb/azuremonitor/azuremonitor-datasource_test.go
+@@ -107,19 +107,19 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(len(res.Series[0].Points), ShouldEqual, 5)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 2.0875)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549620780000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549620780000))
+
+ So(res.Series[0].Points[1][0].Float64, ShouldEqual, 2.1525)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1549620840000)
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1549620840000))
+
+ So(res.Series[0].Points[2][0].Float64, ShouldEqual, 2.155)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1549620900000)
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1549620900000))
+
+ So(res.Series[0].Points[3][0].Float64, ShouldEqual, 3.6925)
+- So(res.Series[0].Points[3][1].Float64, ShouldEqual, 1549620960000)
++ So(res.Series[0].Points[3][1].Float64, ShouldEqual, int64(1549620960000))
+
+ So(res.Series[0].Points[4][0].Float64, ShouldEqual, 2.44)
+- So(res.Series[0].Points[4][1].Float64, ShouldEqual, 1549621020000)
++ So(res.Series[0].Points[4][1].Float64, ShouldEqual, int64(1549621020000))
+ })
+
+ Convey("when data from query aggregated as total to one time series", func() {
+@@ -139,7 +139,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 8.26)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549718940000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549718940000))
+ })
+
+ Convey("when data from query aggregated as maximum to one time series", func() {
+@@ -159,7 +159,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 3.07)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549722360000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549722360000))
+ })
+
+ Convey("when data from query aggregated as minimum to one time series", func() {
+@@ -179,7 +179,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 1.51)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549723380000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549723380000))
+ })
+
+ Convey("when data from query aggregated as Count to one time series", func() {
+@@ -199,7 +199,7 @@ func TestAzureMonitorDatasource(t *testing.T) {
+ So(err, ShouldBeNil)
+
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 4)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1549723440000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1549723440000))
+ })
+
+ Convey("when data from query aggregated as total and has dimension filter", func() {
+diff --git a/pkg/tsdb/mssql/mssql_test.go b/pkg/tsdb/mssql/mssql_test.go
+index c3d447060..cc27304fc 100644
+--- a/pkg/tsdb/mssql/mssql_test.go
++++ b/pkg/tsdb/mssql/mssql_test.go
+@@ -162,7 +162,7 @@ func TestMSSQL(t *testing.T) {
+ So(column[19].(time.Time), ShouldEqual, dt.Truncate(time.Minute))
+ So(column[20].(time.Time), ShouldEqual, dt.Truncate(24*time.Hour))
+ So(column[21].(time.Time), ShouldEqual, time.Date(1, 1, 1, dt.Hour(), dt.Minute(), dt.Second(), dt.Nanosecond(), time.UTC))
+- So(column[22].(time.Time), ShouldEqual, dt2.In(time.FixedZone("UTC", int(-7*time.Hour))))
++ So(column[22].(time.Time), ShouldEqual, dt2.In(time.FixedZone("UTC-7", int(-7*60*60))))
+ })
+ })
+
+diff --git a/pkg/tsdb/stackdriver/stackdriver_test.go b/pkg/tsdb/stackdriver/stackdriver_test.go
+index 78c3086a9..1ab1e099f 100644
+--- a/pkg/tsdb/stackdriver/stackdriver_test.go
++++ b/pkg/tsdb/stackdriver/stackdriver_test.go
+@@ -236,13 +236,13 @@ func TestStackdriver(t *testing.T) {
+
+ Convey("timestamps should be in ascending order", func() {
+ So(res.Series[0].Points[0][0].Float64, ShouldEqual, 0.05)
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1536670020000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1536670020000))
+
+ So(res.Series[0].Points[1][0].Float64, ShouldEqual, 1.05)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1536670080000)
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1536670080000))
+
+ So(res.Series[0].Points[2][0].Float64, ShouldEqual, 1.0666666666667)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1536670260000)
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1536670260000))
+ })
+ })
+
+@@ -365,9 +365,9 @@ func TestStackdriver(t *testing.T) {
+ }
+
+ Convey("timestamps should be in ascending order", func() {
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1536668940000)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1536669000000)
+- So(res.Series[0].Points[2][1].Float64, ShouldEqual, 1536669060000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1536668940000))
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1536669000000))
++ So(res.Series[0].Points[2][1].Float64, ShouldEqual, int64(1536669060000))
+ })
+
+ Convey("bucket bounds should be correct", func() {
+@@ -410,8 +410,8 @@ func TestStackdriver(t *testing.T) {
+ }
+
+ Convey("timestamps should be in ascending order", func() {
+- So(res.Series[0].Points[0][1].Float64, ShouldEqual, 1550859086000)
+- So(res.Series[0].Points[1][1].Float64, ShouldEqual, 1550859146000)
++ So(res.Series[0].Points[0][1].Float64, ShouldEqual, int64(1550859086000))
++ So(res.Series[0].Points[1][1].Float64, ShouldEqual, int64(1550859146000))
+ })
+
+ Convey("bucket bounds should be correct", func() {
+diff --git a/pkg/tsdb/time_range_test.go b/pkg/tsdb/time_range_test.go
+index 37ced412e..38b147689 100644
+--- a/pkg/tsdb/time_range_test.go
++++ b/pkg/tsdb/time_range_test.go
+@@ -70,11 +70,11 @@ func TestTimeRange(t *testing.T) {
+
+ res, err := tr.ParseFrom()
+ So(err, ShouldBeNil)
+- So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, 1474973725473)
++ So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474973725473))
+
+ res, err = tr.ParseTo()
+ So(err, ShouldBeNil)
+- So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, 1474975757930)
++ So(res.UnixNano()/int64(time.Millisecond), ShouldEqual, int64(1474975757930))
+ })
+
+ Convey("Cannot parse asdf", func() {
diff --git a/001-man-pages.patch b/001-man-pages.patch
new file mode 100644
index 0000000..44ff37d
--- /dev/null
+++ b/001-man-pages.patch
@@ -0,0 +1,219 @@
+diff --git a/docs/man/man1/grafana-cli.1 b/docs/man/man1/grafana-cli.1
+new file mode 100644
+index 000000000..171748fcd
+--- /dev/null
++++ b/docs/man/man1/grafana-cli.1
+@@ -0,0 +1,51 @@
++.TH GRAFANA "1" "February 2019" "Grafana cli version 5.4.3" "User Commands"
++.SH NAME
++grafana-cli \- command line administration for the Grafana metrics dashboard and graph editor
++.SH DESCRIPTION
++.SS "NAME:"
++.IP
++grafana-cli
++.SS "USAGE:"
++.IP
++\fBgrafana\-cli\fP [\fIglobal options\fP] \fIcommand\fP [\fIcommand options\fP] [\fIarguments\fP...]
++.SS "COMMANDS:"
++.TP
++plugins
++Manage plugins for grafana
++.TP
++admin
++Grafana admin commands
++.TP
++help, h
++Shows a list of commands or help for one command
++.SS "GLOBAL OPTIONS:"
++.TP
++\fB\-\-pluginsDir\fR value
++path to the grafana plugin directory (default: "/var/lib/grafana/plugins") [$GF_PLUGIN_DIR]
++.TP
++\fB\-\-repo\fR value
++url to the plugin repository (default: "https://grafana.com/api/plugins") [$GF_PLUGIN_REPO]
++.TP
++\fB\-\-pluginUrl\fR value
++Full url to the plugin zip file instead of downloading the plugin from grafana.com/api [$GF_PLUGIN_URL]
++.TP
++\fB\-\-insecure\fR
++Skip TLS verification (insecure)
++.TP
++\fB\-\-debug\fR, \fB\-d\fR
++enable debug logging
++.TP
++\fB\-\-help\fR, \fB\-h\fR
++show help
++.TP
++\fB\-\-version\fR, \fB\-v\fR
++print the version
++.SH "SEE ALSO"
++Additional documentation for
++.B grafana-cli
++is available on-line at
++.BR http://docs.grafana.org/administration/cli/ .
++The full documentation for
++.B Grafana
++is available on-line at
++.BR http://docs.grafana.org/ .
+diff --git a/docs/man/man1/grafana-server.1 b/docs/man/man1/grafana-server.1
+new file mode 100644
+index 000000000..30b7c1306
+--- /dev/null
++++ b/docs/man/man1/grafana-server.1
+@@ -0,0 +1,156 @@
++.TH VERSION "1" "February 2019" "Version 5.4.3" "User Commands"
++.SH NAME
++grafana-server \- back-end server for the Grafana metrics dashboard and graph editor
++.SH DESCRIPTION
++.B grafana-server
++is the back-end server for the Grafana metrics dashboard and graph editor.
++The
++.B grafana-server
++program should not normally be run from the command line,
++except when testing or for development purposes.
++Rather it should be managed by
++.BR systemd .
++After installing Grafana, the systemd service should be enabled and started as follows:
++.P
++.in 1i
++.B systemctl daemon-reload
++.br
++.B systemctl enable grafana-server.service
++.br
++.B systemctl start grafana-server.service
++.in
++.P
++.SH OPTIONS
++The
++.B gafana-server
++configuration is specified in
++.BR /etc/grafana/grafana.ini
++and is well documented with comments.
++The command-line options listed below override options of
++the same (or similar) name in the configuration file and also provide
++additional options for testing Grafana.
++.P
++.HP
++\fB\-config\fR string
++.IP
++path to config file
++.HP
++\fB\-homepath\fR string
++.IP
++path to grafana install/home path, defaults to working directory
++.HP
++\fB\-packaging\fR string
++.IP
++describes the way Grafana was installed (default "unknown")
++.HP
++\fB\-pidfile\fR string
++.IP
++path to pid file
++.HP
++\fB\-profile\fR
++.IP
++Turn on pprof profiling
++.HP
++\fB\-profile\-port\fR int
++.IP
++Define custom port for profiling (default 6060)
++.HP
++\fB\-test\fR.bench regexp
++.IP
++run only benchmarks matching regexp
++.HP
++\fB\-test\fR.benchmem
++.IP
++print memory allocations for benchmarks
++.HP
++\fB\-test\fR.benchtime d
++.IP
++run each benchmark for duration d (default 1s)
++.HP
++\fB\-test\fR.blockprofile file
++.IP
++write a goroutine blocking profile to file
++.HP
++\fB\-test\fR.blockprofilerate rate
++.IP
++set blocking profile rate (see runtime.SetBlockProfileRate) (default 1)
++.HP
++\fB\-test\fR.count n
++.IP
++run tests and benchmarks n times (default 1)
++.HP
++\fB\-test\fR.coverprofile file
++.IP
++write a coverage profile to file
++.HP
++\fB\-test\fR.cpu list
++.IP
++comma\-separated list of cpu counts to run each test with
++.HP
++\fB\-test\fR.cpuprofile file
++.IP
++write a cpu profile to file
++.HP
++\fB\-test\fR.failfast
++.IP
++do not start new tests after the first test failure
++.HP
++\fB\-test\fR.list regexp
++.IP
++list tests, examples, and benchmarks matching regexp then exit
++.HP
++\fB\-test\fR.memprofile file
++.IP
++write a memory profile to file
++.HP
++\fB\-test\fR.memprofilerate rate
++.IP
++set memory profiling rate (see runtime.MemProfileRate)
++.HP
++\fB\-test\fR.mutexprofile string
++.IP
++write a mutex contention profile to the named file after execution
++.HP
++\fB\-test\fR.mutexprofilefraction int
++.IP
++if >= 0, calls runtime.SetMutexProfileFraction() (default 1)
++.HP
++\fB\-test\fR.outputdir dir
++.IP
++write profiles to dir
++.HP
++\fB\-test\fR.parallel n
++.IP
++run at most n tests in parallel (default 8)
++.HP
++\fB\-test\fR.run regexp
++.IP
++run only tests and examples matching regexp
++.HP
++\fB\-test\fR.short
++.IP
++run smaller test suite to save time
++.HP
++\fB\-test\fR.testlogfile file
++.IP
++write test action log to file (for use only by cmd/go)
++.HP
++\fB\-test\fR.timeout d
++.IP
++panic test binary after duration d (default 0, timeout disabled)
++.HP
++\fB\-test\fR.trace file
++.IP
++write an execution trace to file
++.HP
++\fB\-test\fR.v
++.IP
++verbose: print additional output
++.TP
++\fB\-v\fR
++prints current version and exits
++.SH "SEE ALSO"
++The full documentation for
++.B Grafana
++is available on-line at
++.BR http://docs.grafana.org/ .
diff --git a/002-update-golang-oauth2-vendor-sources.patch b/002-update-golang-oauth2-vendor-sources.patch
new file mode 100644
index 0000000..f0c3f34
--- /dev/null
+++ b/002-update-golang-oauth2-vendor-sources.patch
@@ -0,0 +1,26 @@
+diff --git a/pkg/api/login_oauth.go b/pkg/api/login_oauth.go
+index a3599bc7a..0c6579847 100644
+--- a/pkg/api/login_oauth.go
++++ b/pkg/api/login_oauth.go
+@@ -125,7 +125,7 @@ func (hs *HTTPServer) OAuthLogin(ctx *m.ReqContext) {
+ oauthCtx := context.WithValue(context.Background(), oauth2.HTTPClient, oauthClient)
+
+ // get token from provider
+- token, err := connect.Exchange(oauthCtx, code)
++ token, err := connect.Exchange(oauthCtx, code, oauth2.AccessTypeOnline)
+ if err != nil {
+ ctx.Handle(500, "login.OAuthLogin(NewTransportWithCode)", err)
+ return
+diff --git a/pkg/login/social/social.go b/pkg/login/social/social.go
+index 3ec0e2c96..72807d73e 100644
+--- a/pkg/login/social/social.go
++++ b/pkg/login/social/social.go
+@@ -29,7 +29,7 @@ type SocialConnector interface {
+ IsSignupAllowed() bool
+
+ AuthCodeURL(state string, opts ...oauth2.AuthCodeOption) string
+- Exchange(ctx context.Context, code string) (*oauth2.Token, error)
++ Exchange(ctx context.Context, code string, opts ...oauth2.AuthCodeOption) (*oauth2.Token, error)
+ Client(ctx context.Context, t *oauth2.Token) *http.Client
+ TokenSource(ctx context.Context, t *oauth2.Token) oauth2.TokenSource
+ }
diff --git a/003-file-mode-updates.patch b/003-file-mode-updates.patch
new file mode 100644
index 0000000..3eb1243
--- /dev/null
+++ b/003-file-mode-updates.patch
@@ -0,0 +1,27 @@
+diff --git a/public/app/features/dashboard/components/DashboardSettings/SettingsCtrl.ts b/public/app/features/dashboard/components/DashboardSettings/SettingsCtrl.ts
+old mode 100755
+new mode 100644
+diff --git a/public/app/features/folders/services/FolderPageLoader.ts b/public/app/features/folders/services/FolderPageLoader.ts
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg b/public/app/plugins/datasource/elasticsearch/img/elasticsearch.svg
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/graphite/partials/query.editor.html b/public/app/plugins/datasource/graphite/partials/query.editor.html
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/datasource/stackdriver/partials/query.editor.html b/public/app/plugins/datasource/stackdriver/partials/query.editor.html
+old mode 100755
+new mode 100644
+diff --git a/public/app/plugins/panel/graph/graph.ts b/public/app/plugins/panel/graph/graph.ts
+old mode 100755
+new mode 100644
+diff --git a/public/fonts/grafana-icons.svg b/public/fonts/grafana-icons.svg
+old mode 100755
+new mode 100644
+diff --git a/public/sass/components/_panel_text.scss b/public/sass/components/_panel_text.scss
+index e69de29bb..cd0183132 100644
+--- a/public/sass/components/_panel_text.scss
++++ b/public/sass/components/_panel_text.scss
+@@ -0,0 +1 @@
++// nothing here
diff --git a/004-grafana.ini-for-Linux-distros.patch b/004-grafana.ini-for-Linux-distros.patch
new file mode 100644
index 0000000..cc4089d
--- /dev/null
+++ b/004-grafana.ini-for-Linux-distros.patch
@@ -0,0 +1,616 @@
+diff --git a/conf/distro-defaults.ini b/conf/distro-defaults.ini
+new file mode 100644
+index 000000000..b75e4c839
+--- /dev/null
++++ b/conf/distro-defaults.ini
+@@ -0,0 +1,610 @@
++##################### Grafana Configuration Defaults for distros #####################
++#
++# Do not modify this file in grafana installs
++#
++
++# possible values : production, development
++app_mode = production
++
++# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty
++instance_name = ${HOSTNAME}
++
++#################################### Paths ###############################
++[paths]
++# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)
++data = /var/lib/grafana
++
++# Temporary files in `data` directory older than given duration will be removed
++temp_data_lifetime = 24h
++
++# Directory where grafana can store logs
++logs = /var/log/grafana
++
++# Directory where grafana will automatically scan and look for plugins
++plugins = /var/lib/grafana/plugins
++
++# folder that contains provisioning config files that grafana will apply on startup and while running.
++provisioning = conf/provisioning
++
++#################################### Server ##############################
++[server]
++# Protocol (http, https, socket)
++protocol = http
++
++# The ip address to bind to, empty will bind to all interfaces
++http_addr =
++
++# The http port to use
++http_port = 3000
++
++# The public facing domain name used to access grafana from a browser
++domain = localhost
++
++# Redirect to correct domain if host header does not match domain
++# Prevents DNS rebinding attacks
++enforce_domain = false
++
++# The full public facing url
++root_url = %(protocol)s://%(domain)s:%(http_port)s/
++
++# Log web requests
++router_logging = false
++
++# the path relative working path
++static_root_path = public
++
++# enable gzip
++enable_gzip = false
++
++# https certs & key file
++cert_file =
++cert_key =
++
++# Unix socket path
++socket = /tmp/grafana.sock
++
++#################################### Database ############################
++[database]
++# You can configure the database connection by specifying type, host, name, user and password
++# as separate properties or as on string using the url property.
++
++# Either "mysql", "postgres" or "sqlite3", it's your choice
++type = sqlite3
++host = 127.0.0.1:3306
++name = grafana
++user = root
++# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
++password =
++# Use either URL or the previous fields to configure the database
++# Example: mysql://user:secret@host:port/database
++url =
++
++# Max idle conn setting default is 2
++max_idle_conn = 2
++
++# Max conn setting default is 0 (mean not set)
++max_open_conn =
++
++# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
++conn_max_lifetime = 14400
++
++# Set to true to log the sql calls and execution times.
++log_queries =
++
++# For "postgres", use either "disable", "require" or "verify-full"
++# For "mysql", use either "true", "false", or "skip-verify".
++ssl_mode = disable
++
++ca_cert_path =
++client_key_path =
++client_cert_path =
++server_cert_name =
++
++# For "sqlite3" only, path relative to data_path setting
++path = grafana.db
++
++# For "sqlite3" only. cache mode setting used for connecting to the database
++cache_mode = private
++
++#################################### Cache server #############################
++[remote_cache]
++# Either "redis", "memcached" or "database" default is "database"
++type = database
++
++# cache connectionstring options
++# database: will use Grafana primary database.
++# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
++# memcache: 127.0.0.1:11211
++connstr =
++
++#################################### Session #############################
++[session]
++# Either "memory", "file", "redis", "mysql", "postgres", "memcache", default is "file"
++provider = file
++
++# Provider config options
++# memory: not have any config yet
++# file: session dir path, is relative to grafana data_path
++# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana`
++# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable
++# mysql: go-sql-driver/mysql dsn config string, examples:
++# `user:password@tcp(127.0.0.1:3306)/database_name`
++# `user:password@unix(/var/run/mysqld/mysqld.sock)/database_name`
++# memcache: 127.0.0.1:11211
++
++
++provider_config = sessions
++
++# Session cookie name
++cookie_name = grafana_sess
++
++# If you use session in https only, default is false
++cookie_secure = false
++
++# Session life time, default is 86400
++session_life_time = 86400
++gc_interval_time = 86400
++
++# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)
++conn_max_lifetime = 14400
++
++#################################### Data proxy ###########################
++[dataproxy]
++
++# This enables data proxy logging, default is false
++logging = false
++
++# How long the data proxy should wait before timing out default is 30 (seconds)
++timeout = 30
++
++# If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.
++send_user_header = false
++
++#################################### Analytics ###########################
++[analytics]
++# Server reporting, sends usage counters to stats.grafana.org every 24 hours.
++# No ip addresses are being tracked, only simple counters to track
++# running instances, dashboard and error counts. It is very helpful to us.
++# Change this option to false to disable reporting.
++reporting_enabled = false
++
++# Set to false to disable all checks to https://grafana.com
++# for new versions (grafana itself and plugins), check is used
++# in some UI views to notify that grafana or plugin update exists
++# This option does not cause any auto updates, nor send any information
++# only a GET request to https://grafana.com to get latest versions
++check_for_updates = false
++
++# Google Analytics universal tracking code, only enabled if you specify an id here
++google_analytics_ua_id =
++
++# Google Tag Manager ID, only enabled if you specify an id here
++google_tag_manager_id =
++
++#################################### Security ############################
++[security]
++# default admin user, created on startup
++admin_user = admin
++
++# default admin password, can be changed before first start of grafana, or in profile settings
++admin_password = admin
++
++# used for signing
++secret_key = SW2YcwTIb9zpOOhoPsMm
++
++# disable gravatar profile images
++disable_gravatar = false
++
++# data source proxy whitelist (ip_or_domain:port separated by spaces)
++data_source_proxy_whitelist =
++
++# disable protection against brute force login attempts
++disable_brute_force_login_protection = false
++
++# set to true if you host Grafana behind HTTPS. default is false.
++cookie_secure = false
++
++# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict" and "none"
++cookie_samesite = lax
++
++#################################### Snapshots ###########################
++[snapshots]
++# snapshot sharing options
++external_enabled = false
++external_snapshot_url = https://snapshots-origin.raintank.io
++external_snapshot_name = Publish to snapshot.raintank.io
++
++# remove expired snapshot
++snapshot_remove_expired = true
++
++#################################### Dashboards ##################
++
++[dashboards]
++# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1
++versions_to_keep = 20
++
++#################################### Users ###############################
++[users]
++# disable user signup / registration
++allow_sign_up = false
++
++# Allow non admin users to create organizations
++allow_org_create = false
++
++# Set to true to automatically assign new users to the default organization (id 1)
++auto_assign_org = true
++
++# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
++auto_assign_org_id = 1
++
++# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
++auto_assign_org_role = Viewer
++
++# Require email validation before sign up completes
++verify_email_enabled = false
++
++# Background text for the user field on the login page
++login_hint = email or username
++password_hint = password
++
++# Default UI theme ("dark" or "light")
++default_theme = dark
++
++# External user management
++external_manage_link_url =
++external_manage_link_name =
++external_manage_info =
++
++# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.
++viewers_can_edit = false
++
++# Editors can administrate dashboard, folders and teams they create
++editors_can_admin = false
++
++[auth]
++# Login cookie name
++login_cookie_name = grafana_session
++
++# The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.
++login_maximum_inactive_lifetime_days = 7
++
++# The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.
++login_maximum_lifetime_days = 30
++
++# How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.
++token_rotation_interval_minutes = 10
++
++# Set to true to disable (hide) the login form, useful if you use OAuth
++disable_login_form = false
++
++# Set to true to disable the signout link in the side menu. useful if you use auth.proxy
++disable_signout_menu = false
++
++# URL to redirect the user to after sign out
++signout_redirect_url =
++
++# Set to true to attempt login with OAuth automatically, skipping the login screen.
++# This setting is ignored if multiple OAuth providers are configured.
++oauth_auto_login = false
++
++#################################### Anonymous Auth ######################
++[auth.anonymous]
++# enable anonymous access
++enabled = false
++
++# specify organization name that should be used for unauthenticated users
++org_name = Main Org.
++
++# specify role for unauthenticated users
++org_role = Viewer
++
++#################################### Github Auth #########################
++[auth.github]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email,read:org
++auth_url = https://github.com/login/oauth/authorize
++token_url = https://github.com/login/oauth/access_token
++api_url = https://api.github.com/user
++team_ids =
++allowed_organizations =
++
++#################################### GitLab Auth #########################
++[auth.gitlab]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = api
++auth_url = https://gitlab.com/oauth/authorize
++token_url = https://gitlab.com/oauth/token
++api_url = https://gitlab.com/api/v4
++allowed_groups =
++
++#################################### Google Auth #########################
++[auth.google]
++enabled = false
++allow_sign_up = true
++client_id = some_client_id
++client_secret = some_client_secret
++scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
++auth_url = https://accounts.google.com/o/oauth2/auth
++token_url = https://accounts.google.com/o/oauth2/token
++api_url = https://www.googleapis.com/oauth2/v1/userinfo
++allowed_domains =
++hosted_domain =
++
++#################################### Grafana.com Auth ####################
++# legacy key names (so they work in env variables)
++[auth.grafananet]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++allowed_organizations =
++
++[auth.grafana_com]
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++allowed_organizations =
++
++#################################### Generic OAuth #######################
++[auth.generic_oauth]
++name = OAuth
++enabled = false
++allow_sign_up = true
++client_id = some_id
++client_secret = some_secret
++scopes = user:email
++email_attribute_name = email:primary
++auth_url =
++token_url =
++api_url =
++team_ids =
++allowed_organizations =
++tls_skip_verify_insecure = false
++tls_client_cert =
++tls_client_key =
++tls_client_ca =
++send_client_credentials_via_post = false
++
++#################################### Basic Auth ##########################
++[auth.basic]
++enabled = true
++
++#################################### Auth Proxy ##########################
++[auth.proxy]
++enabled = false
++header_name = X-WEBAUTH-USER
++header_property = username
++auto_sign_up = true
++ldap_sync_ttl = 60
++whitelist =
++headers =
++
++#################################### Auth LDAP ###########################
++[auth.ldap]
++enabled = false
++config_file = /etc/grafana/ldap.toml
++allow_sign_up = true
++
++#################################### SMTP / Emailing #####################
++[smtp]
++enabled = false
++host = localhost:25
++user =
++# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
++password =
++cert_file =
++key_file =
++skip_verify = false
++from_address = admin(a)grafana.localhost
++from_name = Grafana
++ehlo_identity =
++
++[emails]
++welcome_email_on_sign_up = false
++templates_pattern = emails/*.html
++
++#################################### Logging ##########################
++[log]
++# Either "console", "file", "syslog". Default is console and file
++# Use space to separate multiple modes, e.g. "console file"
++mode = console file
++
++# Either "debug", "info", "warn", "error", "critical", default is "info"
++level = info
++
++# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug
++filters =
++
++# For "console" mode only
++[log.console]
++level =
++
++# log line format, valid options are text, console and json
++format = console
++
++# For "file" mode only
++[log.file]
++level =
++
++# log line format, valid options are text, console and json
++format = text
++
++# This enables automated log rotate(switch of following options), default is true
++log_rotate = true
++
++# Max line number of single file, default is 1000000
++max_lines = 1000000
++
++# Max size shift of single file, default is 28 means 1 << 28, 256MB
++max_size_shift = 28
++
++# Segment log daily, default is true
++daily_rotate = true
++
++# Expired days of log file(delete after max days), default is 7
++max_days = 7
++
++[log.syslog]
++level =
++
++# log line format, valid options are text, console and json
++format = text
++
++# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.
++network =
++address =
++
++# Syslog facility. user, daemon and local0 through local7 are valid.
++facility =
++
++# Syslog tag. By default, the process' argv[0] is used.
++tag =
++
++#################################### Usage Quotas ########################
++[quota]
++enabled = false
++
++#### set quotas to -1 to make unlimited. ####
++# limit number of users per Org.
++org_user = 10
++
++# limit number of dashboards per Org.
++org_dashboard = 100
++
++# limit number of data_sources per Org.
++org_data_source = 10
++
++# limit number of api_keys per Org.
++org_api_key = 10
++
++# limit number of orgs a user can create.
++user_org = 10
++
++# Global limit of users.
++global_user = -1
++
++# global limit of orgs.
++global_org = -1
++
++# global limit of dashboards
++global_dashboard = -1
++
++# global limit of api_keys
++global_api_key = -1
++
++# global limit on number of logged in users.
++global_session = -1
++
++#################################### Alerting ############################
++[alerting]
++# Disable alerting engine & UI features
++enabled = true
++# Makes it possible to turn off alert rule execution but alerting UI is visible
++execute_alerts = true
++
++# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)
++error_or_timeout = alerting
++
++# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)
++nodata_or_nullvalues = no_data
++
++# Alert notifications can include images, but rendering many images at the same time can overload the server
++# This limit will protect the server from render overloading and make sure notifications are sent out quickly
++concurrent_render_limit = 5
++
++#################################### Explore #############################
++[explore]
++# Enable the Explore section
++enabled = true
++
++#################################### Internal Grafana Metrics ############
++# Metrics available at HTTP API Url /metrics
++[metrics]
++enabled = true
++interval_seconds = 10
++
++#If both are set, basic auth will be required for the metrics endpoint.
++basic_auth_username =
++basic_auth_password =
++
++# Send internal Grafana metrics to graphite
++[metrics.graphite]
++# Enable by setting the address setting (ex localhost:2003)
++address =
++prefix = prod.grafana.%(instance_name)s.
++
++[grafana_net]
++url = https://grafana.org
++
++[grafana_com]
++url = https://grafana.com
++
++#################################### Distributed tracing ############
++[tracing.jaeger]
++# jaeger destination (ex localhost:6831)
++address =
++# tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2)
++always_included_tag =
++# Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote
++sampler_type = const
++# jaeger samplerconfig param
++# for "const" sampler, 0 or 1 for always false/true respectively
++# for "probabilistic" sampler, a probability between 0 and 1
++# for "rateLimiting" sampler, the number of spans per second
++# for "remote" sampler, param is the same as for "probabilistic"
++# and indicates the initial sampling rate before the actual one
++# is received from the mothership
++sampler_param = 1
++
++#################################### External Image Storage ##############
++[external_image_storage]
++# You can choose between (s3, webdav, gcs, azure_blob, local)
++provider =
++
++[external_image_storage.s3]
++bucket_url =
++bucket =
++region =
++path =
++access_key =
++secret_key =
++
++[external_image_storage.webdav]
++url =
++username =
++password =
++public_url =
++
++[external_image_storage.gcs]
++key_file =
++bucket =
++path =
++
++[external_image_storage.azure_blob]
++account_name =
++account_key =
++container_name =
++
++[external_image_storage.local]
++# does not require any configuration
++
++[rendering]
++# Options to configure external image rendering server like https://github.com/grafana/grafana-image-renderer
++server_url =
++callback_url =
++
++[panels]
++enable_alpha = false
++disable_sanitize_html = false
++
++[enterprise]
++license_path =
diff --git a/005-remove-jaeger-tracing.patch b/005-remove-jaeger-tracing.patch
new file mode 100644
index 0000000..f2b4778
--- /dev/null
+++ b/005-remove-jaeger-tracing.patch
@@ -0,0 +1,189 @@
+diff --git a/pkg/cmd/grafana-server/server.go b/pkg/cmd/grafana-server/server.go
+index c10212329..a29d14c85 100644
+--- a/pkg/cmd/grafana-server/server.go
++++ b/pkg/cmd/grafana-server/server.go
+@@ -31,7 +31,6 @@ import (
+ _ "github.com/grafana/grafana/pkg/infra/metrics"
+ _ "github.com/grafana/grafana/pkg/infra/remotecache"
+ _ "github.com/grafana/grafana/pkg/infra/serverlock"
+- _ "github.com/grafana/grafana/pkg/infra/tracing"
+ _ "github.com/grafana/grafana/pkg/infra/usagestats"
+ _ "github.com/grafana/grafana/pkg/plugins"
+ _ "github.com/grafana/grafana/pkg/services/alerting"
+diff --git a/pkg/infra/tracing/tracing.go b/pkg/infra/tracing/tracing.go
+deleted file mode 100644
+index fd7258b7a..000000000
+--- a/pkg/infra/tracing/tracing.go
++++ /dev/null
+@@ -1,129 +0,0 @@
+-package tracing
+-
+-import (
+- "context"
+- "io"
+- "strings"
+-
+- "github.com/grafana/grafana/pkg/log"
+- "github.com/grafana/grafana/pkg/registry"
+- "github.com/grafana/grafana/pkg/setting"
+-
+- opentracing "github.com/opentracing/opentracing-go"
+- jaegercfg "github.com/uber/jaeger-client-go/config"
+-)
+-
+-func init() {
+- registry.RegisterService(&TracingService{})
+-}
+-
+-type TracingService struct {
+- enabled bool
+- address string
+- customTags map[string]string
+- samplerType string
+- samplerParam float64
+- log log.Logger
+- closer io.Closer
+-
+- Cfg *setting.Cfg `inject:""`
+-}
+-
+-func (ts *TracingService) Init() error {
+- ts.log = log.New("tracing")
+- ts.parseSettings()
+-
+- if ts.enabled {
+- ts.initGlobalTracer()
+- }
+-
+- return nil
+-}
+-
+-func (ts *TracingService) parseSettings() {
+- var section, err = ts.Cfg.Raw.GetSection("tracing.jaeger")
+- if err != nil {
+- return
+- }
+-
+- ts.address = section.Key("address").MustString("")
+- if ts.address != "" {
+- ts.enabled = true
+- }
+-
+- ts.customTags = splitTagSettings(section.Key("always_included_tag").MustString(""))
+- ts.samplerType = section.Key("sampler_type").MustString("")
+- ts.samplerParam = section.Key("sampler_param").MustFloat64(1)
+-}
+-
+-func (ts *TracingService) initGlobalTracer() error {
+- cfg := jaegercfg.Configuration{
+- ServiceName: "grafana",
+- Disabled: !ts.enabled,
+- Sampler: &jaegercfg.SamplerConfig{
+- Type: ts.samplerType,
+- Param: ts.samplerParam,
+- },
+- Reporter: &jaegercfg.ReporterConfig{
+- LogSpans: false,
+- LocalAgentHostPort: ts.address,
+- },
+- }
+-
+- jLogger := &jaegerLogWrapper{logger: log.New("jaeger")}
+-
+- options := []jaegercfg.Option{}
+- options = append(options, jaegercfg.Logger(jLogger))
+-
+- for tag, value := range ts.customTags {
+- options = append(options, jaegercfg.Tag(tag, value))
+- }
+-
+- tracer, closer, err := cfg.NewTracer(options...)
+- if err != nil {
+- return err
+- }
+-
+- opentracing.InitGlobalTracer(tracer)
+-
+- ts.closer = closer
+-
+- return nil
+-}
+-
+-func (ts *TracingService) Run(ctx context.Context) error {
+- <-ctx.Done()
+-
+- if ts.closer != nil {
+- ts.log.Info("Closing tracing")
+- ts.closer.Close()
+- }
+-
+- return nil
+-}
+-
+-func splitTagSettings(input string) map[string]string {
+- res := map[string]string{}
+-
+- tags := strings.Split(input, ",")
+- for _, v := range tags {
+- kv := strings.Split(v, ":")
+- if len(kv) > 1 {
+- res[kv[0]] = kv[1]
+- }
+- }
+-
+- return res
+-}
+-
+-type jaegerLogWrapper struct {
+- logger log.Logger
+-}
+-
+-func (jlw *jaegerLogWrapper) Error(msg string) {
+- jlw.logger.Error(msg)
+-}
+-
+-func (jlw *jaegerLogWrapper) Infof(msg string, args ...interface{}) {
+- jlw.logger.Info(msg, args)
+-}
+diff --git a/pkg/infra/tracing/tracing_test.go b/pkg/infra/tracing/tracing_test.go
+deleted file mode 100644
+index 27e4de777..000000000
+--- a/pkg/infra/tracing/tracing_test.go
++++ /dev/null
+@@ -1,36 +0,0 @@
+-package tracing
+-
+-import "testing"
+-
+-func TestGroupSplit(t *testing.T) {
+- tests := []struct {
+- input string
+- expected map[string]string
+- }{
+- {
+- input: "tag1:value1,tag2:value2",
+- expected: map[string]string{
+- "tag1": "value1",
+- "tag2": "value2",
+- },
+- },
+- {
+- input: "",
+- expected: map[string]string{},
+- },
+- {
+- input: "tag1",
+- expected: map[string]string{},
+- },
+- }
+-
+- for _, test := range tests {
+- tags := splitTagSettings(test.input)
+- for k, v := range test.expected {
+- value, exists := tags[k]
+- if !exists || value != v {
+- t.Errorf("tags does not match %v ", test)
+- }
+- }
+- }
+-}
diff --git a/006-native-RPM-spec-and-webpack-build-script.patch b/006-native-RPM-spec-and-webpack-build-script.patch
new file mode 100644
index 0000000..683f12f
--- /dev/null
+++ b/006-native-RPM-spec-and-webpack-build-script.patch
@@ -0,0 +1,597 @@
+diff --git a/packaging/rpm/spec/README b/packaging/rpm/spec/README
+new file mode 100644
+index 000000000..f97c2a26b
+--- /dev/null
++++ b/packaging/rpm/spec/README
+@@ -0,0 +1,7 @@
++The make_webpack.sh script in this directory can be used to create
++a webpack tarball of all the nodejs dependencies needed to build a
++particular tagged version of grafana, along with the grafana tarball
++itself. After running the script, the two tarballs should be copied
++to your rpmbuild SOURCES. You can then run a native rpm spec build
++using grafana.spec.
++
+diff --git a/packaging/rpm/spec/grafana.spec b/packaging/rpm/spec/grafana.spec
+new file mode 100644
+index 000000000..9d69b105e
+--- /dev/null
++++ b/packaging/rpm/spec/grafana.spec
+@@ -0,0 +1,511 @@
++%global grafana_arches %{lua: go_arches = {}
++ for arch in rpm.expand("%{go_arches}"):gmatch("%S+") do
++ go_arches[arch] = 1
++ end
++ for arch in rpm.expand("%{nodejs_arches}"):gmatch("%S+") do
++ if go_arches[arch] then
++ print(arch .. " ")
++ end
++end}
++
++Name: grafana
++Version: 6.1.4
++Release: 1%{?dist}
++Summary: Metrics dashboard and graph editor
++License: ASL 2.0
++URL: https://grafana.org
++
++# Source0 contains the tagged upstream sources
++Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}...
++
++# Source1 contains the front-end javascript modules bundled into a webpack
++Source1: grafana_webpack-%{version}.tar.gz
++
++# Source2 is the script to create the above webpack from grafana sources
++Source2: make_webpack.sh
++
++# Patches for upstream (except Patch5)
++Patch0: 000-go-test-fixes.patch
++Patch1: 001-man-pages.patch
++Patch2: 002-update-golang-oauth2-vendor-sources.patch
++Patch3: 003-file-mode-updates.patch
++Patch4: 004-grafana.ini-for-Linux-distros.patch
++Patch5: 005-remove-jaeger-tracing.patch
++Patch6: 006-native-RPM-spec-and-webpack-build-script.patch
++
++# Intersection of go_arches and nodejs_arches
++ExclusiveArch: %{grafana_arches}
++
++%global GRAFANA_USER %{name}
++%global GRAFANA_GROUP %{name}
++%global GRAFANA_HOME %{_datadir}/%{name}
++
++# grafana-server service daemon uses systemd
++%{?systemd_requires}
++Requires(pre): shadow-utils
++
++BuildRequires: systemd, golang, compiler(go-compiler)
++
++# golang build deps. These allow us to unbundle vendor golang source.
++BuildRequires: golang(github.com/aws/aws-sdk-go)
++BuildRequires: golang(github.com/benbjohnson/clock)
++BuildRequires: golang(github.com/beorn7/perks/quantile)
++BuildRequires: golang(github.com/bmizerany/assert)
++BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
++BuildRequires: golang(github.com/BurntSushi/toml)
++BuildRequires: golang(github.com/codahale/hdrhistogram)
++BuildRequires: golang(github.com/codegangsta/cli)
++BuildRequires: golang(github.com/davecgh/go-spew/spew)
++BuildRequires: golang(github.com/denisenkom/go-mssqldb)
++BuildRequires: golang(github.com/facebookgo/inject)
++BuildRequires: golang(github.com/facebookgo/structtag)
++BuildRequires: golang(github.com/fatih/color)
++BuildRequires: golang(github.com/go-ini/ini)
++BuildRequires: golang(google.golang.org/appengine)
++BuildRequires: golang(golang.org/x/sys/unix)
++BuildRequires: golang(github.com/go-macaron/binding)
++BuildRequires: golang(github.com/go-macaron/gzip)
++BuildRequires: golang(github.com/go-macaron/inject)
++BuildRequires: golang(github.com/go-macaron/session)
++BuildRequires: golang(google.golang.org/genproto/googleapis/rpc/status)
++BuildRequires: golang(github.com/gopherjs/gopherjs/js)
++BuildRequires: golang(github.com/gorilla/websocket)
++BuildRequires: golang(github.com/gosimple/slug)
++BuildRequires: golang(github.com/go-sql-driver/mysql)
++BuildRequires: golang(github.com/go-stack/stack)
++BuildRequires: golang(github.com/go-xorm/builder)
++BuildRequires: golang(github.com/go-xorm/core)
++BuildRequires: golang(github.com/go-xorm/xorm)
++BuildRequires: golang(google.golang.org/grpc)
++BuildRequires: golang(github.com/hashicorp/go-hclog)
++# need grpc_broker in go-plugin >= 1.0.0-1
++BuildRequires: golang(github.com/hashicorp/go-plugin)
++BuildRequires: golang(github.com/hashicorp/go-version)
++BuildRequires: golang(github.com/hashicorp/yamux)
++BuildRequires: golang(github.com/inconshreveable/log15)
++BuildRequires: golang(github.com/jmespath/go-jmespath)
++BuildRequires: golang(github.com/jtolds/gls)
++BuildRequires: golang(github.com/klauspost/compress/flate)
++BuildRequires: golang(github.com/klauspost/compress/gzip)
++BuildRequires: golang(github.com/klauspost/compress/snappy)
++BuildRequires: golang(github.com/klauspost/cpuid)
++BuildRequires: golang(github.com/klauspost/crc32)
++BuildRequires: golang(github.com/kr/pretty)
++BuildRequires: golang(github.com/kr/text)
++BuildRequires: golang(github.com/lib/pq)
++BuildRequires: golang(github.com/mattn/go-colorable)
++BuildRequires: golang(github.com/mattn/go-isatty)
++BuildRequires: golang(github.com/mattn/go-sqlite3)
++BuildRequires: golang(github.com/matttproud/golang_protobuf_extensions/pbutil)
++BuildRequires: golang(github.com/mitchellh/go-testing-interface)
++BuildRequires: golang(github.com/oklog/run)
++BuildRequires: golang(github.com/opentracing/opentracing-go)
++BuildRequires: golang(github.com/patrickmn/go-cache)
++BuildRequires: golang(github.com/pkg/errors)
++BuildRequires: golang(github.com/prometheus/client_golang/api)
++BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
++BuildRequires: golang(github.com/prometheus/client_model/go)
++BuildRequires: golang-github-prometheus-common-devel
++BuildRequires: golang(github.com/prometheus/common/expfmt)
++BuildRequires: golang(github.com/prometheus/common/model)
++BuildRequires: golang(github.com/prometheus/common/expfmt)
++BuildRequires: golang(github.com/prometheus/procfs)
++BuildRequires: golang(github.com/prometheus/procfs/internal/util)
++BuildRequires: golang(github.com/prometheus/procfs)
++BuildRequires: golang(github.com/prometheus/procfs/internal/util)
++BuildRequires: golang(github.com/prometheus/procfs/nfs)
++BuildRequires: golang(github.com/prometheus/procfs/xfs)
++BuildRequires: golang(github.com/rainycape/unidecode)
++BuildRequires: golang(github.com/sergi/go-diff/diffmatchpatch)
++BuildRequires: golang(github.com/smartystreets/assertions)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey/gotest)
++BuildRequires: golang(github.com/smartystreets/goconvey/convey/reporting)
++BuildRequires: golang(github.com/teris-io/shortid)
++BuildRequires: golang(github.com/Unknwon/com)
++BuildRequires: golang(github.com/VividCortex/mysqlerr)
++BuildRequires: golang(github.com/yudai/gojsondiff)
++BuildRequires: golang(github.com/yudai/golcs)
++BuildRequires: golang(golang.org/x/crypto/pbkdf2)
++BuildRequires: golang(golang.org/x/crypto/ed25519)
++BuildRequires: golang(golang.org/x/crypto/md4)
++BuildRequires: golang(golang.org/x/net/context)
++BuildRequires: golang(golang.org/x/net/context/ctxhttp)
++BuildRequires: golang(golang.org/x/net/http2)
++BuildRequires: golang(golang.org/x/net/http2/hpack)
++BuildRequires: golang(golang.org/x/net/http/httpguts)
++BuildRequires: golang(golang.org/x/net/idna)
++BuildRequires: golang(golang.org/x/net/internal/timeseries)
++BuildRequires: golang(golang.org/x/net/trace)
++BuildRequires: golang(golang.org/x/text/collate)
++BuildRequires: golang(golang.org/x/text/collate/build)
++BuildRequires: golang(golang.org/x/text/internal/colltab)
++BuildRequires: golang(golang.org/x/text/internal/gen)
++BuildRequires: golang(golang.org/x/text/internal/tag)
++BuildRequires: golang(golang.org/x/text/internal/triegen)
++BuildRequires: golang(golang.org/x/text/internal/ucd)
++BuildRequires: golang(golang.org/x/oauth2)
++BuildRequires: golang(golang.org/x/oauth2/google)
++BuildRequires: golang(golang.org/x/oauth2/internal)
++BuildRequires: golang(golang.org/x/oauth2/jws)
++BuildRequires: golang(golang.org/x/oauth2/jwt)
++BuildRequires: golang(github.com/golang/protobuf/proto)
++BuildRequires: golang(github.com/golang/protobuf/ptypes)
++BuildRequires: golang(github.com/golang/protobuf/ptypes)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/duration)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/any)
++BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp)
++BuildRequires: golang(cloud.google.com/go/compute/metadata)
++BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3)
++BuildRequires: golang(gopkg.in/asn1-ber.v1)
++BuildRequires: golang(github.com/go-bufio/bufio)
++BuildRequires: golang(github.com/go-ini/ini)
++BuildRequires: golang(github.com/go-macaron/macaron)
++BuildRequires: golang(github.com/go-redis/redis)
++BuildRequires: golang(gopkg.in/square/go-jose.v2)
++BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher)
++BuildRequires: golang(gopkg.in/square/go-jose.v2/json)
++BuildRequires: golang(github.com/go-yaml/yaml)
++BuildRequires: golang(golang.org/x/sync/errgroup)
++BuildRequires: golang(gopkg.in/ldap.v3)
++BuildRequires: golang(gopkg.in/mail.v2)
++
++# Declare all nodejs modules bundled in the webpack - this is for security
++# purposes so if nodejs-foo ever needs an update, affected packages can be
++# easily identified. This is generated from package-lock.json once the webpack
++# has been built with make_webpack.sh.
++Provides: bundled(nodejs-abbrev) = 1.1.1
++Provides: bundled(nodejs-ansi-regex) = 2.1.1
++Provides: bundled(nodejs-ansi-styles) = 2.2.1
++Provides: bundled(nodejs-argparse) = 1.0.10
++Provides: bundled(nodejs-array-find-index) = 1.0.2
++Provides: bundled(nodejs-async) = 1.5.2
++Provides: bundled(nodejs-balanced-match) = 1.0.0
++Provides: bundled(nodejs-brace-expansion) = 1.1.11
++Provides: bundled(nodejs-builtin-modules) = 1.1.1
++Provides: bundled(nodejs-camelcase) = 2.1.1
++Provides: bundled(nodejs-camelcase-keys) = 2.1.0
++Provides: bundled(nodejs-chalk) = 1.1.3
++Provides: bundled(nodejs-coffee-script) = 1.10.0
++Provides: bundled(nodejs-colors) = 1.1.2
++Provides: bundled(nodejs-concat-map) = 0.0.1
++Provides: bundled(nodejs-currently-unhandled) = 0.4.1
++Provides: bundled(nodejs-dateformat) = 1.0.12
++Provides: bundled(nodejs-decamelize) = 1.2.0
++Provides: bundled(nodejs-error-ex) = 1.3.2
++Provides: bundled(nodejs-escape-string-regexp) = 1.0.5
++Provides: bundled(nodejs-esprima) = 2.7.3
++Provides: bundled(nodejs-eventemitter2) = 0.4.14
++Provides: bundled(nodejs-exit) = 0.1.2
++Provides: bundled(nodejs-find-up) = 1.1.2
++Provides: bundled(nodejs-findup-sync) = 0.3.0
++Provides: bundled(nodejs-fs.realpath) = 1.0.0
++Provides: bundled(nodejs-get-stdin) = 4.0.1
++Provides: bundled(nodejs-getobject) = 0.1.0
++Provides: bundled(nodejs-glob) = 7.0.6
++Provides: bundled(nodejs-graceful-fs) = 4.1.15
++Provides: bundled(nodejs-grunt) = 1.0.1
++Provides: bundled(nodejs-grunt-cli) = 1.2.0
++Provides: bundled(nodejs-grunt-known-options) = 1.1.1
++Provides: bundled(nodejs-grunt-legacy-log) = 1.0.2
++Provides: bundled(nodejs-lodash) = 4.17.11
++Provides: bundled(nodejs-grunt-legacy-log-utils) = 1.0.0
++Provides: bundled(nodejs-grunt-legacy-util) = 1.0.0
++Provides: bundled(nodejs-has-ansi) = 2.0.0
++Provides: bundled(nodejs-hooker) = 0.2.3
++Provides: bundled(nodejs-hosted-git-info) = 2.7.1
++Provides: bundled(nodejs-iconv-lite) = 0.4.24
++Provides: bundled(nodejs-indent-string) = 2.1.0
++Provides: bundled(nodejs-inflight) = 1.0.6
++Provides: bundled(nodejs-inherits) = 2.0.3
++Provides: bundled(nodejs-is-arrayish) = 0.2.1
++Provides: bundled(nodejs-is-builtin-module) = 1.0.0
++Provides: bundled(nodejs-is-finite) = 1.0.2
++Provides: bundled(nodejs-is-utf8) = 0.2.1
++Provides: bundled(nodejs-isexe) = 2.0.0
++Provides: bundled(nodejs-js-yaml) = 3.5.5
++Provides: bundled(nodejs-load-json-file) = 1.1.0
++Provides: bundled(nodejs-loud-rejection) = 1.6.0
++Provides: bundled(nodejs-map-obj) = 1.0.1
++Provides: bundled(nodejs-meow) = 3.7.0
++Provides: bundled(nodejs-minimatch) = 3.0.4
++Provides: bundled(nodejs-minimist) = 1.2.0
++Provides: bundled(nodejs-nopt) = 3.0.6
++Provides: bundled(nodejs-normalize-package-data) = 2.4.2
++Provides: bundled(nodejs-number-is-nan) = 1.0.1
++Provides: bundled(nodejs-object-assign) = 4.1.1
++Provides: bundled(nodejs-once) = 1.4.0
++Provides: bundled(nodejs-parse-json) = 2.2.0
++Provides: bundled(nodejs-path-exists) = 2.1.0
++Provides: bundled(nodejs-path-is-absolute) = 1.0.1
++Provides: bundled(nodejs-path-type) = 1.1.0
++Provides: bundled(nodejs-pify) = 2.3.0
++Provides: bundled(nodejs-pinkie) = 2.0.4
++Provides: bundled(nodejs-pinkie-promise) = 2.0.1
++Provides: bundled(nodejs-read-pkg) = 1.1.0
++Provides: bundled(nodejs-read-pkg-up) = 1.0.1
++Provides: bundled(nodejs-redent) = 1.0.0
++Provides: bundled(nodejs-repeating) = 2.0.1
++Provides: bundled(nodejs-resolve) = 1.1.7
++Provides: bundled(nodejs-rimraf) = 2.2.8
++Provides: bundled(nodejs-safer-buffer) = 2.1.2
++Provides: bundled(nodejs-semver) = 5.6.0
++Provides: bundled(nodejs-signal-exit) = 3.0.2
++Provides: bundled(nodejs-spdx-correct) = 3.1.0
++Provides: bundled(nodejs-spdx-exceptions) = 2.2.0
++Provides: bundled(nodejs-spdx-expression-parse) = 3.0.0
++Provides: bundled(nodejs-spdx-license-ids) = 3.0.3
++Provides: bundled(nodejs-sprintf-js) = 1.0.3
++Provides: bundled(nodejs-strip-ansi) = 3.0.1
++Provides: bundled(nodejs-strip-bom) = 2.0.0
++Provides: bundled(nodejs-strip-indent) = 1.0.1
++Provides: bundled(nodejs-supports-color) = 2.0.0
++Provides: bundled(nodejs-trim-newlines) = 1.0.0
++Provides: bundled(nodejs-underscore.string) = 3.2.3
++Provides: bundled(nodejs-validate-npm-package-license) = 3.0.4
++Provides: bundled(nodejs-which) = 1.2.14
++Provides: bundled(nodejs-wrappy) = 1.0.2
++Provides: bundled(nodejs-yarn) = 1.13.0
++
++
++%description
++Grafana is an open source, feature rich metrics dashboard and graph editor for
++Graphite, InfluxDB & OpenTSDB.
++
++
++%prep
++%setup -q -T -D -b 0
++%setup -q -T -D -b 1
++%patch0 -p1
++%patch1 -p1
++%patch2 -p1
++%patch3 -p1
++%patch4 -p1
++%patch5 -p1
++%patch6 -p1
++
++# Set up build subdirs and links
++mkdir -p %{_builddir}/src/github.com/grafana
++ln -sf %{_builddir}/%{name}-%{version} \
++ %{_builddir}/src/github.com/grafana/grafana
++
++# remove some (apparent) development files, for rpmlint
++rm -f %{_builddir}/src/github.com/grafana/grafana/public/sass/.sass-lint.yml
++rm -f %{_builddir}/src/github.com/grafana/grafana/public/test/.jshintrc
++
++# Unbundle all grafana vendor sources, as per BuildRequires above.
++# An exception is grafana-plugin-model, which is part of grafana.
++cp --parents -a vendor/github.com/grafana %{_builddir}
++rm -r vendor # remove all vendor sources
++mv %{_builddir}/vendor vendor # put back what we're keeping
++
++
++%build
++# Build the server-side binaries: grafana-server and grafana-cli
++export GOPATH=%{_builddir}:%{gopath}
++%gobuild -o grafana-cli ./pkg/cmd/grafana-cli
++%gobuild -o grafana-server ./pkg/cmd/grafana-server
++
++
++%install
++# binaries
++install -d %{buildroot}%{_sbindir}
++install -p -m 755 %{name}-server %{name}-cli %{buildroot}%{_sbindir}
++
++# other shared files, public html, webpack
++install -d %{buildroot}%{_datadir}/%{name}
++cp -a conf public %{buildroot}%{_datadir}/%{name}
++
++# man pages
++install -d %{buildroot}%{_mandir}/man1
++install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1
++
++# config dirs
++install -d %{buildroot}%{_sysconfdir}/%{name}
++install -d %{buildroot}%{_sysconfdir}/sysconfig
++
++# config defaults
++install -p -m 644 conf/distro-defaults.ini \
++ %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
++install -p -m 644 conf/distro-defaults.ini \
++ %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
++install -p -m 644 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml
++install -p -m 644 packaging/rpm/sysconfig/grafana-server \
++ %{buildroot}%{_sysconfdir}/sysconfig/grafana-server
++
++# config database directory and plugins
++install -d %{buildroot}%{_sharedstatedir}/%{name}
++install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}
++install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}/plugins
++
++# log directory
++install -d %{buildroot}%{_localstatedir}/log/%{name}
++
++# systemd service files
++install -d %{buildroot}%{_unitdir} # only needed for manual rpmbuilds
++install -p -m 644 packaging/rpm/systemd/grafana-server.service \
++ %{buildroot}%{_unitdir}
++
++# daemon run pid file config for using tmpfs
++install -d %{buildroot}%{_tmpfilesdir}
++echo "d %{_rundir}/%{name} 0755 %{GRAFANA_USER} %{GRAFANA_GROUP} -" \
++ > %{buildroot}%{_tmpfilesdir}/%{name}.conf
++
++%pre
++getent group %{GRAFANA_GROUP} >/dev/null || groupadd -r %{GRAFANA_GROUP}
++getent passwd %{GRAFANA_USER} >/dev/null || \
++ useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin \
++ -c "%{GRAFANA_USER} user account" %{GRAFANA_USER}
++exit 0
++
++%preun
++%systemd_preun grafana-server.service
++
++%post
++%systemd_post grafana-server.service
++
++%postun
++%systemd_postun_with_restart grafana-server.service
++
++
++%check
++cd %{_builddir}/src/github.com/grafana/grafana
++export GOPATH=%{_builddir}:%{gopath}
++# this test fails for some reason
++rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
++# should be using %%gochecks here, but it doesn't work
++go test ./pkg/...
++
++
++%files
++# binaries
++%{_sbindir}/%{name}-server
++%{_sbindir}/%{name}-cli
++
++# config files
++%dir %{_sysconfdir}/%{name}
++%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini
++%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml
++%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server
++
++# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
++%{_tmpfilesdir}/%{name}.conf
++
++# config database directory and plugins (actual db files are created by grafana-server)
++%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
++%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
++
++# shared directory and all files therein
++%dir %{_datadir}/%{name}
++%{_datadir}/%{name}/public
++%dir %{_datadir}/%{name}/conf
++%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/*
++
++# systemd service file
++%{_unitdir}/grafana-server.service
++
++# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
++%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
++
++# man pages for grafana binaries
++%{_mandir}/man1/%{name}-server.1*
++%{_mandir}/man1/%{name}-cli.1*
++
++# other docs and license
++%license LICENSE
++%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
++%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
++
++
++%changelog
++* Wed Apr 24 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.4-1
++- update to latest upstream stable release 6.1.4, see CHANGELOG
++- use gobuild and gochecks macros, eliminate arch symlinks
++- re-enable grafana-debugsource package
++- fix GRAFANA_GROUP typo
++- fix more modes for brp-mangle-shebangs
++- vendor source unbundling now done in prep after patches
++- remove all rhel and fedora conditional guff
++
++* Tue Apr 16 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.3-1
++- update to latest upstream stable release 6.1.3, see CHANGELOG
++- unbundle all vendor sources, replace with BuildRequires, see
++ the long list of blocker BZs linked to BZ#1670656
++- BuildRequires go-plugin >= v1.0.0 for grpc_broker (thanks eclipseo)
++- tweak make_webpack to no longer use grunt, switch to prod build
++- add ExclusiveArch lua script (thanks quantum.analyst)
++- move db directory and plugins to /var/lib/grafana
++- split out into 6 patches, ready for upstream PRs
++- add check to run go tests for gating checks
++
++* Thu Apr 04 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.0-1
++- update to latest upstream stable release 6.1.0, see CHANGELOG
++
++* Thu Mar 21 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.2-1
++- bump to latest upstream stable release 6.0.2-1
++- unbundle almost all remaining vendor code, see linked blockers in BZ#1670656
++
++* Fri Mar 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-3
++- bump to latest upstream stable release 6.0.1-1
++
++* Thu Mar 14 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-2
++- unbundle and add BuildRequires for golang-github-rainycape-unidecode-devel
++
++* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-1
++- update to v6.0.1 upstream sources, tweak distro config, re-do patch
++- simplify make_webpack.sh script (Elliott Sales de Andrade)
++- vendor/github.com/go-ldap is now gone, so don't unbundle it
++
++* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-11
++- tweak after latest feedback, bump to 5.4.3-11 (BZ 1670656)
++- build debuginfo package again
++- unbundle BuildRequires for golang-github-hashicorp-version-devel
++- remove some unneeded development files
++- remove macros from changelog and other rpmlint tweaks
++
++* Fri Feb 22 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-10
++- tweak spec for available and unavailable (bundled) golang packages
++
++* Wed Feb 20 2019 Xavier Bachelot <xavier(a)bachelot.org> 5.4.3-9
++- Remove extraneous slash (cosmetic)
++- Create directories just before moving stuff in them
++- Truncate long lines
++- Group all golang stuff
++- Simplify BuildRequires/bundled Provides
++- Sort BuildRequires/bundled Provides
++- Fix bundled go packages Provides
++
++* Fri Feb 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-8
++- add BuildRequires (and unbundle) vendor sources available in Fedora
++- declare Provides for remaining (bundled) vendor go sources
++- do not attempt to unbundle anything on RHEL < 7 or Fedora < 28
++
++* Thu Feb 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-7
++- further refinement for spec doc section from Xavier Bachelot
++- disable debug_package to avoid empty debugsourcefiles.list
++
++* Wed Feb 06 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-6
++- further refinement following review by Xavier Bachelot
++
++* Tue Feb 05 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-5
++- further refinement following review by Xavier Bachelot
++
++* Fri Feb 01 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-4
++- further spec updates after packaging review
++- reworked post-install scriplets
++
++* Thu Jan 31 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-3
++- tweak FHS patch, update spec after packaging review
++
++* Wed Jan 30 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-2
++- add patch to be standard FHS compliant, remove phantomjs
++- update to v5.4.3 upstream community sources
++
++* Wed Jan 09 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.2-1
++- update to v5.4.2 upstream community sources
++
++* Thu Oct 18 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.3.1-1
++- update to v5.3.1 upstream community sources
++
++* Tue Oct 02 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.2.5-1
++- native RPM spec build with current tagged v5.2.5 sources
+diff --git a/packaging/rpm/spec/make_webpack.sh b/packaging/rpm/spec/make_webpack.sh
+new file mode 100755
+index 000000000..47a8025ff
+--- /dev/null
++++ b/packaging/rpm/spec/make_webpack.sh
+@@ -0,0 +1,61 @@
++#! /bin/bash
++#
++# Copyright (c) 2019 Red Hat.
++#
++# This program is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by the
++# Free Software Foundation; either version 2 of the License, or (at your
++# option) any later version.
++#
++# This program 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
++# for more details.
++#
++
++[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
++
++# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
++VER=$1
++BUILDDIR=`mktemp -d buildXXXXXX`
++
++[ ! -f /usr/bin/npm ] && echo Error, please install \"npm\" package && exit 1
++
++# get src tree and set cwd
++echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
++git clone https://github.com/grafana/grafana grafana-$VER
++cd grafana-$VER
++git checkout -b v$VER v$VER
++
++# exclude the phantomjs-prebuilt binary module from the webpack
++sed -i '/phantomjs-prebuilt/d' package.json
++
++# nuke grunt task for copying phantomjs
++rm -f scripts/grunt/options/phantomjs.js
++sed -i '/phantomjs/d' scripts/grunt/*.js
++
++# populate node_modules using package.json
++echo Running yarn to populate local node_modules ....
++npm install yarn
++node_modules/yarn/bin/yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
++node_modules/yarn/bin/yarn --non-interactive -W add webpack-cli
++
++# build the webpack
++echo;echo Building production webpack ....
++node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
++
++cd ..
++
++# webpack tarball. Includes public/views because index.html references the webpack
++tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
++
++# source tarball (if needed)
++if [ ! -f grafana-$VER.tar.gz ]; then
++ wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
++fi
++
++# done
++echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
++echo should now be copied to your \$HOME/rpmbuild/SOURCES
++
++exit 0
diff --git a/grafana.spec b/grafana.spec
new file mode 100644
index 0000000..9d69b10
--- /dev/null
+++ b/grafana.spec
@@ -0,0 +1,511 @@
+%global grafana_arches %{lua: go_arches = {}
+ for arch in rpm.expand("%{go_arches}"):gmatch("%S+") do
+ go_arches[arch] = 1
+ end
+ for arch in rpm.expand("%{nodejs_arches}"):gmatch("%S+") do
+ if go_arches[arch] then
+ print(arch .. " ")
+ end
+end}
+
+Name: grafana
+Version: 6.1.4
+Release: 1%{?dist}
+Summary: Metrics dashboard and graph editor
+License: ASL 2.0
+URL: https://grafana.org
+
+# Source0 contains the tagged upstream sources
+Source0: https://github.com/grafana/grafana/archive/v%{version}/%{name}-%{version}...
+
+# Source1 contains the front-end javascript modules bundled into a webpack
+Source1: grafana_webpack-%{version}.tar.gz
+
+# Source2 is the script to create the above webpack from grafana sources
+Source2: make_webpack.sh
+
+# Patches for upstream (except Patch5)
+Patch0: 000-go-test-fixes.patch
+Patch1: 001-man-pages.patch
+Patch2: 002-update-golang-oauth2-vendor-sources.patch
+Patch3: 003-file-mode-updates.patch
+Patch4: 004-grafana.ini-for-Linux-distros.patch
+Patch5: 005-remove-jaeger-tracing.patch
+Patch6: 006-native-RPM-spec-and-webpack-build-script.patch
+
+# Intersection of go_arches and nodejs_arches
+ExclusiveArch: %{grafana_arches}
+
+%global GRAFANA_USER %{name}
+%global GRAFANA_GROUP %{name}
+%global GRAFANA_HOME %{_datadir}/%{name}
+
+# grafana-server service daemon uses systemd
+%{?systemd_requires}
+Requires(pre): shadow-utils
+
+BuildRequires: systemd, golang, compiler(go-compiler)
+
+# golang build deps. These allow us to unbundle vendor golang source.
+BuildRequires: golang(github.com/aws/aws-sdk-go)
+BuildRequires: golang(github.com/benbjohnson/clock)
+BuildRequires: golang(github.com/beorn7/perks/quantile)
+BuildRequires: golang(github.com/bmizerany/assert)
+BuildRequires: golang(github.com/bradfitz/gomemcache/memcache)
+BuildRequires: golang(github.com/BurntSushi/toml)
+BuildRequires: golang(github.com/codahale/hdrhistogram)
+BuildRequires: golang(github.com/codegangsta/cli)
+BuildRequires: golang(github.com/davecgh/go-spew/spew)
+BuildRequires: golang(github.com/denisenkom/go-mssqldb)
+BuildRequires: golang(github.com/facebookgo/inject)
+BuildRequires: golang(github.com/facebookgo/structtag)
+BuildRequires: golang(github.com/fatih/color)
+BuildRequires: golang(github.com/go-ini/ini)
+BuildRequires: golang(google.golang.org/appengine)
+BuildRequires: golang(golang.org/x/sys/unix)
+BuildRequires: golang(github.com/go-macaron/binding)
+BuildRequires: golang(github.com/go-macaron/gzip)
+BuildRequires: golang(github.com/go-macaron/inject)
+BuildRequires: golang(github.com/go-macaron/session)
+BuildRequires: golang(google.golang.org/genproto/googleapis/rpc/status)
+BuildRequires: golang(github.com/gopherjs/gopherjs/js)
+BuildRequires: golang(github.com/gorilla/websocket)
+BuildRequires: golang(github.com/gosimple/slug)
+BuildRequires: golang(github.com/go-sql-driver/mysql)
+BuildRequires: golang(github.com/go-stack/stack)
+BuildRequires: golang(github.com/go-xorm/builder)
+BuildRequires: golang(github.com/go-xorm/core)
+BuildRequires: golang(github.com/go-xorm/xorm)
+BuildRequires: golang(google.golang.org/grpc)
+BuildRequires: golang(github.com/hashicorp/go-hclog)
+# need grpc_broker in go-plugin >= 1.0.0-1
+BuildRequires: golang(github.com/hashicorp/go-plugin)
+BuildRequires: golang(github.com/hashicorp/go-version)
+BuildRequires: golang(github.com/hashicorp/yamux)
+BuildRequires: golang(github.com/inconshreveable/log15)
+BuildRequires: golang(github.com/jmespath/go-jmespath)
+BuildRequires: golang(github.com/jtolds/gls)
+BuildRequires: golang(github.com/klauspost/compress/flate)
+BuildRequires: golang(github.com/klauspost/compress/gzip)
+BuildRequires: golang(github.com/klauspost/compress/snappy)
+BuildRequires: golang(github.com/klauspost/cpuid)
+BuildRequires: golang(github.com/klauspost/crc32)
+BuildRequires: golang(github.com/kr/pretty)
+BuildRequires: golang(github.com/kr/text)
+BuildRequires: golang(github.com/lib/pq)
+BuildRequires: golang(github.com/mattn/go-colorable)
+BuildRequires: golang(github.com/mattn/go-isatty)
+BuildRequires: golang(github.com/mattn/go-sqlite3)
+BuildRequires: golang(github.com/matttproud/golang_protobuf_extensions/pbutil)
+BuildRequires: golang(github.com/mitchellh/go-testing-interface)
+BuildRequires: golang(github.com/oklog/run)
+BuildRequires: golang(github.com/opentracing/opentracing-go)
+BuildRequires: golang(github.com/patrickmn/go-cache)
+BuildRequires: golang(github.com/pkg/errors)
+BuildRequires: golang(github.com/prometheus/client_golang/api)
+BuildRequires: golang(github.com/prometheus/client_golang/api/prometheus/v1)
+BuildRequires: golang(github.com/prometheus/client_model/go)
+BuildRequires: golang-github-prometheus-common-devel
+BuildRequires: golang(github.com/prometheus/common/expfmt)
+BuildRequires: golang(github.com/prometheus/common/model)
+BuildRequires: golang(github.com/prometheus/common/expfmt)
+BuildRequires: golang(github.com/prometheus/procfs)
+BuildRequires: golang(github.com/prometheus/procfs/internal/util)
+BuildRequires: golang(github.com/prometheus/procfs)
+BuildRequires: golang(github.com/prometheus/procfs/internal/util)
+BuildRequires: golang(github.com/prometheus/procfs/nfs)
+BuildRequires: golang(github.com/prometheus/procfs/xfs)
+BuildRequires: golang(github.com/rainycape/unidecode)
+BuildRequires: golang(github.com/sergi/go-diff/diffmatchpatch)
+BuildRequires: golang(github.com/smartystreets/assertions)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey/gotest)
+BuildRequires: golang(github.com/smartystreets/goconvey/convey/reporting)
+BuildRequires: golang(github.com/teris-io/shortid)
+BuildRequires: golang(github.com/Unknwon/com)
+BuildRequires: golang(github.com/VividCortex/mysqlerr)
+BuildRequires: golang(github.com/yudai/gojsondiff)
+BuildRequires: golang(github.com/yudai/golcs)
+BuildRequires: golang(golang.org/x/crypto/pbkdf2)
+BuildRequires: golang(golang.org/x/crypto/ed25519)
+BuildRequires: golang(golang.org/x/crypto/md4)
+BuildRequires: golang(golang.org/x/net/context)
+BuildRequires: golang(golang.org/x/net/context/ctxhttp)
+BuildRequires: golang(golang.org/x/net/http2)
+BuildRequires: golang(golang.org/x/net/http2/hpack)
+BuildRequires: golang(golang.org/x/net/http/httpguts)
+BuildRequires: golang(golang.org/x/net/idna)
+BuildRequires: golang(golang.org/x/net/internal/timeseries)
+BuildRequires: golang(golang.org/x/net/trace)
+BuildRequires: golang(golang.org/x/text/collate)
+BuildRequires: golang(golang.org/x/text/collate/build)
+BuildRequires: golang(golang.org/x/text/internal/colltab)
+BuildRequires: golang(golang.org/x/text/internal/gen)
+BuildRequires: golang(golang.org/x/text/internal/tag)
+BuildRequires: golang(golang.org/x/text/internal/triegen)
+BuildRequires: golang(golang.org/x/text/internal/ucd)
+BuildRequires: golang(golang.org/x/oauth2)
+BuildRequires: golang(golang.org/x/oauth2/google)
+BuildRequires: golang(golang.org/x/oauth2/internal)
+BuildRequires: golang(golang.org/x/oauth2/jws)
+BuildRequires: golang(golang.org/x/oauth2/jwt)
+BuildRequires: golang(github.com/golang/protobuf/proto)
+BuildRequires: golang(github.com/golang/protobuf/ptypes)
+BuildRequires: golang(github.com/golang/protobuf/ptypes)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/duration)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/any)
+BuildRequires: golang(github.com/golang/protobuf/ptypes/timestamp)
+BuildRequires: golang(cloud.google.com/go/compute/metadata)
+BuildRequires: golang(gopkg.in/alexcesaro/quotedprintable.v3)
+BuildRequires: golang(gopkg.in/asn1-ber.v1)
+BuildRequires: golang(github.com/go-bufio/bufio)
+BuildRequires: golang(github.com/go-ini/ini)
+BuildRequires: golang(github.com/go-macaron/macaron)
+BuildRequires: golang(github.com/go-redis/redis)
+BuildRequires: golang(gopkg.in/square/go-jose.v2)
+BuildRequires: golang(gopkg.in/square/go-jose.v2/cipher)
+BuildRequires: golang(gopkg.in/square/go-jose.v2/json)
+BuildRequires: golang(github.com/go-yaml/yaml)
+BuildRequires: golang(golang.org/x/sync/errgroup)
+BuildRequires: golang(gopkg.in/ldap.v3)
+BuildRequires: golang(gopkg.in/mail.v2)
+
+# Declare all nodejs modules bundled in the webpack - this is for security
+# purposes so if nodejs-foo ever needs an update, affected packages can be
+# easily identified. This is generated from package-lock.json once the webpack
+# has been built with make_webpack.sh.
+Provides: bundled(nodejs-abbrev) = 1.1.1
+Provides: bundled(nodejs-ansi-regex) = 2.1.1
+Provides: bundled(nodejs-ansi-styles) = 2.2.1
+Provides: bundled(nodejs-argparse) = 1.0.10
+Provides: bundled(nodejs-array-find-index) = 1.0.2
+Provides: bundled(nodejs-async) = 1.5.2
+Provides: bundled(nodejs-balanced-match) = 1.0.0
+Provides: bundled(nodejs-brace-expansion) = 1.1.11
+Provides: bundled(nodejs-builtin-modules) = 1.1.1
+Provides: bundled(nodejs-camelcase) = 2.1.1
+Provides: bundled(nodejs-camelcase-keys) = 2.1.0
+Provides: bundled(nodejs-chalk) = 1.1.3
+Provides: bundled(nodejs-coffee-script) = 1.10.0
+Provides: bundled(nodejs-colors) = 1.1.2
+Provides: bundled(nodejs-concat-map) = 0.0.1
+Provides: bundled(nodejs-currently-unhandled) = 0.4.1
+Provides: bundled(nodejs-dateformat) = 1.0.12
+Provides: bundled(nodejs-decamelize) = 1.2.0
+Provides: bundled(nodejs-error-ex) = 1.3.2
+Provides: bundled(nodejs-escape-string-regexp) = 1.0.5
+Provides: bundled(nodejs-esprima) = 2.7.3
+Provides: bundled(nodejs-eventemitter2) = 0.4.14
+Provides: bundled(nodejs-exit) = 0.1.2
+Provides: bundled(nodejs-find-up) = 1.1.2
+Provides: bundled(nodejs-findup-sync) = 0.3.0
+Provides: bundled(nodejs-fs.realpath) = 1.0.0
+Provides: bundled(nodejs-get-stdin) = 4.0.1
+Provides: bundled(nodejs-getobject) = 0.1.0
+Provides: bundled(nodejs-glob) = 7.0.6
+Provides: bundled(nodejs-graceful-fs) = 4.1.15
+Provides: bundled(nodejs-grunt) = 1.0.1
+Provides: bundled(nodejs-grunt-cli) = 1.2.0
+Provides: bundled(nodejs-grunt-known-options) = 1.1.1
+Provides: bundled(nodejs-grunt-legacy-log) = 1.0.2
+Provides: bundled(nodejs-lodash) = 4.17.11
+Provides: bundled(nodejs-grunt-legacy-log-utils) = 1.0.0
+Provides: bundled(nodejs-grunt-legacy-util) = 1.0.0
+Provides: bundled(nodejs-has-ansi) = 2.0.0
+Provides: bundled(nodejs-hooker) = 0.2.3
+Provides: bundled(nodejs-hosted-git-info) = 2.7.1
+Provides: bundled(nodejs-iconv-lite) = 0.4.24
+Provides: bundled(nodejs-indent-string) = 2.1.0
+Provides: bundled(nodejs-inflight) = 1.0.6
+Provides: bundled(nodejs-inherits) = 2.0.3
+Provides: bundled(nodejs-is-arrayish) = 0.2.1
+Provides: bundled(nodejs-is-builtin-module) = 1.0.0
+Provides: bundled(nodejs-is-finite) = 1.0.2
+Provides: bundled(nodejs-is-utf8) = 0.2.1
+Provides: bundled(nodejs-isexe) = 2.0.0
+Provides: bundled(nodejs-js-yaml) = 3.5.5
+Provides: bundled(nodejs-load-json-file) = 1.1.0
+Provides: bundled(nodejs-loud-rejection) = 1.6.0
+Provides: bundled(nodejs-map-obj) = 1.0.1
+Provides: bundled(nodejs-meow) = 3.7.0
+Provides: bundled(nodejs-minimatch) = 3.0.4
+Provides: bundled(nodejs-minimist) = 1.2.0
+Provides: bundled(nodejs-nopt) = 3.0.6
+Provides: bundled(nodejs-normalize-package-data) = 2.4.2
+Provides: bundled(nodejs-number-is-nan) = 1.0.1
+Provides: bundled(nodejs-object-assign) = 4.1.1
+Provides: bundled(nodejs-once) = 1.4.0
+Provides: bundled(nodejs-parse-json) = 2.2.0
+Provides: bundled(nodejs-path-exists) = 2.1.0
+Provides: bundled(nodejs-path-is-absolute) = 1.0.1
+Provides: bundled(nodejs-path-type) = 1.1.0
+Provides: bundled(nodejs-pify) = 2.3.0
+Provides: bundled(nodejs-pinkie) = 2.0.4
+Provides: bundled(nodejs-pinkie-promise) = 2.0.1
+Provides: bundled(nodejs-read-pkg) = 1.1.0
+Provides: bundled(nodejs-read-pkg-up) = 1.0.1
+Provides: bundled(nodejs-redent) = 1.0.0
+Provides: bundled(nodejs-repeating) = 2.0.1
+Provides: bundled(nodejs-resolve) = 1.1.7
+Provides: bundled(nodejs-rimraf) = 2.2.8
+Provides: bundled(nodejs-safer-buffer) = 2.1.2
+Provides: bundled(nodejs-semver) = 5.6.0
+Provides: bundled(nodejs-signal-exit) = 3.0.2
+Provides: bundled(nodejs-spdx-correct) = 3.1.0
+Provides: bundled(nodejs-spdx-exceptions) = 2.2.0
+Provides: bundled(nodejs-spdx-expression-parse) = 3.0.0
+Provides: bundled(nodejs-spdx-license-ids) = 3.0.3
+Provides: bundled(nodejs-sprintf-js) = 1.0.3
+Provides: bundled(nodejs-strip-ansi) = 3.0.1
+Provides: bundled(nodejs-strip-bom) = 2.0.0
+Provides: bundled(nodejs-strip-indent) = 1.0.1
+Provides: bundled(nodejs-supports-color) = 2.0.0
+Provides: bundled(nodejs-trim-newlines) = 1.0.0
+Provides: bundled(nodejs-underscore.string) = 3.2.3
+Provides: bundled(nodejs-validate-npm-package-license) = 3.0.4
+Provides: bundled(nodejs-which) = 1.2.14
+Provides: bundled(nodejs-wrappy) = 1.0.2
+Provides: bundled(nodejs-yarn) = 1.13.0
+
+
+%description
+Grafana is an open source, feature rich metrics dashboard and graph editor for
+Graphite, InfluxDB & OpenTSDB.
+
+
+%prep
+%setup -q -T -D -b 0
+%setup -q -T -D -b 1
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+
+# Set up build subdirs and links
+mkdir -p %{_builddir}/src/github.com/grafana
+ln -sf %{_builddir}/%{name}-%{version} \
+ %{_builddir}/src/github.com/grafana/grafana
+
+# remove some (apparent) development files, for rpmlint
+rm -f %{_builddir}/src/github.com/grafana/grafana/public/sass/.sass-lint.yml
+rm -f %{_builddir}/src/github.com/grafana/grafana/public/test/.jshintrc
+
+# Unbundle all grafana vendor sources, as per BuildRequires above.
+# An exception is grafana-plugin-model, which is part of grafana.
+cp --parents -a vendor/github.com/grafana %{_builddir}
+rm -r vendor # remove all vendor sources
+mv %{_builddir}/vendor vendor # put back what we're keeping
+
+
+%build
+# Build the server-side binaries: grafana-server and grafana-cli
+export GOPATH=%{_builddir}:%{gopath}
+%gobuild -o grafana-cli ./pkg/cmd/grafana-cli
+%gobuild -o grafana-server ./pkg/cmd/grafana-server
+
+
+%install
+# binaries
+install -d %{buildroot}%{_sbindir}
+install -p -m 755 %{name}-server %{name}-cli %{buildroot}%{_sbindir}
+
+# other shared files, public html, webpack
+install -d %{buildroot}%{_datadir}/%{name}
+cp -a conf public %{buildroot}%{_datadir}/%{name}
+
+# man pages
+install -d %{buildroot}%{_mandir}/man1
+install -p -m 644 docs/man/man1/* %{buildroot}%{_mandir}/man1
+
+# config dirs
+install -d %{buildroot}%{_sysconfdir}/%{name}
+install -d %{buildroot}%{_sysconfdir}/sysconfig
+
+# config defaults
+install -p -m 644 conf/distro-defaults.ini \
+ %{buildroot}%{_sysconfdir}/%{name}/grafana.ini
+install -p -m 644 conf/distro-defaults.ini \
+ %{buildroot}%{_datadir}/%{name}/conf/defaults.ini
+install -p -m 644 conf/ldap.toml %{buildroot}%{_sysconfdir}/%{name}/ldap.toml
+install -p -m 644 packaging/rpm/sysconfig/grafana-server \
+ %{buildroot}%{_sysconfdir}/sysconfig/grafana-server
+
+# config database directory and plugins
+install -d %{buildroot}%{_sharedstatedir}/%{name}
+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}
+install -d -m 755 %{buildroot}%{_sharedstatedir}/%{name}/plugins
+
+# log directory
+install -d %{buildroot}%{_localstatedir}/log/%{name}
+
+# systemd service files
+install -d %{buildroot}%{_unitdir} # only needed for manual rpmbuilds
+install -p -m 644 packaging/rpm/systemd/grafana-server.service \
+ %{buildroot}%{_unitdir}
+
+# daemon run pid file config for using tmpfs
+install -d %{buildroot}%{_tmpfilesdir}
+echo "d %{_rundir}/%{name} 0755 %{GRAFANA_USER} %{GRAFANA_GROUP} -" \
+ > %{buildroot}%{_tmpfilesdir}/%{name}.conf
+
+%pre
+getent group %{GRAFANA_GROUP} >/dev/null || groupadd -r %{GRAFANA_GROUP}
+getent passwd %{GRAFANA_USER} >/dev/null || \
+ useradd -r -g %{GRAFANA_GROUP} -d %{GRAFANA_HOME} -s /sbin/nologin \
+ -c "%{GRAFANA_USER} user account" %{GRAFANA_USER}
+exit 0
+
+%preun
+%systemd_preun grafana-server.service
+
+%post
+%systemd_post grafana-server.service
+
+%postun
+%systemd_postun_with_restart grafana-server.service
+
+
+%check
+cd %{_builddir}/src/github.com/grafana/grafana
+export GOPATH=%{_builddir}:%{gopath}
+# this test fails for some reason
+rm -f pkg/services/provisioning/dashboards/file_reader_linux_test.go
+# should be using %%gochecks here, but it doesn't work
+go test ./pkg/...
+
+
+%files
+# binaries
+%{_sbindir}/%{name}-server
+%{_sbindir}/%{name}-cli
+
+# config files
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/grafana.ini
+%config(noreplace) %attr(644, root, %{GRAFANA_GROUP}) %{_sysconfdir}/%{name}/ldap.toml
+%config(noreplace) %{_sysconfdir}/sysconfig/grafana-server
+
+# Grafana configuration to dynamically create /run/grafana/grafana.pid on tmpfs
+%{_tmpfilesdir}/%{name}.conf
+
+# config database directory and plugins (actual db files are created by grafana-server)
+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}
+%attr(-, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_sharedstatedir}/%{name}/plugins
+
+# shared directory and all files therein
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/public
+%dir %{_datadir}/%{name}/conf
+%attr(-, root, %{GRAFANA_GROUP}) %{_datadir}/%{name}/conf/*
+
+# systemd service file
+%{_unitdir}/grafana-server.service
+
+# log directory - grafana.log is created by grafana-server, and it does it's own log rotation
+%attr(0755, %{GRAFANA_USER}, %{GRAFANA_GROUP}) %dir %{_localstatedir}/log/%{name}
+
+# man pages for grafana binaries
+%{_mandir}/man1/%{name}-server.1*
+%{_mandir}/man1/%{name}-cli.1*
+
+# other docs and license
+%license LICENSE
+%doc CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md NOTICE.md
+%doc PLUGIN_DEV.md README.md ROADMAP.md UPGRADING_DEPENDENCIES.md
+
+
+%changelog
+* Wed Apr 24 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.4-1
+- update to latest upstream stable release 6.1.4, see CHANGELOG
+- use gobuild and gochecks macros, eliminate arch symlinks
+- re-enable grafana-debugsource package
+- fix GRAFANA_GROUP typo
+- fix more modes for brp-mangle-shebangs
+- vendor source unbundling now done in prep after patches
+- remove all rhel and fedora conditional guff
+
+* Tue Apr 16 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.3-1
+- update to latest upstream stable release 6.1.3, see CHANGELOG
+- unbundle all vendor sources, replace with BuildRequires, see
+ the long list of blocker BZs linked to BZ#1670656
+- BuildRequires go-plugin >= v1.0.0 for grpc_broker (thanks eclipseo)
+- tweak make_webpack to no longer use grunt, switch to prod build
+- add ExclusiveArch lua script (thanks quantum.analyst)
+- move db directory and plugins to /var/lib/grafana
+- split out into 6 patches, ready for upstream PRs
+- add check to run go tests for gating checks
+
+* Thu Apr 04 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.1.0-1
+- update to latest upstream stable release 6.1.0, see CHANGELOG
+
+* Thu Mar 21 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.2-1
+- bump to latest upstream stable release 6.0.2-1
+- unbundle almost all remaining vendor code, see linked blockers in BZ#1670656
+
+* Fri Mar 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-3
+- bump to latest upstream stable release 6.0.1-1
+
+* Thu Mar 14 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-2
+- unbundle and add BuildRequires for golang-github-rainycape-unidecode-devel
+
+* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 6.0.1-1
+- update to v6.0.1 upstream sources, tweak distro config, re-do patch
+- simplify make_webpack.sh script (Elliott Sales de Andrade)
+- vendor/github.com/go-ldap is now gone, so don't unbundle it
+
+* Thu Mar 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-11
+- tweak after latest feedback, bump to 5.4.3-11 (BZ 1670656)
+- build debuginfo package again
+- unbundle BuildRequires for golang-github-hashicorp-version-devel
+- remove some unneeded development files
+- remove macros from changelog and other rpmlint tweaks
+
+* Fri Feb 22 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-10
+- tweak spec for available and unavailable (bundled) golang packages
+
+* Wed Feb 20 2019 Xavier Bachelot <xavier(a)bachelot.org> 5.4.3-9
+- Remove extraneous slash (cosmetic)
+- Create directories just before moving stuff in them
+- Truncate long lines
+- Group all golang stuff
+- Simplify BuildRequires/bundled Provides
+- Sort BuildRequires/bundled Provides
+- Fix bundled go packages Provides
+
+* Fri Feb 15 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-8
+- add BuildRequires (and unbundle) vendor sources available in Fedora
+- declare Provides for remaining (bundled) vendor go sources
+- do not attempt to unbundle anything on RHEL < 7 or Fedora < 28
+
+* Thu Feb 07 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-7
+- further refinement for spec doc section from Xavier Bachelot
+- disable debug_package to avoid empty debugsourcefiles.list
+
+* Wed Feb 06 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-6
+- further refinement following review by Xavier Bachelot
+
+* Tue Feb 05 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-5
+- further refinement following review by Xavier Bachelot
+
+* Fri Feb 01 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-4
+- further spec updates after packaging review
+- reworked post-install scriplets
+
+* Thu Jan 31 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-3
+- tweak FHS patch, update spec after packaging review
+
+* Wed Jan 30 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.3-2
+- add patch to be standard FHS compliant, remove phantomjs
+- update to v5.4.3 upstream community sources
+
+* Wed Jan 09 2019 Mark Goodwin <mgoodwin(a)redhat.com> 5.4.2-1
+- update to v5.4.2 upstream community sources
+
+* Thu Oct 18 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.3.1-1
+- update to v5.3.1 upstream community sources
+
+* Tue Oct 02 2018 Mark Goodwin <mgoodwin(a)redhat.com> 5.2.5-1
+- native RPM spec build with current tagged v5.2.5 sources
diff --git a/make_webpack.sh b/make_webpack.sh
new file mode 100644
index 0000000..47a8025
--- /dev/null
+++ b/make_webpack.sh
@@ -0,0 +1,61 @@
+#! /bin/bash
+#
+# Copyright (c) 2019 Red Hat.
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2 of the License, or (at your
+# option) any later version.
+#
+# This program 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
+# for more details.
+#
+
+[ $# -ne 1 ] && echo "Usage: $0 version" && exit 1
+
+# grafana version (must be tagged on github.com/grafana/grafana as "v$VER")
+VER=$1
+BUILDDIR=`mktemp -d buildXXXXXX`
+
+[ ! -f /usr/bin/npm ] && echo Error, please install \"npm\" package && exit 1
+
+# get src tree and set cwd
+echo Fetching pristine upstream git tagged branch for grafana version v$VER ...
+git clone https://github.com/grafana/grafana grafana-$VER
+cd grafana-$VER
+git checkout -b v$VER v$VER
+
+# exclude the phantomjs-prebuilt binary module from the webpack
+sed -i '/phantomjs-prebuilt/d' package.json
+
+# nuke grunt task for copying phantomjs
+rm -f scripts/grunt/options/phantomjs.js
+sed -i '/phantomjs/d' scripts/grunt/*.js
+
+# populate node_modules using package.json
+echo Running yarn to populate local node_modules ....
+npm install yarn
+node_modules/yarn/bin/yarn --non-interactive --no-progress --ignore-engines install --pure-lockfile > yarn.out 2>&1
+node_modules/yarn/bin/yarn --non-interactive -W add webpack-cli
+
+# build the webpack
+echo;echo Building production webpack ....
+node_modules/webpack/bin/webpack.js --display errors-only --mode production --config scripts/webpack/webpack.prod.js
+
+cd ..
+
+# webpack tarball. Includes public/views because index.html references the webpack
+tar czf grafana_webpack-$VER.tar.gz grafana-$VER/public/build grafana-$VER/public/views
+
+# source tarball (if needed)
+if [ ! -f grafana-$VER.tar.gz ]; then
+ wget --quiet -O grafana-$VER.tar.gz https://github.com/grafana/grafana/archive/v$VER/grafana-$VER.tar.gz
+fi
+
+# done
+echo Both grafana-$VER.tar.gz and grafana_webpack-$VER.tar.gz
+echo should now be copied to your \$HOME/rpmbuild/SOURCES
+
+exit 0
diff --git a/sources b/sources
new file mode 100644
index 0000000..64f93e3
--- /dev/null
+++ b/sources
@@ -0,0 +1,2 @@
+SHA512 (grafana-6.1.4.tar.gz) = 75ed40232182d33484ecaeb58539d465bfcbd0ba7d03901925e8256a40fb6c87292ec0b324e97dce89ddb3b87505090f730eb12f77d987de5fe6e3b31ffb1782
+SHA512 (grafana_webpack-6.1.4.tar.gz) = a8895d14213cbe43adb3585969a6b23c1016d39bdcee9b48bd544f31f84a51bb4eb9b942ef68450910bd73ad9c03f89870782a230bba098197e7ce32000b8058
4 years, 1 month