%global distro MSVSphere
# define MSVSphere products
%global release_name Certified Server ARM Cinnamon KDE XFCE
%global major 9
%global minor 5
%global eol_date 2032-06-01
Name: sphere-release
Version: %{major}.%{minor}
Release: 1%{?dist}
Summary: %{distro} release files
License: GPLv2
URL: https://msvsphere-os.ru
Provides: centos-release = %{version}-%{release}
# Required for a lorax run (to generate install media)
Requires: sphere-repos = %{version}-%{release}
Provides: centos-release-eula
Provides: redhat-release-eula
# required by epel-release
Provides: redhat-release = %{version}-%{release}
# required by dnf
# https://github.com/rpm-software-management/dnf/blob/4.2.23/dnf/const.py.in#L26
Provides: system-release = %{version}-%{release}
Provides: system-release(releasever) = %{major}
# required by libdnf
# https://github.com/rpm-software-management/libdnf/blob/0.48.0/libdnf/module/ModulePackage.cpp#L472
Provides: base-module(platform:el%{major})
Requires: sphere-release-common = %{version}-%{release}
Source100: RPM-GPG-KEY-MSVSphere-9
Source200: LICENSE
Source201: EULA
Source202: EULA-ARM
Source203: EULA-SERVER
Source204: EULA-CERTIFIED
Source300: 85-display-manager.preset
Source301: 90-default.preset
Source302: 90-default-user.preset
Source303: 99-default-disable.preset
Source304: 50-redhat.conf
# secureboot CA certificate
Source400: spheresecurebootca.cer
# kernel signing certificate
Source401: spheresecureboot001.cer
# grub2 signing certificate
Source402: spheresecureboot001.cer
# Fwupd signing certificate
Source403: spheresecureboot001.cer
# repository configuration files
Source500: msvsphere-baseos.repo
Source501: msvsphere-appstream.repo
Source502: msvsphere-crb.repo
Source503: msvsphere-extras.repo
Source504: msvsphere-devel.repo
Source505: msvsphere-rt.repo
Source506: msvsphere-nfv.repo
Source507: msvsphere-highavailability.repo
Source508: msvsphere-resilientstorage.repo
Source509: msvsphere-testing.repo
%description
%{distro} release files.
%package common
Summary: MSVSphere release files
Requires: sphere-release-variant = %{version}-%{release}
Requires: sphere-release = %{version}-%{release}
Requires: sphere-repos(%{version})
Requires: sphere-release-identity = %{version}-%{release}
Obsoletes: redhat-release-server < %{version}-%{release}
Obsoletes: redhat-release-eula < %{version}-%{release}
%description common
Release files common to all Editions and Spins of MSVSphere
%package certified
Summary: Base package for MSVSphere Certified-specific default configurations
RemovePathPostfixes: .Certified
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-certified if nothing else is already doing so.
Recommends: sphere-release-identity-certified
%description certified
Provides a base package for MSVSphere Certified-specific configuration files to
depend on.
%package identity-certified
Summary: Package providing the identity for MSVSphere Certified Edition
RemovePathPostfixes: .Certified
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-certified = %{version}-%{release}
Requires(pre): /usr/bin/ln
%description identity-certified
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere Certified Edition.
%package server
Summary: Base package for MSVSphere Server-specific default configurations
RemovePathPostfixes: .Server
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-server if nothing else is already doing so.
Recommends: sphere-release-identity-server
%description server
Provides a base package for MSVSphere Server-specific configuration files to
depend on.
%package identity-server
Summary: Package providing the identity for MSVSphere Server Edition
RemovePathPostfixes: .Server
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-server = %{version}-%{release}
Requires(pre): /usr/bin/ln
%description identity-server
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere Server Edition.
%package arm
Summary: Base package for MSVSphere ARM-specific default configurations
RemovePathPostfixes: .ARM
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
Provides: system-release-product
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-workstation if nothing else is already doing so.
Recommends: sphere-release-identity-arm
%description arm
Provides a base package for MSVSphere ARM-specific configuration files to
depend on.
%package identity-arm
Summary: Package providing the identity for MSVSPhere ARM Edition
RemovePathPostfixes: .ARM
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-arm = %{version}-%{release}
Requires(pre): /usr/bin/ln
%description identity-arm
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere ARM Edition.
%package cinnamon
Summary: Base package for MSVSphere Cinnamon-specific default configurations
RemovePathPostfixes: .Cinnamon
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
Provides: system-release-product
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-cinnamon if nothing else is already doing so.
Recommends: sphere-release-identity-cinnamon
%description cinnamon
Provides a base package for MSVSphere Cinnamon-specific configuration files to
depend on.
%package identity-cinnamon
Summary: Package providing the identity for MSVSPhere ARM Edition
RemovePathPostfixes: .Cinnamon
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-cinnamon = %{version}-%{release}
%description identity-cinnamon
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere Cinnamon Edition.
%package kde
Summary: Base package for MSVSphere KDE-specific default configurations
RemovePathPostfixes: .KDE
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
Provides: system-release-product
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-kde if nothing else is already doing so.
Recommends: sphere-release-identity-kde
%description kde
Provides a base package for MSVSphere KDE-specific configuration files to
depend on.
%package identity-kde
Summary: Package providing the identity for MSVSPhere ARM Edition
RemovePathPostfixes: .KDE
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-kde = %{version}-%{release}
%description identity-kde
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere KDE Edition.
%package xfce
Summary: Base package for MSVSphere XFCE-specific default configurations
RemovePathPostfixes: .XFCE
Provides: sphere-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Provides: base-module(platform:f%{version})
Requires: sphere-release-common = %{version}-%{release}
Provides: system-release-product
# sphere-release-common Requires: sphere-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# sphere-release-identity-xfce if nothing else is already doing so.
Recommends: sphere-release-identity-xfce
%description xfce
Provides a base package for MSVSphere XFCE-specific configuration files to
depend on.
%package identity-xfce
Summary: Package providing the identity for MSVSPhere ARM Edition
RemovePathPostfixes: .XFCE
Provides: sphere-release-identity = %{version}-%{release}
Conflicts: sphere-release-identity
Requires(meta): sphere-release-xfce = %{version}-%{release}
%description identity-xfce
Provides the necessary files for a MSVSphere installation that is identifying
itself as MSVSphere XFCE Edition.
%package -n sphere-sb-certs
Summary: %{distro} public secureboot certificates
Group: System Environment/Base
Provides: system-sb-certs = %{version}-%{release}
Provides: redhat-sb-certs = %{version}-%{release}
%description -n sphere-sb-certs
%{distro} secureboot certificates.
%package -n sphere-repos
Summary: %{distro} package repositories
Requires: sphere-release = %{version}-%{release}
Requires: sphere-gpg-keys = %{version}-%{release}
Provides: sphere-repos(%{version})
%description -n sphere-repos
This package provides the package repository files for %{distro}.
%package -n sphere-repos-extra
Summary: %{distro} extra packages repositories
Requires: sphere-release = %{version}-%{release}
Requires: sphere-gpg-keys = %{version}-%{release}
%description -n sphere-repos-extra
This package provides extra packages repository files for %{distro},
like Devel.
%package -n sphere-repos-testing
Summary: %{distro} testing packages repositories
Requires: sphere-release = %{version}-%{release}
Requires: sphere-gpg-keys = %{version}-%{release}
%description -n sphere-repos-testing
This package provides extra packages repository files for %{distro},
like Testing.
%package -n sphere-repos-flatpak
Summary: %{distro} flatpak package repositories
Requires: sphere-release = %{version}-%{release}
Requires: sphere-gpg-keys = %{version}-%{release}
Requires: flatpak
%description -n sphere-repos-flatpak
This package added Flathub and Fedora Flatpaks repositories
for %{distro}.
%package -n sphere-gpg-keys
Summary: %{distro} RPM keys
%description -n sphere-gpg-keys
This package provides the RPM signature keys for %{distro}.
%install
mkdir -p ./docs
cp %{SOURCE200} ./docs
# generate /usr/lib/os-release file
install -d -m 0755 %{buildroot}%{_prefix}/lib
for variant in %{release_name}; do
echo "%{distro} release %{major}.%{minor}%{?beta: %{beta}} (${variant})" > %{buildroot}%{_prefix}/lib/sphere-release.$variant
if [ "$variant" = "ARM" ]; then
ru_variant="А Р М "
elif [ "$variant" = "Server" ]; then
ru_variant="Сервер"
elif [ "$variant" = "Certified" ]; then
ru_variant="Сертифицированная"
else
ru_variant=$variant
fi
# -------------------------------------------------------------------------
# Definitions for /etc/os-release and for macros in macros.dist. These
# macros are useful for spec files where distribution-specific identifiers
# are used to customize packages.
# Name of vendor / name of distribution. Typically used to identify where
# the binary comes from in --help or --version messages of programs.
# Examples: gdb.spec, clang.spec
# URL of the homepage of the distribution
# Example: gstreamer1-plugins-base.spec
%global dist_home_url https://msvsphere-os.ru/
# Bugzilla / bug reporting URLs shown to users.
# Examples: gcc.spec
%global dist_bug_report_url https://bugs.msvsphere-os.ru/
cat > %{buildroot}%{_prefix}/lib/os-release.$variant << EOF
NAME="%{distro}"
VERSION="%{major}.%{minor}%{?beta: %{beta}} (${variant})"
ID="msvsphere"
ID_LIKE="rhel centos fedora"
VERSION_ID="%{major}.%{minor}"
PLATFORM_ID="platform:el%{major}"
PRETTY_NAME="%{distro} %{major}.%{minor}%{?beta: %{beta}} ${variant}"
ANSI_COLOR="1;35"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:ncsd:msvsphere:%{major}::baseos"
VENDOR_NAME="LLC NCSD"
HOME_URL="%{dist_home_url}"
DOCUMENTATION_URL="https://docs.msvsphere-os.ru/"
BUG_REPORT_URL="%{dist_bug_report_url}"
MSVSPHERE_MANTISBT_PROJECT="%{distro}-%{major}"
MSVSPHERE_MANTISBT_PROJECT_VERSION="%{major}.%{minor}"
MSVSPHERE_PRETTY_NAME="МСВСфера %{major}.%{minor}%{?beta: %{beta}} ${ru_variant}"
SUPPORT_END=%{eol_date}
EOF
done
install -d -m 0755 %{buildroot}%{_sysconfdir}
# create symlink for /etc/os-release
ln -s ../usr/lib/os-release %{buildroot}%{_sysconfdir}/os-release
# create symlink for /etc/system-release
ln -s ../usr/lib/sphere-release %{buildroot}%{_sysconfdir}/sphere-release
# create /etc/sphere-release, /etc/system-release and /etc/redhat-release files
ln -s sphere-release %{buildroot}%{_sysconfdir}/system-release
ln -s sphere-release %{buildroot}%{_sysconfdir}/redhat-release
# generate /etc/system-release-cpe
echo "cpe:/o:ncsd:msvsphere:%{major}::baseos" > %{buildroot}%{_sysconfdir}/system-release-cpe
# create /etc/issue, /etc/issue.net and /etc/issue.d
echo '\S' > %{buildroot}%{_sysconfdir}/issue
echo 'Kernel \r on an \m' >> %{buildroot}%{_sysconfdir}/issue
cp %{buildroot}%{_sysconfdir}/issue{,.net}
echo >> %{buildroot}%{_sysconfdir}/issue
mkdir -p %{buildroot}%{_sysconfdir}/issue.d
# set up the dist tag macros
mkdir -p %{buildroot}%{_rpmmacrodir}
cat > %{buildroot}%{_rpmmacrodir}/macros.dist << EOF
# dist macros.
%%__bootstrap ~bootstrap
%%msvsphere_ver %{major}
%%msvsphere %{major}
%%centos_ver %{major}
%%centos %{major}
%%rhel %{major}
%%dist %%{!?distprefix0:%%{?distprefix}}%%{expand:%%{lua:for i=0,9999 do print("%%{?distprefix" .. i .."}") end}}.el%{major}%%{?with_bootstrap:%{__bootstrap}}
%%el%{major} 1
EOF
# copy EULA
install -d -m 0755 %{buildroot}%{_datadir}/sphere-release
ln -s sphere-release %{buildroot}%{_datadir}/redhat-release
install -p -m 0644 %{SOURCE202} %{buildroot}%{_datadir}/sphere-release/
install -p -m 0644 %{SOURCE203} %{buildroot}%{_datadir}/sphere-release/
install -p -m 0644 %{SOURCE204} %{buildroot}%{_datadir}/sphere-release/
# copy systemd presets
install -d -m 0755 %{buildroot}%{_prefix}/lib/systemd/system-preset/
install -d -m 0755 %{buildroot}%{_prefix}/lib/systemd/user-preset
install -p -m 0644 %{SOURCE300} %{buildroot}%{_prefix}/lib/systemd/system-preset/
install -p -m 0644 %{SOURCE301} %{buildroot}%{_prefix}/lib/systemd/system-preset/
install -p -m 0644 %{SOURCE302} %{buildroot}%{_prefix}/lib/systemd/user-preset/
# installing the same file for both system and user presets to set the same behavior for both
install -p -m 0644 %{SOURCE303} %{buildroot}%{_prefix}/lib/systemd/system-preset/
install -p -m 0644 %{SOURCE303} %{buildroot}%{_prefix}/lib/systemd/user-preset/
# copy sysctl presets
mkdir -p %{buildroot}/%{_prefix}/lib/sysctl.d/
install -m 0644 %{SOURCE304} %{buildroot}/%{_prefix}/lib/sysctl.d/
# dnf variables
install -d -m 0755 %{buildroot}%{_sysconfdir}/dnf/vars
echo "%{major}-stream" > %{buildroot}%{_sysconfdir}/dnf/vars/stream
# create secureboot certificate directories
install -d -m 0755 %{buildroot}%{_sysconfdir}/pki/sb-certs/
install -d -m 0755 %{buildroot}%{_datadir}/pki/sb-certs/
# install x86_64 secureboot certificates
install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-x86_64.cer
install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-x86_64.cer
install -m 644 %{SOURCE402} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-x86_64.cer
install -m 644 %{SOURCE403} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-x86_64.cer
# install aarch64 secureboot certificates
install -m 644 %{SOURCE400} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-aarch64.cer
install -m 644 %{SOURCE401} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-aarch64.cer
install -m 644 %{SOURCE402} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-aarch64.cer
install -m 644 %{SOURCE403} %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-aarch64.cer
# link x86_64 secureboot certificates
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-x86_64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-x86_64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-x86_64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-x86_64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-x86_64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-grub2-x86_64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-x86_64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-fwupd-x86_64.cer
# link aarch64 secureboot certificates
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-ca-aarch64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-ca-aarch64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-kernel-aarch64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-kernel-aarch64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-grub2-aarch64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-grub2-aarch64.cer
ln -sr %{buildroot}%{_datadir}/pki/sb-certs/secureboot-fwupd-aarch64.cer \
%{buildroot}%{_sysconfdir}/pki/sb-certs/secureboot-fwupd-aarch64.cer
# copy DNF repositories
install -d -m 0755 %{buildroot}%{_sysconfdir}/yum.repos.d
install -p -m 0644 %{SOURCE500} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE501} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE502} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE503} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE504} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE505} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE506} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE507} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE508} %{buildroot}%{_sysconfdir}/yum.repos.d/
install -p -m 0644 %{SOURCE509} %{buildroot}%{_sysconfdir}/yum.repos.d/
# Use beta repos
%if %{defined betachannel}
sed -i "s@\$releasever@%{major}.%{minor}-beta@g" %{buildroot}%{_sysconfdir}/yum.repos.d/*.repo
%endif
# copy GPG keys
install -d -m 0755 %{buildroot}%{_sysconfdir}/pki/rpm-gpg
install -p -m 0644 %{SOURCE100} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
%pre -n sphere-release-common
# Workarround for redhat-server-eula problem
if [ $1 = 1 ]; then
if [ -d /usr/share/redhat-release ]; then
rm -rf /usr/share/redhat-release
fi
fi
%post -n sphere-repos-flatpak
/usr/bin/flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo ||:
/usr/bin/flatpak remote-add --system --if-not-exists fedora oci+https://registry.fedoraproject.org ||:
%postun -n sphere-repos-flatpak
/usr/bin/flatpak remote-delete --system flathub ||:
/usr/bin/flatpak remote-delete --system fedora ||:
%post identity-arm
/usr/bin/ln -srf /usr/share/sphere-release/EULA-ARM /usr/share/sphere-release/EULA
%preun identity-arm
/usr/bin/rm -f /usr/share/sphere-release/EULA
%post identity-certified
/usr/bin/ln -srf /usr/share/sphere-release/EULA-CERTIFIED /usr/share/sphere-release/EULA
%preun identity-certified
/usr/bin/rm -f /usr/share/sphere-release/EULA
%post identity-server
/usr/bin/ln -srf /usr/share/sphere-release/EULA-SERVER /usr/share/sphere-release/EULA
%preun identity-server
/usr/bin/rm -f /usr/share/sphere-release/EULA
%files
%files common
%license docs/LICENSE
%{_sysconfdir}/sphere-release
%{_sysconfdir}/redhat-release
%{_sysconfdir}/system-release
%config %{_sysconfdir}/system-release-cpe
%config(noreplace) %{_sysconfdir}/os-release
%config(noreplace) %{_sysconfdir}/issue
%config(noreplace) %{_sysconfdir}/issue.net
%dir %{_sysconfdir}/issue.d
%{_rpmmacrodir}/macros.dist
%{_datadir}/redhat-release
#%%{_datadir}/sphere-release
%{_prefix}/lib/systemd/system-preset/*
%{_prefix}/lib/systemd/user-preset/*
%{_prefix}/lib/sysctl.d/50-redhat.conf
%files certified
%files identity-certified
%{_prefix}/lib/os-release.Certified
%{_prefix}/lib/sphere-release.Certified
%{_datadir}/sphere-release/EULA-CERTIFIED
%files server
%files identity-server
%{_prefix}/lib/os-release.Server
%{_prefix}/lib/sphere-release.Server
%{_datadir}/sphere-release/EULA-SERVER
%files arm
%files identity-arm
%{_prefix}/lib/os-release.ARM
%{_prefix}/lib/sphere-release.ARM
%{_datadir}/sphere-release/EULA-ARM
%files cinnamon
%files identity-cinnamon
%{_prefix}/lib/os-release.Cinnamon
%{_prefix}/lib/sphere-release.Cinnamon
%files kde
%files identity-kde
%{_prefix}/lib/os-release.KDE
%{_prefix}/lib/sphere-release.KDE
%files xfce
%files identity-xfce
%{_prefix}/lib/os-release.XFCE
%{_prefix}/lib/sphere-release.XFCE
%files -n sphere-sb-certs
# Note to future packagers:
# resetting the symlinks in /etc/pki/sb-certs on upgrade is the intended behavior here
%dir %{_sysconfdir}/pki/sb-certs
%dir %{_datadir}/pki/sb-certs/
%{_sysconfdir}/pki/sb-certs/*.cer
%{_datadir}/pki/sb-certs/*.cer
%files -n sphere-repos
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-baseos.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-appstream.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-crb.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-extras.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-rt.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-nfv.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-highavailability.repo
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-resilientstorage.repo
%config(noreplace) %{_sysconfdir}/dnf/vars/stream
%files -n sphere-repos-extra
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-devel.repo
%files -n sphere-repos-testing
%config(noreplace) %{_sysconfdir}/yum.repos.d/msvsphere-testing.repo
%files -n sphere-repos-flatpak
%files -n sphere-gpg-keys
%{_sysconfdir}/pki/rpm-gpg
%changelog
* Thu Nov 14 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-1
- Final MSVSphere 9.5
- Added Certified variant
* Mon Oct 28 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-0.4.4
- Added aarch64 support
* Mon Oct 21 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-0.4.3
- Use stable version but beta repos
* Sun Oct 20 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-0.4.2
- Rebase repos on 9.5-beta release version
- Update 90-default.preset
* Fri Oct 18 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-0.4.1
- Set Beta channel
- Added some msvsphere urls and EOL
* Sat Oct 12 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.5-0.4
- 9.5 Betta Release
* Thu Aug 08 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.4-2
- Fix debuginfo repos
* Wed May 01 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.4-1
- Final Release MSVSphere 9.4
* Tue Apr 2 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.4-0.1
- Sync presets with upstream
- Bump version for 9.4 Beta
* Tue Mar 12 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.3-3
- Remove redhat-release-server and redhat-release-eula
- Remove /usr/share/redhat-release at first install
* Mon Dec 25 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.3-2.1
- Drop sphere urls
* Wed Dec 6 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.3-2
- Always install sphere-release
* Thu Nov 9 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.3-1
- Update to 9.3
* Tue Oct 31 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-5
- Drop REDHAT_SUPPORT* from /etc/os-release
* Mon Oct 30 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-4.1
- Added R: /usr/bin/ln
* Mon Oct 30 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-4
- Push two separated license for Server and ARM
* Fri Oct 27 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-3
- Drop brackets from PRETTY_NAME (INF-721)
* Tue Oct 17 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-2
- Replace PGP public key
* Tue Oct 10 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-1.12
- Added new field MSVSPHERE_PRETTY_NAME
* Fri Sep 22 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-1.11
- Fix base urls in repo files
* Thu Sep 21 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-1.10
- Update ANSI_COLOR
- Added DOCUMENTATION_URL, SUPPORT_URL, VENDOR_NAME
* Thu Sep 21 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 9.2-1.9
- Update email in EULA
* Tue Sep 12 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.8
- Change URLs from msvsphere.ru to msvsphere-os.ru
* Wed Aug 23 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.7
- Added Testing repo
* Wed Aug 23 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.6
- Update EULA
- Added sphere-repos-flatpak package to enable flatpak repos
* Mon Aug 21 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.5
- Added more separete packages (Cinnamon, KDE, XFCE)
- Update EULA
* Sun Jul 30 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.4
- Create separate packages for Server and ARM
* Mon Jul 17 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.3
- Disable optional repos
* Mon Jul 17 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 9.2-1.2
- added rt, nfv, highavailabilit, resilientstorage repos
- fix debug and sources url in repo files
- added separate extra package for devel repo
* Thu Jul 6 2023 Sergey Cherevko <s.cherevko@msvsphere.ru> - 9.2-1.1
- Enable CRB by default (INF-387)
* Thu May 25 2023 Sergey Cherevko <s.cherevko@msvsphere.ru> - 9.2-1.0
- Update to MSVSphere 9.2
* Thu Apr 20 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.6
- Disabled CRB repo by default
- Added Extras repository config
* Mon Apr 10 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.5
- Added EULA
* Mon Apr 03 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.4
- Added BaseOS, AppStream and CRB repository configs
* Tue Mar 28 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.3
- Public key edit: added SHA256 digest
* Mon Mar 27 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.2
- Added MSVSPHERE_MANTISBT_PROJECT* variables for libreport plugin
* Mon Mar 27 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.1
- Added MSVSphere secureboot certificates
* Fri Feb 17 2023 Eugene Zamriy <ezamriy@msvsphere.ru> - 9.1-1.0
- Initial release for MSVSphere 9.1 beta