|
|
9b803b8 |
%global _hardened_build 1
|
|
|
9b803b8 |
%global proj accumulo
|
|
|
9b803b8 |
%global longproj Apache Accumulo
|
|
|
6e9b93d |
# TODO monitor not included until dependent javascript libs are packaged
|
|
|
9b803b8 |
%global include_monitor 0
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# jpackage main class
|
|
|
6e9b93d |
%global main_class org.apache.%{name}.start.Main
|
|
|
6e9b93d |
|
|
|
9b803b8 |
Name: %{proj}
|
|
|
a731974 |
Version: 1.6.6
|
|
|
8d16520 |
Release: 5%{?dist}
|
|
|
9b803b8 |
Summary: A software platform for processing vast amounts of data
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Development/Libraries
|
|
|
a731974 |
URL: https://%{name}.apache.org
|
|
|
a731974 |
Source0: https://www.apache.org/dist/%{name}/%{version}/%{name}-%{version}-src.tar.gz
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# systemd service files
|
|
|
6e9b93d |
Source1: %{name}-master.service
|
|
|
6e9b93d |
Source2: %{name}-tserver.service
|
|
|
6e9b93d |
Source3: %{name}-gc.service
|
|
|
6e9b93d |
Source4: %{name}-tracer.service
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
6e9b93d |
Source5: %{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# Java configuration file for Fedora
|
|
|
6e9b93d |
Source6: %{name}.conf
|
|
|
6e9b93d |
|
|
|
9b803b8 |
# Upstream patches needed for Fedora
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# Should be applied after upstream patches
|
|
|
e4de6e9 |
# Use Jetty version 9 instead of 8
|
|
|
e4de6e9 |
Patch0: jetty9.patch
|
|
|
6e9b93d |
# Use current version of commons-configuration
|
|
|
e4de6e9 |
Patch1: commons-configuration.patch
|
|
|
6e9b93d |
# Use current version of commons-math
|
|
|
e4de6e9 |
Patch2: commons-math.patch
|
|
|
6e9b93d |
# Apply Fedora JNI conventions
|
|
|
e4de6e9 |
Patch3: native-code.patch
|
|
|
6e9b93d |
# Disable broken tests
|
|
|
e4de6e9 |
Patch4: disabled-tests.patch
|
|
|
6e9b93d |
# Patch upstream-provided example configuration for Fedora
|
|
|
e4de6e9 |
Patch5: default-conf.patch
|
|
|
8d16520 |
%if 0%{?fedora} > 24
|
|
|
8d16520 |
# Patch upstream ACCUMULO-3470 (update to commons-vfs 2.1)
|
|
|
8d16520 |
Patch6: ACCUMULO-3470.patch
|
|
|
8d16520 |
# disable missing vfs2 provider for HDFS (bz#1387110)
|
|
|
8d16520 |
Patch7: disable-hdfs-vfs2-provider.patch
|
|
|
8d16520 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
BuildRequires: apache-commons-cli
|
|
|
9b803b8 |
BuildRequires: apache-commons-codec
|
|
|
9b803b8 |
BuildRequires: apache-commons-collections
|
|
|
9b803b8 |
BuildRequires: apache-commons-configuration
|
|
|
9b803b8 |
BuildRequires: apache-commons-io
|
|
|
9b803b8 |
BuildRequires: apache-commons-lang
|
|
|
9b803b8 |
BuildRequires: apache-commons-logging
|
|
|
9b803b8 |
BuildRequires: apache-commons-math
|
|
|
9b803b8 |
BuildRequires: apache-commons-vfs
|
|
|
9b803b8 |
BuildRequires: beust-jcommander
|
|
|
9b803b8 |
BuildRequires: bouncycastle
|
|
|
9b803b8 |
BuildRequires: exec-maven-plugin
|
|
|
9b803b8 |
BuildRequires: google-gson
|
|
|
9b803b8 |
BuildRequires: guava
|
|
|
9b803b8 |
BuildRequires: hadoop-client
|
|
|
9b803b8 |
BuildRequires: hadoop-tests
|
|
|
9b803b8 |
BuildRequires: java-devel
|
|
|
9b803b8 |
BuildRequires: jetty-security
|
|
|
9b803b8 |
BuildRequires: jetty-server
|
|
|
9b803b8 |
BuildRequires: jetty-servlet
|
|
|
9b803b8 |
BuildRequires: jetty-util
|
|
|
9b803b8 |
BuildRequires: jline2
|
|
|
9b803b8 |
BuildRequires: jpackage-utils
|
|
|
9b803b8 |
BuildRequires: libthrift-java
|
|
|
9b803b8 |
BuildRequires: log4j12
|
|
|
9b803b8 |
BuildRequires: maven-local
|
|
|
9b803b8 |
BuildRequires: mvn(javax.servlet:javax.servlet-api)
|
|
|
9b803b8 |
BuildRequires: native-maven-plugin
|
|
|
9b803b8 |
BuildRequires: powermock-api-easymock
|
|
|
9b803b8 |
BuildRequires: powermock-core
|
|
|
9b803b8 |
BuildRequires: powermock-junit4
|
|
|
9b803b8 |
BuildRequires: slf4j
|
|
|
9b803b8 |
BuildRequires: systemd-units
|
|
|
9b803b8 |
BuildRequires: zookeeper-java
|
|
|
9b803b8 |
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-master = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-tserver = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-gc = %{version}-%{release}
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
Requires: %{name}-monitor = %{version}-%{release}
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
Requires: %{name}-tracer = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-examples = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-native%{?_isa} = %{version}-%{release}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package core
|
|
|
9b803b8 |
Summary: Libraries for %{longproj} Java clients
|
|
|
9b803b8 |
# the bloom filter code is BSD licensed, everything else is ASL 2.0
|
|
|
9b803b8 |
License: ASL 2.0 and BSD
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires(pre): /usr/sbin/useradd
|
|
|
6e9b93d |
Obsoletes: %{name}-javadoc < 1.6.0-5%{?dist}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description core
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides libraries for %{longproj} clients.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package server-base
|
|
|
9b803b8 |
Summary: The %{longproj} Server Base libraries
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description server-base
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides jars for other %{longproj} services.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package master
|
|
|
9b803b8 |
Summary: The %{longproj} Master service
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-server-base = %{version}-%{release}
|
|
|
9b803b8 |
Requires(post): systemd-units
|
|
|
9b803b8 |
Requires(preun): systemd-units
|
|
|
9b803b8 |
Requires(postun): systemd-units
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description master
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides the master service for %{longproj}.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package tserver
|
|
|
9b803b8 |
Summary: The %{longproj} TServer service
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-server-base = %{version}-%{release}
|
|
|
9b803b8 |
Requires(post): systemd-units
|
|
|
9b803b8 |
Requires(preun): systemd-units
|
|
|
9b803b8 |
Requires(postun): systemd-units
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description tserver
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides the tserver service for %{longproj}.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package gc
|
|
|
9b803b8 |
Summary: The %{longproj} Garbage Collector service
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-server-base = %{version}-%{release}
|
|
|
9b803b8 |
Requires(post): systemd-units
|
|
|
9b803b8 |
Requires(preun): systemd-units
|
|
|
9b803b8 |
Requires(postun): systemd-units
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description gc
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides the gc service for %{longproj}.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%package monitor
|
|
|
9b803b8 |
Summary: The %{longproj} Monitor service
|
|
|
9b803b8 |
# jquery and flot are MIT licensed, everything else is ASL 2.0
|
|
|
9b803b8 |
License: ASL 2.0 and MIT
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-server-base = %{version}-%{release}
|
|
|
9b803b8 |
Requires(post): systemd-units
|
|
|
9b803b8 |
Requires(preun): systemd-units
|
|
|
9b803b8 |
Requires(postun): systemd-units
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description monitor
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides the monitor service for %{longproj}.
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package tracer
|
|
|
9b803b8 |
Summary: The %{longproj} Tracer service
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
Requires: %{name}-server-base = %{version}-%{release}
|
|
|
9b803b8 |
Requires(post): systemd-units
|
|
|
9b803b8 |
Requires(preun): systemd-units
|
|
|
9b803b8 |
Requires(postun): systemd-units
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description tracer
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides the tracer service for %{longproj}.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package examples
|
|
|
9b803b8 |
Summary: Examples for %{longproj}
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Applications/System
|
|
|
9b803b8 |
BuildArch: noarch
|
|
|
9b803b8 |
Requires: %{name}-core = %{version}-%{release}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description examples
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides examples for %{longproj}.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%package native
|
|
|
9b803b8 |
Summary: Native libraries for %{longproj}
|
|
|
9b803b8 |
License: ASL 2.0
|
|
|
9b803b8 |
Group: Development/Libraries
|
|
|
9b803b8 |
Requires: %{name}-tserver = %{version}-%{release}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%description native
|
|
|
9b803b8 |
%{longproj} is a sorted, distributed key/value store based on Google's
|
|
|
9b803b8 |
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
|
|
|
9b803b8 |
features a few novel improvements on the BigTable design in the form of
|
|
|
9b803b8 |
cell-level access labels and a server-side programming mechanism that can
|
|
|
9b803b8 |
modify key/value pairs at various points in the data management process.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
This package provides native code for %{longproj}'s TServer.
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%prep
|
|
|
0cec73a |
%autosetup -p1
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# Update dependency versions
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='jline']/pom:version" "2.10"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='zookeeper']/pom:version" "3.4.5"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='libthrift']/pom:version" "0.9.1"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='log4j']/pom:version" "1.2.17"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:version" "3.2"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:artifactId" "commons-math3"
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencies/pom:dependency[pom:artifactId='commons-math']/pom:artifactId" "commons-math3" core
|
|
|
9b803b8 |
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='bcprov-jdk15on']/pom:artifactId" "bcprov-jdk16"
|
|
|
9b803b8 |
|
|
|
312227c |
# Remove enforcer animal-sniffer rule
|
|
|
312227c |
%pom_xpath_remove "pom:project/pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-enforcer-plugin']/pom:dependencies"
|
|
|
312227c |
%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-enforcer-plugin']/pom:executions/pom:execution[pom:id='enforce-java-signatures']"
|
|
|
312227c |
|
|
|
6e9b93d |
# Disable unneeded/unused modules
|
|
|
9b803b8 |
%pom_disable_module test
|
|
|
9b803b8 |
%pom_disable_module proxy
|
|
|
9b803b8 |
%pom_disable_module maven-plugin
|
|
|
9b803b8 |
%pom_disable_module docs
|
|
|
9b803b8 |
%pom_disable_module assemble
|
|
|
9b803b8 |
%if !%{include_monitor}
|
|
|
40b9a95 |
# mini has dependency on monitor
|
|
|
40b9a95 |
%pom_disable_module minicluster
|
|
|
9b803b8 |
%pom_disable_module server/monitor
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# Remove unneeded plugins
|
|
|
4658df2 |
%pom_remove_plugin :maven-checkstyle-plugin
|
|
|
9b803b8 |
%pom_remove_plugin :maven-site-plugin
|
|
|
9b803b8 |
%pom_remove_plugin :maven-failsafe-plugin
|
|
|
9b803b8 |
%pom_remove_plugin :apache-rat-plugin
|
|
|
a731974 |
%pom_remove_plugin :sortpom-maven-plugin
|
|
|
9b803b8 |
%pom_remove_plugin :mavanagaiata
|
|
|
9b803b8 |
%pom_remove_plugin :findbugs-maven-plugin
|
|
|
a731974 |
%pom_remove_plugin :maven-java-formatter-plugin
|
|
|
d43efdc |
%pom_remove_plugin :modernizer-maven-plugin
|
|
|
9b803b8 |
|
|
|
40b9a95 |
%if %{include_monitor}
|
|
|
9b803b8 |
%mvn_package ":%{name}-minicluster" __noinstall
|
|
|
40b9a95 |
%endif
|
|
|
9b803b8 |
%mvn_package ":%{name}-{project,core,fate,trace,start}" core
|
|
|
9b803b8 |
%mvn_package ":%{name}-examples-simple" examples
|
|
|
9b803b8 |
%mvn_package ":%{name}-gc" gc
|
|
|
9b803b8 |
%mvn_package ":%{name}-master" master
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%mvn_package ":%{name}-monitor" monitor
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
%mvn_package ":%{name}-server-base" server-base
|
|
|
9b803b8 |
%mvn_package ":%{name}-tracer" tracer
|
|
|
9b803b8 |
%mvn_package ":%{name}-tserver" tserver
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# build native, but skip install; JNI *.so is copied manually
|
|
|
9b803b8 |
%mvn_package ":%{name}-native" __noinstall
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%build
|
|
|
9b803b8 |
# TODO Unit tests are skipped, because upstream tries to do some integration
|
|
|
9b803b8 |
# testing in the unit tests, and they expect certain resources and dependencies
|
|
|
9b803b8 |
# that are not typically available, or are too complicated to configure,
|
|
|
9b803b8 |
# especially in the start jar. These should be enabled when possible.
|
|
|
9b803b8 |
# ITs are skipped, because they time out frequently and take too many resources
|
|
|
9b803b8 |
# to run reliably. Failures do not reliably indicate meaningful issues.
|
|
|
555a620 |
%mvn_build -j -- -DforkCount=1C -DskipTests -DskipITs
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%install
|
|
|
9b803b8 |
%mvn_install
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# native libs
|
|
|
9b803b8 |
install -d -m 755 %{buildroot}%{_libdir}/%{name}
|
|
|
9b803b8 |
install -d -m 755 %{buildroot}%{_var}/cache/%{name}
|
|
|
7756f92 |
install -p -m 755 server/native/target/%{name}-native-%{version}/%{name}-native-%{version}/lib%{name}.so %{buildroot}%{_libdir}/%{name}
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# generate default config for Fedora from upstream examples
|
|
|
9b803b8 |
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
|
|
|
6e9b93d |
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/lib
|
|
|
6e9b93d |
install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}/lib/ext
|
|
|
e4de6e9 |
assemble/bin/bootstrap_config.sh -o -d %{buildroot}%{_sysconfdir}/%{name} -s 3GB -n -v 2
|
|
|
6e9b93d |
for x in gc masters monitor slaves tracers %{name}-env.sh; do rm -f %{buildroot}%{_sysconfdir}/%{name}/$x; done
|
|
|
6e9b93d |
|
|
|
6e9b93d |
# main launcher
|
|
|
6e9b93d |
%jpackage_script %{main_class} "" "" %{name}:%{name}/%{name}-tserver:apache-commons-cli:apache-commons-codec:apache-commons-collections:apache-commons-configuration:apache-commons-lang:apache-commons-logging:apache-commons-math:apache-commons-vfs:beust-jcommander:guava:hadoop/hadoop-auth:hadoop/hadoop-common:hadoop/hadoop-hdfs:jansi/jansi:jline/jline:libthrift:log4j-1.2.17:slf4j/slf4j-api:slf4j/slf4j-log4j12:zookeeper/zookeeper %{name} true
|
|
|
6e9b93d |
# fixup the generated jpackage script
|
|
|
6e9b93d |
sed -i -e 's/^#!\/bin\/sh$/#!\/bin\/bash/' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
# ensure the java configuration options know which service is being called
|
|
|
6e9b93d |
sed -i -e 's/^\s*\.\s\s*\/etc\/java\/'%{name}'\.conf/& \$1/' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
sed -i -e 's/^\s*\.\s\s*\$HOME\/\.'%{name}'rc$/& \$1/' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
# options may have spaces in them, so replace run with an exec that properly
|
|
|
6e9b93d |
# parses arguments as arrays.
|
|
|
6e9b93d |
sed -i -e '/^run .*$/d' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
sed -i -e '/^set_flags .*$/d' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
sed -i -e '/^set_options .*$/d' %{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
cat <<EOF >>%{buildroot}%{_bindir}/%{name}
|
|
|
6e9b93d |
set_javacmd
|
|
|
6e9b93d |
|
|
|
6e9b93d |
if [ -n "\${VERBOSE}" ]; then
|
|
|
6e9b93d |
echo "Java virtual machine used: \${JAVACMD}"
|
|
|
6e9b93d |
echo "classpath used: \${CLASSPATH}"
|
|
|
6e9b93d |
echo "main class used: \${MAIN_CLASS}"
|
|
|
6e9b93d |
echo "flags used: \${FLAGS[@]}"
|
|
|
6e9b93d |
echo "options used: \${ACCUMULO_OPTS[@]}"
|
|
|
6e9b93d |
echo "arguments used: \${@}"
|
|
|
6e9b93d |
fi
|
|
|
6e9b93d |
|
|
|
6e9b93d |
exec "\${JAVACMD}" "\${FLAGS[@]}" -classpath "\${CLASSPATH}" \\
|
|
|
6e9b93d |
"\${ACCUMULO_OPTS[@]}" "\${MAIN_CLASS}" "\${@}"
|
|
|
6e9b93d |
EOF
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# scripts for services/utilities
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
for service in master tserver shell init admin gc monitor tracer classpath version rfile-info login-info zookeeper create-token info jar; do
|
|
|
9b803b8 |
%else
|
|
|
9b803b8 |
for service in master tserver shell init admin gc tracer classpath version rfile-info login-info zookeeper create-token info jar; do
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
cat <<EOF >"%{name}-$service"
|
|
|
9b803b8 |
#! /usr/bin/bash
|
|
|
6e9b93d |
%{_bindir}/%{name} $service "\$@"
|
|
|
9b803b8 |
EOF
|
|
|
9b803b8 |
install -p -m 755 %{name}-$service %{buildroot}%{_bindir}
|
|
|
9b803b8 |
done
|
|
|
9b803b8 |
|
|
|
9b803b8 |
# systemd services
|
|
|
9b803b8 |
install -d -m 755 %{buildroot}%{_unitdir}
|
|
|
6e9b93d |
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}-master.service
|
|
|
6e9b93d |
install -p -m 644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}-tserver.service
|
|
|
6e9b93d |
install -p -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}-gc.service
|
|
|
6e9b93d |
install -p -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}-tracer.service
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
6e9b93d |
install -p -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
6e9b93d |
# java configuration file for Fedora
|
|
|
6e9b93d |
install -d -m 755 %{buildroot}%{_javaconfdir}
|
|
|
6e9b93d |
install -p -m 755 %{SOURCE6} %{buildroot}%{_javaconfdir}/%{name}.conf
|
|
|
6e9b93d |
|
|
|
9b803b8 |
%files
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files core -f .mfiles-core
|
|
|
9b803b8 |
%doc LICENSE
|
|
|
9b803b8 |
%doc README
|
|
|
9b803b8 |
%doc NOTICE
|
|
|
9b803b8 |
%dir %{_javadir}/%{name}
|
|
|
9b803b8 |
%dir %{_mavenpomdir}/%{name}
|
|
|
9b803b8 |
%{_bindir}/%{name}
|
|
|
9b803b8 |
%{_bindir}/%{name}-shell
|
|
|
9b803b8 |
%{_bindir}/%{name}-classpath
|
|
|
9b803b8 |
%{_bindir}/%{name}-version
|
|
|
9b803b8 |
%{_bindir}/%{name}-rfile-info
|
|
|
9b803b8 |
%{_bindir}/%{name}-login-info
|
|
|
9b803b8 |
%{_bindir}/%{name}-zookeeper
|
|
|
9b803b8 |
%{_bindir}/%{name}-create-token
|
|
|
9b803b8 |
%{_bindir}/%{name}-info
|
|
|
9b803b8 |
%{_bindir}/%{name}-jar
|
|
|
9b803b8 |
%attr(0750, %{name}, -) %dir %{_var}/cache/%{name}
|
|
|
6e9b93d |
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}
|
|
|
6e9b93d |
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}/lib
|
|
|
6e9b93d |
%attr(0755, %{name}, -) %dir %{_sysconfdir}/%{name}/lib/ext
|
|
|
6e9b93d |
%attr(0755, %{name}, -) %config(noreplace) %{_javaconfdir}/%{name}.conf
|
|
|
6e9b93d |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-metrics.xml
|
|
|
6e9b93d |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.policy.example
|
|
|
6e9b93d |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/%{name}-site.xml
|
|
|
9b803b8 |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/auditLog.xml
|
|
|
9b803b8 |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/generic_logger.xml
|
|
|
e4de6e9 |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/generic_logger.properties
|
|
|
6e9b93d |
%attr(0644, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/log4j.properties
|
|
|
9b803b8 |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/monitor_logger.xml
|
|
|
e4de6e9 |
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/monitor_logger.properties
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files server-base -f .mfiles-server-base
|
|
|
9b803b8 |
%{_bindir}/%{name}-init
|
|
|
9b803b8 |
%{_bindir}/%{name}-admin
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files master -f .mfiles-master
|
|
|
9b803b8 |
%{_bindir}/%{name}-master
|
|
|
9b803b8 |
%{_unitdir}/%{name}-master.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files tserver -f .mfiles-tserver
|
|
|
9b803b8 |
%dir %{_jnidir}/%{name}
|
|
|
9b803b8 |
%{_bindir}/%{name}-tserver
|
|
|
9b803b8 |
%{_unitdir}/%{name}-tserver.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files gc -f .mfiles-gc
|
|
|
9b803b8 |
%{_bindir}/%{name}-gc
|
|
|
9b803b8 |
%{_unitdir}/%{name}-gc.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%files monitor -f .mfiles-monitor
|
|
|
9b803b8 |
%{_bindir}/%{name}-monitor
|
|
|
9b803b8 |
%{_unitdir}/%{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files tracer -f .mfiles-tracer
|
|
|
9b803b8 |
%{_bindir}/%{name}-tracer
|
|
|
9b803b8 |
%{_unitdir}/%{name}-tracer.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files examples -f .mfiles-examples
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%files native
|
|
|
9b803b8 |
%dir %{_libdir}/%{name}
|
|
|
9b803b8 |
%{_libdir}/%{name}/lib%{name}.so
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%preun master
|
|
|
9b803b8 |
%systemd_preun %{name}-master.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%preun tserver
|
|
|
9b803b8 |
%systemd_preun %{name}-tserver.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%preun gc
|
|
|
9b803b8 |
%systemd_preun %{name}-gc.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%preun tracer
|
|
|
9b803b8 |
%systemd_preun %{name}-tracer.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%preun monitor
|
|
|
9b803b8 |
%systemd_preun %{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%postun master
|
|
|
9b803b8 |
%systemd_postun_with_restart %{name}-master.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%postun tserver
|
|
|
9b803b8 |
%systemd_postun_with_restart %{name}-tserver.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%postun gc
|
|
|
9b803b8 |
%systemd_postun_with_restart %{name}-gc.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%postun tracer
|
|
|
9b803b8 |
%systemd_postun_with_restart %{name}-tracer.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%postun monitor
|
|
|
9b803b8 |
%systemd_postun_with_restart %{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%pre core
|
|
|
9fff41b |
getent group %{name} >/dev/null || /usr/sbin/groupadd -r %{name}
|
|
|
9b803b8 |
getent passwd %{name} >/dev/null || /usr/sbin/useradd --comment "%{longproj}" --shell /sbin/nologin -M -r -g %{name} --home %{_var}/cache/%{name} %{name}
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%post master
|
|
|
9b803b8 |
%systemd_post %{name}-master.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%post tserver
|
|
|
9b803b8 |
%systemd_post %{name}-tserver.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%post gc
|
|
|
9b803b8 |
%systemd_post %{name}-gc.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%post tracer
|
|
|
9b803b8 |
%systemd_post %{name}-tracer.service
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%if %{include_monitor}
|
|
|
9b803b8 |
%post monitor
|
|
|
9b803b8 |
%systemd_post %{name}-monitor.service
|
|
|
9b803b8 |
%endif
|
|
|
9b803b8 |
|
|
|
9b803b8 |
%changelog
|
|
|
8d16520 |
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-5
|
|
|
8d16520 |
- Use commons-vfs 2.1 patch from upstream for f25+
|
|
|
8d16520 |
|
|
|
fc92176 |
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-4
|
|
|
fc92176 |
- Fix whitespace in native patch for fuzz=0 opt in f25+
|
|
|
fc92176 |
|
|
|
312227c |
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-3
|
|
|
312227c |
- Remove animal sniffer enforcer rule
|
|
|
312227c |
|
|
|
d43efdc |
* Thu Oct 20 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-2
|
|
|
d43efdc |
- Remove modernizer plugin
|
|
|
d43efdc |
|
|
|
a731974 |
* Wed Oct 19 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-1
|
|
|
a731974 |
- Update to 1.6.6
|
|
|
a731974 |
|
|
|
cebf4c1 |
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.4-5
|
|
|
cebf4c1 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
|
|
cebf4c1 |
|
|
|
0cec73a |
* Thu Nov 12 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-4
|
|
|
0cec73a |
- Use autosetup macro to apply patches
|
|
|
0cec73a |
|
|
|
4658df2 |
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-3
|
|
|
4658df2 |
- Remove unnecessary checkstyle plugin
|
|
|
4658df2 |
|
|
|
40b9a95 |
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-2
|
|
|
40b9a95 |
- Fix patches for 1.6.4
|
|
|
40b9a95 |
|
|
|
13ea879 |
* Thu Nov 05 2015 Christopher Tubbs <ctubbsii-fedora@apache.org> - 1.6.4-1
|
|
|
13ea879 |
- Update to 1.6.4
|
|
|
13ea879 |
|
|
|
a586e69 |
* Thu Jun 25 2015 Christopher Tubbs <ctubbsii@apache> - 1.6.2-1
|
|
|
a586e69 |
- Update to 1.6.2 bugfix release
|
|
|
a586e69 |
|
|
|
2131293 |
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.1-5
|
|
|
2131293 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
|
2131293 |
|
|
|
a05fee1 |
* Mon May 04 2015 Kalev Lember <kalevlember@gmail.com> - 1.6.1-4
|
|
|
a05fee1 |
- Rebuilt for GCC 5 C++11 ABI change
|
|
|
a05fee1 |
|
|
|
459c254 |
* Wed Apr 22 2015 Peter Robinson <pbrobinson@fedoraproject.org> 1.6.1-3
|
|
|
459c254 |
- ARMv7 now has hadoop
|
|
|
459c254 |
|
|
|
124e9f6 |
* Tue Dec 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.1-2
|
|
|
124e9f6 |
- Remove mortbay Jetty deps
|
|
|
124e9f6 |
|
|
|
e4de6e9 |
* Tue Dec 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.1-1
|
|
|
e4de6e9 |
- Update to 1.6.1
|
|
|
e4de6e9 |
|
|
|
7756f92 |
* Sun Sep 7 2014 Ville Skyttä <ville.skytta@iki.fi> - 1.6.0-7
|
|
|
7756f92 |
- Fix -debuginfo
|
|
|
7756f92 |
|
|
|
555a620 |
* Thu Aug 21 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-6
|
|
|
555a620 |
- Skip javadoc generation in mvn_build when not used
|
|
|
555a620 |
|
|
|
6e9b93d |
* Wed Aug 20 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-5
|
|
|
6e9b93d |
- Use jpackage_script macro, standard java env, and working example config
|
|
|
6e9b93d |
|
|
|
411e191 |
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-4
|
|
|
411e191 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
|
411e191 |
|
|
|
9fff41b |
* Wed Jul 16 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-3
|
|
|
9fff41b |
- Fix broken service launch scripts
|
|
|
9fff41b |
- Add conditional for lib directory to build for f20
|
|
|
9fff41b |
|
|
|
f139976 |
* Wed Jul 9 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-2
|
|
|
f139976 |
- Add conditional for pom directory to build for f20
|
|
|
f139976 |
- Remove fno-strict-aliasing flag based on upstream ACCUMULO-2762
|
|
|
f139976 |
|
|
|
9b803b8 |
* Wed Apr 30 2014 Christopher Tubbs <ctubbsii@apache> - 1.6.0-1
|
|
|
9b803b8 |
- Initial packaging
|