-
Notifications
You must be signed in to change notification settings - Fork 184
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'IB/CMSSW_13_0_X/g11_rootmaster' into root-update-master…
…-20221122
- Loading branch information
Showing
7 changed files
with
163 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
### RPM lcg SCRAMV2 V2_2_9_pre16 | ||
## NOCOMPILER | ||
## NO_VERSION_SUFFIX | ||
|
||
BuildRequires: gmake | ||
|
||
Provides: perl(BuildSystem::Template::Plugins::PluginCore) | ||
Provides: perl(BuildSystem::TemplateStash) | ||
Provides: perl(Cache::CacheUtilities) | ||
Provides: perl(BuildSystem::ToolManager) | ||
|
||
%define tag da6e6eb53b7f982049a165588c2015262b6f8146 | ||
%define branch SCRAMV2 | ||
%define github_user cms-sw | ||
Source: git+https://github.com/%{github_user}/SCRAM.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz | ||
|
||
%define scramv1_dir %{pkgcategory}/SCRAMV1/%{v} | ||
%define SCRAM_ALL_VERSIONS V[0-9][0-9]*_[0-9][0-9]*_[0-9][0-9]* | ||
%define SCRAM_REL_MINOR %(echo %realversion | grep '%{SCRAM_ALL_VERSIONS}' | sed 's|^\\(V[0-9][0-9]*_[0-9][0-9]*\\)_.*|\\1|') | ||
%define SCRAM_REL_MAJOR %(echo %realversion | sed 's|^\\(V[0-9][0-9]*\\)_.*|\\1|') | ||
%define SetLatestVersion \ | ||
vers="" \ | ||
for ver in `find %{pkgcategory}/SCRAMV1 -maxdepth 2 -mindepth 2 -name "bin" -type d | sed 's|/bin$||' | xargs -I '{}' basename '{}' | grep "$VERSION_REGEXP" `; do \ | ||
ver_str=`echo $ver | sed 's|-.\\+$||' | tr '_' '\\n' | sed 's|V\\([0-9]\\)$|V0\\1|;s|^\\([0-9]\\)$|0\\1|' | tr '\\n' '_'` \ | ||
vers="${ver_str}zzz:${ver} ${vers}" \ | ||
done \ | ||
echo $vers | tr ' ' '\\n' | grep -v '^$' | sort | tail -1 | sed 's|.*:||' > etc/$VERSION_FILE \ | ||
[ -s etc/$VERSION_FILE ] || rm -f etc/$VERSION_FILE | ||
|
||
%define BackwardCompatibilityVersionPolicy \ | ||
touch etc/default-scram/%{SCRAM_REL_MINOR} \ | ||
for ver in `find etc/default-scram -maxdepth 1 -mindepth 1 -name "%{SCRAM_REL_MAJOR}_[0-9]*" -type f | xargs -I '{}' basename '{}' | grep 'V[0-9][0-9]*_[0-9][0-9]*$' `; do \ | ||
case $ver in \ | ||
V2_[01] ) ;;\ | ||
* ) \ | ||
if [ -f etc/default-scram/%{SCRAM_REL_MAJOR} ] ; then \ | ||
cp etc/default-scram/%{SCRAM_REL_MAJOR} etc/default-scram/$ver \ | ||
else\ | ||
rm -f etc/default-scram/$ver \ | ||
fi;;\ | ||
esac \ | ||
done | ||
|
||
%prep | ||
#SCRAM version policy check | ||
if [ "X%{SCRAM_REL_MINOR}" == "X" ] ; then | ||
echo "You are trying to build SCRAM version %v which does not follow the SCRAM version policy. Valid SCRAM versions should be of the form V[0-9]+_[0-9]+_[0-9].*" | ||
exit 1 | ||
fi | ||
|
||
%setup -n %{n}-%{realversion} | ||
%build | ||
gmake %{makeprocesses} all INSTALL_BASE=%{instroot} VERSION=%{realversion} PREFIX=%{i} | ||
|
||
%install | ||
gmake %{makeprocesses} install INSTALL_BASE=%{instroot} VERSION=%{realversion} PREFIX=%{i} | ||
|
||
%post | ||
%{relocateRpmPkg}bin/scram | ||
sed -i -e "s|dbPath = '$RPM_INSTALL_PREFIX';|dbPath = '$CMS_INSTALL_PREFIX';|" $RPM_INSTALL_PREFIX/%{pkgrel}/bin/scram | ||
echo "SCRAMV1_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh | ||
echo "SCRAMV1_VERSION='%v'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.sh | ||
echo "set SCRAMV1_ROOT='$CMS_INSTALL_PREFIX/%{pkgrel}'" > $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh | ||
echo "set SCRAMV1_VERSION='%v'" >> $RPM_INSTALL_PREFIX/%{pkgrel}/etc/profile.d/init.csh | ||
|
||
if [ ! -d $RPM_INSTALL_PREFIX/etc/scramrc ] ; then | ||
mkdir -p $RPM_INSTALL_PREFIX/etc/scramrc | ||
touch $RPM_INSTALL_PREFIX/etc/scramrc/links.db | ||
echo 'CMSSW=$SCRAM_ARCH/cms/cmssw/CMSSW_*' > $RPM_INSTALL_PREFIX/etc/scramrc/cmssw.map | ||
echo 'CMSSW=$SCRAM_ARCH/cms/cmssw-patch/CMSSW_*' > $RPM_INSTALL_PREFIX/etc/scramrc/cmssw-patch.map | ||
echo 'CORAL=$SCRAM_ARCH/cms/coral/CORAL_*' > $RPM_INSTALL_PREFIX/etc/scramrc/coral.map | ||
fi | ||
|
||
if [ ! -d $RPM_INSTALL_PREFIX/%{cmsplatf}/%{scramv1_dir} ] ; then | ||
mkdir -p $RPM_INSTALL_PREFIX/%{cmsplatf}/%{scramv1_dir} | ||
rsync --links --ignore-existing --recursive $RPM_INSTALL_PREFIX/%{pkgrel}/ $RPM_INSTALL_PREFIX/%{cmsplatf}/%{scramv1_dir}/ | ||
fi | ||
|
||
touch $RPM_INSTALL_PREFIX/etc/scramrc/site.cfg | ||
mkdir -p $RPM_INSTALL_PREFIX/%{cmsplatf}/etc/default-scram $RPM_INSTALL_PREFIX/share/etc/default-scram | ||
cd $RPM_INSTALL_PREFIX/%{cmsplatf} | ||
VERSION_REGEXP="%{SCRAM_ALL_VERSIONS}" ; VERSION_FILE=default-scramv1-version ; %{SetLatestVersion} | ||
VERSION_REGEXP="%{SCRAM_REL_MAJOR}_" ; VERSION_FILE=default-scram/%{SCRAM_REL_MAJOR}; %{SetLatestVersion} | ||
%{BackwardCompatibilityVersionPolicy} | ||
|
||
#Create a shared copy of this version | ||
if [ ! -d $RPM_INSTALL_PREFIX/share/%{scramv1_dir} ] ; then | ||
mkdir -p $RPM_INSTALL_PREFIX/share/%{scramv1_dir}/ | ||
rsync --links --ignore-existing --recursive $RPM_INSTALL_PREFIX/%{pkgrel}/ $RPM_INSTALL_PREFIX/share/%{scramv1_dir}/ | ||
sed -i -e 's|/%{pkgrel}|/share/%{scramv1_dir}|g' $RPM_INSTALL_PREFIX/share/%{scramv1_dir}/etc/profile.d/init.*sh | ||
fi | ||
|
||
cd $RPM_INSTALL_PREFIX/share | ||
VERSION_REGEXP="%{SCRAM_ALL_VERSIONS}" ; VERSION_FILE=default-scramv1-version ; %{SetLatestVersion} | ||
VERSION_REGEXP="%{SCRAM_REL_MAJOR}_" ; VERSION_FILE=default-scram/%{SCRAM_REL_MAJOR}; %{SetLatestVersion} | ||
|
||
if [ `cat $RPM_INSTALL_PREFIX/share/etc/default-scramv1-version` == '%v' ] ; then | ||
mkdir -p $RPM_INSTALL_PREFIX/share/man/man1 | ||
cp -f $RPM_INSTALL_PREFIX/share/%{scramv1_dir}/docs/man/man1/scram.1 ${RPM_INSTALL_PREFIX}/share/man/man1/scram.1 | ||
fi | ||
|
||
#FIMEME: Remove it when cmsBuild has a fix | ||
#For some strange reason we need something after the last statement | ||
#otherwise RPM does not run it. rpm -q --scripts also confirm that above | ||
#command is missing if there is nothing after the last multi-line macro | ||
|
||
%postun | ||
rm -rf $RPM_INSTALL_PREFIX/%{pkgrel} || true | ||
rm -rf $RPM_INSTALL_PREFIX/%{cmsplatf}/%{scramv1_dir} || true | ||
cd $RPM_INSTALL_PREFIX/%{cmsplatf} | ||
VERSION_REGEXP="%{SCRAM_ALL_VERSIONS}"; VERSION_FILE=default-scramv1-version ; %{SetLatestVersion} | ||
VERSION_REGEXP="%{SCRAM_REL_MAJOR}_" ; VERSION_FILE=default-scram/%{SCRAM_REL_MAJOR}; %{SetLatestVersion} | ||
%{BackwardCompatibilityVersionPolicy} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
From 03af8492bee6243a9d10e78fea1a3e423bd5f9cd Mon Sep 17 00:00:00 2001 | ||
From: Jonathan Wakely <jwakely@redhat.com> | ||
Date: Fri, 27 May 2022 12:43:18 +0100 | ||
Subject: [PATCH] libstdc++: Mark non-exported function always_inline | ||
[PR105671] | ||
|
||
This new function was added for gcc 11.1 but is not exported from the | ||
shared library. Depending on inlining decisions, its callers might get | ||
inlined but an external definition be needed for this function. That | ||
then fails to link. | ||
|
||
Since we can't add the export to the gcc-11 release branch now, mark it | ||
always_inline. We can consider exporting it for gcc-13 if/when we bump | ||
the shared library version (and maybe also for gcc-12 which is currently | ||
at the same version as trunk). For now, the attribute will solve the | ||
problem on all affected branches. The function is small enough that | ||
force-inlining it shouldn't cause problems. | ||
|
||
libstdc++-v3/ChangeLog: | ||
|
||
PR libstdc++/105671 | ||
* include/std/sstream (basic_stringbuf::_M_high_mark): Add | ||
always_inline attribute. | ||
|
||
(cherry picked from commit de57440858591a88e8fd7ba2505ca54546c86021) | ||
--- | ||
libstdc++-v3/include/std/sstream | 1 + | ||
1 file changed, 1 insertion(+) | ||
|
||
diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream | ||
index f21664100ab8..56555ecd98a1 100644 | ||
--- a/libstdc++-v3/include/std/sstream | ||
+++ b/libstdc++-v3/include/std/sstream | ||
@@ -425,6 +425,7 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 | ||
// This might not be the same character as _M_string.end() because | ||
// basic_stringbuf::overflow might have written to unused capacity | ||
// in _M_string without updating its length. | ||
+ __attribute__((__always_inline__)) | ||
char_type* | ||
_M_high_mark() const _GLIBCXX_NOEXCEPT | ||
{ |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters