Hello community,

here is the log from the commit of package suse-hpc for openSUSE:Factory 
checked in at 2018-11-19 23:33:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/suse-hpc (Old)
 and      /work/SRC/openSUSE:Factory/.suse-hpc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "suse-hpc"

Mon Nov 19 23:33:17 2018 rev:14 rq:650134 version:0.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/suse-hpc/suse-hpc.changes        2018-11-13 
17:50:06.295581831 +0100
+++ /work/SRC/openSUSE:Factory/.suse-hpc.new/suse-hpc.changes   2018-11-19 
23:33:28.307088207 +0100
@@ -1,0 +2,18 @@
+Mon Nov 19 01:19:05 UTC 2018 - [email protected]
+
+- Improve python handling:
+  * set python3 as default for Factory
+  * allow to specify subdir to HPC pyton path
+  * Do not remove executable flag on .so files
+
+-------------------------------------------------------------------
+Sun Nov 18 10:19:22 UTC 2018 - [email protected]
+
+- Expand modules handling (bsc#1116458):
+  * add %%hpc_modules_init to store the list of modules
+  * if a modules list is available, use environment during
+    dependency generation to exclude objects which will be
+    found thru environment modules.
+  * bump package version.
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ suse-hpc.spec ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.251085961 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.255085956 +0100
@@ -20,7 +20,7 @@
 License:        BSD-3-Clause
 Group:          Productivity/Clustering/Computing
 Name:           suse-hpc
-Version:        0.3
+Version:        0.4
 Release:        0
 Source0:        macros.hpc
 Source1:        dlinfo.c

++++++ _service ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.291085915 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.291085915 +0100
@@ -5,8 +5,8 @@
     <param name="package-meta">no</param>
     <param name="exclude">.git</param>
     <param name="filename">suse-hpc</param>
-    <param name="versionformat">0.1.%h</param>
-    <param name="revision">d6d9c0fddeefd4f22d4aa44d6a9f7bc7f625bcba</param>
+    <param name="versionformat">0.4.%h</param>
+    <param name="revision">87f3f2c336d9dc5f9e8874e7639459371cfae3b0</param>
        <param name="extract">general/dlinfo.c</param>
        <param name="extract">general/macros.hpc</param>
        <param name="extract">general/hpc_elf.pl</param>

++++++ hpc_elf.attr ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.311085892 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.315085886 +0100
@@ -1,5 +1,5 @@
 %__hpc_elf_provides         %{_rpmconfigdir}/hpc_elf.pl --provides 
%{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
-%__hpc_elf_requires         %{_rpmconfigdir}/hpc_elf.pl --requires 
%{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
+%__hpc_elf_requires         %{_rpmconfigdir}/hpc_elf.pl 
%{?_hpc_modules:--modules "%_hpc_modules"} --requires 
%{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
 %__hpc_elf_magic            ^(setuid )?(setgid )?(sticky )?ELF 
(32|64)-bit.*executable
 %__hpc_elf_path             %hpc_prefix
 %__hpc_elf_flags            exeonly

++++++ hpc_elf.pl ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.323085878 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.323085878 +0100
@@ -49,6 +49,8 @@
         $a =~ /--no-fake-soname/ ||
         $a =~ /--filter-private/ ) {
         $arglist .= " " . $a;
+    } elsif ( $a =~ /--modules/ ) {
+       $modules = shift @ARGV;
     } elsif ( $a =~ /--help/ || $a =~ /-?/ ) {
        help;
     } elsif ( $a =~ /--usage/ ) {
@@ -60,6 +62,11 @@
 
 open HANDLE, "$command $arglist |";
 
+if ( $modules ) {
+    $ldlibrarypath = `module load $modules; echo \$LD_LIBRARY_PATH`;
+    chop $ldlibrarypath;
+}
+
 while ((chop($line = <HANDLE>))) {
     $line =~ /([^\(]+)(.*)/;
     $libs{$1}{$2} = 1;
@@ -67,8 +74,15 @@
 
 foreach $lib ( keys %libs ) {
     $full=`$dlinfo $lib`;
+    chop $full;
     if (!$full) {
        delete $libs{$lib};
+    } elsif ( $ldlibrarypath ) {
+       $hpc = `LD_LIBRARY_PATH=$ldlibrarypath $dlinfo $lib`;
+       chop $hpc;
+       if ( $full ne $hpc) {
+           delete $libs{$lib};
+       }
     }
 }
 foreach $lib ( keys %libs ) {

++++++ hpc_elflib.attr ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.339085859 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.339085859 +0100
@@ -1,5 +1,5 @@
 %__hpc_elflib_provides         %{_rpmconfigdir}/hpc_elf.pl --provides 
--assume-exec %{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
-%__hpc_elflib_requires         %{_rpmconfigdir}/hpc_elf.pl --requires 
--assume-exec %{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
+%__hpc_elflib_requires         %{_rpmconfigdir}/hpc_elf.pl 
%{?_hpc_modules:--modules "%_hpc_modules"} --requires --assume-exec 
%{?__filter_GLIBC_PRIVATE:--filter-private} %{?hpc_dep_gen_attr}
 %__hpc_elflib_magic            ^(setuid )?(setgid )?(sticky )?ELF 
(32|64)-bit.*executable
 %__hpc_elflib_path             ^%hpc_prefix
 %__hpc_elflib_flags            exeonly

++++++ macros.hpc ++++++
--- /var/tmp/diff_new_pack.HOrcJk/_old  2018-11-19 23:33:30.363085832 +0100
+++ /var/tmp/diff_new_pack.HOrcJk/_new  2018-11-19 23:33:30.363085832 +0100
@@ -168,7 +168,7 @@
   %global tmp %__elflib_exclude_path \
   %global  __elflib_exclude_path (%tmp)|(^%hpc_base) \
   %undefine tmp \
-  %{expand:%([ 0%{?sle_version} -ge 150000 ] && echo %%global _hpc_python3 1)} 
\
+  %{expand:%([ 0%{?sle_version} -ge 150000 -o 0%{?suse_version} -gt 1500 ] && 
echo %%global _hpc_python3 1)} \
   %global _hpc_init_done 1
 
 %hpc_init(Cc:Mm:v:V:e:) %{expand:%%_hpc_init %{**}}
@@ -196,6 +196,15 @@
 # This can be overridden in the spec file.
 %hpc_module_pname %pname
 
+# Modules init: Set up modules required for building
+# %hpc_modules_init <module_list>
+# <module_list>: list of modules (exclude compiler and MPI library).
+#                May be empty if only compiler and MPI library are needed.
+%hpc_modules_init() \
+  %{!?_hpc_init_done: %{error: "%%hpc_setup_compiler: Call %%hpc_init 
first!"}} \
+  %{?*:%global _hpc_modules_other %{**}} \
+   %global _hpc_modules 
%{?hpc_compiler_family:%{expand:%%{?%{expand:_hpc_%{hpc_compiler_family}_module}}}}
 %{?hpc_mpi_family:%{expand:%%{?%{expand:_hpc_%{hpc_mpi_family}_module}}}} 
%{?_hpc_modules_other}
+
 %hpc_setup_compiler  \
   %{!?_hpc_init_done: %{error: "%%hpc_setup_compiler: Call %%hpc_init 
first!"}} \
    module purge \
@@ -206,7 +215,8 @@
 
 %hpc_setup \
    %hpc_setup_compiler  \
-   %{!?_hpc_build_mpi:%hpc_setup_mpi}
+   %{!?_hpc_build_mpi:%hpc_setup_mpi} \
+   %{?_hpc_modules_other:[ -n "%{?_hpc_modules_other}" ] && module load 
%_hpc_modules_other}
 
 # delete default in %postun
 %hpc_module_delete_if_default \
@@ -594,18 +604,18 @@
      fi \
   done
 
-# %hpc_python_mv_to_sitearch <file>
+# %hpc_python_mv_to_sitearch <file> [<subdir>]
 #
-# move <file> to python sitearch, remove shebang lines and
-# remove any excecute permissions.
+# move <file> to python sitearch subdir <subdir> if set, remove shebang
+# lines and remove any excecute permissions.
 # This should be done on any python files that do not contain
 # any executable code.
 %hpc_python_mv_to_sitearch() \
-  _hpc_pydir=%hpc_python_sitearch_no_singlespec \
+  _hpc_pydir=%{hpc_python_sitearch_no_singlespec}%{?2:/%{2}} \
   _hpc_base=$(basename %{1}) \
-  [ -d %{buildroot}/$_hpc_pydir ] || mkdir -p %{buildroot}/$_hpc_pydir \
-  mv %{buildroot}%{1} %{buildroot}/$_hpc_pydir \
-  chmod a-x %{buildroot}/$_hpc_pydir/$_hpc_base \
+  [ -d %{buildroot}/$_hpc_pydir ] || mkdir -p %{buildroot}/${_hpc_pydir} \
+  mv %{buildroot}%{1} %{buildroot}/${_hpc_pydir} \
+  [[ "$_hpc_base" =~ .*\.so ]] || chmod a-x 
%{buildroot}/$_hpc_pydir/$_hpc_base \
   %{hpc_shebang_remove %{buildroot}/$_hpc_pydir/$_hpc_base}
 
 # %hpc_verify_python3 <file>


Reply via email to