%global _hardened_build 1 Name: oreon-installer Version: 10.0 Release: 1%{?dist} Summary: Distribution-independent installer framework for Oreon Linux License: BSD-2-Clause AND GPL-3.0-or-later AND CC0-1.0 URL: https://oreonproject.org/ Source0: %{name}-%{version}.tar.gz BuildRequires: cmake >= 3.16.0 BuildRequires: gcc-c++ BuildRequires: extra-cmake-modules >= 5.78 BuildRequires: kf5-kcoreaddons-devel >= 5.78 BuildRequires: kf5-kcrash-devel >= 5.78 BuildRequires: qt5-qtbase-devel >= 5.15.0 BuildRequires: qt5-qttools-devel BuildRequires: qt5-qttools-static BuildRequires: qt5-qtsvg-devel BuildRequires: qt5-qtdeclarative-devel BuildRequires: yaml-cpp-devel >= 0.5.1 BuildRequires: python3-devel >= 3.6 BuildRequires: pybind11-devel >= 2.6 BuildRequires: boost-devel BuildRequires: boost-python3-devel BuildRequires: polkit-qt5-devel BuildRequires: desktop-file-utils BuildRequires: appstream-glib # Runtime dependencies Requires: qt5-qtbase >= 5.15.0 Requires: qt5-qtsvg Requires: qt5-qtdeclarative Requires: kf5-kcoreaddons >= 5.78 Requires: yaml-cpp >= 0.5.1 Requires: python3 >= 3.6 Requires: polkit Requires: udisks2 Requires: parted Requires: e2fsprogs Requires: dosfstools Requires: ntfs-3g Requires: rsync Requires: squashfs-tools # Additional tools often needed during installation Requires: util-linux Requires: coreutils Requires: systemd Requires: NetworkManager %description Calamares is a distribution-independent system installer with an advanced partitioning framework. This package ships the Oreon-branded Calamares build used by Oreon Linux distributions. %prep %autosetup -n %{name}-%{version} %build %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DINSTALL_CONFIG=OFF \ -DINSTALL_POLKIT=ON \ -DINSTALL_COMPLETION=OFF \ -DWITH_PYTHON=ON \ -DWITH_PYBIND11=ON \ -DWITH_QML=ON \ -DWITH_QT6=OFF \ -DBUILD_TESTING=OFF \ -DBUILD_CRASH_REPORTING=ON \ -DBUILD_SCHEMA_TESTING=OFF \ -DSKIP_MODULES="dracut;initramfscfg" %cmake_build %install %cmake_install # Install desktop file if present if [ -f %{buildroot}%{_datadir}/applications/calamares.desktop ]; then desktop-file-install \ --dir=%{buildroot}%{_datadir}/applications \ --delete-original \ %{buildroot}%{_datadir}/applications/calamares.desktop fi # Ensure the binary has proper permissions if [ -f %{buildroot}%{_bindir}/calamares ]; then chmod 755 %{buildroot}%{_bindir}/calamares fi # Create directories for configuration mkdir -p %{buildroot}%{_sysconfdir}/calamares/{modules,branding} %files %license LICENSES/* %doc AUTHORS CHANGES-3.2 README.md %{_bindir}/calamares %{_libdir}/libcalamares.so.* %{_libdir}/libcalamaresui.so.* %{_libdir}/calamares/ %{_datadir}/calamares/ %{_datadir}/applications/calamares.desktop %{_datadir}/polkit-1/actions/com.github.calamares.calamares.policy %{_mandir}/man8/calamares.8* %dir %{_sysconfdir}/calamares %dir %{_sysconfdir}/calamares/modules %dir %{_sysconfdir}/calamares/branding %post -p /sbin/ldconfig /usr/bin/update-desktop-database &> /dev/null || : %postun -p /sbin/ldconfig /usr/bin/update-desktop-database &> /dev/null || : %changelog * Sun Jul 13 2025 Brandon Lester - 10.0-1 - Add pybind11-devel BuildRequires - Switch to appstream-glib virtual provides - Fix SKIP_MODULES delimiter for CMake - Guard desktop-file manipulation and binary permissions