Compare commits

...
Sign in to create a new pull request.

3 commits

Author SHA1 Message Date
Mattias Ellert
380269c3e7 Backport fixes for using aclic with versioned libraries
- New sub-package: root-io-gfal
2012-06-29 06:56:04 +02:00
Mattias Ellert
782c9c4d89 Rebuild for xrootd 3.1.1 2012-03-17 19:23:08 +01:00
Mattias Ellert
530201be85 Update to 5.30.06 2012-02-13 15:52:46 +01:00
8 changed files with 180 additions and 32 deletions

View file

@ -0,0 +1,82 @@
diff -ur root-5.30.06.orig/core/unix/src/TUnixSystem.cxx root-5.30.06/core/unix/src/TUnixSystem.cxx
--- root-5.30.06.orig/core/unix/src/TUnixSystem.cxx 2012-01-10 16:14:31.000000000 +0100
+++ root-5.30.06/core/unix/src/TUnixSystem.cxx 2012-06-29 06:29:42.030017840 +0200
@@ -440,6 +440,9 @@
TString lib = _dyld_get_image_name(i++);
+ TRegexp sovers = "libCore\\.[0-9]+\\.*[0-9]*\\.so";
+ TRegexp dyvers = "libCore\\.[0-9]+\\.*[0-9]*\\.dylib";
+
#ifndef ROOTPREFIX
#if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
// first loaded is the app so set ROOTSYS to app bundle
@@ -454,7 +457,8 @@
}
}
#else
- if (lib.EndsWith("libCore.dylib") || lib.EndsWith("libCore.so")) {
+ if (lib.EndsWith("libCore.dylib") || lib.EndsWith("libCore.so") ||
+ lib.Index(sovers) != kNPOS || lib.Index(dyvers) != kNPOS) {
char respath[kMAXPATHLEN];
if (!realpath(lib, respath)) {
if (!gSystem->Getenv("ROOTSYS"))
@@ -476,9 +480,23 @@
// add all libs loaded before libSystem.B.dylib
if (!gotFirstSo && (lib.EndsWith(".dylib") || lib.EndsWith(".so"))) {
- if (linkedDylibs.Length())
- linkedDylibs += " ";
- linkedDylibs += lib;
+ sovers = "\\.[0-9]+\\.*[0-9]*\\.so";
+ Ssiz_t idx = lib.Index(sovers);
+ if (idx != kNPOS) {
+ lib.Remove(idx);
+ lib += ".so";
+ }
+ dyvers = "\\.[0-9]+\\.*[0-9]*\\.dylib";
+ idx = lib.Index(dyvers);
+ if (idx != kNPOS) {
+ lib.Remove(idx);
+ lib += ".dylib";
+ }
+ if (!gSystem->AccessPathName(lib, kReadPermission)) {
+ if (linkedDylibs.Length())
+ linkedDylibs += " ";
+ linkedDylibs += lib;
+ }
}
}
#endif
@@ -2838,9 +2856,11 @@
delete [] exe;
exe = longerexe;
}
+ TRegexp sovers = "\\.so\\.[0-9]+";
#else
const char *cLDD="ldd";
const char *cSOEXT=".so";
+ TRegexp sovers = "\\.so\\.[0-9]+";
#endif
FILE *p = OpenPipe(TString::Format("%s %s", cLDD, exe), "r");
TString ldd;
@@ -2858,10 +2878,15 @@
}
if (solibName) {
TString solib = solibName->String();
- if (solib.EndsWith(cSOEXT)) {
- if (!linkedLibs.IsNull())
- linkedLibs += " ";
- linkedLibs += solib;
+ Ssiz_t idx = solib.Index(sovers);
+ if (solib.EndsWith(cSOEXT) || idx != kNPOS) {
+ if (idx != kNPOS)
+ solib.Remove(idx+3);
+ if (!AccessPathName(solib, kReadPermission)) {
+ if (!linkedLibs.IsNull())
+ linkedLibs += " ";
+ linkedLibs += solib;
+ }
}
}
delete tok;

View file

@ -1,11 +0,0 @@
--- root-5.26.00d.orig/tutorials/tree/cernbuild.C 2010-08-29 10:20:56.069801363 +0200
+++ root-5.26.00d/tutorials/tree/cernbuild.C 2010-08-29 15:52:51.000000000 +0200
@@ -22,7 +22,7 @@
TString dir = gSystem->UnixPathName(gInterpreter->GetCurrentMacroName());
dir.ReplaceAll("cernbuild.C","");
dir.ReplaceAll("/./","/");
- FILE *fp = fopen(Form("%scernstaff.dat",dir.Data()),"r");
+ FILE *fp = fopen((dir+"cernstaff.dat").Data(),"r");
TFile *hfile = 0;
if (get) {

View file

@ -10,9 +10,9 @@
gInterpreter->AddIncludePath("@PWD@/cint/cint/include"); gInterpreter->AddIncludePath("@PWD@/cint/cint/include");
gInterpreter->AddIncludePath("@PWD@/cint/cint/stl"); gInterpreter->AddIncludePath("@PWD@/cint/cint/stl");
gInterpreter->AddIncludePath("@PWD@/cint/cint/lib"); gInterpreter->AddIncludePath("@PWD@/cint/cint/lib");
#include <RtypesCint.h>
#include <iostream> #include <iostream>
#include <string> #include <string>
#include <RtypesCint.h>
#include <DllImport.h> #include <DllImport.h>
gROOT->GetPluginManager()->LoadHandlersFromPluginDirs(""); gROOT->GetPluginManager()->LoadHandlersFromPluginDirs("");
gROOT->GetPluginManager()->AddHandler("TVirtualPS","image", gROOT->GetPluginManager()->AddHandler("TVirtualPS","image",

View file

@ -3,11 +3,9 @@ includelist:
@list=includelist-`tr / - <<< $(MODULE)` ; \ @list=includelist-`tr / - <<< $(MODULE)` ; \
rm -f $$list ; \ rm -f $$list ; \
for h in $(filter-out %.cw %.pri, $(ALLHDRS)) ; do \ for h in $(filter-out %.cw %.pri, $(ALLHDRS)) ; do \
if [ "$(MODULE)" = "cint/cint7" ] ; then \ sed 's!^include!%{_includedir}/%{name}!' <<< $$h >> $$list ; \
sed 's!^include!%{_includedir}/%{name}/cint7!' <<< $$h >> $$list ; \ done ; \
else \ if [ -r $$list ] ; then \
sed 's!^include!%{_includedir}/%{name}!' <<< $$h >> $$list ; \
fi ; \
sort -u $$list > $$list.unique ; \ sort -u $$list > $$list.unique ; \
mv $$list.unique $$list ; \ mv $$list.unique $$list ; \
done fi

44
root-meta.patch Normal file
View file

@ -0,0 +1,44 @@
diff -ur root-5.32.00.orig/core/meta/src/TCint.cxx root-5.32.00/core/meta/src/TCint.cxx
--- root-5.32.00.orig/core/meta/src/TCint.cxx 2011-12-02 12:41:50.000000000 +0100
+++ root-5.32.00/core/meta/src/TCint.cxx 2012-02-18 12:07:12.157520013 +0100
@@ -320,23 +320,27 @@
ProcessLine("#define ROOT_TError 0");
ProcessLine("#define ROOT_TGenericClassInfo 0");
- TString include;
- // Add the root include directory to list searched by default
+ Int_t includes = gEnv->GetValue("Cint.Includes", 1);
+ if (includes > 0) {
+ TString include;
+ // Add the root include directory to list searched by default
#ifndef ROOTINCDIR
- include = gSystem->Getenv("ROOTSYS");
- include.Append("/include");
+ include = gSystem->Getenv("ROOTSYS");
+ include.Append("/include");
#else
- include = ROOTINCDIR;
+ include = ROOTINCDIR;
#endif
- TCint::AddIncludePath(include);
+ TCint::AddIncludePath(include);
- // Allow the usage of ClassDef and ClassImp in interpreted macros
- // if RtypesCint.h can be found (think of static executable without include/)
- char* whichTypesCint = gSystem->Which(include, "RtypesCint.h");
- if (whichTypesCint) {
- ProcessLine("#include <RtypesCint.h>");
- delete[] whichTypesCint;
- }
+ // Allow the usage of ClassDef and ClassImp in interpreted macros
+ // if RtypesCint.h can be found (think of static executable without
+ // include/)
+ char* whichTypesCint = gSystem->Which(include, "RtypesCint.h");
+ if (whichTypesCint) {
+ ProcessLine("#include <RtypesCint.h>");
+ delete[] whichTypesCint;
+ }
+ }
}

View file

@ -1,7 +1,7 @@
diff -ur root-5.30.04.orig/configure root-5.30.04/configure diff -ur root-5.30.04.orig/configure root-5.30.04/configure
--- root-5.30.04.orig/configure 2011-11-08 14:28:55.000000000 +0100 --- root-5.30.04.orig/configure 2011-11-08 14:28:55.000000000 +0100
+++ root-5.30.04/configure 2011-11-16 05:48:21.224144395 +0100 +++ root-5.30.04/configure 2011-11-16 05:48:21.224144395 +0100
@@ -4424,13 +4424,14 @@ @@ -4424,13 +4424,15 @@
if test "x$externalxrd" = "xyes"; then if test "x$externalxrd" = "xyes"; then
buildxrd="no" buildxrd="no"
# Check if bonjour is available for code potentially using it ... # Check if bonjour is available for code potentially using it ...
@ -20,6 +20,7 @@ diff -ur root-5.30.04.orig/configure root-5.30.04/configure
+ ## bonjourcppflags= + ## bonjourcppflags=
+ ## fi + ## fi
+ ##fi + ##fi
+ bonjourcppflags=
fi fi
else else
buildxrd="no" buildxrd="no"

View file

@ -18,9 +18,9 @@
%endif %endif
Name: root Name: root
Version: 5.30.04 Version: 5.30.06
%global libversion %(cut -d. -f 1-2 <<< %{version}) %global libversion %(cut -d. -f 1-2 <<< %{version})
Release: 1%{?dist} Release: 3%{?dist}
Summary: Numerical data analysis framework Summary: Numerical data analysis framework
Group: Applications/Engineering Group: Applications/Engineering
@ -47,10 +47,13 @@ Patch0: %{name}-ftgl.patch
Patch1: %{name}-fontconfig.patch Patch1: %{name}-fontconfig.patch
# Use system unuran: # Use system unuran:
Patch2: %{name}-unuran.patch Patch2: %{name}-unuran.patch
# Workaround for broken Form() on ppc # Fixes for xrootd bonjour
Patch3: %{name}-cern-ppc.patch Patch3: %{name}-xrootd.patch
# Fixes for external xrootd # Fix hardcoded include path
Patch4: %{name}-xrootd.patch # https://savannah.cern.ch/bugs/index.php?91463
Patch4: %{name}-meta.patch
# Backport fixes for using aclic with versioned libraries
Patch5: %{name}-aclic-versioned-libs.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# The build segfaults on ppc64 during an invocation of cint: # The build segfaults on ppc64 during an invocation of cint:
# https://savannah.cern.ch/bugs/index.php?70542 # https://savannah.cern.ch/bugs/index.php?70542
@ -107,11 +110,14 @@ BuildRequires: openssl-devel
BuildRequires: globus-gss-assist-devel BuildRequires: globus-gss-assist-devel
BuildRequires: globus-gsi-credential-devel BuildRequires: globus-gsi-credential-devel
BuildRequires: globus-proxy-utils BuildRequires: globus-proxy-utils
BuildRequires: libtool-ltdl-devel
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: dcap-devel BuildRequires: dcap-devel
BuildRequires: dpm-devel BuildRequires: dpm-devel
BuildRequires: xrootd-devel BuildRequires: xrootd-devel
BuildRequires: cfitsio-devel BuildRequires: cfitsio-devel
BuildRequires: gfal-devel
BuildRequires: srm-ifce-devel
BuildRequires: emacs BuildRequires: emacs
BuildRequires: emacs-el BuildRequires: emacs-el
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
@ -119,6 +125,7 @@ BuildRequires: graphviz-devel
%if "%{?rhel}" == "5" %if "%{?rhel}" == "5"
BuildRequires: graphviz-gd BuildRequires: graphviz-gd
%endif %endif
BuildRequires: expat-devel
%if %{?fedora}%{!?fedora:0} >= 11 || %{?rhel}%{!?rhel:0} >= 6 %if %{?fedora}%{!?fedora:0} >= 11 || %{?rhel}%{!?rhel:0} >= 6
BuildRequires: font(liberationsans) BuildRequires: font(liberationsans)
BuildRequires: font(liberationserif) BuildRequires: font(liberationserif)
@ -299,7 +306,7 @@ provide a Python interface to ROOT, and a ROOT interface to Python.
Summary: Ruby extension for ROOT Summary: Ruby extension for ROOT
Group: Applications/Engineering Group: Applications/Engineering
Provides: ruby(libRuby) = %{version} Provides: ruby(libRuby) = %{version}
requires: ruby(abi) = 1.8 Requires: ruby(abi) = 1.8
%description ruby %description ruby
This package contains the Ruby extension for ROOT. The interface This package contains the Ruby extension for ROOT. The interface
@ -554,6 +561,13 @@ Group: Applications/Engineering
%description io-dcache %description io-dcache
This package contains the dCache extension for ROOT. This package contains the dCache extension for ROOT.
%package io-gfal
Summary: Grid File Access Library input/output library for ROOT
Group: Applications/Engineering
%description io-gfal
This package contains the Grid File Access Library extension for ROOT.
%package io-rfio %package io-rfio
Summary: Remote File input/output library for ROOT Summary: Remote File input/output library for ROOT
Group: Applications/Engineering Group: Applications/Engineering
@ -1018,13 +1032,14 @@ package to use root with GNU Emacs.
%prep %prep
%setup -q %setup -q
%if %(pkg-config --max-version 2.1.2 ftgl 2>/dev/null && echo 1 || echo 0) if pkg-config --max-version 2.1.2 ftgl ; then
%patch0 -p1 %patch0 -p1
%endif fi
%patch1 -p1 %patch1 -p1
%patch2 -p1 %patch2 -p1
%patch3 -p1 %patch3 -p1
%patch4 -p1 %patch4 -p1
%patch5 -p1
find . '(' -name '*.cxx' -o -name '*.cpp' -o -name '*.C' -o -name '*.c' -o \ find . '(' -name '*.cxx' -o -name '*.cpp' -o -name '*.C' -o -name '*.c' -o \
-name '*.h' -o -name '*.hh' -o -name '*.hi' -o -name '*.py' -o \ -name '*.h' -o -name '*.hh' -o -name '*.hi' -o -name '*.py' -o \
@ -1132,6 +1147,9 @@ unset QTINC
--enable-fftw3 \ --enable-fftw3 \
--enable-fitsio \ --enable-fitsio \
--enable-gdml \ --enable-gdml \
--enable-gfal \
--with-gfal-incdir=%{_includedir} \
--with-gfal-libdir=%{_libdir} \
--enable-genvector \ --enable-genvector \
--enable-globus \ --enable-globus \
--enable-gsl-shared \ --enable-gsl-shared \
@ -1168,8 +1186,8 @@ unset QTINC
--enable-tmva \ --enable-tmva \
--enable-unuran \ --enable-unuran \
--enable-x11 \ --enable-x11 \
--enable-xml \
--enable-xft \ --enable-xft \
--enable-xml \
--enable-xrootd \ --enable-xrootd \
--with-xrootd-incdir=%{_includedir}/xrootd \ --with-xrootd-incdir=%{_includedir}/xrootd \
--with-xrootd-libdir=%{_libdir} \ --with-xrootd-libdir=%{_libdir} \
@ -1185,7 +1203,6 @@ unset QTINC
--disable-castor \ --disable-castor \
--disable-chirp \ --disable-chirp \
--disable-cling \ --disable-cling \
--disable-gfal \
--disable-glite \ --disable-glite \
--disable-hdfs \ --disable-hdfs \
--disable-monalisa \ --disable-monalisa \
@ -1345,7 +1362,6 @@ pushd ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins
rm TAFS/P010_TAFS.C rm TAFS/P010_TAFS.C
rm TDataProgressDialog/P010_TDataProgressDialog.C rm TDataProgressDialog/P010_TDataProgressDialog.C
rm TFile/P030_TCastorFile.C rm TFile/P030_TCastorFile.C
rm TFile/P050_TGFALFile.C
rm TFile/P060_TChirpFile.C rm TFile/P060_TChirpFile.C
rm TFile/P070_TAlienFile.C rm TFile/P070_TAlienFile.C
rm TFile/P110_THDFSFile.C rm TFile/P110_THDFSFile.C
@ -1380,6 +1396,7 @@ echo %{_libdir}/%{name} > \
# Generate documentation # Generate documentation
echo Rint.Includes: 0 > .rootrc echo Rint.Includes: 0 > .rootrc
echo Cint.Includes: 0 >> .rootrc
echo Root.StacktraceScript: ${PWD}/etc/gdb-backtrace.sh >> .rootrc echo Root.StacktraceScript: ${PWD}/etc/gdb-backtrace.sh >> .rootrc
echo Gui.MimeTypeFile: ${PWD}/etc/root.mimes >> .rootrc echo Gui.MimeTypeFile: ${PWD}/etc/root.mimes >> .rootrc
sed "s!@PWD@!${PWD}!g" %{SOURCE2} > html.C sed "s!@PWD@!${PWD}!g" %{SOURCE2} > html.C
@ -1578,6 +1595,8 @@ fi
%postun io -p /sbin/ldconfig %postun io -p /sbin/ldconfig
%post io-dcache -p /sbin/ldconfig %post io-dcache -p /sbin/ldconfig
%postun io-dcache -p /sbin/ldconfig %postun io-dcache -p /sbin/ldconfig
%post io-gfal -p /sbin/ldconfig
%postun io-gfal -p /sbin/ldconfig
%post io-rfio -p /sbin/ldconfig %post io-rfio -p /sbin/ldconfig
%postun io-rfio -p /sbin/ldconfig %postun io-rfio -p /sbin/ldconfig
%post io-sql -p /sbin/ldconfig %post io-sql -p /sbin/ldconfig
@ -2006,6 +2025,11 @@ fi
%{_datadir}/%{name}/plugins/TFile/P040_TDCacheFile.C %{_datadir}/%{name}/plugins/TFile/P040_TDCacheFile.C
%{_datadir}/%{name}/plugins/TSystem/P020_TDCacheSystem.C %{_datadir}/%{name}/plugins/TSystem/P020_TDCacheSystem.C
%files io-gfal -f includelist-io-gfal
%defattr(-,root,root,-)
%{_libdir}/%{name}/libGFAL.*
%{_datadir}/%{name}/plugins/TFile/P050_TGFALFile.C
%files io-rfio -f includelist-io-rfio %files io-rfio -f includelist-io-rfio
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/%{name}/libRFIO.* %{_libdir}/%{name}/libRFIO.*
@ -2286,6 +2310,16 @@ fi
%{emacs_lispdir}/root/*.el %{emacs_lispdir}/root/*.el
%changelog %changelog
* Fri Jun 29 2012 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.30.06-3
- Backport fixes for using aclic with versioned libraries
- New sub-package: root-io-gfal
* Sat Mar 17 2012 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.30.06-2
- Rebuild for xrootd 3.1.1
* Mon Feb 13 2012 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.30.06-1
- Update to 5.30.06
* Wed Nov 16 2011 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.30.04-1 * Wed Nov 16 2011 Mattias Ellert <mattias.ellert@fysast.uu.se> - 5.30.04-1
- Update to 5.30.04 - Update to 5.30.04

View file

@ -1 +1 @@
9fe36a18b07119bdd02527fc5a2d2651 root-5.30.04.tar.gz 0a0e24e890f33b3606f8983fe8765a09 root-5.30.06.tar.gz