Spec URL: https://download.copr.fedorainfracloud.org/results/gui1ty/neuro-sig/fedora-rawhide-x86_64/06707494-sandia-omega-h/sandia-omega-h.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/gui1ty/neuro-sig/fedora-rawhide-x86_64/06707494-sandia-omega-h/sandia-omega-h-10.1.0-8.fc40.src.rpm Description: Omega_h is a C++14 library that implements tetrahedron and triangle mesh adaptativity, with a focus on scalable HPC performance using (optionally) MPI and OpenMP or CUDA. It is intended to provided adaptive functionality to existing simulation codes. Mesh adaptivity allows one to minimize both discretization error and number of degrees of freedom live during the simulation, as well as enabling moving object and evolving geometry simulations. Omega_h will do this for you in a way that is fast, memory-efficient, and portable across many different architectures. Fedora Account System Username: gui1ty Copr Build: https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/build/6707494/
Since this is the first package in C/C++ I built from scratch, I'm open to all criticism and suggestions. In particular, I would welcome comments on enabling `Omega_h_THROW`. The default is off and the comment reads "errors throw exceptions instead of abort".
Copr build: https://copr.fedorainfracloud.org/coprs/build/6707554 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2252229-sandia-omega-h/fedora-rawhide-x86_64/06707554-sandia-omega-h/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Ping? It's been more than a week since this bug was assigned. No activity since.
Some warnings from fedora-review: sandia-omega-h-openmpi-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-openmpi-doc/example/castle/osh_castle sandia-omega-h-openmpi-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-openmpi-doc/example/field_on_square/osh_field_on_square sandia-omega-h-openmpi-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-openmpi-doc/example/gradient/osh_gradient sandia-omega-h-openmpi-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-openmpi-doc/example/laplacian/osh_laplacian sandia-omega-h-mpich-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-mpich-doc/example/castle/osh_castle sandia-omega-h-mpich-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-mpich-doc/example/field_on_square/osh_field_on_square sandia-omega-h-mpich-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-mpich-doc/example/gradient/osh_gradient sandia-omega-h-mpich-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-mpich-doc/example/laplacian/osh_laplacian sandia-omega-h-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-doc/example/castle/osh_castle sandia-omega-h-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-doc/example/field_on_square/osh_field_on_square sandia-omega-h-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-doc/example/gradient/osh_gradient sandia-omega-h-doc.aarch64: W: unstripped-binary-or-object /usr/share/doc/sandia-omega-h-doc/example/laplacian/osh_laplacian sandia-omega-h-openmpi-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-openmpi-doc/example/castle/osh_castle sandia-omega-h-openmpi-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-openmpi-doc/example/field_on_square/osh_field_on_square sandia-omega-h-openmpi-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-openmpi-doc/example/gradient/osh_gradient sandia-omega-h-openmpi-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-openmpi-doc/example/laplacian/osh_laplacian sandia-omega-h-mpich-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-mpich-doc/example/castle/osh_castle sandia-omega-h-mpich-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-mpich-doc/example/field_on_square/osh_field_on_square sandia-omega-h-mpich-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-mpich-doc/example/gradient/osh_gradient sandia-omega-h-mpich-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-mpich-doc/example/laplacian/osh_laplacian sandia-omega-h-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-doc/example/castle/osh_castle sandia-omega-h-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-doc/example/field_on_square/osh_field_on_square sandia-omega-h-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-doc/example/gradient/osh_gradient sandia-omega-h-doc.aarch64: W: spurious-executable-perm /usr/share/doc/sandia-omega-h-doc/example/laplacian/osh_laplacian sandia-omega-h-openmpi-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-openmpi-doc/example/castle/osh_castle (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-openmpi/src:/usr/lib64/openmpi/lib) sandia-omega-h-openmpi-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-openmpi-doc/example/field_on_square/osh_field_on_square (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-openmpi/src:/usr/lib64/openmpi/lib) sandia-omega-h-openmpi-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-openmpi-doc/example/gradient/osh_gradient (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-openmpi/src:/usr/lib64/openmpi/lib) sandia-omega-h-openmpi-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-openmpi-doc/example/laplacian/osh_laplacian (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-openmpi/src:/usr/lib64/openmpi/lib) sandia-omega-h-mpich-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-mpich-doc/example/castle/osh_castle (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-mpich/src:/usr/lib64/mpich/lib) sandia-omega-h-mpich-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-mpich-doc/example/field_on_square/osh_field_on_square (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-mpich/src:/usr/lib64/mpich/lib) sandia-omega-h-mpich-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-mpich-doc/example/gradient/osh_gradient (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-mpich/src:/usr/lib64/mpich/lib) sandia-omega-h-mpich-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-mpich-doc/example/laplacian/osh_laplacian (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/build-mpich/src:/usr/lib64/mpich/lib) sandia-omega-h-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-doc/example/castle/osh_castle (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src) sandia-omega-h-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-doc/example/field_on_square/osh_field_on_square (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src) sandia-omega-h-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-doc/example/gradient/osh_gradient (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src) sandia-omega-h-doc.aarch64: E: binary-or-shlib-defines-rpath /usr/share/doc/sandia-omega-h-doc/example/laplacian/osh_laplacian (RUNPATH: /builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src) sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/castle/CMakeFiles/osh_castle.dir/main.cpp.o sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/castle/osh_castle sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/field_on_square/CMakeFiles/osh_field_on_square.dir/main.cpp.o sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/field_on_square/osh_field_on_square sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/gradient/CMakeFiles/osh_gradient.dir/main.cpp.o sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/gradient/osh_gradient sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/laplacian/CMakeFiles/osh_laplacian.dir/main.cpp.o sandia-omega-h-openmpi-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-openmpi-doc/example/laplacian/osh_laplacian sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/castle/CMakeFiles/osh_castle.dir/main.cpp.o sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/castle/osh_castle sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/field_on_square/CMakeFiles/osh_field_on_square.dir/main.cpp.o sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/field_on_square/osh_field_on_square sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/gradient/CMakeFiles/osh_gradient.dir/main.cpp.o sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/gradient/osh_gradient sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/laplacian/CMakeFiles/osh_laplacian.dir/main.cpp.o sandia-omega-h-mpich-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-mpich-doc/example/laplacian/osh_laplacian sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/castle/CMakeFiles/osh_castle.dir/main.cpp.o sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/castle/osh_castle sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/field_on_square/CMakeFiles/osh_field_on_square.dir/main.cpp.o sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/field_on_square/osh_field_on_square sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/gradient/CMakeFiles/osh_gradient.dir/main.cpp.o sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/gradient/osh_gradient sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/laplacian/CMakeFiles/osh_laplacian.dir/main.cpp.o sandia-omega-h-doc.aarch64: E: arch-dependent-file-in-usr-share /usr/share/doc/sandia-omega-h-doc/example/laplacian/osh_laplacian
I guess I will need to install the examples in %{_libdir}. I have disabled examples for now. I also fixed the issue with %{summary} in the sub packages. Spec URL: https://download.copr.fedorainfracloud.org/results/gui1ty/neuro-sig/fedora-rawhide-x86_64/06743645-sandia-omega-h/sandia-omega-h.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/gui1ty/neuro-sig/fedora-rawhide-x86_64/06743645-sandia-omega-h/sandia-omega-h-10.1.0-11.fc40.src.rpm
Created attachment 2003927 [details] The .spec file difference from Copr build 6707554 to 6743703
Copr build: https://copr.fedorainfracloud.org/coprs/build/6743703 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2252229-sandia-omega-h/fedora-rawhide-x86_64/06743703-sandia-omega-h/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Ping? Again. I appreciate you taking on the review. I'm less pleased with the way things move. First, you just take the review without doing anything for over a week. After I pinged you, you just throw a bunch of error/warning messages into a comment. I fix those within a couple of days. Yet, nothing moves forward, again, for almost three weeks. I see you currently have 45 review request assigned to you. Isn't that a bit ambitious? As you might have noticed, the package under review is a dependency for an update to an already existing package. Therefore, I would like to keep this moving, so that the python-steps update can get unstuck.
It is somewhat surprising to find an experience packager has not read automated fedora-review output and is still expecting a quick review. Sorry for delaying the review. Have set assignee to default in case someone else can get to it as would expect to be able to do so later this week. Happy New Year. May you experience speed and pleasant reviews in 2024.
Thanks for your work on this both, I'll take it up now and let's hope we can get it over the line.
Getting a mock build failure here, unfortunately: ``` [ 32%] Building CXX object src/CMakeFiles/omega_h.dir/Omega_h_gmsh.cpp.o cd /builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src && /usr/bin/g++ -Domega_h_EXPORTS -I/builddir/build/BUILD/omega_h-10.1.0/src -I/builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build/src -I/builddir/build/BUILD/omega_h-10.1.0/tpl -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=c++14 -fPIC -W -Wall -Wextra -Werror -MD -MT src/CMakeFiles/omega_h.dir/Omega_h_gmsh.cpp.o -MF CMakeFiles/omega_h.dir/Omega_h_gmsh.cpp.o.d -o CMakeFiles/omega_h.dir/Omega_h_gmsh.cpp.o -c /builddir/build/BUILD/omega_h-10.1.0/src/Omega_h_gmsh.cpp /builddir/build/BUILD/omega_h-10.1.0/src/Omega_h_filesystem.cpp: In member function ‘Omega_h::filesystem::directory_iterator::directory_iterator(Omega_h::filesystem::directory_iterator&&)’: /builddir/build/BUILD/omega_h-10.1.0/src/Omega_h_filesystem.cpp:389:10: error: ‘*this_4(D).impl’ is used uninitialized [-Werror=uninitialized] 389 | delete impl; | ^~~~ cc1plus: all warnings being treated as errors gmake[2]: *** [src/CMakeFiles/omega_h.dir/build.make:597: src/CMakeFiles/omega_h.dir/Omega_h_filesystem.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... gmake[2]: Leaving directory '/builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build' gmake[1]: *** [CMakeFiles/Makefile2:130: src/CMakeFiles/omega_h.dir/all] Error 2 gmake[1]: Leaving directory '/builddir/build/BUILD/omega_h-10.1.0/redhat-linux-build' gmake: *** [Makefile:149: all] Error 2 RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.oIAulw (%build) Bad exit status from /var/tmp/rpm-tmp.oIAulw (%build) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M ee298c0989c54cdba36841344057d0dc -D /var/lib/mock/fedora-rawhide-x86_64/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.efe4veym:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin \'--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"\' \'--setenv=PS1=<mock-chroot> \\s-\\v\\$ \' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c \'/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/sandia-omega-h.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/mockbuild/util.py", line 612, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # /usr/bin/systemd-nspawn -q -M ee298c0989c54cdba36841344057d0dc -D /var/lib/mock/fedora-rawhide-x86_64/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.efe4veym:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -bb --noclean --target x86_64 --nodeps /builddir/build/SPECS/sandia-omega-h.spec' Mock Version: 5.5 ```
I'm also a bit confused about upstream's versioning. https://github.com/sandialabs/omega_h/tags v10.1.0 is the highest tag, but not the latest. v9.x is the latest one. The `main` branch is also on v9.x, and so is `develop`. I see no other v10.x releases either. 🤔
(In reply to Ankur Sinha (FranciscoD) from comment #11) > Getting a mock build failure here, unfortunately: I suspect that's due to changes that have now landed in rawhide / f40. It did build before in Copr. I will look into it and provide an update. (In reply to Ankur Sinha (FranciscoD) from comment #12) > I'm also a bit confused about upstream's versioning. > > https://github.com/sandialabs/omega_h/tags > > v10.1.0 is the highest tag, but not the latest. v9.x is the latest one. The > `main` branch is also on v9.x, and so is `develop`. I see no other v10.x > releases either. > > 🤔 It looks like v10.1.0 tag was an accident, indeed and I should probably use the most recent tag instead? It doesn't help that there are no official releases anywhere. Not even on Sandia's website: https://www.sandia.gov/ccr/software/omega-h/ I can think of two options: 1) Ask upstream what they consider the latest version and what happened to v10.1.0. 2) Ask STEPS folks which version they are using and package that. This might also be deducible from the STEPS sources. If it turns out v10.1.0 was an accident and is thus not the latest version, would that require any additional steps to get this package approved?
From the STEPS files, it looks like upstream uses version 9.34.13, which is the latest tag in the omega-h repo: https://github.com/sanjayankur31/STEPS/blob/11380f78cf2110a55d6694ac1e8a6929ae7b69f0/CMake/BundleOmega_h.cmake#L14 But they do say "an external omega-h may be used" in the readme, so it doesn't suggest a hard version dependency? While packaging it anyway, we need to package the latest version. So, either we make an assumption and use the one the latest tag (v9x), or we ask on the repo for clarification. (I'm personally inclined to go with the v9 series because they seem to be actively developed)
Using the latest tag according to timestamp makes perfect sense and it aligns with what STEPS is using. Spec URL: https://gui1ty.fedorapeople.org/review/sandia-omega-h.spec SRPM URL: https://gui1ty.fedorapeople.org/review/sandia-omega-h-9.34.13-1.fc41.src.rpm I removed the 10.x builds from Copr. It's now providing 9.34.13: https://copr.fedorainfracloud.org/coprs/gui1ty/neuro-sig/package/sandia-omega-h/
Looks pretty good. A few things we need to look at. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - I don't think %ldconfig_scriptlets is required any more. The guidelines now say: "It is not necessary to call ldconfig when installing shared libraries." https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shared_libraries - Licenses may need a look - may need to look at whether it bundles Random123/pss (and other things?) - the -{openmpi,mpich}-devel sub packages should probably also Require: {openmpich/mpich}-devel I think, since they'll be required for development? - any reason we're not building the tests for the standard build? (but there are still some default tests that are run in %check) - we could generate man pages for the binaries ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [?]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. No licenses found. Please check the source files for licenses manually. I see a few license. We'll have to see which ones apply: licensecheck -r . | sed '/UNKNOWN/ d' ./omega_h-9.34.13/LICENSE: BSD 2-Clause with views sentence ./omega_h-9.34.13/README.md: *No copyright* BSD 2-Clause License ./omega_h-9.34.13/doc/xsdk-compatibility.md: *No copyright* BSD 2-Clause License ./omega_h-9.34.13/misc/flamegraph.pl: Common Development and Distribution License ./omega_h-9.34.13/misc/stackcollapse-perf.pl: Common Development and Distribution License ./omega_h-9.34.13/src/Omega_h_any.hpp: Boost Software License 1.0 ./omega_h-9.34.13/src/Omega_h_rbtree.hpp: NTP License ./omega_h-9.34.13/tpl/pss/parallel_stable_sort.hpp: BSD 3-Clause License ./omega_h-9.34.13/tpl/pss/pss_common.hpp: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/array.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/philox.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/clangfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/compilerfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/gccfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/iccfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/msvcfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/nvccfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/open64features.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/openclfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/pgccfeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/sse.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/sunprofeatures.h: BSD 3-Clause License ./omega_h-9.34.13/tpl/random123/features/xlcfeatures.h: BSD 3-Clause License [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/openmpi/include, /usr/lib64/openmpi/lib, /usr/lib64/mpich/lib, /usr/lib64/cmake, /usr/lib64/mpich, /usr/lib64/openmpi/bin, /usr/lib64/mpich/include, /usr/lib64/mpich/bin, /usr/lib64/openmpi/lib/cmake, /usr/lib64/openmpi, /usr/lib64/mpich/lib/cmake ^ Looks fine, the openmpi/mpich packages provide these. [?]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/openmpi/lib/cmake ^ This is owned by openmpi-devel but that isn't required by the package so it's unowned. I think perhaps the {openmpi,mpich}-devel sub-packages should require the {openmpi,mpich}-devel packages too, since they'll be required for development? [x]: %build honors applicable compiler flags or justifies otherwise. [?]: Package contains no bundled libraries without FPC exception. ^ Bundles Random123 and pss? We need to take a look at whether they are used and replace them with system variants if possible. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Package is not known to require an ExcludeArch tag. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: The License field must be a valid SPDX expression. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 8847 bytes in 3 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in sandia- omega-h-devel , sandia-omega-h-mpich , sandia-omega-h-mpich-devel , sandia-omega-h-openmpi , sandia-omega-h-openmpi-devel ^ Seems to be fine. [?]: Package functions as described. ^ Not tested this out yet [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Spec file according to URL is the same as in SRPM. Note: Spec file as given by url is not the same as in SRPM (see attached diff). See: (this test has no URL) [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. Rpmlint ------- Checking: sandia-omega-h-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-devel-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-mpich-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-mpich-devel-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-openmpi-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-openmpi-devel-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-debuginfo-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-debugsource-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-9.34.13-1.fc41.src.rpm =========================================================================== rpmlint session starts ========================================================================== rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmprv6e1nkt')] checks: 32, packages: 9 sandia-omega-h.src: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h.src: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h.src: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h-mpich.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h-mpich.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h-mpich.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h-openmpi.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h-openmpi.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h-openmpi.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h.spec: W: patch-not-applied Patch0: build_flags_and_so_version.patch sandia-omega-h-mpich-devel.x86_64: W: only-non-binary-in-usr-lib sandia-omega-h-openmpi-devel.x86_64: W: only-non-binary-in-usr-lib sandia-omega-h.x86_64: W: no-manual-page-for-binary ascii_vtk2osh sandia-omega-h.x86_64: W: no-manual-page-for-binary msh2osh sandia-omega-h.x86_64: W: no-manual-page-for-binary osh2vtk sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_adapt sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_box sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_calc sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_eval_implied sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_filesystem sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_fix sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_part sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_reorder sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_scale sandia-omega-h.x86_64: W: no-manual-page-for-binary oshdiff sandia-omega-h.x86_64: W: no-manual-page-for-binary vtkdiff sandia-omega-h-devel.x86_64: W: no-documentation sandia-omega-h-mpich-devel.x86_64: W: no-documentation sandia-omega-h-openmpi-devel.x86_64: W: no-documentation =================================== 9 packages and 0 specfiles checked; 12 errors, 20 warnings, 120 filtered, 12 badness; has taken 3.3 s =================================== Rpmlint (debuginfo) ------------------- Checking: sandia-omega-h-openmpi-debuginfo-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-mpich-debuginfo-9.34.13-1.fc41.x86_64.rpm sandia-omega-h-debuginfo-9.34.13-1.fc41.x86_64.rpm =========================================================================== rpmlint session starts ========================================================================== rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmpmqwf_gnb')] checks: 32, packages: 3 ===================================== 3 packages and 0 specfiles checked; 0 errors, 0 warnings, 106 filtered, 0 badness; has taken 2.1 s ==================================== Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 10 sandia-omega-h-openmpi.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h-openmpi.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h-openmpi.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h-mpich.x86_64: E: spelling-error ('adaptativity', '%description -l en_US adaptativity -> adaptability, captivity') sandia-omega-h-mpich.x86_64: E: spelling-error ('adaptivity', '%description -l en_US adaptivity -> captivity') sandia-omega-h-mpich.x86_64: E: spelling-error ('discretization', '%description -l en_US discretization -> discretionary, discretion, discrimination') sandia-omega-h-openmpi-devel.x86_64: W: only-non-binary-in-usr-lib sandia-omega-h-mpich-devel.x86_64: W: only-non-binary-in-usr-lib sandia-omega-h.x86_64: W: no-manual-page-for-binary ascii_vtk2osh sandia-omega-h.x86_64: W: no-manual-page-for-binary msh2osh sandia-omega-h.x86_64: W: no-manual-page-for-binary osh2vtk sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_adapt sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_box sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_calc sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_eval_implied sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_filesystem sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_fix sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_part sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_reorder sandia-omega-h.x86_64: W: no-manual-page-for-binary osh_scale sandia-omega-h.x86_64: W: no-manual-page-for-binary oshdiff sandia-omega-h.x86_64: W: no-manual-page-for-binary vtkdiff sandia-omega-h-openmpi-devel.x86_64: W: no-documentation sandia-omega-h-mpich-devel.x86_64: W: no-documentation sandia-omega-h-devel.x86_64: W: no-documentation 10 packages and 0 specfiles checked; 9 errors, 19 warnings, 228 filtered, 9 badness; has taken 10.3 s Source checksums ---------------- https://github.com/sandialabs/omega_h/archive/v9.34.13/omega_h-9.34.13.tar.gz : CHECKSUM(SHA256) this package : 2eadfd6d634abc0b50396a82fd446f8f0b586ba6e64788c47827162c2aadec02 CHECKSUM(SHA256) upstream package : 2eadfd6d634abc0b50396a82fd446f8f0b586ba6e64788c47827162c2aadec02 Requires -------- sandia-omega-h (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libomega_h.so.9()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) rtld(GNU_HASH) sandia-omega-h-devel (rpmlib, GLIBC filtered): cmake-filesystem(x86-64) sandia-omega-h(x86-64) sandia-omega-h-mpich (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libmpi.so.12()(64bit)(mpich-x86_64) libomega_h.so.9()(64bit)(mpich-x86_64) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) mpich rtld(GNU_HASH) sandia-omega-h-mpich-devel (rpmlib, GLIBC filtered): sandia-omega-h-mpich(x86-64) sandia-omega-h-openmpi (rpmlib, GLIBC filtered): libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libmpi.so.40()(64bit)(openmpi-x86_64) libomega_h.so.9()(64bit)(openmpi-x86_64) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libz.so.1()(64bit) libz.so.1(ZLIB_1.2.0)(64bit) openmpi rtld(GNU_HASH) sandia-omega-h-openmpi-devel (rpmlib, GLIBC filtered): sandia-omega-h-openmpi(x86-64) sandia-omega-h-debuginfo (rpmlib, GLIBC filtered): sandia-omega-h-debugsource (rpmlib, GLIBC filtered): Provides -------- sandia-omega-h: libomega_h.so.9()(64bit) sandia-omega-h sandia-omega-h(x86-64) sandia-omega-h-devel: cmake(Omega_h) cmake(omega_h) sandia-omega-h-devel sandia-omega-h-devel(x86-64) sandia-omega-h-mpich: libomega_h.so.9()(64bit)(mpich-x86_64) sandia-omega-h-mpich sandia-omega-h-mpich(x86-64) sandia-omega-h-mpich-devel: sandia-omega-h-mpich-devel sandia-omega-h-mpich-devel(x86-64) sandia-omega-h-openmpi: libomega_h.so.9()(64bit)(openmpi-x86_64) sandia-omega-h-openmpi sandia-omega-h-openmpi(x86-64) sandia-omega-h-openmpi-devel: sandia-omega-h-openmpi-devel sandia-omega-h-openmpi-devel(x86-64) sandia-omega-h-debuginfo: debuginfo(build-id) sandia-omega-h-debuginfo sandia-omega-h-debuginfo(x86-64) sandia-omega-h-debugsource: sandia-omega-h-debugsource sandia-omega-h-debugsource(x86-64) Diff spec file in url and in SRPM --------------------------------- --- /home/asinha/dump/fedora-reviews/2252229-sandia-omega-h/srpm/sandia-omega-h.spec 2024-03-09 14:51:30.715420879 +0000 +++ /home/asinha/dump/fedora-reviews/2252229-sandia-omega-h/srpm-unpacked/sandia-omega-h.spec 2024-03-08 00:00:00.000000000 +0000 @@ -1,2 +1,12 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + %global forgeurl https://github.com/sandialabs/omega_h @@ -440,3 +450,39 @@ %changelog -%autochangelog +## START: Generated by rpmautospec +* Fri Mar 08 2024 Sandro <devel> - 9.34.13-1 +- Package version 9.34.13 + +* Tue Dec 12 2023 Sandro <devel> - 10.1.0-11 +- Fix summary of various sub packages + +* Tue Dec 12 2023 Sandro <devel> - 10.1.0-10 +- Disable examples + +* Tue Dec 12 2023 Sandro <devel> - 10.1.0-9 +- Add conditional for Omega_h_THROW bool + +* Thu Nov 30 2023 Sandro <devel> - 10.1.0-8 +- Add examples as additional doc package + +* Wed Nov 29 2023 Sandro <devel> - 10.1.0-7 +- Add build option for OpenMP + +* Wed Nov 29 2023 Sandro <devel> - 10.1.0-6 +- Enable and run tests + +* Wed Nov 29 2023 Sandro <devel> - 10.1.0-5 +- Fix MPI libs installed into wrong directory + +* Wed Nov 29 2023 Sandro <devel> - 10.1.0-4 +- Add corresponding suffix to MPI binaries + +* Tue Nov 28 2023 Sandro <devel> - 10.1.0-3 +- Add OpenMPI build + +* Tue Nov 28 2023 Sandro <devel> - 10.1.0-2 +- Add MPICH build + +* Mon Nov 27 2023 Sandro <devel> - 10.1.0-1 +- Initial package +## END: Generated by rpmautospec Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2252229 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Generic, Shell-api Disabled plugins: PHP, Python, Haskell, Java, SugarActivity, R, fonts, Perl, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
(In reply to Ankur Sinha (FranciscoD) from comment #16) > Issues: > ======= > > - I don't think %ldconfig_scriptlets is required any more. The guidelines > now say: "It is not necessary to call ldconfig when installing shared > libraries." > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_shared_libraries I dropped it. I can't remember where I picked that up. > - Licenses may need a look I ran scancode on the src/ and tpl/ dirs and updated the Licens field accordingly. > - may need to look at whether it bundles Random123/pss (and other things?) Good catch. Random123 was bundled. I'm now using the system Random123. In pss/ there's only two header files, both with an acceptable license. Apparently pss is an acronym for parallel stable sort. I couldn't find a suitable package in the repos. I think it's okay leaving it in. Not sure if I need to add a provides bundled. > - the -{openmpi,mpich}-devel sub packages should probably also Require: > {openmpich/mpich}-devel I think, since they'll be required for development? Why? I haven't seen that done in any of the MPI packages I've touched so far. > - any reason we're not building the tests for the standard build? (but there > are still some default tests that are run in %check) No reason. Just an oversight. It's enabled now for all builds. > - we could generate man pages for the binaries I included generated man pages now for the binaries of the standard package where it makes (kind of) sense. Unfortunately, most of the binaries do not implement `--help` throwing errors regarding missing or unknown arguments. Some even dump core. I'm not sure it makes sense at all. But I left it in for now so you can see for yourself. Spec URL: https://gui1ty.fedorapeople.org/review/sandia-omega-h.spec SRPM URL: https://gui1ty.fedorapeople.org/review/sandia-omega-h-9.34.13-2.fc41.src.rpm
Created attachment 2020991 [details] The .spec file difference from Copr build 6743703 to 7131945
Copr build: https://copr.fedorainfracloud.org/coprs/build/7131945 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2252229-sandia-omega-h/fedora-rawhide-x86_64/07131945-sandia-omega-h/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
I think this looks good now XXX APPROVED XXX A few things to tweak before import: - please version the shared objects in the %files sections: we avoid using wildcards there so that any version bumps in shared objects get caught in builds https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files (In reply to Sandro from comment #17) > (In reply to Ankur Sinha (FranciscoD) from comment #16) <snip> > > - may need to look at whether it bundles Random123/pss (and other things?) > > Good catch. Random123 was bundled. I'm now using the system Random123. In > pss/ there's only two header files, both with an acceptable license. > Apparently pss is an acronym for parallel stable sort. I couldn't find a > suitable package in the repos. > > I think it's okay leaving it in. Not sure if I need to add a provides > bundled. Yeh, I think that's fine too. > > > - the -{openmpi,mpich}-devel sub packages should probably also Require: > > {openmpich/mpich}-devel I think, since they'll be required for development? > > Why? I haven't seen that done in any of the MPI packages I've touched so far. Hrm, we probably should update our other packages too. If someone is developing against the library's mpi variant, they'll also need to link against the mpi libraries and all that too, so they'd need to mpi-devel packages that provide the unversioned-shared objects. > I included generated man pages now for the binaries of the standard package > where it makes (kind of) sense. Unfortunately, most of the binaries do not > implement `--help` throwing errors regarding missing or unknown arguments. > Some even dump core. > > I'm not sure it makes sense at all. But I left it in for now so you can see > for yourself. Ugh, that's unfortunate. If they error and don't produce usable man pages it's better to skip them.
Thanks for the review! I implemented the final changes: - Use full name including version for libraries in %files - Add Requires for {mpich,openmpi}-devel to the respective subpackages I will leave the man pages in. They at least give an indication of available options. I already filtered out some troublesome man pages.
The Pagure repository was created at https://src.fedoraproject.org/rpms/sandia-omega-h
FEDORA-2024-03cedb84cd (sandia-omega-h-9.34.13-5.fc41) has been submitted as an update to Fedora 41. https://bodhi.fedoraproject.org/updates/FEDORA-2024-03cedb84cd
FEDORA-2024-03cedb84cd (sandia-omega-h-9.34.13-5.fc41) has been pushed to the Fedora 41 stable repository. If problem still persists, please make note of it in this bug report.