## START: Set by rpmautospec ## (rpmautospec version 0.7.2) ## 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 commit 47c52cb3e19c4757093b812876ea245d7fc0b62d %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global date 20241024 Name: seastar Version: 22.11.0^%{date}.%{shortcommit} Release: %autorelease Summary: Server side non-blocking and asynchronous code framework # Most code is Apache licensed # Files under BSD-3-Clause are # scripts/seastar-json2code.py # scripts/dpdk_nic_bind.py # include/seastar/net/virtio-interface.hh # include/seastar/core/bitset-iter.hh # include/seastar/core/timer-set.hh License: Apache-2.0 AND BSD-3-Clause URL: https://github.com/scylladb/seastar Source: %{url}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz # Add shared library soname # https://github.com/scylladb/seastar/pull/2521 Patch: soname.patch # Needs large address support ExcludeArch: %{ix86} BuildRequires: boost-devel BuildRequires: cmake BuildRequires: cryptopp-devel BuildRequires: c-ares-devel BuildRequires: diffutils # Investigate whether can use dpdk in Fedora #%ifnarch s390x #BuildRequires: dpdk-devel #%endif BuildRequires: doxygen BuildRequires: fmt-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gnutls-devel BuildRequires: hwloc-devel BuildRequires: libidn2-devel BuildRequires: libpciaccess-devel BuildRequires: libtool BuildRequires: libunistring-devel BuildRequires: liburing-devel BuildRequires: libxml2-devel BuildRequires: lksctp-tools-devel BuildRequires: lz4-devel BuildRequires: make BuildRequires: ninja-build BuildRequires: numactl-devel BuildRequires: openssl BuildRequires: ragel BuildRequires: systemtap-sdt-devel BuildRequires: protobuf-compiler BuildRequires: protobuf-devel BuildRequires: python3 BuildRequires: python3-pyelftools BuildRequires: python3-pyyaml BuildRequires: stow BuildRequires: systemtap-sdt-devel BuildRequires: valgrind-devel BuildRequires: xfsprogs-devel BuildRequires: yaml-cpp-devel %global _description %{expand: SeaStar is an event-driven framework allowing you to write non-blocking, asynchronous code in a relatively straightforward manner (once understood). It is based on futures.} %description %_description %package devel Summary: Header and development files for seastar Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %_description %prep %autosetup -n seastar-%{commit} -p 1 %build %cmake -DSeastar_TESTING=ON \ -DSeastar_ENABLE_TESTS_ACCESSING_INTERNET=OFF \ -DSeastar_DOCS=ON %cmake_build %install %cmake_install %check %ctest --show-only # Run tests that do not need network access # CMake option does not disable these skiptest="Seastar.unit.abort_source|" skiptest=${skiptest}"Seastar.unit.alloc|" skiptest=${skiptest}"Seastar.unit.condition_variable|" skiptest=${skiptest}"Seastar.unit.content_source|" skiptest=${skiptest}"Seastar.unit.coroutines|" skiptest=${skiptest}"Seastar.unit.distributed|" skiptest=${skiptest}"Seastar.unit.dns|" skiptest=${skiptest}"Seastar.unit.execution_stage|" skiptest=${skiptest}"Seastar.unit.expiring_fifo|" skiptest=${skiptest}"Seastar.unit.abortable_fifo|" skiptest=${skiptest}"Seastar.unit.io_queue|" skiptest=${skiptest}"Seastar.unit.fair_queue|" skiptest=${skiptest}"Seastar.unit.file_io|" skiptest=${skiptest}"Seastar.unit.file_utils|" skiptest=${skiptest}"Seastar.unit.foreign_ptr|" skiptest=${skiptest}"Seastar.unit.fsnotifier|" skiptest=${skiptest}"Seastar.unit.fstream|" skiptest=${skiptest}"Seastar.unit.futures|" skiptest=${skiptest}"Seastar.unit.sharded|" skiptest=${skiptest}"Seastar.unit.httpd|" skiptest=${skiptest}"Seastar.unit.websocket|" skiptest=${skiptest}"Seastar.unit.ipv6|" skiptest=${skiptest}"Seastar.unit.json_formatter|" skiptest=${skiptest}"Seastar.unit.locking|" skiptest=${skiptest}"Seastar.unit.metrics|" skiptest=${skiptest}"Seastar.unit.queue|" skiptest=${skiptest}"Seastar.unit.rpc|" skiptest=${skiptest}"Seastar.unit.semaphore|" skiptest=${skiptest}"Seastar.unit.socket|" skiptest=${skiptest}"Seastar.unit.stall_detector|" skiptest=${skiptest}"Seastar.unit.thread|" skiptest=${skiptest}"Seastar.unit.scheduling_group|" skiptest=${skiptest}"Seastar.unit.thread_context_switch|" skiptest=${skiptest}"Seastar.unit.timer|" skiptest=${skiptest}"Seastar.unit.prometheus_http|" skiptest=${skiptest}"Seastar.unit.tls|" skiptest=${skiptest}"Seastar.unit.unix_domain|" skiptest=${skiptest}"Seastar.unit.pipe|" skiptest=${skiptest}"Seastar.unit.json2code|" skiptest=${skiptest}"Seastar.unit.prometheus" %ctest --exclude-regex ${skiptest} %files %license LICENSE %doc README.md %{_bindir}/seastar-json2code.py %{_libdir}/libseastar.so.7* %{_libdir}/libseastar_perf_testing.so.7* %{_libdir}/libseastar_testing.so.7* %files devel %dir %{_includedir}/seastar %dir %{_includedir}/seastar/core %{_includedir}/seastar/core/*.hh %dir %{_includedir}/seastar/core/internal %{_includedir}/seastar/core/internal/*.hh %dir %{_includedir}/seastar/coroutine %{_includedir}/seastar/coroutine/*.hh %dir %{_includedir}/seastar/http %{_includedir}/seastar/http/*.hh %dir %{_includedir}/seastar/http/internal %{_includedir}/seastar/http/internal/*.hh %dir %{_includedir}/seastar/json %{_includedir}/seastar/json/*.hh %dir %{_includedir}/seastar/net %{_includedir}/seastar/net/*.hh %dir %{_includedir}/seastar/testing %{_includedir}/seastar/testing/*.hh %dir %{_includedir}/seastar/rpc %{_includedir}/seastar/rpc/*.hh %dir %{_includedir}/seastar/util %{_includedir}/seastar/util/*.hh %dir %{_includedir}/seastar/util/internal %{_includedir}/seastar/util/internal/*.hh %dir %{_includedir}/seastar/websocket %{_includedir}/seastar/websocket/*.hh %dir %{_libdir}/cmake/Seastar %{_libdir}/cmake/Seastar/*.cmake %dir %{_libdir}/cmake/Seastar/code_tests %{_libdir}/cmake/Seastar/code_tests/*.cc %{_libdir}/pkgconfig/seastar-testing.pc %{_libdir}/pkgconfig/seastar.pc %{_libdir}/libseastar.so %{_libdir}/libseastar_perf_testing.so %{_libdir}/libseastar_testing.so %changelog ## START: Generated by rpmautospec * Tue Oct 29 2024 John Doe - 22.11.0^20241024.47c52cb-1 - Uncommitted changes ## END: Generated by rpmautospec