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
# control javadocs (javadocs are optional; see FESCo #1263)
6e9b93d
%global include_javadocs 0
6e9b93d
6e9b93d
# jpackage main class
6e9b93d
%global main_class org.apache.%{name}.start.Main
6e9b93d
9b803b8
Name:     %{proj}
13ea879
Version:  1.6.4
0cec73a
Release:  4%{?dist}
9b803b8
Summary:  A software platform for processing vast amounts of data
9b803b8
License:  ASL 2.0
9b803b8
Group:    Development/Libraries
9b803b8
URL:      http://%{name}.apache.org
e4de6e9
Source0:  http://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
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
%if 0%{?fedora} < 21
9b803b8
BuildRequires: log4j
9b803b8
%else
9b803b8
BuildRequires: log4j12
9b803b8
%endif
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
%if !%{include_javadocs}
6e9b93d
%if 0%{?fedora} > 20
6e9b93d
Obsoletes: %{name}-javadoc < 1.6.0-5%{?dist}
6e9b93d
%endif
6e9b93d
%endif
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
6e9b93d
%if %{include_javadocs}
9b803b8
%package javadoc
9b803b8
Summary: Javadoc for %{longproj}
9b803b8
License:  ASL 2.0
9b803b8
Group: Documentation
9b803b8
BuildArch: noarch
9b803b8
9b803b8
%description javadoc
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 contains the API documentation for %{longproj}.
6e9b93d
%endif
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
6e9b93d
%if %{include_javadocs}
6e9b93d
# Remove custom javadoc directory so xmvn javadoc magic works
9b803b8
%pom_xpath_remove "pom:project/pom:build/pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:configuration/pom:reportOutputDirectory"
6e9b93d
%endif
9b803b8
6e9b93d
# Remove unused extension; no need to deploy site with ssh
9b803b8
%pom_xpath_remove "pom:project/pom:build/pom:extensions/pom:extension[pom:artifactId='wagon-ssh']"
9b803b8
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
9b803b8
%pom_remove_plugin :maven-sortpom-plugin
9b803b8
%pom_remove_plugin :mavanagaiata
9b803b8
%pom_remove_plugin :maven-scm-publish-plugin
9b803b8
%pom_remove_plugin :findbugs-maven-plugin
9b803b8
%pom_remove_plugin :maven-project-info-reports-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
%if %{include_javadocs}
9b803b8
%mvn_build -- -DforkCount=1C -DskipTests -DskipITs
555a620
%else
555a620
%mvn_build -j -- -DforkCount=1C -DskipTests -DskipITs
555a620
%endif
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}
f139976
%if 0%{?fedora} > 20
9b803b8
%dir %{_mavenpomdir}/%{name}
f139976
%endif
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
9fff41b
%if 0%{?fedora} > 20
9b803b8
%dir %{_jnidir}/%{name}
9fff41b
%endif
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
6e9b93d
%if %{include_javadocs}
9b803b8
%files javadoc -f .mfiles-javadoc
6e9b93d
%endif
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
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