Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package julia for openSUSE:Factory checked 
in at 2023-12-19 23:16:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/julia (Old)
 and      /work/SRC/openSUSE:Factory/.julia.new.9037 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "julia"

Tue Dec 19 23:16:03 2023 rev:2 rq:1133936 version:1.9.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/julia/julia.changes      2023-12-13 
18:35:12.482948635 +0100
+++ /work/SRC/openSUSE:Factory/.julia.new.9037/julia.changes    2023-12-19 
23:16:14.262418941 +0100
@@ -1,0 +2,43 @@
+Tue Dec 19 02:34:10 UTC 2023 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- Remove unsatisfactory architectures that does not guaranteed to build.
+  It seems x86_64 is the guaranteed to work anyway.
+
+-------------------------------------------------------------------
+Tue Dec 19 02:28:16 UTC 2023 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- Specfile cleanup:
+  * specify more dependencies
+    - openlibm-devel
+    - julia-devel or julia-compat-devel which provides libjulia.so
+
+-------------------------------------------------------------------
+Mon Dec 18 22:35:16 UTC 2023 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- Some dependencies require to be explicit since Julia uses dlopen
+  on it's stdlib and other julia scripts
+
+-------------------------------------------------------------------
+Mon Dec 18 14:24:24 UTC 2023 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- Specfile cleanup:
+  * Exclude now only bundled libs
+    - LLVM, uv, ccalltest, llvmcalltest, openblas with INTERFACE64 enabled,
+      libjulia-internal and libjulia-codegen
+  * Fdupe only /usr/share/julia.
+  * Define some dependencies that are dlopened
+
+-------------------------------------------------------------------
+Mon Dec 18 06:20:48 UTC 2023 - Soc Virnyl Estela 
<uncomfy+openbuildserv...@uncomfyhalomacro.pl>
+
+- There should be a package libjulia1. 
+- CFLAGS and CXXFLAGS use provided %optflags.
+- libjulia-compat1 should provide libjulia1 to fulfill soname shlib naming 
policies.
+- Remove unused rpmlints:
+  * devel-dependency
+- Turn all eol encondings to unix to all files
+- Add rpmlint for "W: hidden-file-or-dir 
/usr/share/julia/stdlib/v1.9/Pkg/test/test_packages/AugmentedPlatform/.pkg"
+  That contains julia scripts. Leave it alone.
+- fdupes at the end of the install section.
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ julia.spec ++++++
--- /var/tmp/diff_new_pack.TbNxce/_old  2023-12-19 23:16:16.778510565 +0100
+++ /var/tmp/diff_new_pack.TbNxce/_new  2023-12-19 23:16:16.794511148 +0100
@@ -26,18 +26,25 @@
 %global __provides_exclude_from ^%{_libdir}/%{name}/.*\\.so$
 
 # List all bundled libraries.
-%global _privatelibs 
lib(LLVM-.*|ccalltest|dSFMT|git2|llvmcalltest|openlibm|suitesparse_wrapper|mbedcrypto|mbedtls|mbedx509|uv)\\.so.*
+%global _privatelibs 
lib(LLVM-.*|ccalltest|llvmcalltest|uv|openblas.*|sys|julia.*)\\.so.*
 %global __provides_exclude ^(%{_privatelibs})$
 %global __requires_exclude ^(%{_privatelibs})$
 
 %define libjulia_sover_major 1
 %define libjulia_sover_minor 9
+
 %if "@BUILD_FLAVOR@%{nil}" == "compat"
 %define compat_mode  1
 %else
 %define compat_mode  0
 %endif
 
+%if 0%{?compat_mode}
+%define libname              libjulia-compat%{libjulia_sover_major}
+%else
+%define libname              libjulia%{libjulia_sover_major}
+%endif
+
 # LTO currently makes building blastrampoline and Julia itself fail
 # It is not enabled upstream anyway
 %global _lto_cflags %nil
@@ -68,6 +75,7 @@
 BuildRequires:  ca-certificates
 BuildRequires:  cmake
 BuildRequires:  dSFMT-devel
+BuildRequires:  dos2unix
 BuildRequires:  double-conversion-devel
 BuildRequires:  fdupes
 BuildRequires:  fftw3-threads-devel >= 3.3.4
@@ -110,6 +118,35 @@
 Requires:       ca-certificates
 Requires:       p7zip >= 16
 Requires:       readline
+
+# Libraries used by CompilerSupportLibraries_jll, blastrampoline,
+# nghttp2_jll but not detected as they are dlopen()ed but not linked to
+%if 0%{?__isa_bits} == 64
+Requires:       libgfortran.so.5()(64bit)
+Requires:       libgomp.so.1()(64bit)
+Requires:       libnghttp2.so.14()(64bit)
+%else
+Requires:       libgfortran.so.5
+Requires:       libgomp.so.1
+Requires:       libnghttp2.so.14
+%endif
+
+# Same as the previous comment. But the difference
+# is that we applied julia-hardcoded-libs.patch
+# so therefore it is needed
+Requires:       libblastrampoline-devel
+Requires:       libnghttp2-devel
+Requires:       openlibm-devel
+Requires:       suitesparse-devel
+
+# Julia requires the devel package as well
+# specifically libjulia.so
+%if 0%{?compat_mode}
+Requires:       julia-compat-devel
+%else
+Requires:       julia-devel
+%endif
+
 Requires(post): %{_sbindir}/update-alternatives
 Requires(post): %{_sbindir}/ldconfig
 Requires(postun):%{_sbindir}/update-alternatives
@@ -139,14 +176,10 @@
 Conflicts:      julia
 Provides:       julia = %{version}
 %endif
-# Since the 32-bit julia package is already being built using MARCH=pentium4,
-# which is the most generic flag supported, then the julia-compat mode only
-# makes sense for 64-bit architectures.
-%if 0%{?compat_mode}
+
+# Let's not be optimistic towards 32 bit support and other architectures
+# openSUSE cannot guarantee to support, shall we?
 ExclusiveArch:  x86_64
-%else
-ExclusiveArch:  %{ix86} x86_64 %{arm} aarch64 ppc64le
-%endif
 
 %description
 Julia is a high-level, high-performance dynamic programming language for
@@ -163,10 +196,10 @@
 %package        devel
 Summary:        Julia development, debugging and testing files
 Group:          Development/Languages/Other
-Requires:       %{name} = %{version}
+Requires:       %{libname} = %{version}
 %if 0%{?compat_mode}
 Conflicts:      julia-devel
-Provides:       julia-devel = %{version}
+Provides:       julia-devel
 %endif
 
 %description    devel
@@ -176,6 +209,17 @@
 in the Julia language, but rather for embedding Julia into external programs or
 debugging Julia itself.
 
+%package -n     %{libname}
+Summary:        Julia shared object libraries
+Group:          System/Libraries
+%if 0%{?compat_mode}
+Conflicts:      libjulia%{libjulia_sover_major}
+Provides:       libjulia%{libjulia_sover_major}
+%endif
+
+%description -n %{libname}
+Contains library files for interacting with Julia through C interfaces.
+
 %prep
 %setup -q -n julia-%{version}
 patch -p1 -i %{PATCH1}
@@ -246,15 +290,12 @@
     %define julia_march x86-64
 %endif
 
-%ifarch armv6l armv6hl aarch64
+%ifarch armv6l armv6hl
 export LDFLAGS="$LDFLAGS -latomic"
 %endif
 
-# We need these compilation flags to avoid error when building MBEDTLS with
-# GCC-11.
-# Ref.: https://build.opensuse.org/package/show/security:tls/mbedtls
-export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
-export CXXFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
+export CFLAGS="%{optflags}"
+export CXXFLAGS="%{optflags}"
 export 
LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
 
 pushd deps
@@ -327,11 +368,13 @@
 # make %{?_smp_mflags} test
 
 %install
-# We need these compilation flags to avoid error when building MBEDTLS with
-# GCC-11.
-# Ref.: https://build.opensuse.org/package/show/security:tls/mbedtls
-export CFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
-export CXXFLAGS="%{optflags} -Wno-stringop-overflow -Wno-maybe-uninitialized"
+
+%ifarch armv6l armv6hl
+export LDFLAGS="$LDFLAGS -latomic"
+%endif
+
+export CFLAGS="%{optflags}"
+export CXXFLAGS="%{optflags}"
 export 
LD_LIBRARY_PATH=%{_builddir}/%{buildsubdir}/build/usr/lib:%{_builddir}/%{buildsubdir}/build%{_libdir}:%{_builddir}/%{buildsubdir}/usr/lib
 
 make install DESTDIR=%{buildroot} \
@@ -424,9 +467,6 @@
 rm %{buildroot}%{_datadir}/appdata/julia.appdata.xml
 %endif
 
-# Remove duplicated files.
-%fdupes %{buildroot}
-
 %suse_update_desktop_file -r julia Science Math
 
 mv %{buildroot}%{_bindir}/julia %{buildroot}%{_bindir}/julia-base
@@ -439,6 +479,15 @@
 
 ln -sf %{_sysconfdir}/alternatives/julia %{buildroot}%{_bindir}/julia
 
+# Convert all eol encodings to Unix
+find %{buildroot} -type f -execdir dos2unix -k {} \;
+
+# make it executable
+chmod +x 
%{buildroot}%{_datadir}/julia/stdlib/v1.9/SparseArrays/gen/generator.jl
+
+# Remove duplicated files.
+%fdupes %{buildroot}%{_datadir}/julia
+
 %post
 %{_sbindir}/update-alternatives --install %{_bindir}/julia \
     julia %{_bindir}/julia-base 5
@@ -450,8 +499,10 @@
 fi
 %{_sbindir}/ldconfig
 
-%post   devel -p /sbin/ldconfig
-%postun devel -p /sbin/ldconfig
+%post   devel -p %{_sbindir}/ldconfig
+%postun devel -p %{_sbindir}/ldconfig
+%post   -n %{libname} -p %{_sbindir}/ldconfig
+%postun -n %{libname} -p %{_sbindir}/ldconfig
 
 %files
 %doc CONTRIBUTING.md NEWS.md README.md
@@ -477,7 +528,6 @@
 %{_datadir}/applications/julia.desktop
 %{_prefix}/lib/julia
 %{_libdir}/julia/
-%{_libdir}/libjulia.so.%{libjulia_sover_major}.%{libjulia_sover_minor}
 %{_mandir}/man1/julia.1%{?ext_man}
 %dir %{_sysconfdir}/julia/
 %config(noreplace) %{_sysconfdir}/julia/startup.jl
@@ -486,6 +536,8 @@
 %{_datadir}/julia/test/
 %{_datadir}/julia/julia-config.jl
 %{_includedir}/julia/
-%{_libdir}/libjulia.so.%{libjulia_sover_major}
 %{_libdir}/libjulia.so
 
+%files -n %{libname}
+%{_libdir}/libjulia.so.*
+

++++++ julia-rpmlintrc ++++++
--- /var/tmp/diff_new_pack.TbNxce/_old  2023-12-19 23:16:17.390532852 +0100
+++ /var/tmp/diff_new_pack.TbNxce/_new  2023-12-19 23:16:17.394532997 +0100
@@ -5,6 +5,9 @@
 # We should not unstrip sofiles or binaries generated from this package
 # https://github.com/JuliaLang/julia/issues/17941
 addFilter("unstripped-binary-or-object")
-# Julia should be an exception. Otherwise, it fails to execute :)
+addFilter("W: hidden-file-or-dir 
/usr/share/julia/stdlib/v1.9/Pkg/test/test_packages/AugmentedPlatform/*")
+# Julia is unique that rpm cant detect what it needs because
+# it is dlopened
+addFilter("explicit-lib-dependency")
 addFilter("devel-dependency")
 

Reply via email to