diff --git a/dist/redhat/build_rpm.sh b/dist/redhat/build_rpm.sh
index 6f3f5c9d00..af24c45fe2 100755
--- a/dist/redhat/build_rpm.sh
+++ b/dist/redhat/build_rpm.sh
@@ -37,6 +37,7 @@ if [ "$OS" = "Fedora" ]; then
rpmbuild -bs --define "_topdir $RPMBUILD" $RPMBUILD/SPECS/scylla-server.spec
mock rebuild --resultdir=`pwd`/build/rpms $RPMBUILD/SRPMS/scylla-server-$VERSION*.src.rpm
else
+ . /etc/profile.d/scylla.sh
sudo yum-builddep -y $RPMBUILD/SPECS/scylla-server.spec
rpmbuild -ba --define "_topdir $RPMBUILD" $RPMBUILD/SPECS/scylla-server.spec
fi
diff --git a/dist/redhat/centos_dep/antlr3 b/dist/redhat/centos_dep/antlr3
index 4600c014bc..1198e12fbc 100755
--- a/dist/redhat/centos_dep/antlr3
+++ b/dist/redhat/centos_dep/antlr3
@@ -1,33 +1,3 @@
#!/bin/sh
-#
-# antlr3 script
-# JPackage Project
-# Source functions library
-_prefer_jre="true"
-. /usr/share/java-utils/java-functions
-
-# Source system prefs
-if [ -f /etc/java/antlr3.conf ] ; then
- . /etc/java/antlr3.conf
-fi
-
-# Source user prefs
-if [ -f $HOME/.antlr3rc ] ; then
- . $HOME/.antlr3rc
-fi
-
-# Configuration
-MAIN_CLASS=org.antlr.Tool
-BASE_FLAGS=''
-BASE_OPTIONS=''
-BASE_JARS="antlr3.jar"
-
-# Set parameters
-set_jvm
-set_classpath $BASE_JARS
-set_flags $BASE_FLAGS
-set_options $BASE_OPTIONS
-
-# Let's start
-run "$@"
+exec /usr/bin/java -jar /opt/scylladb/lib/java/antlr3.jar $*
diff --git a/dist/redhat/centos_dep/binutils.diff b/dist/redhat/centos_dep/binutils.diff
new file mode 100644
index 0000000000..26b4d44448
--- /dev/null
+++ b/dist/redhat/centos_dep/binutils.diff
@@ -0,0 +1,81 @@
+--- binutils.spec 2015-10-19 05:45:55.106745163 +0000
++++ binutils.spec.1 2015-10-19 05:45:55.807742899 +0000
+@@ -17,7 +17,7 @@
+ %define enable_deterministic_archives 1
+
+ Summary: A GNU collection of binary utilities
+-Name: %{?cross}binutils%{?_with_debug:-debug}
++Name: scylla-%{?cross}binutils%{?_with_debug:-debug}
+ Version: 2.25
+ Release: 5%{?dist}
+ License: GPLv3+
+@@ -29,6 +29,7 @@
+ # instead.
+
+ Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2
++%define _prefix /opt/scylladb
+
+ Source2: binutils-2.19.50.0.1-output-format.sed
+ Patch01: binutils-2.20.51.0.2-libtool-lib64.patch
+@@ -82,6 +83,9 @@
+ BuildRequires: texinfo >= 4.0, gettext, flex, bison, zlib-devel
+ # BZ 920545: We need pod2man in order to build the manual pages.
+ BuildRequires: /usr/bin/pod2man
++
++Requires: scylla-env
++
+ # Required for: ld-bootstrap/bootstrap.exp bootstrap with --static
+ # It should not be required for: ld-elf/elf.exp static {preinit,init,fini} array
+ %if %{run_testsuite}
+@@ -105,8 +109,8 @@
+
+ %if "%{build_gold}" == "both"
+ Requires(post): coreutils
+-Requires(post): %{_sbindir}/alternatives
+-Requires(preun): %{_sbindir}/alternatives
++Requires(post): /sbin/alternatives
++Requires(preun): /sbin/alternatives
+ %endif
+
+ # On ARM EABI systems, we do want -gnueabi to be part of the
+@@ -131,11 +135,12 @@
+ %package devel
+ Summary: BFD and opcodes static and dynamic libraries and header files
+ Group: System Environment/Libraries
+-Provides: binutils-static = %{version}-%{release}
++Provides: scylla-binutils-static = %{version}-%{release}
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+ Requires: zlib-devel
+-Requires: binutils = %{version}-%{release}
++Requires: scylla-binutils = %{version}-%{release}
+
+ %description devel
+ This package contains BFD and opcodes static and dynamic libraries.
+@@ -411,11 +416,11 @@
+ %post
+ %if "%{build_gold}" == "both"
+ %__rm -f %{_bindir}/%{?cross}ld
+-%{_sbindir}/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \
++/sbin/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \
+ %{_bindir}/%{?cross}ld.bfd %{ld_bfd_priority}
+-%{_sbindir}/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \
++/sbin/alternatives --install %{_bindir}/%{?cross}ld %{?cross}ld \
+ %{_bindir}/%{?cross}ld.gold %{ld_gold_priority}
+-%{_sbindir}/alternatives --auto %{?cross}ld
++/sbin/alternatives --auto %{?cross}ld
+ %endif
+ %if %{isnative}
+ /sbin/ldconfig
+@@ -433,8 +438,8 @@
+ %preun
+ %if "%{build_gold}" == "both"
+ if [ $1 = 0 ]; then
+- %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.bfd
+- %{_sbindir}/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.gold
++ /sbin/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.bfd
++ /sbin/alternatives --remove %{?cross}ld %{_bindir}/%{?cross}ld.gold
+ fi
+ %endif
+ %if %{isnative}
diff --git a/dist/redhat/centos_dep/boost.diff b/dist/redhat/centos_dep/boost.diff
new file mode 100644
index 0000000000..d06e75ebcc
--- /dev/null
+++ b/dist/redhat/centos_dep/boost.diff
@@ -0,0 +1,523 @@
+--- boost.spec 2015-05-03 17:32:13.000000000 +0000
++++ boost.spec.1 2015-10-19 06:03:12.670534256 +0000
+@@ -6,6 +6,11 @@
+ # We should be able to install directly.
+ %define boost_docdir __tmp_docdir
+ %define boost_examplesdir __tmp_examplesdir
++%define _without_python3 --without-python3
++%define _without_mpich --without-mpich
++%define _without_openmpi --without-openmpi
++%define _without_context --without-context
++%define _prefix /opt/scylladb
+
+ %ifarch ppc64le
+ %bcond_with mpich
+@@ -28,18 +33,19 @@
+
+ %bcond_without python3
+
+-Name: boost
++Name: scylla-boost
++%define orig_name boost
+ Summary: The free peer-reviewed portable C++ source libraries
+ Version: 1.57.0
+ %define version_enc 1_57_0
+ Release: 6%{?dist}
+ License: Boost and MIT and Python
+
+-%define toplev_dirname %{name}_%{version_enc}
++%define toplev_dirname %{orig_name}_%{version_enc}
+ URL: http://www.boost.org
+ Group: System Environment/Libraries
+
+-Source0: http://downloads.sourceforge.net/%{name}/%{toplev_dirname}.tar.bz2
++Source0: http://downloads.sourceforge.net/%{orig_name}/%{toplev_dirname}.tar.bz2
+ Source1: ver.py
+ Source2: libboost_thread.so
+
+@@ -47,34 +53,36 @@
+ # equal to the Boost version (e.g., 1.41.0).
+ %define sonamever %{version}
+
++Requires: scylla-env
++
+ # boost is an "umbrella" package that pulls in all other boost
+ # components, except for MPI and Python 3 sub-packages. Those are
+ # special in that they are rarely necessary, and it's not a big burden
+ # to have interested parties install them explicitly.
+-Requires: boost-atomic%{?_isa} = %{version}-%{release}
+-Requires: boost-chrono%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-atomic%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-chrono%{?_isa} = %{version}-%{release}
+ %if %{with context}
+-Requires: boost-context%{?_isa} = %{version}-%{release}
+-Requires: boost-coroutine%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-context%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-coroutine%{?_isa} = %{version}-%{release}
+ %endif
+-Requires: boost-date-time%{?_isa} = %{version}-%{release}
+-Requires: boost-filesystem%{?_isa} = %{version}-%{release}
+-Requires: boost-graph%{?_isa} = %{version}-%{release}
+-Requires: boost-iostreams%{?_isa} = %{version}-%{release}
+-Requires: boost-locale%{?_isa} = %{version}-%{release}
+-Requires: boost-log%{?_isa} = %{version}-%{release}
+-Requires: boost-math%{?_isa} = %{version}-%{release}
+-Requires: boost-program-options%{?_isa} = %{version}-%{release}
+-Requires: boost-python%{?_isa} = %{version}-%{release}
+-Requires: boost-random%{?_isa} = %{version}-%{release}
+-Requires: boost-regex%{?_isa} = %{version}-%{release}
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
+-Requires: boost-signals%{?_isa} = %{version}-%{release}
+-Requires: boost-system%{?_isa} = %{version}-%{release}
+-Requires: boost-test%{?_isa} = %{version}-%{release}
+-Requires: boost-thread%{?_isa} = %{version}-%{release}
+-Requires: boost-timer%{?_isa} = %{version}-%{release}
+-Requires: boost-wave%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-date-time%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-filesystem%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-graph%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-iostreams%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-locale%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-log%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-math%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-program-options%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-python%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-random%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-regex%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-signals%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-test%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-thread%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-timer%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-wave%{?_isa} = %{version}-%{release}
+
+ BuildRequires: m4
+ BuildRequires: libstdc++-devel%{?_isa}
+@@ -151,6 +159,7 @@
+ %package atomic
+ Summary: Run-Time component of boost atomic library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description atomic
+
+@@ -162,7 +171,8 @@
+ %package chrono
+ Summary: Run-Time component of boost chrono library
+ Group: System Environment/Libraries
+-Requires: boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
+
+ %description chrono
+
+@@ -171,6 +181,7 @@
+ %package container
+ Summary: Run-Time component of boost container library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description container
+
+@@ -183,6 +194,7 @@
+ %package context
+ Summary: Run-Time component of boost context switching library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description context
+
+@@ -192,6 +204,7 @@
+ %package coroutine
+ Summary: Run-Time component of boost coroutine library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description coroutine
+ Run-Time support for Boost.Coroutine, a library that provides
+@@ -203,6 +216,7 @@
+ %package date-time
+ Summary: Run-Time component of boost date-time library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description date-time
+
+@@ -212,7 +226,8 @@
+ %package filesystem
+ Summary: Run-Time component of boost filesystem library
+ Group: System Environment/Libraries
+-Requires: boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
+
+ %description filesystem
+
+@@ -223,7 +238,8 @@
+ %package graph
+ Summary: Run-Time component of boost graph library
+ Group: System Environment/Libraries
+-Requires: boost-regex%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-regex%{?_isa} = %{version}-%{release}
+
+ %description graph
+
+@@ -243,9 +259,10 @@
+ %package locale
+ Summary: Run-Time component of boost locale library
+ Group: System Environment/Libraries
+-Requires: boost-chrono%{?_isa} = %{version}-%{release}
+-Requires: boost-system%{?_isa} = %{version}-%{release}
+-Requires: boost-thread%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-chrono%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-thread%{?_isa} = %{version}-%{release}
+
+ %description locale
+
+@@ -255,6 +272,7 @@
+ %package log
+ Summary: Run-Time component of boost logging library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description log
+
+@@ -265,6 +283,7 @@
+ %package math
+ Summary: Math functions for boost TR1 library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description math
+
+@@ -274,6 +293,7 @@
+ %package program-options
+ Summary: Run-Time component of boost program_options library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description program-options
+
+@@ -284,6 +304,7 @@
+ %package python
+ Summary: Run-Time component of boost python library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description python
+
+@@ -298,6 +319,7 @@
+ %package python3
+ Summary: Run-Time component of boost python library for Python 3
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description python3
+
+@@ -310,8 +332,9 @@
+ %package python3-devel
+ Summary: Shared object symbolic links for Boost.Python 3
+ Group: System Environment/Libraries
+-Requires: boost-python3%{?_isa} = %{version}-%{release}
+-Requires: boost-devel%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-python3%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-devel%{?_isa} = %{version}-%{release}
+
+ %description python3-devel
+
+@@ -322,6 +345,7 @@
+ %package random
+ Summary: Run-Time component of boost random library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description random
+
+@@ -330,6 +354,7 @@
+ %package regex
+ Summary: Run-Time component of boost regular expression library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description regex
+
+@@ -338,6 +363,7 @@
+ %package serialization
+ Summary: Run-Time component of boost serialization library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description serialization
+
+@@ -346,6 +372,7 @@
+ %package signals
+ Summary: Run-Time component of boost signals and slots library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description signals
+
+@@ -354,6 +381,7 @@
+ %package system
+ Summary: Run-Time component of boost system support library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description system
+
+@@ -364,6 +392,7 @@
+ %package test
+ Summary: Run-Time component of boost test library
+ Group: System Environment/Libraries
++Requires: scylla-env
+
+ %description test
+
+@@ -373,7 +402,8 @@
+ %package thread
+ Summary: Run-Time component of boost thread library
+ Group: System Environment/Libraries
+-Requires: boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
+
+ %description thread
+
+@@ -385,8 +415,9 @@
+ %package timer
+ Summary: Run-Time component of boost timer library
+ Group: System Environment/Libraries
+-Requires: boost-chrono%{?_isa} = %{version}-%{release}
+-Requires: boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-chrono%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
+
+ %description timer
+
+@@ -397,11 +428,12 @@
+ %package wave
+ Summary: Run-Time component of boost C99/C++ pre-processing library
+ Group: System Environment/Libraries
+-Requires: boost-chrono%{?_isa} = %{version}-%{release}
+-Requires: boost-date-time%{?_isa} = %{version}-%{release}
+-Requires: boost-filesystem%{?_isa} = %{version}-%{release}
+-Requires: boost-system%{?_isa} = %{version}-%{release}
+-Requires: boost-thread%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-chrono%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-date-time%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-filesystem%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-system%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-thread%{?_isa} = %{version}-%{release}
+
+ %description wave
+
+@@ -412,27 +444,20 @@
+ %package devel
+ Summary: The Boost C++ headers and shared development libraries
+ Group: Development/Libraries
+-Requires: boost%{?_isa} = %{version}-%{release}
+-Provides: boost-python-devel
++Requires: scylla-env
++Requires: scylla-boost%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-python-devel
+ Requires: libicu-devel%{?_isa}
+
+-# Odeint was shipped in Fedora 18, but later became part of Boost.
+-# Note we also obsolete odeint-doc down there.
+-# https://bugzilla.redhat.com/show_bug.cgi?id=892850
+-Provides: odeint = 2.2-5
+-Obsoletes: odeint < 2.2-5
+-Provides: odeint-devel = 2.2-5
+-Obsoletes: odeint-devel < 2.2-5
+-
+ %description devel
+ Headers and shared object symbolic links for the Boost C++ libraries.
+
+ %package static
+ Summary: The Boost C++ static development libraries
+ Group: Development/Libraries
+-Requires: boost-devel%{?_isa} = %{version}-%{release}
+-Obsoletes: boost-devel-static < 1.34.1-14
+-Provides: boost-devel-static = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-devel%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-devel-static = %{version}-%{release}
+
+ %description static
+ Static Boost C++ libraries.
+@@ -443,11 +468,7 @@
+ %if 0%{?rhel} >= 6
+ BuildArch: noarch
+ %endif
+-Provides: boost-python-docs = %{version}-%{release}
+-
+-# See the description above.
+-Provides: odeint-doc = 2.2-5
+-Obsoletes: odeint-doc < 2.2-5
++Provides: scylla-boost-python-docs = %{version}-%{release}
+
+ %description doc
+ This package contains the documentation in the HTML format of the Boost C++
+@@ -460,7 +481,7 @@
+ %if 0%{?rhel} >= 6
+ BuildArch: noarch
+ %endif
+-Requires: boost-devel = %{version}-%{release}
++Requires: scylla-boost-devel = %{version}-%{release}
+
+ %description examples
+ This package contains example source files distributed with boost.
+@@ -471,9 +492,10 @@
+ %package openmpi
+ Summary: Run-Time component of Boost.MPI library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires: openmpi%{?_isa}
+ BuildRequires: openmpi-devel
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
+
+ %description openmpi
+
+@@ -483,10 +505,11 @@
+ %package openmpi-devel
+ Summary: Shared library symbolic links for Boost.MPI
+ Group: System Environment/Libraries
+-Requires: boost-devel%{?_isa} = %{version}-%{release}
+-Requires: boost-openmpi%{?_isa} = %{version}-%{release}
+-Requires: boost-openmpi-python%{?_isa} = %{version}-%{release}
+-Requires: boost-graph-openmpi%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-devel%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-openmpi%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-openmpi-python%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-graph-openmpi%{?_isa} = %{version}-%{release}
+
+ %description openmpi-devel
+
+@@ -496,9 +519,10 @@
+ %package openmpi-python
+ Summary: Python run-time component of Boost.MPI library
+ Group: System Environment/Libraries
+-Requires: boost-openmpi%{?_isa} = %{version}-%{release}
+-Requires: boost-python%{?_isa} = %{version}-%{release}
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-openmpi%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-python%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
+
+ %description openmpi-python
+
+@@ -508,8 +532,9 @@
+ %package graph-openmpi
+ Summary: Run-Time component of parallel boost graph library
+ Group: System Environment/Libraries
+-Requires: boost-openmpi%{?_isa} = %{version}-%{release}
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-boost-openmpi%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
+
+ %description graph-openmpi
+
+@@ -526,11 +551,11 @@
+ %package mpich
+ Summary: Run-Time component of Boost.MPI library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires: mpich%{?_isa}
+ BuildRequires: mpich-devel
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
+-Provides: boost-mpich2 = %{version}-%{release}
+-Obsoletes: boost-mpich2 < 1.53.0-9
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-mpich2 = %{version}-%{release}
+
+ %description mpich
+
+@@ -540,12 +565,12 @@
+ %package mpich-devel
+ Summary: Shared library symbolic links for Boost.MPI
+ Group: System Environment/Libraries
+-Requires: boost-devel%{?_isa} = %{version}-%{release}
+-Requires: boost-mpich%{?_isa} = %{version}-%{release}
+-Requires: boost-mpich-python%{?_isa} = %{version}-%{release}
+-Requires: boost-graph-mpich%{?_isa} = %{version}-%{release}
+-Provides: boost-mpich2-devel = %{version}-%{release}
+-Obsoletes: boost-mpich2-devel < 1.53.0-9
++Requires: scylla-env
++Requires: scylla-boost-devel%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-mpich%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-mpich-python%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-graph-mpich%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-mpich2-devel = %{version}-%{release}
+
+ %description mpich-devel
+
+@@ -555,11 +580,11 @@
+ %package mpich-python
+ Summary: Python run-time component of Boost.MPI library
+ Group: System Environment/Libraries
+-Requires: boost-mpich%{?_isa} = %{version}-%{release}
+-Requires: boost-python%{?_isa} = %{version}-%{release}
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
+-Provides: boost-mpich2-python = %{version}-%{release}
+-Obsoletes: boost-mpich2-python < 1.53.0-9
++Requires: scylla-env
++Requires: scylla-boost-mpich%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-python%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-mpich2-python = %{version}-%{release}
+
+ %description mpich-python
+
+@@ -569,10 +594,10 @@
+ %package graph-mpich
+ Summary: Run-Time component of parallel boost graph library
+ Group: System Environment/Libraries
+-Requires: boost-mpich%{?_isa} = %{version}-%{release}
+-Requires: boost-serialization%{?_isa} = %{version}-%{release}
+-Provides: boost-graph-mpich2 = %{version}-%{release}
+-Obsoletes: boost-graph-mpich2 < 1.53.0-9
++Requires: scylla-env
++Requires: scylla-boost-mpich%{?_isa} = %{version}-%{release}
++Requires: scylla-boost-serialization%{?_isa} = %{version}-%{release}
++Provides: scylla-boost-graph-mpich2 = %{version}-%{release}
+
+ %description graph-mpich
+
+@@ -586,7 +611,8 @@
+ %package build
+ Summary: Cross platform build system for C++ projects
+ Group: Development/Tools
+-Requires: boost-jam
++Requires: scylla-env
++Requires: scylla-boost-jam
+ BuildArch: noarch
+
+ %description build
+@@ -600,6 +626,7 @@
+ %package jam
+ Summary: A low-level build tool
+ Group: Development/Tools
++Requires: scylla-env
+
+ %description jam
+ Boost.Jam (BJam) is the low-level build engine tool for Boost.Build.
+@@ -1134,7 +1161,7 @@
+ %files devel
+ %defattr(-, root, root, -)
+ %doc LICENSE_1_0.txt
+-%{_includedir}/%{name}
++%{_includedir}/%{orig_name}
+ %{_libdir}/libboost_atomic.so
+ %{_libdir}/libboost_chrono.so
+ %{_libdir}/libboost_container.so
diff --git a/dist/redhat/centos_dep/build_dependency.sh b/dist/redhat/centos_dep/build_dependency.sh
index 053dbd1a1d..b6406a18be 100755
--- a/dist/redhat/centos_dep/build_dependency.sh
+++ b/dist/redhat/centos_dep/build_dependency.sh
@@ -12,6 +12,18 @@ sudo yum install -y wget yum-utils rpm-build rpmdevtools gcc gcc-c++ make patch
mkdir -p build/srpms
cd build/srpms
+if [ ! -f binutils-2.25-5.fc22.src.rpm ]; then
+ wget http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/source/SRPMS/b/binutils-2.25-5.fc22.src.rpm
+fi
+
+if [ ! -f isl-0.14-3.fc22.src.rpm ]; then
+ wget http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/source/SRPMS/i/isl-0.14-3.fc22.src.rpm
+fi
+
+if [ ! -f gcc-5.1.1-4.fc22.src.rpm ]; then
+ wget http://download.fedoraproject.org/pub/fedora/linux/updates/22/SRPMS/g/gcc-5.1.1-4.fc22.src.rpm
+fi
+
if [ ! -f boost-1.57.0-6.fc22.src.rpm ]; then
wget http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/source/SRPMS/b/boost-1.57.0-6.fc22.src.rpm
fi
@@ -24,10 +36,6 @@ if [ ! -f ragel-6.8-3.fc22.src.rpm ]; then
wget http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/source/SRPMS/r/ragel-6.8-3.fc22.src.rpm
fi
-if [ ! -f re2c-0.13.5-9.fc22.src.rpm ]; then
- wget http://download.fedoraproject.org/pub/fedora/linux/releases/22/Everything/source/SRPMS/r/re2c-0.13.5-9.fc22.src.rpm
-fi
-
cd -
sudo yum install -y epel-release
@@ -37,63 +45,76 @@ sudo ln -sf /usr/bin/python3.4 /usr/bin/python3
sudo yum install -y python-devel libicu-devel openmpi-devel mpich-devel libstdc++-devel bzip2-devel zlib-devel
sudo yum install -y flex bison dejagnu zlib-static glibc-static sharutils bc libstdc++-static gmp-devel texinfo texinfo-tex systemtap-sdt-devel mpfr-devel libmpc-devel elfutils-devel elfutils-libelf-devel glibc-devel.x86_64 glibc-devel.i686 gcc-gnat libgnat doxygen graphviz dblatex texlive-collection-latex docbook5-style-xsl python-sphinx cmake
sudo yum install -y gcc-objc
+sudo yum install -y asciidoc
+sudo yum install -y gettext
-if [ ! -f $RPMBUILD/RPMS/x86_64/binutils-2.25-5.el7.centos.x86_64.rpm ]; then
- rpmbuild --define "_topdir $RPMBUILD" --rebuild build/srpms/binutils-2.25-5.fc22.src.rpm
+if [ ! -f $RPMBUILD/RPMS/noarch/scylla-env-1.0-1.el7.centos.noarch.rpm ]; then
+ cd dist/redhat/centos_dep
+ tar cpf $RPMBUILD/SOURCES/scylla-env-1.0.tar scylla-env-1.0
+ cd -
+ rpmbuild --define "_topdir $RPMBUILD" --ba dist/redhat/centos_dep/scylla-env.spec
fi
-do_install binutils-2.25-5.el7.centos.x86_64.rpm
+do_install scylla-env-1.0-1.el7.centos.noarch.rpm
-if [ ! -f $RPMBUILD/RPMS/x86_64/isl-0.14-3.el7.centos.x86_64.rpm ]; then
- rpmbuild --define "_topdir $RPMBUILD" --rebuild build/srpms/isl-0.14-3.fc22.src.rpm
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-binutils-2.25-5.el7.centos.x86_64.rpm ]; then
+ rpm --define "_topdir $RPMBUILD" -ivh build/srpms/binutils-2.25-5.fc22.src.rpm
+ patch $RPMBUILD/SPECS/binutils.spec < dist/redhat/centos_dep/binutils.diff
+ rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/binutils.spec
fi
-do_install isl-0.14-3.el7.centos.x86_64.rpm
-do_install isl-devel-0.14-3.el7.centos.x86_64.rpm
+do_install scylla-binutils-2.25-5.el7.centos.x86_64.rpm
-if [ ! -f $RPMBUILD/RPMS/x86_64/gcc-5.1.1-4.el7.centos.x86_64.rpm ]; then
- rpmbuild --define "_topdir $RPMBUILD" --define "fedora 21" --rebuild build/srpms/gcc-5.1.1-4.fc22.src.rpm
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-isl-0.14-3.el7.centos.x86_64.rpm ]; then
+ rpm --define "_topdir $RPMBUILD" -ivh build/srpms/isl-0.14-3.fc22.src.rpm
+ patch $RPMBUILD/SPECS/isl.spec < dist/redhat/centos_dep/isl.diff
+ rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/isl.spec
fi
-do_install *5.1.1-4*
+do_install scylla-isl-0.14-3.el7.centos.x86_64.rpm
+do_install scylla-isl-devel-0.14-3.el7.centos.x86_64.rpm
-if [ ! -f $RPMBUILD/RPMS/x86_64/boost-1.57.0-6.el7.centos.x86_64.rpm ]; then
- rpmbuild --define "_topdir $RPMBUILD" --without python3 --rebuild build/srpms/boost-1.57.0-6.fc22.src.rpm
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-gcc-5.1.1-4.el7.centos.x86_64.rpm ]; then
+ rpm --define "_topdir $RPMBUILD" -ivh build/srpms/gcc-5.1.1-4.fc22.src.rpm
+ patch $RPMBUILD/SPECS/gcc.spec < dist/redhat/centos_dep/gcc.diff
+ rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/gcc.spec
fi
-do_install boost*
+do_install scylla-*5.1.1-4*
-if [ ! -f $RPMBUILD/RPMS/x86_64/re2c-0.13.5-9.el7.centos.x86_64.rpm ]; then
- rpmbuild --define "_topdir $RPMBUILD" --rebuild build/srpms/re2c-0.13.5-9.fc22.src.rpm
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-boost-1.57.0-6.el7.centos.x86_64.rpm ]; then
+ rpm --define "_topdir $RPMBUILD" -ivh build/srpms/boost-1.57.0-6.fc22.src.rpm
+ patch $RPMBUILD/SPECS/boost.spec < dist/redhat/centos_dep/boost.diff
+ rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/boost.spec
fi
-do_install re2c-0.13.5-9.el7.centos.x86_64.rpm
+do_install scylla-boost*
-if [ ! -f $RPMBUILD/RPMS/x86_64/ninja-build-1.5.3-2.el7.centos.x86_64.rpm ]; then
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-ninja-build-1.5.3-2.el7.centos.x86_64.rpm ]; then
rpm --define "_topdir $RPMBUILD" -ivh build/srpms/ninja-build-1.5.3-2.fc22.src.rpm
patch $RPMBUILD/SPECS/ninja-build.spec < dist/redhat/centos_dep/ninja-build.diff
rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/ninja-build.spec
fi
-do_install ninja-build-1.5.3-2.el7.centos.x86_64.rpm
+do_install scylla-ninja-build-1.5.3-2.el7.centos.x86_64.rpm
-if [ ! -f $RPMBUILD/RPMS/x86_64/ragel-6.8-3.el7.centos.x86_64.rpm ]; then
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-ragel-6.8-3.el7.centos.x86_64.rpm ]; then
rpm --define "_topdir $RPMBUILD" -ivh build/srpms/ragel-6.8-3.fc22.src.rpm
patch $RPMBUILD/SPECS/ragel.spec < dist/redhat/centos_dep/ragel.diff
rpmbuild --define "_topdir $RPMBUILD" -ba $RPMBUILD/SPECS/ragel.spec
fi
-do_install ragel-6.8-3.el7.centos.x86_64.rpm
+do_install scylla-ragel-6.8-3.el7.centos.x86_64.rpm
-if [ ! -f $RPMBUILD/RPMS/noarch/antlr3-tool-3.5.2-1.el7.centos.noarch.rpm ]; then
- mkdir build/antlr3-tool-3.5.2
- cp dist/redhat/centos_dep/antlr3 build/antlr3-tool-3.5.2
- cd build/antlr3-tool-3.5.2
+if [ ! -f $RPMBUILD/RPMS/noarch/scylla-antlr3-tool-3.5.2-1.el7.centos.noarch.rpm ]; then
+ mkdir build/scylla-antlr3-tool-3.5.2
+ cp dist/redhat/centos_dep/antlr3 build/scylla-antlr3-tool-3.5.2
+ cd build/scylla-antlr3-tool-3.5.2
wget http://www.antlr3.org/download/antlr-3.5.2-complete-no-st3.jar
cd -
cd build
- tar cJpf $RPMBUILD/SOURCES/antlr3-tool-3.5.2.tar.xz antlr3-tool-3.5.2
+ tar cJpf $RPMBUILD/SOURCES/scylla-antlr3-tool-3.5.2.tar.xz scylla-antlr3-tool-3.5.2
cd -
- rpmbuild --define "_topdir $RPMBUILD" -ba dist/redhat/centos_dep/antlr3-tool.spec
+ rpmbuild --define "_topdir $RPMBUILD" -ba dist/redhat/centos_dep/scylla-antlr3-tool.spec
fi
-do_install antlr3-tool-3.5.2-1.el7.centos.noarch.rpm
+do_install scylla-antlr3-tool-3.5.2-1.el7.centos.noarch.rpm
-if [ ! -f $RPMBUILD/RPMS/x86_64/antlr3-C++-devel-3.5.2-1.el7.centos.x86_64.rpm ];then
+if [ ! -f $RPMBUILD/RPMS/x86_64/scylla-antlr3-C++-devel-3.5.2-1.el7.centos.x86_64.rpm ];then
wget -O build/3.5.2.tar.gz https://github.com/antlr/antlr3/archive/3.5.2.tar.gz
mv build/3.5.2.tar.gz $RPMBUILD/SOURCES
- rpmbuild --define "_topdir $RPMBUILD" -ba dist/redhat/centos_dep/antlr3-C++-devel.spec
+ rpmbuild --define "_topdir $RPMBUILD" -ba dist/redhat/centos_dep/scylla-antlr3-C++-devel.spec
fi
-do_install antlr3-C++-devel-3.5.2-1.el7.centos.x86_64.rpm
+do_install scylla-antlr3-C++-devel-3.5.2-1.el7.centos.x86_64.rpm
diff --git a/dist/redhat/centos_dep/gcc.diff b/dist/redhat/centos_dep/gcc.diff
new file mode 100644
index 0000000000..b851c963a9
--- /dev/null
+++ b/dist/redhat/centos_dep/gcc.diff
@@ -0,0 +1,1316 @@
+--- gcc.spec 2015-10-19 06:31:44.889189647 +0000
++++ gcc.spec.1 2015-10-19 07:56:17.445991665 +0000
+@@ -1,22 +1,15 @@
+ %global DATE 20150618
+ %global SVNREV 224595
+ %global gcc_version 5.1.1
++%define _prefix /opt/scylladb
+ # Note, gcc_release must be integer, if you want to add suffixes to
+ # %{release}, append them after %{gcc_release} on Release: line.
+ %global gcc_release 4
+ %global _unpackaged_files_terminate_build 0
+ %global _performance_build 1
+ %global multilib_64_archs sparc64 ppc64 ppc64p7 s390x x86_64
+-%ifarch %{ix86} x86_64 ia64 ppc ppc64 ppc64p7 alpha %{arm} aarch64
+-%global build_ada 1
+-%else
+ %global build_ada 0
+-%endif
+-%ifarch %{ix86} x86_64 ppc ppc64 ppc64le ppc64p7 s390 s390x %{arm} aarch64
+-%global build_go 1
+-%else
+ %global build_go 0
+-%endif
+ %ifarch %{ix86} x86_64 ia64
+ %global build_libquadmath 1
+ %else
+@@ -82,7 +75,8 @@
+ %global multilib_32_arch i686
+ %endif
+ Summary: Various compilers (C, C++, Objective-C, Java, ...)
+-Name: gcc
++Name: scylla-gcc
++%define orig_name gcc
+ Version: %{gcc_version}
+ Release: %{gcc_release}%{?dist}
+ # libgcc, libgfortran, libgomp, libstdc++ and crtstuff have
+@@ -97,6 +91,7 @@
+ %global isl_version 0.14
+ URL: http://gcc.gnu.org
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
++Requires: scylla-env
+ # Need binutils with -pie support >= 2.14.90.0.4-4
+ # Need binutils which can omit dot symbols and overlap .opd on ppc64 >= 2.15.91.0.2-4
+ # Need binutils which handle -msecure-plt on ppc >= 2.16.91.0.2-2
+@@ -108,7 +103,7 @@
+ # Need binutils which support .cfi_sections >= 2.19.51.0.14-33
+ # Need binutils which support --no-add-needed >= 2.20.51.0.2-12
+ # Need binutils which support -plugin
+-BuildRequires: binutils >= 2.24
++BuildRequires: scylla-binutils >= 2.24
+ # While gcc doesn't include statically linked binaries, during testing
+ # -static is used several times.
+ BuildRequires: glibc-static
+@@ -143,15 +138,15 @@
+ BuildRequires: libunwind >= 0.98
+ %endif
+ %if %{build_isl}
+-BuildRequires: isl = %{isl_version}
+-BuildRequires: isl-devel = %{isl_version}
+-Requires: isl = %{isl_version}
++BuildRequires: scylla-isl = %{isl_version}
++BuildRequires: scylla-isl-devel = %{isl_version}
++Requires: scylla-isl = %{isl_version}
+ %endif
+ %if %{build_libstdcxx_docs}
+ BuildRequires: doxygen >= 1.7.1
+ BuildRequires: graphviz, dblatex, texlive-collection-latex, docbook5-style-xsl
+ %endif
+-Requires: cpp = %{version}-%{release}
++Requires: scylla-cpp = %{version}-%{release}
+ # Need .eh_frame ld optimizations
+ # Need proper visibility support
+ # Need -pie support
+@@ -166,7 +161,7 @@
+ # Need binutils that support .cfi_sections
+ # Need binutils that support --no-add-needed
+ # Need binutils that support -plugin
+-Requires: binutils >= 2.24
++Requires: scylla-binutils >= 2.24
+ # Make sure gdb will understand DW_FORM_strp
+ Conflicts: gdb < 5.1-2
+ Requires: glibc-devel >= 2.2.90-12
+@@ -174,17 +169,15 @@
+ # Make sure glibc supports TFmode long double
+ Requires: glibc >= 2.3.90-35
+ %endif
+-%if 0%{?fedora} >= 18 || 0%{?rhel} >= 7
+ %ifarch %{arm}
+ Requires: glibc >= 2.16
+ %endif
+-%endif
+-Requires: libgcc >= %{version}-%{release}
+-Requires: libgomp = %{version}-%{release}
++Requires: scylla-libgcc >= %{version}-%{release}
++Requires: scylla-libgomp = %{version}-%{release}
+ %if !%{build_ada}
+-Obsoletes: gcc-gnat < %{version}-%{release}
++Obsoletes: scylla-gcc-gnat < %{version}-%{release}
+ %endif
+-Obsoletes: gcc-java < %{version}-%{release}
++Obsoletes: scylla-gcc-java < %{version}-%{release}
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+ AutoReq: true
+@@ -226,12 +219,12 @@
+ The gcc package contains the GNU Compiler Collection version 5.
+ You'll need this package in order to compile C code.
+
+-%package -n libgcc
++%package -n scylla-libgcc
+ Summary: GCC version 5 shared support library
+ Group: System Environment/Libraries
+ Autoreq: false
+ %if !%{build_ada}
+-Obsoletes: libgnat < %{version}-%{release}
++Obsoletes: scylla-libgnat < %{version}-%{release}
+ %endif
+ Obsoletes: libmudflap
+ Obsoletes: libmudflap-devel
+@@ -239,17 +232,19 @@
+ Obsoletes: libgcj < %{version}-%{release}
+ Obsoletes: libgcj-devel < %{version}-%{release}
+ Obsoletes: libgcj-src < %{version}-%{release}
++Requires: scylla-env
+
+-%description -n libgcc
++%description -n scylla-libgcc
+ This package contains GCC shared support library which is needed
+ e.g. for exception handling support.
+
+ %package c++
+ Summary: C++ support for GCC
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
+-Requires: libstdc++ = %{version}-%{release}
+-Requires: libstdc++-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
++Requires: scylla-libstdc++ = %{version}-%{release}
++Requires: scylla-libstdc++-devel = %{version}-%{release}
+ Autoreq: true
+
+ %description c++
+@@ -257,50 +252,55 @@
+ It includes support for most of the current C++ specification,
+ including templates and exception handling.
+
+-%package -n libstdc++
++%package -n scylla-libstdc++
+ Summary: GNU Standard C++ Library
+ Group: System Environment/Libraries
+ Autoreq: true
++Requires: scylla-env
+ Requires: glibc >= 2.10.90-7
+
+-%description -n libstdc++
++%description -n scylla-libstdc++
+ The libstdc++ package contains a rewritten standard compliant GCC Standard
+ C++ Library.
+
+-%package -n libstdc++-devel
++%package -n scylla-libstdc++-devel
+ Summary: Header files and libraries for C++ development
+ Group: Development/Libraries
+-Requires: libstdc++%{?_isa} = %{version}-%{release}
++Requires: scylla-libstdc++%{?_isa} = %{version}-%{release}
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libstdc++-devel
++%description -n scylla-libstdc++-devel
+ This is the GNU implementation of the standard C++ libraries. This
+ package includes the header files and libraries needed for C++
+ development. This includes rewritten implementation of STL.
+
+-%package -n libstdc++-static
++%package -n scylla-libstdc++-static
+ Summary: Static libraries for the GNU standard C++ library
+ Group: Development/Libraries
+-Requires: libstdc++-devel = %{version}-%{release}
++Requires: scylla-libstdc++-devel = %{version}-%{release}
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libstdc++-static
++%description -n scylla-libstdc++-static
+ Static libraries for the GNU standard C++ library.
+
+-%package -n libstdc++-docs
++%package -n scylla-libstdc++-docs
+ Summary: Documentation for the GNU standard C++ library
+ Group: Development/Libraries
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libstdc++-docs
++%description -n scylla-libstdc++-docs
+ Manual, doxygen generated API information and Frequently Asked Questions
+ for the GNU standard C++ library.
+
+ %package objc
+ Summary: Objective-C support for GCC
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
+-Requires: libobjc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
++Requires: scylla-libobjc = %{version}-%{release}
+ Autoreq: true
+
+ %description objc
+@@ -311,29 +311,32 @@
+ %package objc++
+ Summary: Objective-C++ support for GCC
+ Group: Development/Languages
+-Requires: gcc-c++ = %{version}-%{release}, gcc-objc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc-c++ = %{version}-%{release}, scylla-gcc-objc = %{version}-%{release}
+ Autoreq: true
+
+ %description objc++
+ gcc-objc++ package provides Objective-C++ support for the GCC.
+
+-%package -n libobjc
++%package -n scylla-libobjc
+ Summary: Objective-C runtime
+ Group: System Environment/Libraries
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libobjc
++%description -n scylla-libobjc
+ This package contains Objective-C shared library which is needed to run
+ Objective-C dynamically linked programs.
+
+ %package gfortran
+ Summary: Fortran support
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
+-Requires: libgfortran = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
++Requires: scylla-libgfortran = %{version}-%{release}
+ %if %{build_libquadmath}
+-Requires: libquadmath = %{version}-%{release}
+-Requires: libquadmath-devel = %{version}-%{release}
++Requires: scylla-libquadmath = %{version}-%{release}
++Requires: scylla-libquadmath-devel = %{version}-%{release}
+ %endif
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+@@ -343,260 +346,286 @@
+ The gcc-gfortran package provides support for compiling Fortran
+ programs with the GNU Compiler Collection.
+
+-%package -n libgfortran
++%package -n scylla-libgfortran
+ Summary: Fortran runtime
+ Group: System Environment/Libraries
+ Autoreq: true
++Requires: scylla-env
+ %if %{build_libquadmath}
+-Requires: libquadmath = %{version}-%{release}
++Requires: scylla-libquadmath = %{version}-%{release}
+ %endif
+
+-%description -n libgfortran
++%description -n scylla-libgfortran
+ This package contains Fortran shared library which is needed to run
+ Fortran dynamically linked programs.
+
+-%package -n libgfortran-static
++%package -n scylla-libgfortran-static
+ Summary: Static Fortran libraries
+ Group: Development/Libraries
+-Requires: libgfortran = %{version}-%{release}
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libgfortran = %{version}-%{release}
++Requires: scylla-gcc = %{version}-%{release}
+ %if %{build_libquadmath}
+-Requires: libquadmath-static = %{version}-%{release}
++Requires: scylla-libquadmath-static = %{version}-%{release}
+ %endif
+
+-%description -n libgfortran-static
++%description -n scylla-libgfortran-static
+ This package contains static Fortran libraries.
+
+-%package -n libgomp
++%package -n scylla-libgomp
+ Summary: GCC OpenMP v3.0 shared support library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libgomp
++%description -n scylla-libgomp
+ This package contains GCC shared support library which is needed
+ for OpenMP v3.0 support.
+
+ %package gdb-plugin
+ Summary: GCC plugin for GDB
+ Group: Development/Debuggers
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
+
+ %description gdb-plugin
+ This package contains GCC plugin for GDB C expression evaluation.
+
+-%package -n libgccjit
++%package -n scylla-libgccjit
+ Summary: Library for embedding GCC inside programs and libraries
+ Group: System Environment/Libraries
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
+
+-%description -n libgccjit
++%description -n scylla-libgccjit
+ This package contains shared library with GCC JIT front-end.
+
+-%package -n libgccjit-devel
++%package -n scylla-libgccjit-devel
+ Summary: Support for embedding GCC inside programs and libraries
+ Group: Development/Libraries
+ BuildRequires: python-sphinx
+-Requires: libgccjit = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libgccjit = %{version}-%{release}
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libgccjit-devel
++%description -n scylla-libgccjit-devel
+ This package contains header files and documentation for GCC JIT front-end.
+
+-%package -n libquadmath
++%package -n scylla-libquadmath
+ Summary: GCC __float128 shared support library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libquadmath
++%description -n scylla-libquadmath
+ This package contains GCC shared support library which is needed
+ for __float128 math support and for Fortran REAL*16 support.
+
+-%package -n libquadmath-devel
++%package -n scylla-libquadmath-devel
+ Summary: GCC __float128 support
+ Group: Development/Libraries
+-Requires: libquadmath = %{version}-%{release}
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libquadmath = %{version}-%{release}
++Requires: scylla-gcc = %{version}-%{release}
+
+-%description -n libquadmath-devel
++%description -n scylla-libquadmath-devel
+ This package contains headers for building Fortran programs using
+ REAL*16 and programs using __float128 math.
+
+-%package -n libquadmath-static
++%package -n scylla-libquadmath-static
+ Summary: Static libraries for __float128 support
+ Group: Development/Libraries
+-Requires: libquadmath-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libquadmath-devel = %{version}-%{release}
+
+-%description -n libquadmath-static
++%description -n scylla-libquadmath-static
+ This package contains static libraries for building Fortran programs
+ using REAL*16 and programs using __float128 math.
+
+-%package -n libitm
++%package -n scylla-libitm
+ Summary: The GNU Transactional Memory library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libitm
++%description -n scylla-libitm
+ This package contains the GNU Transactional Memory library
+ which is a GCC transactional memory support runtime library.
+
+-%package -n libitm-devel
++%package -n scylla-libitm-devel
+ Summary: The GNU Transactional Memory support
+ Group: Development/Libraries
+-Requires: libitm = %{version}-%{release}
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libitm = %{version}-%{release}
++Requires: scylla-gcc = %{version}-%{release}
+
+-%description -n libitm-devel
++%description -n scylla-libitm-devel
+ This package contains headers and support files for the
+ GNU Transactional Memory library.
+
+-%package -n libitm-static
++%package -n scylla-libitm-static
+ Summary: The GNU Transactional Memory static library
+ Group: Development/Libraries
+-Requires: libitm-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libitm-devel = %{version}-%{release}
+
+-%description -n libitm-static
++%description -n scylla-libitm-static
+ This package contains GNU Transactional Memory static libraries.
+
+-%package -n libatomic
++%package -n scylla-libatomic
+ Summary: The GNU Atomic library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libatomic
++%description -n scylla-libatomic
+ This package contains the GNU Atomic library
+ which is a GCC support runtime library for atomic operations not supported
+ by hardware.
+
+-%package -n libatomic-static
++%package -n scylla-libatomic-static
+ Summary: The GNU Atomic static library
+ Group: Development/Libraries
+-Requires: libatomic = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libatomic = %{version}-%{release}
+
+-%description -n libatomic-static
++%description -n scylla-libatomic-static
+ This package contains GNU Atomic static libraries.
+
+-%package -n libasan
++%package -n scylla-libasan
+ Summary: The Address Sanitizer runtime library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libasan
++%description -n scylla-libasan
+ This package contains the Address Sanitizer library
+ which is used for -fsanitize=address instrumented programs.
+
+-%package -n libasan-static
++%package -n scylla-libasan-static
+ Summary: The Address Sanitizer static library
+ Group: Development/Libraries
+-Requires: libasan = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libasan = %{version}-%{release}
+
+-%description -n libasan-static
++%description -n scylla-libasan-static
+ This package contains Address Sanitizer static runtime library.
+
+-%package -n libtsan
++%package -n scylla-libtsan
+ Summary: The Thread Sanitizer runtime library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libtsan
++%description -n scylla-libtsan
+ This package contains the Thread Sanitizer library
+ which is used for -fsanitize=thread instrumented programs.
+
+-%package -n libtsan-static
++%package -n scylla-libtsan-static
+ Summary: The Thread Sanitizer static library
+ Group: Development/Libraries
+-Requires: libtsan = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libtsan = %{version}-%{release}
+
+-%description -n libtsan-static
++%description -n scylla-libtsan-static
+ This package contains Thread Sanitizer static runtime library.
+
+-%package -n libubsan
++%package -n scylla-libubsan
+ Summary: The Undefined Behavior Sanitizer runtime library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libubsan
++%description -n scylla-libubsan
+ This package contains the Undefined Behavior Sanitizer library
+ which is used for -fsanitize=undefined instrumented programs.
+
+-%package -n libubsan-static
++%package -n scylla-libubsan-static
+ Summary: The Undefined Behavior Sanitizer static library
+ Group: Development/Libraries
+-Requires: libubsan = %{version}-%{release}
++Requires: scylla-libubsan = %{version}-%{release}
+
+-%description -n libubsan-static
++%description -n scylla-libubsan-static
+ This package contains Undefined Behavior Sanitizer static runtime library.
+
+-%package -n liblsan
++%package -n scylla-liblsan
+ Summary: The Leak Sanitizer runtime library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n liblsan
++%description -n scylla-liblsan
+ This package contains the Leak Sanitizer library
+ which is used for -fsanitize=leak instrumented programs.
+
+-%package -n liblsan-static
++%package -n scylla-liblsan-static
+ Summary: The Leak Sanitizer static library
+ Group: Development/Libraries
+-Requires: liblsan = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-liblsan = %{version}-%{release}
+
+-%description -n liblsan-static
++%description -n scylla-liblsan-static
+ This package contains Leak Sanitizer static runtime library.
+
+-%package -n libcilkrts
++%package -n scylla-libcilkrts
+ Summary: The Cilk+ runtime library
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libcilkrts
++%description -n scylla-libcilkrts
+ This package contains the Cilk+ runtime library.
+
+-%package -n libcilkrts-static
++%package -n scylla-libcilkrts-static
+ Summary: The Cilk+ static runtime library
+ Group: Development/Libraries
+-Requires: libcilkrts = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libcilkrts = %{version}-%{release}
+
+-%description -n libcilkrts-static
++%description -n scylla-libcilkrts-static
+ This package contains the Cilk+ static runtime library.
+
+-%package -n libmpx
++%package -n scylla-libmpx
+ Summary: The Memory Protection Extensions runtime libraries
+ Group: System Environment/Libraries
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+
+-%description -n libmpx
++%description -n scylla-libmpx
+ This package contains the Memory Protection Extensions runtime libraries
+ which is used for -fcheck-pointer-bounds -mmpx instrumented programs.
+
+-%package -n libmpx-static
++%package -n scylla-libmpx-static
+ Summary: The Memory Protection Extensions static libraries
+ Group: Development/Libraries
+-Requires: libmpx = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libmpx = %{version}-%{release}
+
+-%description -n libmpx-static
++%description -n scylla-libmpx-static
+ This package contains the Memory Protection Extensions static runtime libraries.
+
+-%package -n cpp
++%package -n scylla-cpp
+ Summary: The C Preprocessor
+ Group: Development/Languages
+ Requires: filesystem >= 3
+ Provides: /lib/cpp
++Requires: scylla-env
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+ Autoreq: true
+
+-%description -n cpp
++%description -n scylla-cpp
+ Cpp is the GNU C-Compatible Compiler Preprocessor.
+ Cpp is a macro processor which is used automatically
+ by the C compiler to transform your program before actual
+@@ -621,8 +650,9 @@
+ %package gnat
+ Summary: Ada 83, 95, 2005 and 2012 support for GCC
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
+-Requires: libgnat = %{version}-%{release}, libgnat-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
++Requires: scylla-libgnat = %{version}-%{release}, scylla-libgnat-devel = %{version}-%{release}
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+ Autoreq: true
+@@ -631,40 +661,44 @@
+ GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+ development tools, the documents and Ada compiler.
+
+-%package -n libgnat
++%package -n scylla-libgnat
+ Summary: GNU Ada 83, 95, 2005 and 2012 runtime shared libraries
+ Group: System Environment/Libraries
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libgnat
++%description -n scylla-libgnat
+ GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+ shared libraries, which are required to run programs compiled with the GNAT.
+
+-%package -n libgnat-devel
++%package -n scylla-libgnat-devel
+ Summary: GNU Ada 83, 95, 2005 and 2012 libraries
+ Group: Development/Languages
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libgnat-devel
++%description -n scylla-libgnat-devel
+ GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+ libraries, which are required to compile with the GNAT.
+
+-%package -n libgnat-static
++%package -n scylla-libgnat-static
+ Summary: GNU Ada 83, 95, 2005 and 2012 static libraries
+ Group: Development/Languages
+-Requires: libgnat-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libgnat-devel = %{version}-%{release}
+ Autoreq: true
+
+-%description -n libgnat-static
++%description -n scylla-libgnat-static
+ GNAT is a GNU Ada 83, 95, 2005 and 2012 front-end to GCC. This package includes
+ static libraries.
+
+ %package go
+ Summary: Go support
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
+-Requires: libgo = %{version}-%{release}
+-Requires: libgo-devel = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
++Requires: scylla-libgo = %{version}-%{release}
++Requires: scylla-libgo-devel = %{version}-%{release}
+ Requires(post): /sbin/install-info
+ Requires(preun): /sbin/install-info
+ Requires(post): %{_sbindir}/update-alternatives
+@@ -675,38 +709,42 @@
+ The gcc-go package provides support for compiling Go programs
+ with the GNU Compiler Collection.
+
+-%package -n libgo
++%package -n scylla-libgo
+ Summary: Go runtime
+ Group: System Environment/Libraries
+ Autoreq: true
++Requires: scylla-env
+
+-%description -n libgo
++%description -n scylla-libgo
+ This package contains Go shared library which is needed to run
+ Go dynamically linked programs.
+
+-%package -n libgo-devel
++%package -n scylla-libgo-devel
+ Summary: Go development libraries
+ Group: Development/Languages
+-Requires: libgo = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libgo = %{version}-%{release}
+ Autoreq: true
+
+-%description -n libgo-devel
++%description -n scylla-libgo-devel
+ This package includes libraries and support files for compiling
+ Go programs.
+
+-%package -n libgo-static
++%package -n scylla-libgo-static
+ Summary: Static Go libraries
+ Group: Development/Libraries
+-Requires: libgo = %{version}-%{release}
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-libgo = %{version}-%{release}
++Requires: scylla-gcc = %{version}-%{release}
+
+-%description -n libgo-static
++%description -n scylla-libgo-static
+ This package contains static Go libraries.
+
+ %package plugin-devel
+ Summary: Support for compiling GCC plugins
+ Group: Development/Languages
+-Requires: gcc = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc = %{version}-%{release}
+ Requires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
+
+ %description plugin-devel
+@@ -726,7 +764,8 @@
+ Summary: Debug information for package %{name}
+ Group: Development/Debug
+ AutoReqProv: 0
+-Requires: gcc-base-debuginfo = %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-gcc-base-debuginfo = %{version}-%{release}
+
+ %description debuginfo
+ This package provides debug information for package %{name}.
+@@ -961,11 +1000,10 @@
+ --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu \
+ --enable-plugin --enable-initfini-array \
+ --disable-libgcj \
+-%if 0%{fedora} >= 21 && 0%{fedora} <= 22
+ --with-default-libstdcxx-abi=c++98 \
+-%endif
+ %if %{build_isl}
+- --with-isl \
++ --with-isl-include=/opt/scylladb/include/ \
++ --with-isl-lib=/opt/scylladb/lib64/ \
+ %else
+ --without-isl \
+ %endif
+@@ -974,11 +1012,9 @@
+ %else
+ --disable-libmpx \
+ %endif
+-%if 0%{?fedora} >= 21 || 0%{?rhel} >= 7
+ %if %{attr_ifunc}
+ --enable-gnu-indirect-function \
+ %endif
+-%endif
+ %ifarch %{arm}
+ --disable-sjlj-exceptions \
+ %endif
+@@ -1009,9 +1045,6 @@
+ %if 0%{?rhel} >= 7
+ --with-cpu-32=power8 --with-tune-32=power8 --with-cpu-64=power8 --with-tune-64=power8 \
+ %endif
+-%if 0%{?fedora} > 21 && 0%{?fedora} < 24
+- --with-cpu-32=power7 --with-tune-32=power8 --with-cpu-64=power7 --with-tune-64=power8 \
+-%endif
+ %endif
+ %ifarch ppc
+ --build=%{gcc_target_platform} --target=%{gcc_target_platform} --with-cpu=default32
+@@ -1273,16 +1306,15 @@
+ mv %{buildroot}%{_prefix}/%{_lib}/libmpx.spec $FULLPATH/
+ %endif
+
+-mkdir -p %{buildroot}/%{_lib}
+-mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
+-chmod 755 %{buildroot}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
+-ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 %{buildroot}/%{_lib}/libgcc_s.so.1
+-ln -sf /%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
++mv -f %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1 %{buildroot}/%{_prefix}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
++chmod 755 %{buildroot}%{_prefix}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
++ln -sf libgcc_s-%{gcc_version}-%{DATE}.so.1 %{buildroot}%{_prefix}/%{_lib}/libgcc_s.so.1
++ln -sf %{_prefix}/%{_lib}/libgcc_s.so.1 $FULLPATH/libgcc_s.so
+ %ifarch sparcv9 ppc
+-ln -sf /lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
++ln -sf %{_prefix}/lib64/libgcc_s.so.1 $FULLPATH/64/libgcc_s.so
+ %endif
+ %ifarch %{multilib_64_archs}
+-ln -sf /lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
++ln -sf %{_prefix}/lib/libgcc_s.so.1 $FULLPATH/32/libgcc_s.so
+ %endif
+ %ifarch ppc
+ rm -f $FULLPATH/libgcc_s.so
+@@ -1816,7 +1848,7 @@
+ chmod 755 %{buildroot}%{_prefix}/bin/c?9
+
+ cd ..
+-%find_lang %{name}
++%find_lang %{orig_name}
+ %find_lang cpplib
+
+ # Remove binaries we will not be including, so that they don't end up in
+@@ -1866,11 +1898,7 @@
+
+ # run the tests.
+ make %{?_smp_mflags} -k check ALT_CC_UNDER_TEST=gcc ALT_CXX_UNDER_TEST=g++ \
+-%if 0%{?fedora} >= 20
+- RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector-strong}'" || :
+-%else
+ RUNTESTFLAGS="--target_board=unix/'{,-fstack-protector}'" || :
+-%endif
+ echo ====================TESTING=========================
+ ( LC_ALL=C ../contrib/test_summary || : ) 2>&1 | sed -n '/^cat.*EOF/,/^EOF/{/^cat.*EOF/d;/^EOF/d;/^LAST_UPDATED:/d;p;}'
+ echo ====================TESTING END=====================
+@@ -1897,13 +1925,13 @@
+ --info-dir=%{_infodir} %{_infodir}/gcc.info.gz || :
+ fi
+
+-%post -n cpp
++%post -n scylla-cpp
+ if [ -f %{_infodir}/cpp.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
+ fi
+
+-%preun -n cpp
++%preun -n scylla-cpp
+ if [ $1 = 0 -a -f %{_infodir}/cpp.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/cpp.info.gz || :
+@@ -1954,7 +1982,7 @@
+ # Because glibc Prereq's libgcc and /sbin/ldconfig
+ # comes from glibc, it might not exist yet when
+ # libgcc is installed
+-%post -n libgcc -p
++%post -n scylla-libgcc -p
+ if posix.access ("/sbin/ldconfig", "x") then
+ local pid = posix.fork ()
+ if pid == 0 then
+@@ -1964,7 +1992,7 @@
+ end
+ end
+
+-%postun -n libgcc -p
++%postun -n scylla-libgcc -p
+ if posix.access ("/sbin/ldconfig", "x") then
+ local pid = posix.fork ()
+ if pid == 0 then
+@@ -1974,120 +2002,120 @@
+ end
+ end
+
+-%post -n libstdc++ -p /sbin/ldconfig
++%post -n scylla-libstdc++ -p /sbin/ldconfig
+
+-%postun -n libstdc++ -p /sbin/ldconfig
++%postun -n scylla-libstdc++ -p /sbin/ldconfig
+
+-%post -n libobjc -p /sbin/ldconfig
++%post -n scylla-libobjc -p /sbin/ldconfig
+
+-%postun -n libobjc -p /sbin/ldconfig
++%postun -n scylla-libobjc -p /sbin/ldconfig
+
+-%post -n libgfortran -p /sbin/ldconfig
++%post -n scylla-libgfortran -p /sbin/ldconfig
+
+-%postun -n libgfortran -p /sbin/ldconfig
++%postun -n scylla-libgfortran -p /sbin/ldconfig
+
+-%post -n libgnat -p /sbin/ldconfig
++%post -n scylla-libgnat -p /sbin/ldconfig
+
+-%postun -n libgnat -p /sbin/ldconfig
++%postun -n scylla-libgnat -p /sbin/ldconfig
+
+-%post -n libgomp
++%post -n scylla-libgomp
+ /sbin/ldconfig
+ if [ -f %{_infodir}/libgomp.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
+ fi
+
+-%preun -n libgomp
++%preun -n scylla-libgomp
+ if [ $1 = 0 -a -f %{_infodir}/libgomp.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libgomp.info.gz || :
+ fi
+
+-%postun -n libgomp -p /sbin/ldconfig
++%postun -n scylla-libgomp -p /sbin/ldconfig
+
+ %post gdb-plugin -p /sbin/ldconfig
+
+ %postun gdb-plugin -p /sbin/ldconfig
+
+-%post -n libgccjit -p /sbin/ldconfig
++%post -n scylla-libgccjit -p /sbin/ldconfig
+
+-%postun -n libgccjit -p /sbin/ldconfig
++%postun -n scylla-libgccjit -p /sbin/ldconfig
+
+-%post -n libgccjit-devel
++%post -n scylla-libgccjit-devel
+ if [ -f %{_infodir}/libgccjit.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
+ fi
+
+-%preun -n libgccjit-devel
++%preun -n scylla-libgccjit-devel
+ if [ $1 = 0 -a -f %{_infodir}/libgccjit.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libgccjit.info.gz || :
+ fi
+
+-%post -n libquadmath
++%post -n scylla-libquadmath
+ /sbin/ldconfig
+ if [ -f %{_infodir}/libquadmath.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
+ fi
+
+-%preun -n libquadmath
++%preun -n scylla-libquadmath
+ if [ $1 = 0 -a -f %{_infodir}/libquadmath.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libquadmath.info.gz || :
+ fi
+
+-%postun -n libquadmath -p /sbin/ldconfig
++%postun -n scylla-libquadmath -p /sbin/ldconfig
+
+-%post -n libitm
++%post -n scylla-libitm
+ /sbin/ldconfig
+ if [ -f %{_infodir}/libitm.info.gz ]; then
+ /sbin/install-info \
+ --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+ fi
+
+-%preun -n libitm
++%preun -n scylla-libitm
+ if [ $1 = 0 -a -f %{_infodir}/libitm.info.gz ]; then
+ /sbin/install-info --delete \
+ --info-dir=%{_infodir} %{_infodir}/libitm.info.gz || :
+ fi
+
+-%postun -n libitm -p /sbin/ldconfig
++%postun -n scylla-libitm -p /sbin/ldconfig
+
+-%post -n libatomic -p /sbin/ldconfig
++%post -n scylla-libatomic -p /sbin/ldconfig
+
+-%postun -n libatomic -p /sbin/ldconfig
++%postun -n scylla-libatomic -p /sbin/ldconfig
+
+-%post -n libasan -p /sbin/ldconfig
++%post -n scylla-libasan -p /sbin/ldconfig
+
+-%postun -n libasan -p /sbin/ldconfig
++%postun -n scylla-libasan -p /sbin/ldconfig
+
+-%post -n libubsan -p /sbin/ldconfig
++%post -n scylla-libubsan -p /sbin/ldconfig
+
+-%postun -n libubsan -p /sbin/ldconfig
++%postun -n scylla-libubsan -p /sbin/ldconfig
+
+-%post -n libtsan -p /sbin/ldconfig
++%post -n scylla-libtsan -p /sbin/ldconfig
+
+-%postun -n libtsan -p /sbin/ldconfig
++%postun -n scylla-libtsan -p /sbin/ldconfig
+
+-%post -n liblsan -p /sbin/ldconfig
++%post -n scylla-liblsan -p /sbin/ldconfig
+
+-%postun -n liblsan -p /sbin/ldconfig
++%postun -n scylla-liblsan -p /sbin/ldconfig
+
+-%post -n libcilkrts -p /sbin/ldconfig
++%post -n scylla-libcilkrts -p /sbin/ldconfig
+
+-%postun -n libcilkrts -p /sbin/ldconfig
++%postun -n scylla-libcilkrts -p /sbin/ldconfig
+
+-%post -n libmpx -p /sbin/ldconfig
++%post -n scylla-libmpx -p /sbin/ldconfig
+
+-%postun -n libmpx -p /sbin/ldconfig
++%postun -n scylla-libmpx -p /sbin/ldconfig
+
+-%post -n libgo -p /sbin/ldconfig
++%post -n scylla-libgo -p /sbin/ldconfig
+
+-%postun -n libgo -p /sbin/ldconfig
++%postun -n scylla-libgo -p /sbin/ldconfig
+
+-%files -f %{name}.lang
++%files -f %{orig_name}.lang
+ %defattr(-,root,root,-)
+ %{_prefix}/bin/cc
+ %{_prefix}/bin/c89
+@@ -2409,7 +2437,7 @@
+ %{!?_licensedir:%global license %%doc}
+ %license gcc/COPYING* COPYING.RUNTIME
+
+-%files -n cpp -f cpplib.lang
++%files -n scylla-cpp -f cpplib.lang
+ %defattr(-,root,root,-)
+ %{_prefix}/lib/cpp
+ %{_prefix}/bin/cpp
+@@ -2420,10 +2448,10 @@
+ %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
+ %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1
+
+-%files -n libgcc
++%files -n scylla-libgcc
+ %defattr(-,root,root,-)
+-/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
+-/%{_lib}/libgcc_s.so.1
++%{_prefix}/%{_lib}/libgcc_s-%{gcc_version}-%{DATE}.so.1
++%{_prefix}/%{_lib}/libgcc_s.so.1
+ %{!?_licensedir:%global license %%doc}
+ %license gcc/COPYING* COPYING.RUNTIME
+
+@@ -2461,7 +2489,7 @@
+ %endif
+ %doc rpm.doc/changelogs/gcc/cp/ChangeLog*
+
+-%files -n libstdc++
++%files -n scylla-libstdc++
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libstdc++.so.6*
+ %dir %{_datadir}/gdb
+@@ -2473,7 +2501,7 @@
+ %dir %{_prefix}/share/gcc-%{gcc_version}/python
+ %{_prefix}/share/gcc-%{gcc_version}/python/libstdcxx
+
+-%files -n libstdc++-devel
++%files -n scylla-libstdc++-devel
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/include/c++
+ %dir %{_prefix}/include/c++/%{gcc_version}
+@@ -2488,7 +2516,7 @@
+ %endif
+ %doc rpm.doc/changelogs/libstdc++-v3/ChangeLog* libstdc++-v3/README*
+
+-%files -n libstdc++-static
++%files -n scylla-libstdc++-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2509,7 +2537,7 @@
+ %endif
+
+ %if %{build_libstdcxx_docs}
+-%files -n libstdc++-docs
++%files -n scylla-libstdc++-docs
+ %defattr(-,root,root)
+ %{_mandir}/man3/*
+ %doc rpm.doc/libstdc++-v3/html
+@@ -2548,7 +2576,7 @@
+ %dir %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}
+ %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/cc1objplus
+
+-%files -n libobjc
++%files -n scylla-libobjc
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libobjc.so.4*
+
+@@ -2602,11 +2630,11 @@
+ %endif
+ %doc rpm.doc/gfortran/*
+
+-%files -n libgfortran
++%files -n scylla-libgfortran
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgfortran.so.3*
+
+-%files -n libgfortran-static
++%files -n scylla-libgfortran-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2652,12 +2680,12 @@
+ %{_prefix}/libexec/gcc/%{gcc_target_platform}/%{gcc_version}/gnat1
+ %doc rpm.doc/changelogs/gcc/ada/ChangeLog*
+
+-%files -n libgnat
++%files -n scylla-libgnat
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgnat-*.so
+ %{_prefix}/%{_lib}/libgnarl-*.so
+
+-%files -n libgnat-devel
++%files -n scylla-libgnat-devel
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2683,7 +2711,7 @@
+ %exclude %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/adalib/libgnarl.a
+ %endif
+
+-%files -n libgnat-static
++%files -n scylla-libgnat-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2707,7 +2735,7 @@
+ %endif
+ %endif
+
+-%files -n libgomp
++%files -n scylla-libgomp
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgomp.so.1*
+ %{_prefix}/%{_lib}/libgomp-plugin-host_nonshm.so.1*
+@@ -2715,14 +2743,14 @@
+ %doc rpm.doc/changelogs/libgomp/ChangeLog*
+
+ %if %{build_libquadmath}
+-%files -n libquadmath
++%files -n scylla-libquadmath
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libquadmath.so.0*
+ %{_infodir}/libquadmath.info*
+ %{!?_licensedir:%global license %%doc}
+ %license rpm.doc/libquadmath/COPYING*
+
+-%files -n libquadmath-devel
++%files -n scylla-libquadmath-devel
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2735,7 +2763,7 @@
+ %endif
+ %doc rpm.doc/libquadmath/ChangeLog*
+
+-%files -n libquadmath-static
++%files -n scylla-libquadmath-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2754,12 +2782,12 @@
+ %endif
+
+ %if %{build_libitm}
+-%files -n libitm
++%files -n scylla-libitm
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libitm.so.1*
+ %{_infodir}/libitm.info*
+
+-%files -n libitm-devel
++%files -n scylla-libitm-devel
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2772,7 +2800,7 @@
+ %endif
+ %doc rpm.doc/libitm/ChangeLog*
+
+-%files -n libitm-static
++%files -n scylla-libitm-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2791,11 +2819,11 @@
+ %endif
+
+ %if %{build_libatomic}
+-%files -n libatomic
++%files -n scylla-libatomic
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libatomic.so.1*
+
+-%files -n libatomic-static
++%files -n scylla-libatomic-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2815,11 +2843,11 @@
+ %endif
+
+ %if %{build_libasan}
+-%files -n libasan
++%files -n scylla-libasan
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libasan.so.2*
+
+-%files -n libasan-static
++%files -n scylla-libasan-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2841,11 +2869,11 @@
+ %endif
+
+ %if %{build_libubsan}
+-%files -n libubsan
++%files -n scylla-libubsan
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libubsan.so.0*
+
+-%files -n libubsan-static
++%files -n scylla-libubsan-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2867,11 +2895,11 @@
+ %endif
+
+ %if %{build_libtsan}
+-%files -n libtsan
++%files -n scylla-libtsan
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libtsan.so.0*
+
+-%files -n libtsan-static
++%files -n scylla-libtsan-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2883,11 +2911,11 @@
+ %endif
+
+ %if %{build_liblsan}
+-%files -n liblsan
++%files -n scylla-liblsan
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/liblsan.so.0*
+
+-%files -n liblsan-static
++%files -n scylla-liblsan-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2899,11 +2927,11 @@
+ %endif
+
+ %if %{build_libcilkrts}
+-%files -n libcilkrts
++%files -n scylla-libcilkrts
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libcilkrts.so.5*
+
+-%files -n libcilkrts-static
++%files -n scylla-libcilkrts-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2923,12 +2951,12 @@
+ %endif
+
+ %if %{build_libmpx}
+-%files -n libmpx
++%files -n scylla-libmpx
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libmpx.so.0*
+ %{_prefix}/%{_lib}/libmpxwrappers.so.0*
+
+-%files -n libmpx-static
++%files -n scylla-libmpx-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -2990,12 +3018,12 @@
+ %endif
+ %doc rpm.doc/go/*
+
+-%files -n libgo
++%files -n scylla-libgo
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgo.so.7*
+ %doc rpm.doc/libgo/*
+
+-%files -n libgo-devel
++%files -n scylla-libgo-devel
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -3023,7 +3051,7 @@
+ %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/libgo.so
+ %endif
+
+-%files -n libgo-static
++%files -n scylla-libgo-static
+ %defattr(-,root,root,-)
+ %dir %{_prefix}/lib/gcc
+ %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
+@@ -3041,12 +3069,12 @@
+ %endif
+ %endif
+
+-%files -n libgccjit
++%files -n scylla-libgccjit
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgccjit.so.*
+ %doc rpm.doc/changelogs/gcc/jit/ChangeLog*
+
+-%files -n libgccjit-devel
++%files -n scylla-libgccjit-devel
+ %defattr(-,root,root,-)
+ %{_prefix}/%{_lib}/libgccjit.so
+ %{_prefix}/include/libgccjit*.h
diff --git a/dist/redhat/centos_dep/isl.diff b/dist/redhat/centos_dep/isl.diff
new file mode 100644
index 0000000000..e1ad000276
--- /dev/null
+++ b/dist/redhat/centos_dep/isl.diff
@@ -0,0 +1,39 @@
+--- isl.spec 2015-01-06 16:24:49.000000000 +0000
++++ isl.spec.1 2015-10-18 12:12:38.000000000 +0000
+@@ -1,5 +1,5 @@
+ Summary: Integer point manipulation library
+-Name: isl
++Name: scylla-isl
+ Version: 0.14
+ License: MIT
+ Group: System Environment/Libraries
+@@ -17,8 +17,10 @@
+
+ BuildRequires: gmp-devel
+ BuildRequires: pkgconfig
++Requires: scylla-env
+
+ Source0: http://isl.gforge.inria.fr/isl-%{version}.tar.xz
++%define _prefix /opt/scylladb
+
+ %description
+ isl is a library for manipulating sets and relations of integer points
+@@ -32,7 +34,8 @@
+
+ %package devel
+ Summary: Development for building integer point manipulation library
+-Requires: isl%{?_isa} == %{version}-%{release}
++Requires: scylla-env
++Requires: scylla-isl%{?_isa} == %{version}-%{release}
+ Requires: gmp-devel%{?_isa}
+ Group: Development/Libraries
+
+@@ -47,7 +50,7 @@
+ graphs), dependence analysis and bounds on piecewise step-polynomials.
+
+ %prep
+-%setup -q
++%setup -q -n isl-%{version}
+
+ %build
+ %configure
diff --git a/dist/redhat/centos_dep/ninja-build.diff b/dist/redhat/centos_dep/ninja-build.diff
index 6612d9cf07..a34471c1d4 100644
--- a/dist/redhat/centos_dep/ninja-build.diff
+++ b/dist/redhat/centos_dep/ninja-build.diff
@@ -1,29 +1,34 @@
---- rpmbuild/SPECS/ninja-build.spec 2015-02-08 17:53:10.000000000 -0500
-+++ rpmbuild/SPECS/ninja-build.spec.1 2015-09-17 21:21:52.343000000 -0400
-@@ -8,7 +8,7 @@
- Source1: ninja.vim
- # https://github.com/martine/ninja/pull/882
- Patch0: ninja-1.5.3-verbose-build.patch
--BuildRequires: asciidoc
-+#BuildRequires: asciidoc
- BuildRequires: gtest-devel
- BuildRequires: python2-devel
- BuildRequires: re2c >= 0.11.3
-@@ -28,7 +28,7 @@
- %build
- CFLAGS="%{optflags}" LDFLAGS="%{?__global_ldflags}" \
- %{__python2} configure.py --bootstrap --verbose
--./ninja -v manual
-+#./ninja -v manual
- ./ninja -v ninja_test
-
- %install
-@@ -48,7 +48,7 @@
- ./ninja_test
-
- %files
--%doc COPYING HACKING.md README doc/manual.html
-+%doc COPYING HACKING.md README
- %{_bindir}/ninja-build
- %{_datadir}/bash-completion/completions/ninja-bash-completion
- %{_datadir}/emacs/site-lisp/ninja-mode.el
+1c1
+< Name: ninja-build
+---
+> Name: scylla-ninja-build
+8d7
+< Source1: ninja.vim
+10a10
+> Requires: scylla-env
+14,16c14,15
+< BuildRequires: re2c >= 0.11.3
+< Requires: emacs-filesystem
+< Requires: vim-filesystem
+---
+> #BuildRequires: scylla-re2c >= 0.11.3
+> %define _prefix /opt/scylladb
+35,37c34
+< # TODO: Install ninja_syntax.py?
+< mkdir -p %{buildroot}/{%{_bindir},%{_datadir}/bash-completion/completions,%{_datadir}/emacs/site-lisp,%{_datadir}/vim/vimfiles/syntax,%{_datadir}/vim/vimfiles/ftdetect,%{_datadir}/zsh/site-functions}
+<
+---
+> mkdir -p %{buildroot}/opt/scylladb/bin
+39,43d35
+< install -pm644 misc/bash-completion %{buildroot}%{_datadir}/bash-completion/completions/ninja-bash-completion
+< install -pm644 misc/ninja-mode.el %{buildroot}%{_datadir}/emacs/site-lisp/ninja-mode.el
+< install -pm644 misc/ninja.vim %{buildroot}%{_datadir}/vim/vimfiles/syntax/ninja.vim
+< install -pm644 %{SOURCE1} %{buildroot}%{_datadir}/vim/vimfiles/ftdetect/ninja.vim
+< install -pm644 misc/zsh-completion %{buildroot}%{_datadir}/zsh/site-functions/_ninja
+53,58d44
+< %{_datadir}/bash-completion/completions/ninja-bash-completion
+< %{_datadir}/emacs/site-lisp/ninja-mode.el
+< %{_datadir}/vim/vimfiles/syntax/ninja.vim
+< %{_datadir}/vim/vimfiles/ftdetect/ninja.vim
+< # zsh does not have a -filesystem package
+< %{_datadir}/zsh/
diff --git a/dist/redhat/centos_dep/ragel.diff b/dist/redhat/centos_dep/ragel.diff
index 1bf16d166a..b9bbc9390d 100644
--- a/dist/redhat/centos_dep/ragel.diff
+++ b/dist/redhat/centos_dep/ragel.diff
@@ -1,14 +1,44 @@
---- rpmbuild/SPECS/ragel.spec 2014-08-18 07:55:49.000000000 -0400
-+++ rpmbuild/SPECS/ragel.spec.1 2015-09-17 22:06:27.623000000 -0400
-@@ -49,8 +49,10 @@
+--- ragel.spec 2014-08-18 11:55:49.000000000 +0000
++++ ragel.spec.1 2015-10-18 12:18:23.000000000 +0000
+@@ -1,17 +1,20 @@
+-Name: ragel
++Name: scylla-ragel
++%define orig_name ragel
+ Version: 6.8
+ Release: 3%{?dist}
+ Summary: Finite state machine compiler
- %files
- %defattr(-,root,root,-)
--%doc COPYING ragel.vim CREDITS ChangeLog
-+%doc COPYING ragel.vim
- %doc doc/ragel-guide.pdf
-+%{_docdir}/%{name}/CREDITS
-+%{_docdir}/%{name}/ChangeLog
- %{_bindir}/ragel
- %{_mandir}/*/*
+ Group: Development/Tools
+ License: GPLv2+
+-URL: http://www.complang.org/%{name}/
+-Source0: http://www.complang.org/%{name}/%{name}-%{version}.tar.gz
++URL: http://www.complang.org/%{orig_name}/
++Source0: http://www.complang.org/%{orig_name}/%{orig_name}-%{version}.tar.gz
+ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+ # for documentation building
+ BuildRequires: gcc-objc, autoconf, gcc-c++
++Requires: scylla-env
+ Requires: gawk
++%define _prefix /opt/scylladb
+
+ %description
+ Ragel compiles finite state machines from regular languages into executable C,
+@@ -21,7 +24,7 @@
+ done using inline operators that do not disrupt the regular language syntax.
+
+ %prep
+-%setup -q
++%setup -q -n %{orig_name}-%{version}
+
+ # Pass fedora cflags correctly
+ sed -i.flags \
+@@ -34,7 +37,7 @@
+
+ %build
+ # set the names of the other programming commandline programs
+-%configure --docdir=%{_docdir}/%{name} RUBY=ruby JAVAC=javac GMCS=gmcs
++%configure --docdir=%{_docdir}/%{name}-%{version} RUBY=ruby JAVAC=javac GMCS=gmcs
+
+ make %{?_smp_mflags}
diff --git a/dist/redhat/centos_dep/antlr3-C++-devel.spec b/dist/redhat/centos_dep/scylla-antlr3-C++-devel.spec
similarity index 88%
rename from dist/redhat/centos_dep/antlr3-C++-devel.spec
rename to dist/redhat/centos_dep/scylla-antlr3-C++-devel.spec
index 774c02bd0c..1f76c251bb 100644
--- a/dist/redhat/centos_dep/antlr3-C++-devel.spec
+++ b/dist/redhat/centos_dep/scylla-antlr3-C++-devel.spec
@@ -1,6 +1,6 @@
%global antlr_version 3.5.2
-Name: antlr3-C++-devel
+Name: scylla-antlr3-C++-devel
Version: %{antlr_version}
Release: 1%{?dist}
Summary: C++ runtime support for ANTLR-generated parsers
@@ -8,6 +8,8 @@ Summary: C++ runtime support for ANTLR-generated parsers
License: BSD
URL: http://www.antlr3.org/
Source0: https://github.com/antlr/antlr3/archive/%{antlr_version}.tar.gz
+Requires: scylla-env
+%define _prefix /opt/scylladb
%description
C++ runtime support for ANTLR-generated parsers.
diff --git a/dist/redhat/centos_dep/antlr3-tool.spec b/dist/redhat/centos_dep/scylla-antlr3-tool.spec
similarity index 92%
rename from dist/redhat/centos_dep/antlr3-tool.spec
rename to dist/redhat/centos_dep/scylla-antlr3-tool.spec
index 6ec4307b42..7c1ee05d4b 100644
--- a/dist/redhat/centos_dep/antlr3-tool.spec
+++ b/dist/redhat/centos_dep/scylla-antlr3-tool.spec
@@ -1,6 +1,6 @@
%global antlr_version 3.5.2
-Name: antlr3-tool
+Name: scylla-antlr3-tool
Version: %{antlr_version}
Release: 1%{?dist}
Summary: ANother Tool for Language Recognition
@@ -11,6 +11,8 @@ Source0: %{name}-%{version}.tar.xz
BuildArch: noarch
Requires: java-1.7.0-openjdk
+Requires: scylla-env
+%define _prefix /opt/scylladb
%description
ANother Tool for Language Recognition, is a language tool
diff --git a/dist/redhat/centos_dep/scylla-env-1.0/ld.so.conf.d/scylla.x86_64.conf b/dist/redhat/centos_dep/scylla-env-1.0/ld.so.conf.d/scylla.x86_64.conf
new file mode 100644
index 0000000000..4add5ec642
--- /dev/null
+++ b/dist/redhat/centos_dep/scylla-env-1.0/ld.so.conf.d/scylla.x86_64.conf
@@ -0,0 +1 @@
+/opt/scylladb/lib64
diff --git a/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.csh b/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.csh
new file mode 100644
index 0000000000..a4aa717bbf
--- /dev/null
+++ b/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.csh
@@ -0,0 +1,2 @@
+set path = ($PATH /opt/scylladb/bin /opt/scylladb/sbin)
+
diff --git a/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.sh b/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.sh
new file mode 100644
index 0000000000..7b5870e353
--- /dev/null
+++ b/dist/redhat/centos_dep/scylla-env-1.0/profile.d/scylla.sh
@@ -0,0 +1 @@
+export PATH=$PATH:/opt/scylladb/bin:/opt/scylladb/sbin
diff --git a/dist/redhat/centos_dep/scylla-env.spec b/dist/redhat/centos_dep/scylla-env.spec
new file mode 100644
index 0000000000..3c11e4163b
--- /dev/null
+++ b/dist/redhat/centos_dep/scylla-env.spec
@@ -0,0 +1,40 @@
+Name: scylla-env
+Version: 1.0
+Release: 1%{?dist}
+Summary: Scylla is a highly scalable, eventually consistent, distributed, partitioned row DB.
+
+Group: Applications/Databases
+License: AGPLv3
+URL: http://www.scylladb.com/
+Source0: scylla-env-1.0.tar
+BuildArch: noarch
+
+%description
+
+
+%prep
+%setup -q
+
+
+%build
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
+install -m 644 profile.d/* $RPM_BUILD_ROOT%{_sysconfdir}/profile.d
+install -m 644 ld.so.conf.d/* $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
+
+%post
+%{_sbindir}/ldconfig
+
+%files
+%doc
+%{_sysconfdir}/profile.d/scylla.sh
+%{_sysconfdir}/profile.d/scylla.csh
+%{_sysconfdir}/ld.so.conf.d/scylla.x86_64.conf
+
+
+%changelog
+
diff --git a/dist/redhat/scylla-server.spec.in b/dist/redhat/scylla-server.spec.in
index 9f300ae257..9a0151cd43 100644
--- a/dist/redhat/scylla-server.spec.in
+++ b/dist/redhat/scylla-server.spec.in
@@ -8,9 +8,9 @@ License: AGPLv3
URL: http://www.scylladb.com/
Source0: %{name}-@@VERSION@@-@@RELEASE@@.tar
-BuildRequires: libaio-devel boost-devel libstdc++-devel cryptopp-devel hwloc-devel numactl-devel libpciaccess-devel libxml2-devel zlib-devel thrift-devel yaml-cpp-devel lz4-devel snappy-devel jsoncpp-devel systemd-devel xz-devel openssl-devel libcap-devel libselinux-devel libgcrypt-devel libgpg-error-devel elfutils-devel krb5-devel libcom_err-devel libattr-devel pcre-devel elfutils-libelf-devel bzip2-devel keyutils-libs-devel ninja-build ragel antlr3-tool antlr3-C++-devel xfsprogs-devel make
-%{?fedora:BuildRequires: python3 gcc-c++ libasan libubsan}
-%{?rhel:BuildRequires: python34 gcc-c++ >= 5.1.1}
+BuildRequires: libaio-devel boost-devel libstdc++-devel cryptopp-devel hwloc-devel numactl-devel libpciaccess-devel libxml2-devel zlib-devel thrift-devel yaml-cpp-devel lz4-devel snappy-devel jsoncpp-devel systemd-devel xz-devel openssl-devel libcap-devel libselinux-devel libgcrypt-devel libgpg-error-devel elfutils-devel krb5-devel libcom_err-devel libattr-devel pcre-devel elfutils-libelf-devel bzip2-devel keyutils-libs-devel xfsprogs-devel make
+%{?fedora:BuildRequires: ninja-build ragel antlr3-tool antlr3-C++-devel python3 gcc-c++ libasan libubsan}
+%{?rhel:BuildRequires: scylla-ninja-build scylla-ragel scylla-antlr3-tool scylla-antlr3-C++-devel python34 scylla-gcc-c++ >= 5.1.1}
Requires: systemd-libs xfsprogs
%description
@@ -23,7 +23,7 @@ Requires: systemd-libs xfsprogs
./configure.py --with scylla --disable-xen --enable-dpdk --mode=release
%endif
%if 0%{?rhel}
-./configure.py --with scylla --disable-xen --enable-dpdk --mode=release --static-stdc++
+./configure.py --with scylla --disable-xen --enable-dpdk --mode=release --static-stdc++ --compiler=/opt/scylladb/bin/g++
%endif
ninja-build -j2