Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package trilinos for openSUSE:Factory checked in at 2022-02-13 00:15:20 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/trilinos (Old) and /work/SRC/openSUSE:Factory/.trilinos.new.1956 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "trilinos" Sun Feb 13 00:15:20 2022 rev:13 rq:953801 version:13.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/trilinos/trilinos.changes 2021-03-24 16:17:48.776245031 +0100 +++ /work/SRC/openSUSE:Factory/.trilinos.new.1956/trilinos.changes 2022-02-13 00:15:25.844122171 +0100 @@ -1,0 +2,47 @@ +Mon Feb 7 07:07:18 UTC 2022 - Egbert Eich <[email protected]> + +- Make use of the newly introduced %%hpc_pyton_sitelib macro. + +------------------------------------------------------------------- +Wed Feb 2 16:19:43 UTC 2022 - Egbert Eich <[email protected]> + +- Fix python modules to use the right include and lib dir: + Make-include-and-library-path-configurable-using-Cmake-variables.patch + See also: https://github.com/gsjaardema/seacas/pull/279 +- Make sure python modules for serial and MPI variants don't + overlap. + NOTE: mpi-selector is not setting PYTHONPATH! +- Free package of all python2 traces. + +------------------------------------------------------------------- +Sun Jan 30 10:54:03 UTC 2022 - Stefan Br??ns <[email protected]> + +- Lower disk and memory constraints to match actual requirements, + dito %limit_build (now 16 GByte disk and 5 GByte memory). +- Add memoryperjob constraint for a worker preselection, so + limit_build only lowers the number of jobs slightly. +- Fix cmake files for non-HPC MPI build. +- Add openmpi4 non-HPC flavor + +------------------------------------------------------------------- +Fri Jan 14 09:43:20 UTC 2022 - Egbert Eich <[email protected]> + +- Update to version 13.2.0 + For information on changes consult the release notes of + its sub-packages. + * Remove: Make-kokkos-build-reproducible.patch + Add-missing-ENV-DESTDIR.patch + * Add: Fix-control-reaches-end-of-non-void-function-error.patch + Convert-python2-isms-to-python3.patch + Not-a-shell-script.patch +- Add dependency for library package to devel package. +- Fix cmake include path (boo#1194648): + cmake/tribits/core/package_arch/TribitsWriteClientExportFiles.cmake + uses a logic to calculate the relative path elements between + the cmake directory and the installation directory. This works + only if Trilinos_INSTALL_LIB_DIR is relative, while other parts + of the code allow it to be absolute. + See also: https://github.com/trilinos/Trilinos/issues/10100 +- Fix doc building. + +------------------------------------------------------------------- Old: ---- Add-missing-ENV-DESTDIR.patch Make-kokkos-build-reproducible.patch trilinos-release-13-0-1.tar.gz New: ---- Convert-python2-isms-to-python3.patch Fix-control-reaches-end-of-non-void-function-error.patch Make-include-and-library-path-configurable-using-Cmake-variables.patch Not-a-shell-script.patch trilinos-release-13-2-0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ trilinos.spec ++++++ --- /var/tmp/diff_new_pack.ZiHgza/_old 2022-02-13 00:15:27.232126104 +0100 +++ /var/tmp/diff_new_pack.ZiHgza/_new 2022-02-13 00:15:27.236126115 +0100 @@ -1,7 +1,7 @@ # # spec file for package trilinos # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,12 +22,14 @@ # Base package name %define pname trilinos -%define ver 13.0.1 -%define ver_exp 13-0-1 +%define ver 13.2.0 +%define ver_exp 13-2-0 %define so_ver 13 %define PNAME %(echo %{pname} | tr [a-z] [A-Z]) %define _ver %(echo %{ver} | tr . _) -%define openblas_vers 0.3.6 +%define min_openblas_vers 0.3.6 +# We don't compile .py files, so major version is sufficient +%define use_python_version 3 # Don't even try this package on 32bit # - some modules require pointers of bigger size @@ -369,16 +371,23 @@ %if %{without hpc} %if %{with mpi} %define p_prefix %{_libdir}/mpi/gcc/%{mpi_family}%{?mpi_ext} -%define p_includedir %{p_prefix}/include %define mpi_suffix -%{mpi_family}%{?mpi_ext} %else %define p_prefix %{_prefix} -%define p_includedir %{p_prefix}/include/%{pname} %endif +%define p_includedir %{p_prefix}/include/%{pname} %define p_libdir %{p_prefix}/%{_lib} %define p_bindir %{p_prefix}/bin %define package_name %{pname}%{?mpi_suffix} %define libname lib%{pname}%{?so_ver}%{?mpi_suffix} + %if %{without mpi} + %define p_python_sitelib %{expand:%python%{use_python_version}_sitelib} + %else + %define p_python_sitelib %{expand:%(source %{p_bindir}/mpivars.sh; \\\ + var=${PATH%%%%:*};var=${var%%/bin}; \\\ + python%{use_python_version} -c "import sysconfig as s; \\\ + print(s.get_paths(vars={'base': \\"$var\\"}).get('purelib'));")} + %endif %else %{hpc_init %{?compiler_family:-c %compiler_family %{?c_f_ver:-v %{c_f_ver}}} %{?with_mpi:-m {%mpi_family}} %{?mpi_ver:-V %{mpi_ver}} %{?ext:-e %{ext}}} %define package_name %{hpc_package_name %_ver} @@ -387,9 +396,8 @@ %define p_libdir %hpc_libdir %define p_bindir %hpc_bindir %define libname lib%{name} -# This will avoid rpmint errors when non-python3 scripts are detected. -# It needs to be addressed at some point. This needs to come after hpc_init. %undefine _hpc_python3 +%define p_python_sitelib %hpc_python_sitelib %endif Name: %package_name @@ -400,11 +408,15 @@ Group: Productivity/Scientific/Math URL: http://trilinos.sandia.gov/index.html Source0: https://github.com/trilinos/Trilinos/archive/trilinos-release-%{ver_exp}.tar.gz -Patch0: Make-kokkos-build-reproducible.patch -Patch1: Add-missing-ENV-DESTDIR.patch +Patch0: Fix-control-reaches-end-of-non-void-function-error.patch +Patch1: Convert-python2-isms-to-python3.patch +Patch2: Not-a-shell-script.patch +Patch3: Make-include-and-library-path-configurable-using-Cmake-variables.patch BuildRequires: cmake >= 2.8 BuildRequires: fdupes BuildRequires: hwloc-devel +BuildRequires: python%{use_python_version}-base +BuildRequires: python-rpm-macros %if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500 BuildRequires: ninja %endif @@ -415,7 +427,7 @@ BuildRequires: swig > 2.0.0 BuildRequires: xz BuildRequires: zlib-devel -%{?with_hpc:BuildRequires: suse-hpc >= 0.5} +%{?with_hpc:BuildRequires: suse-hpc >= 0.5.20220206} %if %{with doc} BuildRequires: doxygen @@ -432,7 +444,7 @@ BuildRequires: boost-devel #BuildRequires: boost-%%{compiler_family}-hpc-devel BuildRequires: hdf5-%{compiler_family}-%{mpi_family}%{?mpi_ext}-hpc-devel -BuildRequires: libopenblas-%{compiler_family}-hpc >= %{openblas_vers} +BuildRequires: libopenblas-%{compiler_family}-hpc >= %{min_openblas_vers} BuildRequires: libopenblas-%{compiler_family}-hpc-devel BuildRequires: netcdf-%{compiler_family}-%{mpi_family}%{?mpi_ext}-hpc-devel # hpc @@ -470,8 +482,6 @@ # doc %endif -%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} - #!BuildIgnore: post-build-checks # Default library install path @@ -512,10 +522,13 @@ %package devel Summary: Headers and development files for %{package_name} Group: Development/Libraries/C and C++ +Requires: %libname = %version %if %{without hpc} Requires: glpk-devel Requires: swig +Recommends: %{pname}-python%{use_python_version}-devel = %version Recommends: %{name}-doc +Conflicts: exodusii-devel %if %{without mpi} Requires: hdf5-devel Requires: lapack-devel @@ -542,7 +555,6 @@ Requires: %{mpi_family}%{?mpi_ver}-%{compiler_family}%{?c_f_ver}-hpc # Fix this once boost is available as a HPC version #Requires: boost-%%{compiler_family}-hpc -Requires: %libname = %version %{requires_eq hdf5%{hpc_package_name_tail}-devel} %{requires_eq libopenblas-%{compiler_family}-hpc-devel} %{requires_eq netcdf%{hpc_package_name_tail}-devel} @@ -560,7 +572,6 @@ This package contains the headers and libraries files for %{package_name} needed for development. - %if %{with hpc} %{hpc_master_package -l -L} %{hpc_master_package -L -O %{pname}%{hpc_package_name_tail} devel} @@ -568,18 +579,17 @@ %prep %setup -q -n Trilinos-trilinos-release-%{ver_exp} -%patch0 -p1 -%patch1 -p1 +%autopatch -p1 %build # https://en.opensuse.org/openSUSE:Build_system_recipes#cmake %if 0%{?sle_version} > 150100 || 0%{?suse_version} > 1500 %define __builder ninja %endif -# Do *not* replace by memoryperjob constraint!!! The latter -# attempts to find a work whose memory matches the number of -# jobs available * memoryperjob. Such workers may not exist! -%limit_build -m 4000 +# This fixes up the memoryperjob _constraint. On some architectures +# there are no workers where totalmemory >= jobs * memoryperjob +# Use memoryperjob to let the OBS choose reasonable workers +%limit_build -m 1500 # Fix this once boost is available as a HPC version # move this to the non-hpc section BOOST_INC=%{_incdir}/boost @@ -606,6 +616,9 @@ %endif %cmake \ %else + # CAVE: Logic in TribitsWriteClientExportFiles.cmake: + # "H) Create the cmake Config.cmake file for the install tree." + # Trilinos_INSTALL_{LIB,INCLUDE}_DIR must both be relative paths %hpc_cmake \ %endif -DCMAKE_INSTALL_PREFIX=%{p_prefix} \ @@ -615,15 +628,14 @@ -DBUILD_SHARED_LIBS:BOOL=ON \ -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON \ -DCMAKE_SKIP_RPATH:BOOL=ON \ - -DTrilinos_INSTALL_LIB_DIR:PATH=%{p_libdir} \ -%if %{without hpc} && %{without mpi} - -DTrilinos_INSTALL_INCLUDE_DIR:PATH=include/%{pname} \ - -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{p_includedir}/%{pname} \ + -DTrilinos_INSTALL_LIB_DIR:STRING=%{_lib} \ +%if %{without hpc} + -DTrilinos_INSTALL_INCLUDE_DIR:STRING=include/%{pname} \ %endif -DTrilinos_VERBOSE_CONFIGURE:BOOL=ON \ -DTrilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \ -DTrilinos_EXTRA_LINK_FLAGS:STRING="-lgfortran" \ - -DTrilinos_ENABLE_Epetra:BOOL=OFF \ + -DTrilinos_ENABLE_Epetra:BOOL=ON \ -DTrilinos_ENABLE_Gtest:BOOL=OFF \ -DTrilinos_ENABLE_MueLu:BOOL=ON \ -DTrilinos_ENABLE_Phalanx:BOOL=ON \ @@ -708,8 +720,16 @@ %{?with_hpc:%hpc_setup} %{?with_hpc:%hpc_setup_mpi} %cmake_install +mkdir -p %{buildroot}%p_python_sitelib/%pname +# Python2 is history +rm -f %{buildroot}%{p_prefix}/lib/*2.py +mv %{buildroot}%{p_prefix}/lib/*.py %{buildroot}%{p_python_sitelib}/%pname +chmod a-x %{buildroot}%{p_python_sitelib}/%pname/*.py %if %{with hpc} +%hpc_shebang_sanitize_scripts %{buildroot}%{p_libdir}/cmake +%hpc_shebang_sanitize_scripts %{buildroot}%{p_python_sitelib}/%pname + %hpc_write_modules_files #%%Module1.0##################################################################### @@ -735,6 +755,7 @@ prepend-path INCLUDE %{hpc_includedir} } prepend-path LD_LIBRARY_PATH %{hpc_libdir} +prepend-path PYTHONPATH %{p_python_sitelib} setenv %{PNAME}_DIR %{hpc_prefix} setenv %{PNAME}_BIN %{hpc_bindir} @@ -791,6 +812,9 @@ %{p_libdir}/cmake %{p_libdir}/*.so %{p_bindir}%{!?hpc:/*} +%{?with_hpc:%dir %{p_python_sitelib}} +%{p_python_sitelib}/%{pname} + # doc %endif @@ -839,6 +863,7 @@ find doc/ -name .gitignore -delete find doc/ -name *do-configure -exec chmod 644 {} \; find doc/ -name *copy_xml_to_src_html.py -exec chmod 644 {} \; +find doc/ \( -name "*.gif" -o -name "*.jpg" \) -exec chmod a-x {} \; %files doc %doc doc/* ++++++ Convert-python2-isms-to-python3.patch ++++++ From: Egbert Eich <[email protected]> Date: Mon Jan 17 12:30:30 2022 +0100 Subject: Convert python2-isms to python3 Patch-mainline: Not yet Git-commit: a7bc2605c6d1ee59d2cf944d2b640757269ecd36 References: Signed-off-by: Egbert Eich <[email protected]> --- .../tribits/ci_support/is_checkin_tested_commit.py | 10 +- cmake/tribits/dashboard_driver/tdd_driver.py | 64 +++++----- cmake/tribits/devtools_install/install-gcc.py | 2 +- cmake/tribits/python_utils/download-cmake.py | 136 ++++++++++----------- 4 files changed, 106 insertions(+), 106 deletions(-) diff --git a/cmake/tribits/ci_support/is_checkin_tested_commit.py b/cmake/tribits/ci_support/is_checkin_tested_commit.py index 6d195e27..988b0ca9 100755 --- a/cmake/tribits/ci_support/is_checkin_tested_commit.py +++ b/cmake/tribits/ci_support/is_checkin_tested_commit.py @@ -54,13 +54,13 @@ else: debugDump = False if debugDump: - print "NOTE: TRIBITS_IS_CHECKIN_TESTED_COMMIT=ON set in env, doing debug dump ..." + print("NOTE: TRIBITS_IS_CHECKIN_TESTED_COMMIT=ON set in env, doing debug dump ...") thisFilePath = __file__ -if debugDump: print "\nthisFilePath =", thisFilePath +if debugDump: print("\nthisFilePath =", thisFilePath) thisFileRealAbsBasePath = os.path.dirname(os.path.abspath(os.path.realpath(thisFilePath))) -if debugDump: print "\nthisFileRealAbsBasePath = '"+thisFileRealAbsBasePath+"'" +if debugDump: print("\nthisFileRealAbsBasePath = '"+thisFileRealAbsBasePath+"'") sys.path = [thisFileRealAbsBasePath+"/../python_utils"] + sys.path @@ -137,8 +137,8 @@ else: isCheckinTestedCommit = False if isCheckinTestedCommit: - print "The commit "+gitRef+" is checkin-test.py tested!" + print("The commit "+gitRef+" is checkin-test.py tested!") sys.exit(0) else: - print "The commit "+gitRef+" is *NOT* checkin-test.py tested!" + print("The commit "+gitRef+" is *NOT* checkin-test.py tested!") sys.exit(1) diff --git a/cmake/tribits/dashboard_driver/tdd_driver.py b/cmake/tribits/dashboard_driver/tdd_driver.py index ff6801d6..cbe8eef5 100755 --- a/cmake/tribits/dashboard_driver/tdd_driver.py +++ b/cmake/tribits/dashboard_driver/tdd_driver.py @@ -62,7 +62,7 @@ else: # this_path = os.path.abspath(os.path.realpath(__file__)) tribitsDDDir = os.path.dirname(this_path) -print "tribitsDDDir = '"+tribitsDDDir+"'" +print("tribitsDDDir = '"+tribitsDDDir+"'") # Load the general script support python code pythonUtilsDir = os.path.join(tribitsDDDir, "../python_utils") @@ -75,14 +75,14 @@ def install_ctest(tddDashboardRootDir, tribitsDir): # dashboardToolsDir is the directory to which any needed tools will be downloaded. # dashboardToolsDir = tddDashboardRootDir + "/tools" - print "dashboardToolsDir = '"+dashboardToolsDir+"'" + print("dashboardToolsDir = '"+dashboardToolsDir+"'") # Make sure tools directory exists: # if not os.path.exists(dashboardToolsDir): os.makedirs(dashboardToolsDir) if not os.path.exists(dashboardToolsDir): - print "error: could not create directory \"" + dashboardToolsDir + "\"" + print("error: could not create directory \"" + dashboardToolsDir + "\"") sys.exit(1) # Download and install CMake/CTest to use for the outer driver @@ -105,20 +105,20 @@ def install_ctest(tddDashboardRootDir, tribitsDir): # (Requires network connectivity; avoid when possible.) # - print "\n***" - print "*** Downloading and installing CMake to \"" + cmakeTddDownloadBaseDir + "\"..." - print "***\n" + print("\n***") + print("*** Downloading and installing CMake to \"" + cmakeTddDownloadBaseDir + "\"...") + print("***\n") installMasterCMake = False if not os.path.exists(cmakeTddDownloadBaseDir): - print "Forcing install of master CMake because '"+cmakeTddDownloadBaseDir+"' does not exist!" + print("Forcing install of master CMake because '"+cmakeTddDownloadBaseDir+"' does not exist!") installMasterCMake = True elif TDD_FORCE_CMAKE_INSTALL == "1": - print "Forcing install of master CMake because" \ - + " TDD_FORCE_CMAKE_INSTALL == 1!" + print("Forcing install of master CMake because" \ + + " TDD_FORCE_CMAKE_INSTALL == 1!") installMasterCMake = True else: - print "Leaving current CMake in place ..." \ + print("Leaving current CMake in place ...") \ if installMasterCMake: @@ -136,9 +136,9 @@ def install_ctest(tddDashboardRootDir, tribitsDir): timeCmnd = True, workingDir = dashboardToolsDir \ ) - except Exception, e: - print "WARNING! The following command failed!\n"+cmnd - print "However, not updating CMake is not the end of the world!" + except Exception as e: + print("WARNING! The following command failed!\n"+cmnd) + print("However, not updating CMake is not the end of the world!") # Find ctest under cmakeTddDownloadBaseDir: @@ -149,7 +149,7 @@ def install_ctest(tddDashboardRootDir, tribitsDir): if 0 == len(ctestGlobStr): ctestGlobStr = glob.glob(cmakeTddDownloadBaseDir + "/*/*/bin/ctest*") if 1 != len(ctestGlobStr): - print "error: could not find ctest executable after download..." + print("error: could not find ctest executable after download...") sys.exit(2) ctestExe = ctestGlobStr[0] @@ -169,7 +169,7 @@ def invoke_ctest(ctestExe, script, tddDashboardRootDir, environment = {}): # until ctest supports something like CMake's -D argument, this is # how it has to be done. if environment: - print "environment =", environment + print("environment =", environment) cmd = ctestExe if verbose: @@ -182,10 +182,10 @@ def invoke_ctest(ctestExe, script, tddDashboardRootDir, environment = {}): extraEnv = environment ) - print "ctestRtn: '" + str(ctestRtn) + "'" + print("ctestRtn: '" + str(ctestRtn) + "'") if ctestRtn != 0: - print "error: ctest returned non-zero error value, script will exit with " + str(ctestRtn) + print("error: ctest returned non-zero error value, script will exit with " + str(ctestRtn)) # Propagate ctest return value # @@ -201,18 +201,18 @@ def run_driver(ctestSourceDirectory, projectRepoBaseDir): """ origDir = os.getcwd() try: - print "\n******************************************************************" - print "*** Tribits Driver Dashboard tdd_driver.py ***" - print "******************************************************************\n" + print("\n******************************************************************") + print("*** Tribits Driver Dashboard tdd_driver.py ***") + print("******************************************************************\n") - print "\nPWD=\""+os.getcwd()+"\"...\n" - print "projectRepoBaseDir = '" + projectRepoBaseDir + "'" - print "tribitsDDDir = '" + tribitsDDDir + "'" + print("\nPWD=\""+os.getcwd()+"\"...\n") + print("projectRepoBaseDir = '" + projectRepoBaseDir + "'") + print("tribitsDDDir = '" + tribitsDDDir + "'") # tribitsDir is the root directory of the TriBITS system: # tribitsDir = os.path.abspath(os.path.join(tribitsDDDir, "..")) - print "tribitsDir = '"+tribitsDir+"'" + print("tribitsDir = '"+tribitsDir+"'") # dashboardBaseDir is the parent directory of our containing source tree, # which we compute relative to tribitsDir: @@ -220,7 +220,7 @@ def run_driver(ctestSourceDirectory, projectRepoBaseDir): tddDashboardRootDir = os.path.dirname(projectRepoBaseDir) if "TDD_DASHBOARD_ROOT" in os.environ: tddDashboardRootDir = os.environ["TDD_DASHBOARD_ROOT"] - print "tddDashboardRootDir = '"+tddDashboardRootDir+"'" + print("tddDashboardRootDir = '"+tddDashboardRootDir+"'") os.chdir(tddDashboardRootDir) if verbose: "\nNew PWD = '"+os.getcwd()+"'" @@ -230,16 +230,16 @@ def run_driver(ctestSourceDirectory, projectRepoBaseDir): and os.environ["TRIBITS_TDD_USE_SYSTEM_CTEST"] == "1" \ : tddUseSystemCTest = True - print "tddUseSystemCTest =", tddUseSystemCTest + print("tddUseSystemCTest =", tddUseSystemCTest) if tddUseSystemCTest: ctestExe = getCmndOutput("which ctest", True, False) else: ctestExe = install_ctest(tddDashboardRootDir, tribitsDir) - print "\nctestExe = '" + ctestExe + "'" + print("\nctestExe = '" + ctestExe + "'") if not os.path.exists(ctestExe): - print "error: ctest does not exist after installation..." + print("error: ctest does not exist after installation...") sys.exit(3) # Escape any spaces in the path of the ctest exe. This has to be done @@ -252,14 +252,14 @@ def run_driver(ctestSourceDirectory, projectRepoBaseDir): # ctestVersion = getCmndOutput(ctestExe+" --version", True, False) - print "ctestVersion = '"+ctestVersion+"'" + print("ctestVersion = '"+ctestVersion+"'") # Run one driver dashboard for this source tree: # - print "\n***" - print "*** Running the main dashboards as CTest tests .." - print "***\n" + print("\n***") + print("*** Running the main dashboards as CTest tests ..") + print("***\n") sys.exit( invoke_ctest(ctestExe, os.path.join(tribitsDDDir, "TribitsDriverDashboard.cmake"), diff --git a/cmake/tribits/devtools_install/install-gcc.py b/cmake/tribits/devtools_install/install-gcc.py index 68d3c01f..c604d68b 100755 --- a/cmake/tribits/devtools_install/install-gcc.py +++ b/cmake/tribits/devtools_install/install-gcc.py @@ -137,7 +137,7 @@ command --download-cmnd=<download-cmnd> is: echoRunSysCmnd(self.inOptions.downloadCmnd) def doUntar(self): - print "Nothing to untar!" + print("Nothing to untar!") def doConfigure(self): createDir(self.gccBuildBaseDir) diff --git a/cmake/tribits/python_utils/download-cmake.py b/cmake/tribits/python_utils/download-cmake.py index f4652f93..a8cd4e2b 100755 --- a/cmake/tribits/python_utils/download-cmake.py +++ b/cmake/tribits/python_utils/download-cmake.py @@ -233,7 +233,7 @@ def DetectLatestCMakeBuilds(basedir, baseurl, vdir): if not os.path.exists(basedir): raise - print "Querying " + url + "..." + print("Querying " + url + "...") proxyDict = {} if not options.httpProxy == "": @@ -255,7 +255,7 @@ def DetectLatestCMakeBuilds(basedir, baseurl, vdir): outfile.write(url_file.read()) outfile.close() - print "Detecting ..." + print("Detecting ...") lines = [] regex = re.compile( @@ -280,8 +280,8 @@ def DetectLatestCMakeBuilds(basedir, baseurl, vdir): version = versionRegEx.match(line).group(1) if version == "" or version == line: - print "error: line does not match version extraction regex" - print " line: [" + line + "]" + print("error: line does not match version extraction regex") + print(" line: [" + line + "]") sys.exit(1) date = dateRegEx.match(version).group(1) @@ -310,18 +310,18 @@ def DetectLatestCMakeBuilds(basedir, baseurl, vdir): whref = href w = 1 else: - print "error: unexpected non-matching line" + print("error: unexpected non-matching line") sys.exit(1) count = count + 1 if l == 1 and m == 1 and w == 1: found = 1 - print "Detected latest available CMake " + vdir + " build: " + version + print("Detected latest available CMake " + vdir + " build: " + version) break if not found: - print "error: could not find a " + vdir + " version with all 3 platforms available" + print("error: could not find a " + vdir + " version with all 3 platforms available") return () return (('linux2', lhref, version), ('darwin', mhref, version), ('win32', whref, version)) @@ -332,7 +332,7 @@ def Download(basedir, url): href = cmps[1] filename = ''.join([basedir, "/", href]) - print 'Downloading ' + href + '...' + print('Downloading ' + href + '...') try: createDir(basedir) @@ -366,15 +366,15 @@ def Extract(basedir, url): href = cmps[1] filename = ''.join([basedir, "/", href]) - print 'Extracting ' + href + '...' + print('Extracting ' + href + '...') if href[-4:] == ".zip": if sys.version < '2.6': if sys.platform == 'win32': - print "error: cannot extract zip files on win32 with older python < 2.6" + print("error: cannot extract zip files on win32 with older python < 2.6") else: - print "warning: avoiding zipfile.extractall on older python < 2.6" - print " skipping this extraction..." + print("warning: avoiding zipfile.extractall on older python < 2.6") + print(" skipping this extraction...") else: z = zipfile.ZipFile(filename) z.extractall(basedir) @@ -382,10 +382,10 @@ def Extract(basedir, url): else: if sys.version < '2.6': if sys.platform == 'win32': - print "error: cannot extract tar files on win32 with older python < 2.6" + print("error: cannot extract tar files on win32 with older python < 2.6") else: - print "warning: avoiding tarfile.extractall on older python < 2.6" - print " trying command line tar instead..." + print("warning: avoiding tarfile.extractall on older python < 2.6") + print(" trying command line tar instead...") origDir = os.getcwd() echoChDir(basedir) echoRunSysCmnd("tar -xzf " + href) @@ -407,13 +407,13 @@ def Install(basedir, url): dirname = ''.join([basedir, "/", href]) - print 'Installing ' + href + '...' - print ' src dir: [' + dirname + ']' - print ' dst dir: [' + options.installDir + ']' + print('Installing ' + href + '...') + print(' src dir: [' + dirname + ']') + print(' dst dir: [' + options.installDir + ']') if sys.platform == 'win32': if os.path.exists(options.installDir): - print "error: --install-dir '" + options.installDir + "' already exists - remove it or rename it and try again -- or manually copy the source directory '" + dirname + "' to the final installation location..." + print("error: --install-dir '" + options.installDir + "' already exists - remove it or rename it and try again -- or manually copy the source directory '" + dirname + "' to the final installation location...") sys.exit(1) shutil.copytree(dirname, options.installDir) @@ -451,7 +451,7 @@ def Install(basedir, url): pre = "bin" if pre == '': - print "error: could not determine CMake install tree structure - cannot create symlinks into unexpected directory structure" + print("error: could not determine CMake install tree structure - cannot create symlinks into unexpected directory structure") sys.exit(1) if not os.path.exists(options.symlinksDir): @@ -459,7 +459,7 @@ def Install(basedir, url): for exe in ('ccmake', 'cmake', 'cmake-gui', 'cmakexbuild', 'cpack', 'ctest'): if os.path.exists(options.installDir + "/" + pre + "/" + exe): - print "Creating " + exe + " symlink..." + print("Creating " + exe + " symlink...") echoRunSysCmnd("ln -fs \"" + options.installDir + "/" + pre + "/" + exe + "\" \"" + options.symlinksDir + "/" + exe + "\"") @@ -472,8 +472,8 @@ def DownloadForPlatform(p): def PrintDetectedDownloads(detected): - print "" - print "Detected CMake downloads available:" + print ("") + print ("Detected CMake downloads available:") sorted_keys = detected.keys() sorted_keys.sort() @@ -486,12 +486,12 @@ def PrintDetectedDownloads(detected): detected_urls.append(cmake_baseurl + "/" + k + "/" + v[1]) for u in detected_urls: - print "[" + u + "]" + print("[" + u + "]") def PrintVerifiedDownloads(): - print "" - print "Verified CMake downloads:" + print("") + print("Verified CMake downloads:") verified_urls = list() @@ -512,7 +512,7 @@ def PrintVerifiedDownloads(): verified_urls.append(v[1]) for u in verified_urls: - print "[" + u + "]" + print("[" + u + "]") # Read file "CMakeVersions.py" from the same directory that this script lives @@ -554,42 +554,42 @@ def ReadWriteCMakeVersionsFile(download_dir, detected): else: fw.write(line) - print "" - print "Wrote new '" + wfname + "' -- copy to '" + rfname + "' (if different) to use newly detected installers." + print("") + print("Wrote new '" + wfname + "' -- copy to '" + rfname + "' (if different) to use newly detected installers.") # # The main script # -print "" -print "**************************************************************************" -print "Script: download-cmake.py \\" +print("") +print("**************************************************************************") +print("Script: download-cmake.py \\") if options.allPlatforms: - print " --all-platforms \\" -print " --http-proxy="+options.httpProxy+" \\" -print " --https-proxy="+options.httpsProxy+" \\" -print " --install-dir="+options.installDir+" \\" -print " --installer-type="+options.installerType+" \\" + print(" --all-platforms \\") +print(" --http-proxy="+options.httpProxy+" \\") +print(" --https-proxy="+options.httpsProxy+" \\") +print(" --install-dir="+options.installDir+" \\") +print(" --installer-type="+options.installerType+" \\") if options.skipDetect: - print " --skip-detect \\" + print(" --skip-detect \\") if options.skipDownload: - print " --skip-download \\" + print(" --skip-download \\") if options.skipExtract: - print " --skip-extract \\" + print(" --skip-extract \\") if options.skipInstall: - print " --skip-install \\" + print(" --skip-install \\") if options.symlinks: - print " --symlinks \\" + print(" --symlinks \\") if options.symlinksDir != '': - print " --symlinks-dir="+options.symlinksDir+" \\" + print(" --symlinks-dir="+options.symlinksDir+" \\") if not options.httpProxy and not default_http_proxy: - print "\nWARNING: Could not detect default http proxy for '"+hostname+"'!" + print("\nWARNING: Could not detect default http proxy for '"+hostname+"'!") if not options.httpsProxy and not default_https_proxy: - print "\nWARNING: Could not detect default https proxy for '"+hostname+"'!" + print("\nWARNING: Could not detect default https proxy for '"+hostname+"'!") download_dir = "download_area" @@ -603,17 +603,17 @@ if options.installerType == 'rc': if options.installerType == 'dev': binaries = cmake_dev_binaries if binaries == None: - print "error: unknown --installer-type: [" + options.installerType + "]" + print("error: unknown --installer-type: [" + options.installerType + "]") sys.exit(1) -print "" -print "" -print "A) Detect the latest available builds of CMake ..." -print " (requires network access to www.cmake.org)" -print "" +print("") +print("") +print("A) Detect the latest available builds of CMake ...") +print(" (requires network access to www.cmake.org)") +print("") if options.skipDetect: - print "Skipping on request ..." + print("Skipping on request ...") else: detected = dict() @@ -627,40 +627,40 @@ else: ReadWriteCMakeVersionsFile(download_dir, detected) -print "" -print "" -print "B) Download CMake for --installer-type '" + options.installerType + "' ..." -print " (requires network access to www.cmake.org)" -print "" +print("") +print("") +print("B) Download CMake for --installer-type '" + options.installerType + "' ...") +print(" (requires network access to www.cmake.org)") +print("") if options.skipDownload: - print "Skipping on request ..." + print("Skipping on request ...") else: for binary in binaries: if DownloadForPlatform(binary[0]): Download(download_dir, binary[1]) -print "" -print "" -print "C) Extract the CMake install tree ..." -print "" +print("") +print("") +print("C) Extract the CMake install tree ...") +print("") if options.skipExtract: - print "Skipping on request ..." + print("Skipping on request ...") else: for binary in binaries: if DownloadForPlatform(binary[0]): Extract(download_dir, binary[1]) -print "" -print "" -print "D) Install (copy the CMake install tree) ..." -print "" +print("") +print("") +print("D) Install (copy the CMake install tree) ...") +print("") if options.skipInstall: - print "Skipping on request ..." + print("Skipping on request ...") else: for binary in binaries: if binary[0] == sys.platform: ++++++ Fix-control-reaches-end-of-non-void-function-error.patch ++++++ From: Egbert Eich <[email protected]> Date: Fri Jan 14 23:44:34 2022 +0100 Subject: Fix 'control reaches end of non-void function' error. Patch-mainline: Not yet Git-commit: f74562130e369f6c28acbb4f4ed0e845aa039063 References: Signed-off-by: Egbert Eich <[email protected]> --- packages/zoltan/src/params/free_params.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/zoltan/src/params/free_params.c b/packages/zoltan/src/params/free_params.c index a36b7355..d72650e8 100644 --- a/packages/zoltan/src/params/free_params.c +++ b/packages/zoltan/src/params/free_params.c @@ -117,6 +117,7 @@ int Zoltan_Serialize_Params(struct Zoltan_Struct const *from, char **buf) param = param->next; } *buf = bufptr; + return 0; } int Zoltan_Deserialize_Params(struct Zoltan_Struct *to, char **buf) @@ -137,6 +138,7 @@ int Zoltan_Deserialize_Params(struct Zoltan_Struct *to, char **buf) bufptr += 2 * MAX_PARAM_STRING_LEN; } *buf = bufptr; + return 0; } int Zoltan_Copy_Params(PARAM_LIST **to, PARAM_LIST const *from) ++++++ Make-include-and-library-path-configurable-using-Cmake-variables.patch ++++++ From: Egbert Eich <[email protected]> Date: Sat Feb 5 14:50:58 2022 +0100 Subject: Make include and library path configurable using Cmake variables Patch-mainline: Not yet Git-commit: bb4d470ecb2ff1b36c35c05dd1ab846bd1b3510b References: The include and library paths used may be different than the default (lib, include). Attempt to get their values from ${PROJECT_NAME}_INSTALL_INCLUDE_DIR and ${PROJECT_NAME}_INSTALL_LIB_DIR. Determine whether they are relative to CMAKE_INSTALL_PREFIX. Signed-off-by: Egbert Eich <[email protected]> --- packages/seacas/scripts/CMakeLists.txt | 21 +++++++++++++++++++++ packages/seacas/scripts/exodus2.in.py | 6 +++--- packages/seacas/scripts/exodus3.in.py | 6 +++--- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/packages/seacas/scripts/CMakeLists.txt b/packages/seacas/scripts/CMakeLists.txt index 0d5d04c8..4f141449 100644 --- a/packages/seacas/scripts/CMakeLists.txt +++ b/packages/seacas/scripts/CMakeLists.txt @@ -5,6 +5,27 @@ endif() SET( ACCESSDIR ${CMAKE_INSTALL_PREFIX} ) SET( SEPARATOR "_") +IF( ${${PROJECT_NAME}_INSTALL_INCLUDE_DIR} MATCHES "^${CMAKE_INSTALL_PREFIX}.*" ) + STRING( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "" + SEACAS_INCLUDE "${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}" ) + STRING( REGEX REPLACE "^/" "" + SEACAS_INCLUDE "${SEACAS_INCLUDE}" ) +ELSEIF( NOT ${${PROJECT_NAME}_INSTALL_INCLUDE_DIR} MATCHES "^/" ) + SET( SEACAS_INCLUDE "${${PROJECT_NAME}_INSTALL_INCLUDE_DIR}" ) +ELSE() + SET( SEACAS_INCLUDE "include" ) +ENDIF() +IF( ${${PROJECT_NAME}_INSTALL_LIB_DIR} MATCHES "^${CMAKE_INSTALL_PREFIX}.*" ) + STRING( REGEX REPLACE "^${CMAKE_INSTALL_PREFIX}" "" + SEACAS_LIB "${${PROJECT_NAME}_INSTALL_LIB_DIR}" ) + STRING( REGEX REPLACE "^/" "" + SEACAS_LIB "${SEACAS_LIB}") +ELSEIF( NOT ${CMAKE_INSTALL_LIBDIR} MATCHES "^/" ) + SET( SEACAS_LIB "${${PROJECT_NAME}_INSTALL_LIB_DIR}" ) +ELSE() + SET( SEACAS_LIB "lib" ) +ENDIF() + ASSERT_DEFINED(${PROJECT_NAME}_ENABLE_SEACASNemspread) ASSERT_DEFINED(${PROJECT_NAME}_ENABLE_SEACASNemslice) IF (${PROJECT_NAME}_ENABLE_SEACASNemspread AND ${PROJECT_NAME}_ENABLE_SEACASNemslice) diff --git a/packages/seacas/scripts/exodus2.in.py b/packages/seacas/scripts/exodus2.in.py index b07b31ca..da1346bc 100644 --- a/packages/seacas/scripts/exodus2.in.py +++ b/packages/seacas/scripts/exodus2.in.py @@ -60,7 +60,7 @@ def getExodusVersion(): version_major = 0 version_minor = 0 ACCESS = os.getenv('ACCESS', '@ACCESSDIR@') - for line in open(ACCESS + "/include/exodusII.h"): + for line in open(ACCESS + "/@SEACAS_INCLUDE@/exodusII.h"): fields = line.split() if (len(fields) == 3 and fields[0] == '#define' and @@ -76,9 +76,9 @@ def getExodusVersion(): ACCESS = os.getenv('ACCESS', '@ACCESSDIR@') if os.uname()[0] == 'Darwin': - EXODUS_SO = ACCESS + "/lib/libexodus.dylib" + EXODUS_SO = ACCESS + "/@SEACAS_LIB@/libexodus.dylib" else: - EXODUS_SO = ACCESS + "/lib/libexodus.so" + EXODUS_SO = ACCESS + "/@SEACAS_LIB@/libexodus.so" EXODUS_LIB = cdll.LoadLibrary(EXODUS_SO) MAX_STR_LENGTH = 32 # match exodus default diff --git a/packages/seacas/scripts/exodus3.in.py b/packages/seacas/scripts/exodus3.in.py index 3fc5c45a..10b672e5 100644 --- a/packages/seacas/scripts/exodus3.in.py +++ b/packages/seacas/scripts/exodus3.in.py @@ -116,7 +116,7 @@ def getExodusVersion(): """ version_major = -1 version_minor = -1 - with open(ACCESS + "/include/exodusII.h") as header_file: + with open(ACCESS + "/@SEACAS_INCLUDE@/exodusII.h") as header_file: for line in header_file: fields = line.split() if (len(fields) == 3 and @@ -162,9 +162,9 @@ class ex_options(Enum): ACCESS = os.getenv('ACCESS', '@ACCESSDIR@') if os.uname()[0] == 'Darwin': - EXODUS_SO = ACCESS + "/lib/libexodus.dylib" + EXODUS_SO = ACCESS + "/@SEACAS_LIB@/libexodus.dylib" else: - EXODUS_SO = ACCESS + "/lib/libexodus.so" + EXODUS_SO = ACCESS + "/@SEACAS_LIB@/libexodus.so" EXODUS_LIB = ctypes.cdll.LoadLibrary(EXODUS_SO) MAX_STR_LENGTH = 32 # match exodus default ++++++ Not-a-shell-script.patch ++++++ From: Egbert Eich <[email protected]> Date: Mon Jan 17 13:25:40 2022 +0100 Subject: Not a shell script! Patch-mainline: Not yet Git-commit: 88e1abeec79e51fd7bf7aa833c915b3cc31d3eb0 References: Signed-off-by: Egbert Eich <[email protected]> --- .../core/installation/set_installed_group_and_permissions.cmake.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/cmake/tribits/core/installation/set_installed_group_and_permissions.cmake.in b/cmake/tribits/core/installation/set_installed_group_and_permissions.cmake.in index d446c883..53cf2091 100644 --- a/cmake/tribits/core/installation/set_installed_group_and_permissions.cmake.in +++ b/cmake/tribits/core/installation/set_installed_group_and_permissions.cmake.in @@ -1,5 +1,3 @@ -#!/bin/sh - # # Configured inputs # ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.ZiHgza/_old 2022-02-13 00:15:27.316126342 +0100 +++ /var/tmp/diff_new_pack.ZiHgza/_new 2022-02-13 00:15:27.316126342 +0100 @@ -2,11 +2,15 @@ <constraints> <hardware> <disk> - <size unit="G">24</size> + <size unit="G">16</size> </disk> <memory> - <size unit="G">9</size> + <size unit="G">5</size> </memory> + <memoryperjob> + <!-- actually not sufficient, see limit_build --> + <size unit="G">1</size> + </memoryperjob> </hardware> <overwrite> <conditions> ++++++ _multibuild ++++++ --- /var/tmp/diff_new_pack.ZiHgza/_old 2022-02-13 00:15:27.336126399 +0100 +++ /var/tmp/diff_new_pack.ZiHgza/_new 2022-02-13 00:15:27.340126410 +0100 @@ -3,6 +3,7 @@ <package>documentation-hpc</package> <package>serial</package> <package>openmpi2</package> + <package>openmpi4</package> <package>gnu-openmpi2-hpc</package> <package>gnu-openmpi3-hpc</package> <package>gnu-openmpi4-hpc</package> ++++++ trilinos-release-13-0-1.tar.gz -> trilinos-release-13-2-0.tar.gz ++++++ /work/SRC/openSUSE:Factory/trilinos/trilinos-release-13-0-1.tar.gz /work/SRC/openSUSE:Factory/.trilinos.new.1956/trilinos-release-13-2-0.tar.gz differ: char 12, line 1
