File heavy-build-test.spec of Package test-bench
Name: heavy-build-test
Version: 1.0
Release: 1
Summary: Test package with heavy BuildRequires
License: MIT
URL: https://example.com
Source0: %{name}-%{version}.tar.gz
# Heavy BuildRequires that will stress the preinstallimage
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: make
BuildRequires: pkg-config
BuildRequires: libboost_headers-devel
BuildRequires: libboost_system-devel
BuildRequires: libqt5-qtbase-devel
BuildRequires: libqt5-qttools-devel
BuildRequires: opencv-devel
BuildRequires: ffmpeg-4-libavcodec-devel
BuildRequires: gstreamer-devel
BuildRequires: gstreamer-plugins-base-devel
BuildRequires: gtk3-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: libopenssl-devel
BuildRequires: libcurl-devel
BuildRequires: sqlite3-devel
BuildRequires: postgresql-devel
BuildRequires: libmysqlclient-devel
BuildRequires: python3-devel
BuildRequires: python3-numpy-devel
BuildRequires: python3-scipy
BuildRequires: nodejs-common
BuildRequires: rust
BuildRequires: cargo
BuildRequires: go
BuildRequires: java-11-openjdk-devel
BuildRequires: maven
BuildRequires: gradle
BuildRequires: texlive-latex-bin
BuildRequires: ImageMagick-devel
BuildRequires: libreoffice-sdk
%description
A test package designed to have many heavy BuildRequires dependencies
to benchmark preinstallimage performance improvements in OBS.
%prep
%setup -q
%build
# Simple build that uses some of the dependencies
echo "Testing heavy dependencies build..."
gcc --version
cmake --version
python3 --version
java -version
go version
rustc --version
node --version
# Create a simple test program
cat > test.cpp << 'EOF'
#include <iostream>
#include <boost/version.hpp>
int main() {
std::cout << "Boost version: " << BOOST_VERSION << std::endl;
return 0;
}
EOF
g++ -o test test.cpp -lboost_system
%install
mkdir -p %{buildroot}%{_bindir}
install -m 755 test %{buildroot}%{_bindir}/heavy-build-test
%files
%{_bindir}/heavy-build-test
%changelog
* Sun Sep 01 2024 Test User <test@example.com> - 1.0-1
- Initial package for testing heavy BuildRequires