Blame accumulo.spec

9b803b8
%global _hardened_build 1
9b803b8
%global longproj Apache Accumulo
9b803b8
6e9b93d
# jpackage main class
6e9b93d
%global main_class org.apache.%{name}.start.Main
6e9b93d
69fe4f7
Name:    accumulo
c2aae08
Version: 1.9.2
660822d
Release: 3%{?dist}
69fe4f7
Summary: A software platform for processing vast amounts of data
69fe4f7
License: ASL 2.0
69fe4f7
URL:     https://%{name}.apache.org
69fe4f7
Source0: https://www.apache.org/dist/%{name}/%{version}/%{name}-%{version}-src.tar.gz
9b803b8
9b803b8
# systemd service files
69fe4f7
Source1: %{name}-master.service
69fe4f7
Source2: %{name}-tserver.service
69fe4f7
Source3: %{name}-gc.service
69fe4f7
Source4: %{name}-tracer.service
69fe4f7
Source5: %{name}-monitor.service
9b803b8
6e9b93d
# Java configuration file for Fedora
6e9b93d
Source6: %{name}.conf
6e9b93d
d3b7ecf
# Backport upstream update to thrift 0.10.0 before any Fedora patches
d3b7ecf
Patch0: ACCUMULO-4551-and-4584-backport.patch
d3b7ecf
6e9b93d
# Apply Fedora JNI conventions
e4de6e9
Patch3: native-code.patch
6e9b93d
# Patch upstream-provided example configuration for Fedora
e4de6e9
Patch5: default-conf.patch
69fe4f7
# Fix for updating to flot 0.8 from 0.7 (adds flot.time)
69fe4f7
Patch8: flot8.patch
69fe4f7
# Workaround for https://github.com/jline/jline2/issues/205
69fe4f7
Patch9: jline-shell-workaround.patch
Mike Miller 85362cc
# Fix differences with guava version
Mike Miller 85362cc
Patch11: guava.patch
68ce91e
# Fix jetty 9.4 (removed SessionManager)
68ce91e
Patch12: fix-jetty-9.4.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
1fdd004
BuildRequires: apache-commons-vfs >= 2.1-7
Mike Miller 17ef3e0
BuildRequires: apache-parent
Mike Miller 85362cc
BuildRequires: auto-service
9b803b8
BuildRequires: beust-jcommander
9b803b8
BuildRequires: bouncycastle
9b803b8
BuildRequires: exec-maven-plugin
c8b69a3
BuildRequires: gcc-c++
9b803b8
BuildRequires: google-gson
9b803b8
BuildRequires: guava
9b803b8
BuildRequires: hadoop-client
9b803b8
BuildRequires: hadoop-tests
Mike Miller bf93837
BuildRequires: jackson-core
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
d3b7ecf
BuildRequires: libthrift-java >= 0.10.0
9b803b8
BuildRequires: log4j12
c8b69a3
BuildRequires: make
Mike Miller 17ef3e0
BuildRequires: maven-assembly-plugin
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
3cc8ddf
BuildRequires: systemd
d3b7ecf
BuildRequires: thrift >= 0.10.0
9b803b8
BuildRequires: zookeeper-java
9b803b8
9b803b8
Requires: %{name}-core = %{version}-%{release}
d3b7ecf
Requires: %{name}-shell = %{version}-%{release}
9b803b8
Requires: %{name}-master = %{version}-%{release}
9b803b8
Requires: %{name}-tserver = %{version}-%{release}
9b803b8
Requires: %{name}-gc = %{version}-%{release}
9b803b8
Requires: %{name}-monitor = %{version}-%{release}
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
BuildArch: noarch
9b803b8
Requires(pre): /usr/sbin/useradd
d3b7ecf
Requires: libthrift-java >= 0.10.0
Severin Gehwolf cd511b7
Requires: javapackages-tools
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
69fe4f7
License: ASL 2.0
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
69fe4f7
License: ASL 2.0
9b803b8
BuildArch: noarch
9b803b8
Requires: %{name}-core = %{version}-%{release}
9b803b8
Requires: %{name}-server-base = %{version}-%{release}
3cc8ddf
Requires: systemd
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
69fe4f7
License: ASL 2.0
9b803b8
BuildArch: noarch
9b803b8
Requires: %{name}-core = %{version}-%{release}
9b803b8
Requires: %{name}-server-base = %{version}-%{release}
3cc8ddf
Requires: systemd
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
69fe4f7
License: ASL 2.0
9b803b8
BuildArch: noarch
9b803b8
Requires: %{name}-core = %{version}-%{release}
9b803b8
Requires: %{name}-server-base = %{version}-%{release}
3cc8ddf
Requires: systemd
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
%package monitor
9b803b8
Summary: The %{longproj} Monitor service
69fe4f7
License: ASL 2.0
9b803b8
BuildArch: noarch
9b803b8
Requires: %{name}-core = %{version}-%{release}
9b803b8
Requires: %{name}-server-base = %{version}-%{release}
3cc8ddf
Requires: systemd
69fe4f7
Requires: nodejs-flot
69fe4f7
Requires: js-jquery1
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
9b803b8
%package tracer
9b803b8
Summary: The %{longproj} Tracer service
69fe4f7
License: ASL 2.0
9b803b8
BuildArch: noarch
9b803b8
Requires: %{name}-core = %{version}-%{release}
9b803b8
Requires: %{name}-server-base = %{version}-%{release}
3cc8ddf
Requires: systemd
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}
69fe4f7
License: ASL 2.0
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}
69fe4f7
License: ASL 2.0
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
Mike Miller 85362cc
%package shell
Mike Miller 85362cc
Summary: Shell for %{longproj}
Mike Miller 85362cc
License: ASL 2.0
Mike Miller 85362cc
Requires: %{name}-core = %{version}-%{release}
Mike Miller 85362cc
Mike Miller 85362cc
%description shell
Mike Miller 85362cc
  %{longproj} is a sorted, distributed key/value store based on Google's
Mike Miller 85362cc
BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It
Mike Miller 85362cc
features a few novel improvements on the BigTable design in the form of
Mike Miller 85362cc
cell-level access labels and a server-side programming mechanism that can
Mike Miller 85362cc
modify key/value pairs at various points in the data management process.
Mike Miller 85362cc
d3b7ecf
This package provides the shell client for %{longproj}.
Mike Miller 85362cc
9b803b8
%prep
0cec73a
%autosetup -p1
d3b7ecf
d3b7ecf
# Remove tests which use MiniDFSCluster, because Hadoop is still using old
d3b7ecf
# Jetty versions, and the class path is hard to get correct for these
d3b7ecf
rm -rf start/src/test/java/org/apache/accumulo/start/classloader/vfs/
d3b7ecf
rm -f core/src/test/java/org/apache/accumulo/core/conf/CredentialProviderFactoryShimTest.java
d3b7ecf
d3b7ecf
# Remove test(s) which rely on questionable log or console capturing behavior
d3b7ecf
rm -f core/src/test/java/org/apache/accumulo/core/iterators/user/{,BigDecimal}CombinerTest.java
d3b7ecf
rm -f shell/src/test/java/org/apache/accumulo/shell/Shell{,Config}Test.java
d3b7ecf
d3b7ecf
# Make sure thrift script from thrift 0.10.0 patch is executable
d3b7ecf
chmod +x test/src/main/scripts/generate-thrift.sh
d3b7ecf
69fe4f7
# Remove flot and jquery bundling from upstream tarball
69fe4f7
rm -rf server/monitor/src/main/resources/web/flot/
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"
Mike Miller 85362cc
%pom_xpath_set "pom:project/pom:dependencyManagement/pom:dependencies/pom:dependency[pom:artifactId='libthrift']/pom:version" "0.10.0"
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='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
69fe4f7
# Mini isn't needed
40b9a95
%pom_disable_module minicluster
Mike Miller 85362cc
%pom_disable_module iterator-test-harness
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
68ce91e
%pom_remove_plugin :formatter-maven-plugin
68ce91e
%pom_remove_plugin :impsort-maven-plugin
68ce91e
%pom_remove_plugin :warbucks-maven-plugin
d43efdc
%pom_remove_plugin :modernizer-maven-plugin
Mike Miller 85362cc
%pom_remove_plugin :apilyzer-maven-plugin core
9b803b8
68ce91e
# Disable exec plugin for start module, which builds test jars; tests require
68ce91e
# miniDFS, which isn't available in Fedora at this time
68ce91e
%pom_remove_plugin :exec-maven-plugin start
68ce91e
69fe4f7
# Mini isn't needed
69fe4f7
#%%mvn_package ":%%{name}-minicluster" __noinstall
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
%mvn_package ":%{name}-monitor" monitor
9b803b8
%mvn_package ":%{name}-server-base" server-base
9b803b8
%mvn_package ":%{name}-tracer" tracer
9b803b8
%mvn_package ":%{name}-tserver" tserver
Mike Miller 85362cc
%mvn_package ":%{name}-shell" shell
9b803b8
6e9b93d
# build native, but skip install; JNI *.so is copied manually
9b803b8
%mvn_package ":%{name}-native" __noinstall
9b803b8
9b803b8
%build
d3b7ecf
# - Skipping javadocs, because it's not useful or required
d3b7ecf
# - ITs are skipped because they time out frequently and take too many
d3b7ecf
# resources to run reliably. Failures do not reliably indicate meaningful
d3b7ecf
# issues.
22c3492
# - Tests are skipped because of spurious failures of surefire plugin in the
22c3492
# koji builders
68ce91e
rm -rf start/src/test/ # start tests require miniDFS for compilation; not available in Fedora
22c3492
%mvn_build -j -- -Pthrift -DskipTests -DskipITs
9b803b8
9b803b8
%install
9b803b8
%mvn_install
9b803b8
69fe4f7
# create symlink for system-provided web assets to be added to classpath
69fe4f7
install -d -m 755 %{buildroot}%{_datadir}/%{name}/lib/web
69fe4f7
rm -f %{buildroot}%{_datadir}/%{name}/lib/web/flot
69fe4f7
ln -s %{_usr}/lib/node_modules/flot %{buildroot}%{_datadir}/%{name}/lib/web/flot
69fe4f7
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
8ef7d36
for x in gc masters monitor slaves tracers %{name}-env.sh generic_logger.xml generic_logger.properties monitor_logger.xml monitor_logger.properties %{name}.policy.example; do rm -f %{buildroot}%{_sysconfdir}/%{name}/$x; done
431e4e7
cp %{buildroot}%{_sysconfdir}/%{name}/log4j.properties %{buildroot}%{_sysconfdir}/%{name}/generic_logger.properties
431e4e7
cp %{buildroot}%{_sysconfdir}/%{name}/log4j.properties %{buildroot}%{_sysconfdir}/%{name}/monitor_logger.properties
6e9b93d
6e9b93d
# main launcher
Mike Miller fe53ce3
%jpackage_script %{main_class} "" "" %{name}:%{name}/%{name}-tserver:jetty:servlet:avro/avro:apache-commons-io: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:google-gson: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:protobuf-java:jackson/jackson-core-asl:jackson/jackson-mapper-asl:jackson-annotations:jackson-core:jackson-databind:htrace/htrace-core %{name} true
6e9b93d
# fixup the generated jpackage script
8ef7d36
sed -i -e 's/^#!\/bin\/sh$/#!\/usr\/bin\/bash/' %{buildroot}%{_bindir}/%{name}
6e9b93d
# ensure the java configuration options know which service is being called
8ef7d36
sed -i -e 's/^\s*\.\s\s*\/etc\/java\/'%{name}'\.conf/& "\$1"/' %{buildroot}%{_bindir}/%{name}
8ef7d36
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}
8ef7d36
CLASSPATH="%{_sysconfdir}/%{name}:%{_datadir}/%{name}/lib/:\${CLASSPATH}"
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}"
8ef7d36
  echo "flags used: \${FLAGS[*]}"
8ef7d36
  echo "options used: \${ACCUMULO_OPTS[*]}"
8ef7d36
  echo "arguments used: \${*}"
6e9b93d
fi
6e9b93d
8ef7d36
export CLASSPATH
8ef7d36
exec "\${JAVACMD}" "\${FLAGS[@]}" "\${ACCUMULO_OPTS[@]}" "\${MAIN_CLASS}" "\${@}"
6e9b93d
EOF
9b803b8
6e9b93d
# scripts for services/utilities
9b803b8
for service in master tserver shell init admin gc tracer classpath version rfile-info login-info zookeeper create-token info jar; do
9b803b8
  cat <<EOF >"%{name}-$service"
8ef7d36
#!/usr/bin/bash
69fe4f7
echo "%{name}-$service script is deprecated. Use '%{name} $service' instead." 1>&2
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
6e9b93d
install -p -m 644 %{SOURCE5} %{buildroot}%{_unitdir}/%{name}-monitor.service
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
%doc LICENSE
Mike Miller 85362cc
%doc README.md
9b803b8
%doc NOTICE
Mike Miller 85362cc
Mike Miller 85362cc
%files core -f .mfiles-core
9b803b8
%dir %{_javadir}/%{name}
9b803b8
%dir %{_mavenpomdir}/%{name}
69fe4f7
%dir %{_datadir}/%{name}
69fe4f7
%dir %{_datadir}/%{name}/lib
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}-site.xml
9b803b8
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/auditLog.xml
e4de6e9
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/generic_logger.properties
6e9b93d
%attr(0644, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/log4j.properties
e4de6e9
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/monitor_logger.properties
Mike Miller 85362cc
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/client.conf
Mike Miller 85362cc
%attr(0640, %{name}, -) %config(noreplace) %{_sysconfdir}/%{name}/hadoop-metrics2-accumulo.properties
Mike Miller 85362cc
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
%files monitor -f .mfiles-monitor
69fe4f7
%dir %{_datadir}/%{name}/lib/web
69fe4f7
%{_datadir}/%{name}/lib/web/flot
9b803b8
%{_unitdir}/%{name}-monitor.service
9b803b8
9b803b8
%files tracer -f .mfiles-tracer
9b803b8
%{_bindir}/%{name}-tracer
9b803b8
%{_unitdir}/%{name}-tracer.service
9b803b8
9b803b8
%files examples -f .mfiles-examples
9b803b8
Mike Miller 85362cc
%files shell -f .mfiles-shell
Mike Miller 85362cc
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
%preun monitor
9b803b8
%systemd_preun %{name}-monitor.service
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
%postun monitor
9b803b8
%systemd_postun_with_restart %{name}-monitor.service
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
%post monitor
9b803b8
%systemd_post %{name}-monitor.service
9b803b8
9b803b8
%changelog
660822d
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.2-3
660822d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
660822d
Severin Gehwolf cd511b7
* Thu Aug 30 2018 Severin Gehwolf <sgehwolf@redhat.com> - 1.9.2-2
Severin Gehwolf cd511b7
- Require javapackages-tools for java-functions over just
Severin Gehwolf cd511b7
  javapackages-filesystem. See RHBZ#1600426.
Severin Gehwolf cd511b7
c2aae08
* Thu Jul 19 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.9.2-1
c2aae08
- Update to 1.9.2; fixes rhbz#1603190
c2aae08
1fbe5df
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-3
1fbe5df
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
1fbe5df
c8b69a3
* Wed Jul 11 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.9.1-2
c8b69a3
- Add gcc-c++ and make BRs
c8b69a3
68ce91e
* Fri Jul 06 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.9.1-1
68ce91e
- Update to 1.9.1
68ce91e
5c5f08d
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-10
5c5f08d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
5c5f08d
3cc8ddf
* Fri Jan 26 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-9
3cc8ddf
- Remove dependency on old systemd-units, now in systemd
3cc8ddf
22c3492
* Mon Jan 15 2018 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-8
22c3492
- Fix FTBFS by disabling surefire plugin
22c3492
Mike Miller bf93837
* Mon Oct 30 2017 Mike Miller <mmiller@apache.org> - 1.8.1-7
Mike Miller bf93837
- Update Jackson jar classpath locations
Mike Miller bf93837
Mike Miller 17ef3e0
* Thu Aug 03 2017 Mike Miller <mmiller@apache.org> - 1.8.1-6
Mike Miller 17ef3e0
- Specified maven and apache build dependencies
Mike Miller 17ef3e0
8f874d5
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-5
8f874d5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
8f874d5
c98bebd
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.1-4
c98bebd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
c98bebd
Mike Miller e535411
* Thu Apr 13 2017 Mike Miller <mmiller@apache.org> - 1.8.1-3
Mike Miller e535411
- Added jackson-databind to classpath
Mike Miller e535411
d3b7ecf
* Mon Mar 27 2017 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.8.1-2
d3b7ecf
- Clean up old patches and improve thrift 0.10.0 patch
d3b7ecf
Mike Miller 85362cc
* Wed Mar 15 2017 Mike Miller <mmiller@apache.org> - 1.8.1-1
Mike Miller 85362cc
- Update to 1.8.1
Mike Miller 85362cc
6dd5353
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.6.6-14
6dd5353
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
6dd5353
be263ae
* Tue Dec 06 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-13
be263ae
- Fix missing protobuf-java and hadoop config classpath bug, and systemd exit
be263ae
  code problems
be263ae
7f2e6dc
* Mon Dec 05 2016 Mike Miller <milleruntime@fedoraproject.org> - 1.6.6-12
7f2e6dc
- Another fix for Shell erroneously reading accumulo-site.xml
7f2e6dc
8ef7d36
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-11
8ef7d36
- Vastly simplify out-of-box configuration and fix missing avro jar
8ef7d36
2499c31
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-10
2499c31
- Add google-gson to classpath for monitor REST service
2499c31
69fe4f7
* Fri Dec 02 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-9
69fe4f7
- Include Monitor (bz#1132725)
69fe4f7
1fdd004
* Thu Nov 03 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-8
1fdd004
- Re-enable VFS 2.1 HDFS Provider (bz#1387110)
1fdd004
20d3568
* Wed Nov 02 2016 Mike Miller <mmiller@apache.org> - 1.6.6-7
20d3568
- Fix for Shell erroneously reading accumulo-site.xml
20d3568
431e4e7
* Fri Oct 28 2016 Christopher Tubbs <ctubbsii@fedoraproject.org> - 1.6.6-6
431e4e7
- fix classpath (bz#1389325) and log to console
431e4e7
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