Name: flux-core Version: 0.84.0 Release: 1%{?dist} Summary: Flux Resource Manager Framework License: LGPL-3.0-or-later URL: https://github.com/flux-framework/%{name} Source0: %{url}/releases/download/v%{version}/%{name}-%{version}.tar.gz # Debuginfo disabled: stripping breaks symbol resolution in tools like launchmon. %define debug_package %{nil} %define __spec_install_post /usr/lib/rpm/brp-compress || : %global __requires_exclude ^/bin/false$ # flux family BuildRequires: flux-security >= 0.14.0 Requires: flux-security >= 0.14.0 # toolchain BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: make BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool BuildRequires: pkgconfig BuildRequires: m4 BuildRequires: gettext-devel BuildRequires: chrpath # libraries (mirrors upstream debian/control) BuildRequires: pkgconfig(libzmq) >= 4.0.4 BuildRequires: pkgconfig(jansson) >= 2.9 BuildRequires: pkgconfig(hwloc) >= 1.11.1 BuildRequires: pkgconfig(sqlite3) >= 3.6.0 BuildRequires: pkgconfig(libsystemd) >= 0.23 BuildRequires: pkgconfig(bash-completion) BuildRequires: lua-devel >= 5.1 BuildRequires: lua-posix BuildRequires: lz4-devel BuildRequires: libuuid-devel BuildRequires: ncurses-devel BuildRequires: libarchive-devel BuildRequires: systemd-rpm-macros # python BuildRequires: python3 BuildRequires: python3-devel BuildRequires: python3-cffi BuildRequires: python3-yaml BuildRequires: python3-ply BuildRequires: python3-sphinx # for 'make check' %if 0%{?rhel} < 10 BuildRequires: aspell BuildRequires: aspell-en %endif BuildRequires: hostname BuildRequires: man-db BuildRequires: jq BuildRequires: which BuildRequires: file # runtime (autoreq handles shared libs) Requires: lua >= 5.1 Requires: lua-posix >= 5.1 Requires: sqlite >= 3.6.0 Requires: libuuid Requires: ncurses Requires: python3 Requires: python3-cffi Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description Flux Framework is a suite of projects, tools and libraries which may be used to build site-custom resource managers at High Performance Computing sites. flux-core implements the communication layer and lowest level services and interfaces for the Flux resource manager framework. It consists of a distributed message broker and plug-in comms modules that implement various distributed services. %prep %autosetup -n %{name}-%{version} -p1 %build export LC_ALL=C.UTF-8 export CFLAGS="%{optflags} -Wno-error -Wno-error=strict-aliasing -fno-strict-aliasing" export CXXFLAGS="%{optflags} -Wno-error -Wno-error=strict-aliasing -fno-strict-aliasing" %configure \ --with-systemdsystemunitdir=%{_unitdir} \ --with-flux-security %make_build %install %make_install find %{buildroot} -name '*.la' -delete %check # Full test suite (`%%make_build check`) hangs or fails in the mock sandbox # because many tests under t/ require a live flux broker, pty/signal behavior, # and cgroups that aren't available in systemd-nspawn. Run only the # broker-less unit tests under src/common/ here; integration coverage is left # to upstream CI. %make_build -C src/common check %post %systemd_post flux.service %systemd_post flux-epilog@.service %systemd_post flux-housekeeping@.service %systemd_post flux-prolog@.service %preun %systemd_preun flux.service %systemd_preun flux-epilog@.service %systemd_preun flux-housekeeping@.service %systemd_preun flux-prolog@.service %postun %systemd_postun_with_restart flux.service %systemd_postun_with_restart flux-epilog@.service %systemd_postun_with_restart flux-housekeeping@.service %systemd_postun_with_restart flux-prolog@.service %files %defattr(-,root,root) # commands + other executables %{_bindir}/flux %{_bindir}/flux-python %{_libexecdir}/flux # this package owns top level libdir/flux %dir %{_libdir}/flux # connectors + comms modules %{_libdir}/flux/connectors %{_libdir}/flux/modules # job-manager plugins %{_libdir}/flux/job-manager # libs %{_libdir}/lib%{name}.so.2 %{_libdir}/lib%{name}.so.2.0.0 %{_libdir}/libflux-idset.so.1 %{_libdir}/libflux-idset.so.1.0.0 %{_libdir}/libflux-optparse.so.1 %{_libdir}/libflux-optparse.so.1.0.0 %{_libdir}/libflux-schedutil.so.1 %{_libdir}/libflux-schedutil.so.1.0.0 %{_libdir}/libflux-hostlist.so.1 %{_libdir}/libflux-hostlist.so.1.0.0 %{_libdir}/libflux-taskmap.so.1 %{_libdir}/libflux-taskmap.so.1.0.0 # pmi libs required in base pkg not devel %{_libdir}/flux/libpmi.so %{_libdir}/flux/libpmi.so.0 %{_libdir}/flux/libpmi.so.0.0.0 %{_libdir}/flux/libpmi2.so %{_libdir}/flux/libpmi2.so.0 %{_libdir}/flux/libpmi2.so.0.0.0 # devel %{_libdir}/pkgconfig/%{name}.pc %{_libdir}/pkgconfig/flux-pmi.pc %{_libdir}/pkgconfig/flux-optparse.pc %{_libdir}/pkgconfig/flux-idset.pc %{_libdir}/pkgconfig/flux-schedutil.pc %{_libdir}/pkgconfig/flux-hostlist.pc %{_libdir}/pkgconfig/flux-taskmap.pc %{_libdir}/*.so %{_includedir}/flux # doc + "flux help" config file (json) %{_mandir}/man1/*.1* %{_mandir}/man3/*.3* %{_mandir}/man5/*.5* %{_mandir}/man7/*.7* %{_datadir}/flux # tmpfiles config %{_tmpfilesdir}/* # bash completions %{_datadir}/bash-completion/completions/flux %{_sysconfdir}/flux/system/cron.d/kvs-backup.cron # lua binding/modules %{_libdir}/lua/%{lua_version}/flux.so %{_datadir}/lua/%{lua_version}/flux %{_datadir}/lua/%{lua_version}/fluxometer %{_datadir}/lua/%{lua_version}/fluxometer.lua %dir %{_sysconfdir}/flux # systemd unit files %{_unitdir}/flux.service %{_unitdir}/flux-epilog@.service %{_unitdir}/flux-housekeeping@.service %{_unitdir}/flux-prolog@.service # shell %dir %{_sysconfdir}/flux/shell %dir %{_sysconfdir}/flux/shell/lua.d %dir %{_sysconfdir}/flux/shell/lua.d/mpi %{_sysconfdir}/flux/shell/initrc.lua %{_sysconfdir}/flux/shell/lua.d/*.lua %{_sysconfdir}/flux/shell/lua.d/mpi/*.lua # python bindings %{python3_sitearch}/* %{_libdir}/flux/python%{python3_version}/* %changelog * Sat Apr 25 2026 Yuki Yamaura - 0.84.0-1 - Update to v0.84.0 - Align BuildRequires with upstream debian/control - Drop obsolete libczmq, libsodium, munge-devel, openpgm-devel, krb5-devel - Drop TOSS-specific bl6 block and unused python3-jsonschema - Use %%{python3_version} for flux-python path - Enable real %%check (no -k / timeout / || :) * Sat Jul 19 2025 Yuki Yamaura - 0.76.0-2 - Add systemd * Mon Jul 14 2025 Yuki Yamaura - 0.76.0-1 - Initial RPM package for flux-core