Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package ocaml-rpm-macros for
openSUSE:Factory checked in at 2021-04-22 18:03:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml-rpm-macros (Old)
and /work/SRC/openSUSE:Factory/.ocaml-rpm-macros.new.12324 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml-rpm-macros"
Thu Apr 22 18:03:29 2021 rev:13 rq:887313 version:20210421
Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml-rpm-macros/ocaml-rpm-macros.changes
2021-02-15 23:10:25.510869311 +0100
+++
/work/SRC/openSUSE:Factory/.ocaml-rpm-macros.new.12324/ocaml-rpm-macros.changes
2021-04-22 18:03:45.806487933 +0200
@@ -1,0 +2,16 @@
+Wed Apr 21 12:34:56 UTC 2021 - [email protected]
+
+- Remove ocaml_native_compiler flag, assume native target
+ This flag puts too much burden on pkgs that use ocaml, but build
+ with their buildsystem instead of using dune
+
+-------------------------------------------------------------------
+Fri Apr 9 09:09:09 UTC 2021 - [email protected]
+
+- Use bcond suse_ocaml_use_rpm_license_macro for license in filelist
+- Add suse prefix to ocaml_native_compiler to avoid conflict
+- Create Provides/Requires only for rpm variants which understand fileattrs
+- Fix syntax for chmod of .cmxs
+- Add conditional to disable debug_package macro when building with broken rpm
variants
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ocaml-rpm-macros.spec ++++++
--- /var/tmp/diff_new_pack.bbLdvQ/_old 2021-04-22 18:03:46.222488576 +0200
+++ /var/tmp/diff_new_pack.bbLdvQ/_new 2021-04-22 18:03:46.226488582 +0200
@@ -17,38 +17,31 @@
Name: ocaml-rpm-macros
-Version: 20210209
+Version: 20210421
Release: 0
Summary: RPM macros for building OCaml source packages
License: GPL-2.0-only
Group: Development/Languages/OCaml
+BuildRoot: %_tmppath/%name-%version-build
+ExclusiveArch: %arm aarch64 %ix86 ppc ppc64 ppc64le riscv64 s390x x86_64
URL: https://build.opensuse.org/project/show/devel:languages:ocaml
Source0: ocaml-ocaml.rpm.prov_req.attr.sh
Source1: ocaml-findlib.rpm.prov_req.attr.sh
+# Some rpm variants know about license, but can only use them in plain file
context
+%bcond_without suse_ocaml_use_rpm_license_macro
+# Some rpm variants are unable to create proper debuginfo and/or debugsource
packages
+%bcond_without suse_ocaml_opt_debug_package
+# Some rpm variants fail to build even this innocent package...
+%define debug_package %{nil}
+
%define ocaml_standard_library %{_libdir}/ocaml
-%define do_opt 0
# macros to be set in prjconf:
#Macros:
-#_with_ocaml_force_enable_ocaml_opt 1
-#_with_ocaml_force_disable_ocaml_opt 1
#_with_ocaml_make_testsuite 1
#:Macros
-%bcond_with ocaml_force_enable_ocaml_opt
-%bcond_with ocaml_force_disable_ocaml_opt
%bcond_with ocaml_make_testsuite
-%if %{with ocaml_force_enable_ocaml_opt}
-%define do_opt 1
-%endif
-%if %{without ocaml_force_enable_ocaml_opt}
-%ifarch %{arm} aarch64 %{ix86} ppc ppc64 ppc64le riscv64 s390x x86_64
-%define do_opt 1
-%endif
-%endif
#
-%if %{with ocaml_force_disable_ocaml_opt}
-%define do_opt 0
-%endif
#
%description
@@ -63,30 +56,45 @@
%build
%install
-# map ocamlobjinfo output to rpm Provides/Requires
-# this tag name MUST match what ocaml.spec uses internally
-tag="suseocaml"
-mkdir -vp %{buildroot}%{_rpmconfigdir}/fileattrs
-tee %{buildroot}%{_rpmconfigdir}/fileattrs/${tag}.attr <<_EOF_
-%%__${tag}_provides %%{_rpmconfigdir}/${tag}.sh --provides
-%%__${tag}_requires %%{_rpmconfigdir}/${tag}.sh --requires
+> files.fileattrs
+if test -d '%{_rpmconfigdir}/fileattrs'
+then
+ # Generating dependencies can currently only be done by rpm versions
+ # which support "fileattrs", because it is easy to add new hooks.
+ mkdir -vp %{buildroot}%{_rpmconfigdir}/fileattrs
+
+ # Map ocamlobjinfo output to rpm Provides/Requires
+ # This tag name MUST match what ocaml.spec uses internally
+ tag="suseocaml"
+ file_attr="%{_rpmconfigdir}/fileattrs/${tag}.attr"
+ file_sh="%{_rpmconfigdir}/${tag}.sh"
+ attr_sh="%%{_rpmconfigdir}/${tag}.sh"
+ tee %{buildroot}${file_sh} < %{SOURCE0}
+ tee %{buildroot}${file_attr} <<_EOF_
+%%__${tag}_provides ${attr_sh} --provides
+%%__${tag}_requires ${attr_sh} --requires
%%__${tag}_magic ^(ELF|Objective caml|OCaml) .*$
%%__${tag}_path .(cma|cmi|cmo|cmx|cmxa|cmxs)$
%%__${tag}_flags magic_and_path
_EOF_
-#
-tee %{buildroot}%{_rpmconfigdir}/${tag}.sh < %{SOURCE0}
+ echo "${file_attr}" >> files.fileattrs
+ echo "%%attr(755,root,root) ${file_sh}" >> files.fileattrs
-# map findlib names to rpm Provides/Requires
-tag="suseocamlfind"
-mkdir -vp %{buildroot}%{_rpmconfigdir}/fileattrs
-tee %{buildroot}%{_rpmconfigdir}/fileattrs/${tag}.attr <<_EOF_
-%%__${tag}_provides %%{_rpmconfigdir}/${tag}.sh -prov
-%%__${tag}_requires %%{_rpmconfigdir}/${tag}.sh -req
+ # Map findlib names to rpm Provides/Requires
+ tag="suseocamlfind"
+ file_attr="%{_rpmconfigdir}/fileattrs/${tag}.attr"
+ file_sh="%{_rpmconfigdir}/${tag}.sh"
+ attr_sh="%%{_rpmconfigdir}/${tag}.sh"
+ tee %{buildroot}${file_sh} < %{SOURCE1}
+ tee %{buildroot}${file_attr} <<_EOF_
+%%__${tag}_provides ${attr_sh} -prov
+%%__${tag}_requires ${attr_sh} -req
%%__${tag}_path
^%{ocaml_standard_library}/.*/META$|^%{ocaml_standard_library}/META$
_EOF_
+ echo "${file_attr}" >> files.fileattrs
+ echo "%%attr(755,root,root) ${file_sh}" >> files.fileattrs
+fi
#
-tee %{buildroot}%{_rpmconfigdir}/${tag}.sh < %{SOURCE1}
# install OCaml macros
mkdir -vp %{buildroot}%{_rpmmacrodir}
@@ -108,20 +116,17 @@
# the .dwz files contains identical contents, which leads to identical
# checksums, which leads to file conflicts due to identical symlinks
%%ocaml_standard_library %{ocaml_standard_library}
-%if %{do_opt}
+%if %{without suse_ocaml_opt_debug_package}
+# Obviously, handling presence or absence of debug information works only when
being built in a SUSE system.
+%endif
%%ocaml_preserve_bytecode \
+%if %{without suse_ocaml_opt_debug_package}
+ %%define debug_package %%{nil} \
+ %%define __debug_install_post %%{nil} \
+%endif
%%define _lto_cflags %%{nil} \
%%{nil}
-%%ocaml_native_compiler 1
%%_find_debuginfo_dwz_opts %%{nil}
-%else
-%%ocaml_preserve_bytecode \
- %%undefine _build_create_debug \
- %%define __arch_install_post export NO_BRP_STRIP_DEBUG=true \
- %%define _lto_cflags %%{nil} \
- %%{nil}
-%%ocaml_native_compiler 0
-%endif
# Create file list for base pkg and base-devel pkg
# Files with known extensions or names are written to 'files' or 'files.devel'
@@ -157,14 +162,14 @@
LICENSE.txt \\\
;\
do\
-%if 0%{?suse_version} > 1315
+%if %{with suse_ocaml_use_rpm_license_macro}
license_macro='license' ;\
%else
license_macro='doc' ;\
%endif
test -f "${license}" && echo "%%%%${license_macro} ${license}" >>
'%%{name}.files.license' ;\
done ;\
- find %%{buildroot}%%{ocaml_standard_library} -name '*.cmxs' -exec chmod
-v a-x '{}' +\
+ find %%{buildroot}%%{ocaml_standard_library} -name '*.cmxs' -exec chmod
-v a-x '{}' + ;\
find %%{buildroot}%%{ocaml_standard_library} ! -type d | awk\\\
-v "buildroot=%%{buildroot}"\\\
-v "ocaml_standard_library=%%{ocaml_standard_library}"\\\
@@ -528,9 +533,8 @@
#
_EOF_
-%files
+%files -f files.fileattrs
+%defattr(-,root,root,-)
%{_rpmmacrodir}/*
-%{_rpmconfigdir}/fileattrs
-%attr(755,root,root) %{_rpmconfigdir}/*.sh
%changelog