diff --git a/cmssw-patch-tool-conf.spec b/cmssw-patch-tool-conf.spec
index b9f8de03083..dccd6a77801 100644
--- a/cmssw-patch-tool-conf.spec
+++ b/cmssw-patch-tool-conf.spec
@@ -10,4 +10,4 @@ Requires: cmssw-toolfile
# still need this (from the non-patch tool-conf spec ...
%define skipreqtools jcompiler
-## IMPORT scramv1-tool-conf
+## INCLUDE scramv1-tool-conf
diff --git a/cmssw-tool-conf.spec b/cmssw-tool-conf.spec
index ae77bd0e288..7a947e6242d 100644
--- a/cmssw-tool-conf.spec
+++ b/cmssw-tool-conf.spec
@@ -1,194 +1,195 @@
-### RPM cms cmssw-tool-conf 46.0
+### RPM cms cmssw-tool-conf 50.0
# With cmsBuild, change the above version only when a new tool is added
## NOCOMPILER
## INSTALL_DEPENDENCIES cmsLHEtoEOSManager gcc-fixincludes cmssw-osenv cms-git-tools
## UPLOAD_DEPENDENCIES dqmgui
+BuildRequires: scram-tools
Requires: crab
Requires: cmssw-wm-tools
-Requires: google-benchmark-toolfile
-Requires: catch2-toolfile
-Requires: starlight-toolfile
-Requires: alpgen-toolfile
-Requires: boost-toolfile
-Requires: bz2lib-toolfile
-Requires: charybdis-toolfile
-Requires: classlib-toolfile
-Requires: clhep-toolfile
-Requires: coral-toolfile
-Requires: cppunit-toolfile
-Requires: curl-toolfile
-Requires: das_client-toolfile
-Requires: db6-toolfile
-Requires: davix-toolfile
-Requires: evtgen-toolfile
-Requires: expat-toolfile
+Requires: google-benchmark
+Requires: catch2
+Requires: starlight
+Requires: alpgen
+Requires: boost
+Requires: bz2lib
+Requires: charybdis
+Requires: classlib
+Requires: clhep
+Requires: coral
+Requires: cppunit
+Requires: curl
+Requires: das_client
+Requires: db6
+Requires: davix
+Requires: evtgen
+Requires: expat
Requires: fakesystem
-Requires: fastjet-toolfile
-Requires: flatbuffers-toolfile
-Requires: fmt-toolfile
-Requires: gbl-toolfile
-Requires: gcc-toolfile
-Requires: gdbm-toolfile
-Requires: geant4-toolfile
-Requires: geant4data-toolfile
-Requires: vecgeom-toolfile
-Requires: glimpse-toolfile
-Requires: gmake-toolfile
-Requires: gsl-toolfile
-Requires: highfive-toolfile
-Requires: hector-toolfile
-Requires: hepmc-toolfile
-Requires: heppdt-toolfile
-Requires: herwig-toolfile
-Requires: herwig7-toolfile
-Requires: hydjet-toolfile
-Requires: ittnotify-toolfile
-Requires: jemalloc-toolfile
-Requires: jemalloc-debug-toolfile
-Requires: jimmy-toolfile
-Requires: json-toolfile
-Requires: ktjet-toolfile
-Requires: lhapdf-toolfile
-Requires: libjpeg-turbo-toolfile
-Requires: libpng-toolfile
-Requires: libtiff-toolfile
-Requires: libungif-toolfile
-Requires: libxml2-toolfile
-Requires: lwtnn-toolfile
-Requires: meschach-toolfile
-Requires: pcre-toolfile
-Requires: photos-toolfile
-Requires: photospp-toolfile
-Requires: pyquen-toolfile
-Requires: pythia6-toolfile
-Requires: pythia8-toolfile
-Requires: python-toolfile
-Requires: python3-toolfile
-Requires: root-toolfile
-Requires: sherpa-toolfile
-Requires: libpciaccess-toolfile
-Requires: numactl-toolfile
-Requires: hwloc-toolfile
+Requires: fastjet
+Requires: flatbuffers
+Requires: fmt
+Requires: gbl
+Requires: gcc
+Requires: gdbm
+Requires: geant4
+Requires: geant4data
+Requires: vecgeom
+Requires: glimpse
+Requires: gmake
+Requires: gsl
+Requires: highfive
+Requires: hector
+Requires: hepmc
+Requires: heppdt
+Requires: herwig
+Requires: herwig7
+Requires: hydjet
+Requires: ittnotify
+Requires: jemalloc
+Requires: jemalloc-debug
+Requires: jimmy
+Requires: json
+Requires: ktjet
+Requires: lhapdf
+Requires: libjpeg-turbo
+Requires: libpng
+Requires: libtiff
+Requires: libungif
+Requires: libxml2
+Requires: lwtnn
+Requires: meschach
+Requires: pcre
+Requires: photos
+Requires: photospp
+Requires: pyquen
+Requires: pythia6
+Requires: pythia8
+Requires: python
+Requires: python3
+Requires: root
+Requires: sherpa
+Requires: libpciaccess
+Requires: numactl
+Requires: hwloc
%ifnarch aarch64
-Requires: gdrcopy-toolfile
+Requires: gdrcopy
%endif
-Requires: ucx-toolfile
-Requires: openmpi-toolfile
-Requires: sigcpp-toolfile
-Requires: sqlite-toolfile
+Requires: ucx
+Requires: openmpi
+Requires: sigcpp
+Requires: sqlite
Requires: systemtools
-Requires: tauola-toolfile
-Requires: tauolapp-toolfile
-Requires: thepeg-toolfile
-Requires: toprex-toolfile
-Requires: libuuid-toolfile
-Requires: xerces-c-toolfile
-Requires: zlib-toolfile
-Requires: dcap-toolfile
-Requires: frontier_client-toolfile
-Requires: xrootd-toolfile
-Requires: dd4hep-toolfile
-Requires: graphviz-toolfile
-Requires: valgrind-toolfile
-Requires: cmsswdata-toolfile
-Requires: zstd-toolfile
-Requires: hls-toolfile
-Requires: opencv-toolfile
-Requires: grpc-toolfile
-Requires: onnxruntime-toolfile
-Requires: triton-inference-server-toolfile
-Requires: hdf5-toolfile
-Requires: rivet-toolfile
-Requires: cascade-toolfile
-Requires: yoda-toolfile
-Requires: fftw3-toolfile
-Requires: fftjet-toolfile
-Requires: professor2-toolfile
-Requires: xz-toolfile
-Requires: lz4-toolfile
-Requires: protobuf-toolfile
-Requires: lcov-toolfile
-Requires: llvm-gcc-toolfile
-Requires: tbb-toolfile
-Requires: mctester-toolfile
-Requires: vdt-toolfile
-Requires: icc-gcc-toolfile
-Requires: gnuplot-toolfile
-Requires: sloccount-toolfile
-Requires: millepede-toolfile
-Requires: pacparser-toolfile
-Requires: git-toolfile
-Requires: cgal-toolfile
-Requires: doxygen-toolfile
-Requires: yaml-cpp-toolfile
-Requires: gmp-static-toolfile
-Requires: mpfr-static-toolfile
-Requires: fastjet-contrib-toolfile
-Requires: opencl-toolfile
-Requires: opencl-cpp-toolfile
-Requires: qd-toolfile
-Requires: blackhat-toolfile
-Requires: sherpa-toolfile
-Requires: geant4-parfullcms-toolfile
+Requires: tauola
+Requires: tauolapp
+Requires: thepeg
+Requires: toprex
+Requires: libuuid
+Requires: xerces-c
+Requires: zlib
+Requires: dcap
+Requires: frontier_client
+Requires: xrootd
+Requires: dd4hep
+Requires: graphviz
+Requires: valgrind
+Requires: cmsswdata
+Requires: zstd
+Requires: hls
+Requires: opencv
+Requires: grpc
+Requires: onnxruntime
+Requires: triton-inference-server
+Requires: hdf5
+Requires: rivet
+Requires: cascade
+Requires: yoda
+Requires: fftw3
+Requires: fftjet
+Requires: professor2
+Requires: xz
+Requires: lz4
+Requires: protobuf
+Requires: lcov
+Requires: llvm
+Requires: tbb
+Requires: mctester
+Requires: vdt
+Requires: icc
+Requires: gnuplot
+Requires: sloccount
+Requires: millepede
+Requires: pacparser
+Requires: git
+Requires: cgal
+Requires: doxygen
+Requires: yaml-cpp
+Requires: gmp-static
+Requires: mpfr-static
+Requires: fastjet-contrib
+Requires: opencl
+Requires: opencl-cpp
+Requires: qd
+Requires: blackhat
+Requires: sherpa
+Requires: geant4-parfullcms
Requires: fasthadd
-Requires: eigen-toolfile
-Requires: gdb-toolfile
-Requires: libxslt-toolfile
-Requires: giflib-toolfile
-Requires: freetype-toolfile
-Requires: utm-toolfile
-Requires: libffi-toolfile
-Requires: CSCTrackFinderEmulation-toolfile
-Requires: tinyxml2-toolfile
-Requires: md5-toolfile
-Requires: gosamcontrib-toolfile
-Requires: gosam-toolfile
-Requires: madgraph5amcatnlo-toolfile
+Requires: eigen
+Requires: gdb
+Requires: libxslt
+Requires: giflib
+Requires: freetype
+Requires: utm
+Requires: libffi
+Requires: CSCTrackFinderEmulation
+Requires: tinyxml2
+Requires: md5
+Requires: gosamcontrib
+Requires: gosam
+Requires: madgraph5amcatnlo
Requires: python_tools
Requires: dasgoclient
-Requires: OpenBLAS-toolfile
-Requires: mxnet-predict-toolfile
-Requires: mkfit-toolfile
-Requires: dablooms-toolfile
+Requires: OpenBLAS
+Requires: mxnet-predict
+Requires: mkfit
+Requires: dablooms
# Only for Linux platform.
%ifos linux
-Requires: openldap-toolfile
-Requires: gperftools-toolfile
-Requires: cuda-toolfile
-Requires: alpaka-toolfile
-Requires: cupla-toolfile
+Requires: openldap
+Requires: gperftools
+Requires: cuda
+Requires: alpaka
+Requires: cupla
%if "%{cmsos}" != "slc7_aarch64"
-Requires: cudnn-toolfile
+Requires: cudnn
%endif
-Requires: libunwind-toolfile
+Requires: libunwind
%ifnarch ppc64le
-Requires: igprof-toolfile
-Requires: openloops-toolfile
+Requires: igprof
+Requires: openloops
%endif
%ifarch x86_64
-Requires: dmtcp-toolfile
-Requires: tkonlinesw-toolfile
-Requires: oracle-toolfile
+Requires: dmtcp
+Requires: tkonlinesw
+Requires: oracle
Requires: intel-vtune
Requires: cmsmon-tools
-Requires: dip-toolfile
+Requires: dip
%else
-Requires: tkonlinesw-fake-toolfile
-Requires: oracle-fake-toolfile
+Requires: tkonlinesw-fake
+Requires: oracle-fake
%endif
%endif
-Requires: tensorflow-toolfile
-Requires: xtensor-toolfile
-Requires: xtl-toolfile
-Requires: xgboost-toolfile
+Requires: tensorflow
+Requires: xtensor
+Requires: xtl
+Requires: xgboost
%define skipreqtools jcompiler icc-cxxcompiler icc-ccompiler icc-f77compiler rivet2 opencl opencl-cpp nvidia-drivers intel-vtune jemalloc-debug
-## IMPORT scramv1-tool-conf
+## INCLUDE scramv1-tool-conf
diff --git a/cmsswdata.spec b/cmsswdata.spec
index 15bff051bb2..80ee1a13056 100644
--- a/cmsswdata.spec
+++ b/cmsswdata.spec
@@ -90,9 +90,35 @@ Requires: data-GeneratorInterface-ReggeGribovPartonMCInterface
%install
+mkdir -p %i/etc/scram.d
+cat << \EOF_TOOLFILE >%i/etc/scram.d/cmsswdata.xml
+
+
+
+
+EOF_TOOLFILE
+
+cat << \EOF_TOOLFILE > %i/searchpath.xml
+
+
+EOF_TOOLFILE
+
+for toolbase in `echo %pkgreqs | tr ' ' '\n' | grep 'cms/data-'` ; do
+ toolver=`basename $toolbase`
+ pack=`echo $toolbase | cut -d/ -f2 | sed 's|data-||;s|-|/|'`
+ echo " " >> %i/etc/scram.d/cmsswdata.xml
+ echo " " >> %i/searchpath.xml
+done
+
+cat %i/searchpath.xml >> %i/etc/scram.d/cmsswdata.xml
+echo " " >> %i/etc/scram.d/cmsswdata.xml
+rm -f %i/searchpath.xml
+
%post
echo "%{BaseTool}_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
echo "set %{BaseTool}_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh
+echo "%{BaseTool}_PKGREQUIRED='%pkgreqs'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
+echo "set %{BaseTool}_PKGREQUIRED='%pkgreqs'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh
for DATA_PATH in %directpkgreqs; do
PKG_DIR=$(echo $DATA_PATH | cut -d/ -f2)
@@ -113,4 +139,5 @@ for DATA_PATH in %directpkgreqs; do
if [ ! -L $SOURCE/$PKG_DATA ] ; then
rm -rf $SOURCE/$PKG_DATA && ln -fs ../../../../share/$DATA_PATH/$PKG_DATA $SOURCE/$PKG_DATA
fi
-done
\ No newline at end of file
+done
+
diff --git a/coral-tool-conf.spec b/coral-tool-conf.spec
index 3aac1c35c68..e8d67a7b378 100644
--- a/coral-tool-conf.spec
+++ b/coral-tool-conf.spec
@@ -1,24 +1,24 @@
-### RPM cms coral-tool-conf 2.1
+### RPM cms coral-tool-conf 10.0
## NOCOMPILER
-Requires: pcre-toolfile
-Requires: python3-toolfile
-Requires: expat-toolfile
-Requires: boost-toolfile
-Requires: frontier_client-toolfile
-Requires: gcc-toolfile
-
-Requires: sqlite-toolfile
-Requires: libuuid-toolfile
-Requires: zlib-toolfile
-Requires: bz2lib-toolfile
-Requires: cppunit-toolfile
-Requires: xerces-c-toolfile
+BuildRequires: scram-tools
+Requires: pcre
+Requires: python
+Requires: expat
+Requires: boost
+Requires: frontier_client
+Requires: gcc
+Requires: sqlite
+Requires: libuuid
+Requires: zlib
+Requires: bz2lib
+Requires: cppunit
+Requires: xerces-c
Requires: systemtools
%ifarch x86_64
-Requires: oracle-toolfile
+Requires: oracle
%endif
%define skipreqtools jcompiler
-## IMPORT scramv1-tool-conf
+## INCLUDE scramv1-tool-conf
diff --git a/fwlite-tool-conf.spec b/fwlite-tool-conf.spec
index 14c579b6435..e29603e4e50 100644
--- a/fwlite-tool-conf.spec
+++ b/fwlite-tool-conf.spec
@@ -1,59 +1,60 @@
-### RPM cms fwlite-tool-conf 11.0
+### RPM cms fwlite-tool-conf 20.0
## NOCOMPILER
# with cmsBuild, change the above version only when a new
# tool is added
## INITENV SET CMSSW_TOOL_CONF_ROOT $FWLITE_TOOL_CONF_ROOT
-Requires: eigen-toolfile
-Requires: fmt-toolfile
-Requires: tbb-toolfile
-Requires: boost-toolfile
-Requires: bz2lib-toolfile
-Requires: clhep-toolfile
-Requires: db6-toolfile
-Requires: dcap-toolfile
-Requires: expat-toolfile
+BuildRequires: scram-tools
+Requires: eigen
+Requires: fmt
+Requires: tbb
+Requires: boost
+Requires: bz2lib
+Requires: clhep
+Requires: db6
+Requires: dcap
+Requires: expat
Requires: fakesystem
-Requires: fftw3-toolfile
-Requires: fwlitedata-toolfile
-Requires: gcc-toolfile
-Requires: gdbm-toolfile
-Requires: gmake-toolfile
-Requires: gsl-toolfile
-Requires: hepmc-toolfile
-Requires: libjpeg-turbo-toolfile
-Requires: libpng-toolfile
-Requires: libtiff-toolfile
-Requires: libungif-toolfile
-Requires: pcre-toolfile
-Requires: python-toolfile
-Requires: python3-toolfile
-Requires: root-toolfile
-Requires: sigcpp-toolfile
-Requires: sqlite-toolfile
+Requires: fftw3
+Requires: fwlitedata
+Requires: gcc
+Requires: gdbm
+Requires: gmake
+Requires: gsl
+Requires: hepmc
+Requires: libjpeg-turbo
+Requires: libpng
+Requires: libtiff
+Requires: libungif
+Requires: pcre
+Requires: python
+Requires: python3
+Requires: root
+Requires: sigcpp
+Requires: sqlite
Requires: systemtools
-Requires: libuuid-toolfile
-Requires: xerces-c-toolfile
-Requires: xrootd-toolfile
-Requires: xz-toolfile
-Requires: zlib-toolfile
-Requires: libxml2-toolfile
-Requires: llvm-gcc-toolfile
-Requires: vdt-toolfile
-Requires: tinyxml2-toolfile
-Requires: md5-toolfile
-Requires: davix-toolfile
-Requires: py3-numpy-toolfile
-Requires: OpenBLAS-toolfile
-Requires: py3-pybind11-toolfile
+Requires: libuuid
+Requires: xerces-c
+Requires: xrootd
+Requires: xz
+Requires: zlib
+Requires: libxml2
+Requires: llvm
+Requires: vdt
+Requires: tinyxml2
+Requires: md5
+Requires: davix
+Requires: py3-numpy
+Requires: OpenBLAS
+Requires: py3-pybind11
Requires: fwlite_python_tools
-Requires: zstd-toolfile
+Requires: zstd
# Only for Darwin platform.
%ifarch darwin
-Requires: freetype-toolfile
+Requires: freetype
%endif
%define skipreqtools jcompiler db6 expat fftw3 sqlite
-## IMPORT scramv1-tool-conf
+## INCLUDE scramv1-tool-conf
diff --git a/geant4data.spec b/geant4data.spec
index f5e179abed9..74c5d0c680e 100644
--- a/geant4data.spec
+++ b/geant4data.spec
@@ -15,9 +15,31 @@ Requires: geant4-G4INCL
%prep
%build
%install
+
+mkdir -p %i/etc/scram.d
+cat << \EOF_TOOLFILE >%i/etc/scram.d/geant4data.xml
+
+
+
+
+EOF_TOOLFILE
+
+for tool in `echo %requiredtools | tr ' ' '\n' | grep 'geant4-'` ; do
+ uctool=`echo $tool | tr '-' '_' | tr '[a-z]' '[A-Z]'`
+ toolbase=`eval echo \\$${uctool}_ROOT`
+ toolenv=`eval echo \\$${uctool}_RUNTIME`
+ echo "$uctool = $toolbase, $toolenv"
+ if [ "X$toolbase" = X -o "X$toolenv" = X -o ! -d $toolbase/data ] ; then continue ; fi
+ tooldata=`ls -d $toolbase/data/* | tail -1`
+ if [ "X$tooldata" = X ] ; then continue ; fi
+ echo " " >> %i/etc/scram.d/geant4data.xml
+done
+echo "" >> %i/etc/scram.d/geant4data.xml
+
%post
if [ "X$CMS_INSTALL_PREFIX" = "X" ] ; then CMS_INSTALL_PREFIX=$RPM_INSTALL_PREFIX; export CMS_INSTALL_PREFIX; fi
echo "GEANT4DATA_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
echo "set GEANT4DATA_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh
echo "GEANT4DATA_VERSION='%v'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh
echo "set GEANT4DATA_VERSION='%v'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh
+
diff --git a/python_tools.spec b/python_tools.spec
index 5fc0bf3a27e..f8f68c71d5e 100644
--- a/python_tools.spec
+++ b/python_tools.spec
@@ -123,10 +123,10 @@ Requires: py3-python-ldap
Requires: py3-plac
Requires: py3-matplotlib
-Requires: py3-numpy-toolfile
+Requires: py3-numpy
Requires: py3-sqlalchemy
Requires: py3-pygithub
-Requires: py3-dxr-toolfile
+Requires: py3-dxr
Requires: py3-PyYAML
Requires: py3-pylint
Requires: py3-pip
@@ -134,7 +134,7 @@ Requires: py3-pip
Requires: py3-cx-Oracle
%endif
Requires: py3-cython
-Requires: py3-pybind11-toolfile
+Requires: py3-pybind11
Requires: py3-histbook
Requires: py3-flake8
Requires: py3-autopep8
@@ -217,9 +217,4 @@ Requires: py3-correctionlib
%build
%install
-mkdir -p %{i}/etc/scram.d
-cat << \EOF_TOOLFILE >%i/etc/scram.d/python_tools.xml
-
-
-EOF_TOOLFILE
diff --git a/scram-tools.spec b/scram-tools.spec
new file mode 100644
index 00000000000..e1c117f2afc
--- /dev/null
+++ b/scram-tools.spec
@@ -0,0 +1,17 @@
+### RPM cms scram-tools 1.0
+## NOCOMPILER
+
+%define branch main
+%define tag c29ad2e62574733b9bb9bf7d5b995b9a4df2dbe8
+%define github_user cms-sw
+%define github_repo %{n}
+
+Source: git+https://github.com/%{github_user}/%{github_repo}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz
+
+%prep
+%setup -n %{n}-%{realversion}
+
+%build
+
+%install
+cp -r %{_builddir}/%{n}-%{realversion} %{i}/%{n}
diff --git a/scramv1-tool-conf.file b/scramv1-tool-conf.file
index a8bf551476a..b2fea382231 100644
--- a/scramv1-tool-conf.file
+++ b/scramv1-tool-conf.file
@@ -1,24 +1,20 @@
### FILE scramv1-tool-conf
## NOCOMPILER
## BUILDREQUIRE-TOOLFILE
-Requires: gmake-toolfile
+Requires: gmake
BuildRequires: SCRAMV1
+## INCLUDE compilation_flags
Source: none
%define online %(case %cmsplatf in (*onl_*_*) echo true;; (*) echo false;; esac)
%define CheckScramTools \
uctool=`echo $tool | tr '[a-z-]' '[A-Z_]'` \
toolbase=`eval echo \\\\$${uctool}_ROOT` \
- [ -d $toolbase/etc/scram.d ] || continue
+ [ -d ${SCRAM_TOOLS_ROOT}/scram-tools/tools/$tool ] || continue
%define CopyScramTools \
echo ">> Copying tool files from: $tool" \
- for xml in $(find $toolbase/etc/scram.d -type f) ; do \
- bxml=$(basename $xml | tr '[A-Z]' '[a-z]') \
- [ -f %i/tools/selected/$bxml ] && continue \
- [ -f %i/tools/available/$bxml ] && continue \
- cp $xml %i/tools/selected/${bxml} \
- echo " Copied $bxml" \
- done
+ T_VERSION=`eval echo \\\\$${uctool}_VERSION` \
+ ${SCRAM_TOOLS_ROOT}/scram-tools/bin/get_tools "$toolbase" "$T_VERSION" %i "${tool}"
%prep
%build
@@ -42,6 +38,24 @@ mkdir -p %i/tools/selected %i/tools/available
%define skipreqtools %{nil}
%endif
+%if "%{?package_vectorization}" != ""
+export PKG_VECTORIZATION=`echo %package_vectorization`
+%endif
+export CMSDIST_DIR=%cmsdist_directory
+
+COMP_ARCH_SPECIFIC_FLAGS=""
+%ifarch x86_64
+COMP_ARCH_SPECIFIC_FLAGS=$(%{cmsdist_directory}/vectorization/cmsdist_packages.py)
+%endif
+%ifarch aarch64
+COMP_ARCH_SPECIFIC_FLAGS="-fsigned-char -fsigned-bitfields"
+%endif
+%ifarch ppc64le
+COMP_ARCH_SPECIFIC_FLAGS="-fsigned-char -fsigned-bitfields %ppc64le_build_flags"
+%endif
+export COMP_ARCH_SPECIFIC_FLAGS
+export ORACLE_ENV_ROOT
+
DoneTools=" "
SkipTools=
for tool in %requiredtools; do
@@ -69,23 +83,11 @@ for tool in $SkipTools ; do
%{CopyScramTools}
done
-# Fixes logic in above loop in case of online release:
-# the descriptions of explicitly defined systemtools should
-# take precedence over those from cms-rebuilt rpms
-%if "%online" == "true"
-for tool in %systemtools ${PKGTOOLS_SYSTEM_TOOLS} ; do
- lc_tool=$(echo $tool | tr '[A-Z]' '[a-z]')
- rm -f %i/tools/selected/${lc_tool} %i/tools/selected/${lc_tool}.xml
- cp -rf %{onlinesystemtoolsroot}/etc/scram.d/${tool}.xml %i/tools/selected/${lc_tool}.xml
-done
-# For now copy all systemtools files. If needed, this can be done more selectively.
-%endif
-
for stool in $(echo %skipreqtools | tr '[A-Z]' '[a-z]') ; do
[ -f %i/tools/selected/${stool}.xml ] || continue
mv %i/tools/selected/${stool}.xml %i/tools/available
done
-
+
if [ -e $SCRAMV1_ROOT/bin/chktool ] ; then
find %i/tools -name '*.xml' -type f | (xargs $SCRAMV1_ROOT/bin/chktool > %i/errors.log 2>&1 || true)
ToolErrors=`cat %i/errors.log | wc -l | awk '{print $1}'`
@@ -141,6 +143,7 @@ for pkg in $(echo %{allpkgreqs} | tr ' ' '\n' | grep -v '\-toolfile/' | grep '/
echo "" >> %{i}/tools/selected/${pk_name}.xml
done
DUP_BIN=$(echo "${ALL_PY_BIN}" | tr ' ' '\n' | sort | uniq -c | sed 's|^\s*||' | grep -v '^1 ' | sed 's|^.* ||')
+
set +x
if [ "${DUP_BIN}" != "" ] ; then
for p in ${DUP_BIN} ; do
@@ -150,7 +153,26 @@ if [ "${DUP_BIN}" != "" ] ; then
exit 1
fi
set -x
+
+#vectorized packages
+%if "%{?vectorized_packages}" != ""
+for vect_package in %vectorized_packages; do
+ echo $vect_package
+ package_uc=$(echo $vect_package | tr '[a-z-]' '[A-Z_]')
+ r=""
+ #echo $package_uc
+ for v in $(echo %{package_vectorization} | tr '[a-z-]' '[A-Z_]'); do
+ r=$r" \n"
+ #echo $v
+ done
+ r=$r''
+ perl -p -i -e "s||${r}|g" %i/tools/selected/$(echo $vect_package | tr '[A-Z]' '[a-z]').xml
+done
+%endif
+
%post
+
%{relocateCmsFiles} $(find $RPM_INSTALL_PREFIX/%{pkgrel}/tools -type f)
%{relocateCmsFiles} $(find $RPM_INSTALL_PREFIX/%{pkgrel}/lib -type f)
-
diff --git a/systemtools.spec b/systemtools.spec
index a213d6ddcb8..d43d22aac1f 100644
--- a/systemtools.spec
+++ b/systemtools.spec
@@ -2,7 +2,6 @@
## NOCOMPILER
Source: none
-
%if "%{?use_system_gcc:set}" == "set"
%define compilertools ccompiler cxxcompiler f77compiler
%else
@@ -22,82 +21,4 @@ Source: none
%prep
%build
%install
-# SCRAM ToolBox toolfile
-mkdir -p %i/etc/scram.d
-#OpenSSL
-cat << \EOF_TOOLFILE >%i/etc/scram.d/openssl.xml
-
-
-
-
-EOF_TOOLFILE
-
-# Sockets
-cat << \EOF_TOOLFILE >%i/etc/scram.d/sockets.xml
-
-EOF_TOOLFILE
-%ifos linux
-cat << \EOF_TOOLFILE >>%i/etc/scram.d/sockets.xml
-
-
-
-
-EOF_TOOLFILE
-%endif
-%ifarch darwin
-cat << \EOF_TOOLFILE >>%i/etc/scram.d/sockets.xml
-
-EOF_TOOLFILE
-%endif
-echo " " >>%i/etc/scram.d/sockets.xml
-
-# OpenGL
-cat << \EOF_TOOLFILE >%i/etc/scram.d/opengl.xml
-
-
-
-
-
-EOF_TOOLFILE
-%ifarch darwin
-cat << \EOF_TOOLFILE >>%i/etc/scram.d/opengl.xml
-
-
-
-
-
-EOF_TOOLFILE
-%endif
-echo " " >>%i/etc/scram.d/opengl.xml
-
-# X11
-cat << \EOF_TOOLFILE >%i/etc/scram.d/x11.xml
-
-EOF_TOOLFILE
-%ifarch darwin
-cat << \EOF_TOOLFILE >>%i/etc/scram.d/x11.xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-EOF_TOOLFILE
-%endif
-cat << \EOF_TOOLFILE >>%i/etc/scram.d/x11.xml
-
-
-EOF_TOOLFILE
-
-export ORACLE_ENV_ROOT
-perl -p -i -e 's|\@([^@]*)\@|$ENV{$1}|g' %i/etc/scram.d/*.xml
-%post
-%{relocateConfig}etc/scram.d/*.xml