Skip to content

Commit

Permalink
switch to plasma branding and custom comp
Browse files Browse the repository at this point in the history
  • Loading branch information
nothingneko committed Aug 21, 2024
1 parent 7d32d47 commit cff0049
Show file tree
Hide file tree
Showing 4 changed files with 93 additions and 87 deletions.
30 changes: 18 additions & 12 deletions comps.xml
Original file line number Diff line number Diff line change
Expand Up @@ -163,32 +163,38 @@
</grouplist>
</environment>
<group>
<id>ultramarine-kde-product</id>
<name>Ultramarine KDE product core</name>
<description>Packages mandatory for the Ultramarine KDE product.</description>
<id>ultramarine-plasma-product</id>
<name>Ultramarine Plasma product core</name>
<description>Packages mandatory for the Ultramarine Plasma product.</description>
<default>false</default>
<uservisible>false</uservisible>
<packagelist>
<packagereq type="default">kwin-system76-scheduler-integration</packagereq>
<packagereq type="default">ultramarine-appstream-metadata</packagereq>
<packagereq type="default">ultramarine-release-kde</packagereq>
<packagereq type="default">ultramarine-release-identity-kde</packagereq>
<packagereq type="default">ultramarine-release-plasma</packagereq>
<packagereq type="default">ultramarine-release-identity-plasma</packagereq>
<packagereq type="default">okular</packagereq>
<packagereq type="default">gwenview</packagereq>
<packagereq type="default">kamoso</packagereq>
<packagereq type="default">kolourpaint</packagereq>
<packagereq type="default">kate</packagereq>
<packagereq type="default">kmail</packagereq>
<packagereq type="default">vlc</packagereq>
</packagelist>
</group>
<environment>
<id>ultramarine-kde-product-environment</id>
<name>Ultramarine KDE</name>
<description>Ultramarine KDE is an Ultramarine experience powered by the KDE desktop environment.</description>
<id>ultramarine-plasma-product-environment</id>
<name>Ultramarine plasma</name>
<description>Ultramarine Plasma is an Ultramarine experience powered by the Plasma desktop environment.</description>
<grouplist>
<groupid>base-graphical</groupid>
<groupid>container-management</groupid>
<groupid>core</groupid>
<groupid>standard</groupid>
<groupid>standard</groupid>
<groupid>firefox</groupid>
<groupid>fonts</groupid>
<groupid>kde-desktop</groupid>
<groupid>kde-apps</groupid>
<groupid>kde-media</groupid>
<groupid>critical-path-kde</groupid>
<groupid>guest-desktop-agents</groupid>
<groupid>hardware-support</groupid>
<groupid>libreoffice</groupid>
Expand All @@ -200,7 +206,7 @@
<groupid>input-methods</groupid>
<groupid>ultramarine-product-common</groupid>
<groupid>ultramarine-desktop-product-common</groupid>
<groupid>ultramarine-kde-product</groupid>
<groupid>ultramarine-plasma-product</groupid>
</grouplist>
</environment>
<group>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Anaconda profile for Ultramarine Linux KDE
# Anaconda profile for Ultramarine Linux Plasma

[Profile]
# Define the profile.
profile_id = ultramarine-kde
profile_id = ultramarine-plasma
base_profile = ultramarine

[Profile Detection]
# Match os-release values.
os_id = ultramarine
variant_id = kde
variant_id = plasma

[Payload]
default_environment = ultramarine-kde-product-environment
default_environment = ultramarine-plasma-product-environment

[Bootloader]
menu_auto_hide = True
Expand Down
142 changes: 71 additions & 71 deletions ultramarine/release/ultramarine-release.spec
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,20 @@

%bcond_without basic
%bcond_without flagship
%bcond_without kde
%bcond_without plasma
%bcond_without gnome
%bcond_without xfce
%bcond_without atomic_flagship
%bcond_without atomic_kde
%bcond_without atomic_plasma
%bcond_without atomic_gnome
%bcond_without atomic_xfce
%bcond_without chromebook

%if %{with flagship} || %{with kde} || %{with gnome} || %{with xfce} || %{with atomic_flagship} || %{with atomic_kde} || %{with atomic_gnome} || %{with atomic_xfce}
%if %{with flagship} || %{with plasma} || %{with gnome} || %{with xfce} || %{with atomic_flagship} || %{with atomic_plasma} || %{with atomic_gnome} || %{with atomic_xfce}
%global with_desktop 1
%endif

%if %{with atomic_flagship} || %{with atomic_kde} || %{with atomic_gnome} || %{with atomic_xfce}
%if %{with atomic_flagship} || %{with atomic_plasma} || %{with atomic_gnome} || %{with atomic_xfce}
%global with_atomic_desktop 1
%endif

Expand Down Expand Up @@ -93,12 +93,12 @@ Source40: https://github.com/Ultramarine-Linux/xfce-config/archive/%{xfce_conf
Source50: ultramarine.conf
Source51: ultramarine-flagship.conf
Source52: ultramarine-gnome.conf
Source53: ultramarine-kde.conf
Source53: ultramarine-plasma.conf
Source54: ultramarine-xfce.conf

Source60: ultramarine-flagship-protected.conf
Source61: ultramarine-gnome-protected.conf
Source62: ultramarine-kde-protected.conf
Source62: ultramarine-plasma-protected.conf
Source63: ultramarine-xfce-protected.conf

Source64: 88-ultramarine-chromebook-default.preset
Expand Down Expand Up @@ -238,14 +238,14 @@ Provides the necessary files for a Ultramarine Atomic Flagship installation.
%endif

######################################################################
####### KDE #######
####### Plasma #######

%if %{with kde}
%package kde
Summary: Base package for Ultramarine KDE-specific default configurations
RemovePathPostfixes: .kde
%if %{with plasma}
%package plasma
Summary: Base package for Ultramarine Plasma-specific default configurations
RemovePathPostfixes: .plasma
Provides: ultramarine-release = %{version}-%{release}
Provides: ultramarine-release-kde = %{version}-%{release}
Provides: ultramarine-release-plasma = %{version}-%{release}
Provides: ultramarine-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Expand All @@ -256,34 +256,34 @@ Provides: system-release-product
# ultramarine-release-common Requires: ultramarine-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# ultramarine-release-identity-cinnamon if nothing else is already doing so.
Recommends: ultramarine-release-identity-kde
Recommends: ultramarine-release-identity-plasma
Recommends: kwin-system76-scheduler-integration

%description kde
Provides a base package for Ultramarine KDE configurations.
%description plasma
Provides a base package for Ultramarine Plasma configurations.

%package identity-kde
Summary: Package providing the Ultramarine KDE Identity
RemovePathPostfixes: .kde
%package identity-plasma
Summary: Package providing the Ultramarine Plasma Identity
RemovePathPostfixes: .plasma
Provides: ultramarine-release-identity = %{version}-%{release}
Conflicts: ultramarine-release-identity
Requires(meta): ultramarine-release-kde = %{version}-%{release}
Requires(meta): ultramarine-release-Plasma = %{version}-%{release}

%description identity-kde
Provides the necessary files for a Ultramarine KDE installation.
%description identity-plasma
Provides the necessary files for a Ultramarine Plasma installation.

%endif

######################################################################
####### Atomic KDE #######
####### Atomic Plasma #######

%if %{with atomic_kde}
%package atomic-kde
Summary: Base package for Ultramarine Atomic KDE-specific default configurations
%if %{with atomic_plasma}
%package atomic-plasma
Summary: Base package for Ultramarine Atomic Plasma-specific default configurations

RemovePathPostfixes: .atomic-kde
RemovePathPostfixes: .atomic-plasma
Provides: ultramarine-release = %{version}-%{release}
Provides: ultramarine-release-atomic-kde = %{version}-%{release}
Provides: ultramarine-release-atomic-plasma = %{version}-%{release}
Provides: ultramarine-release-variant = %{version}-%{release}
Provides: system-release
Provides: system-release(%{version})
Expand All @@ -295,20 +295,20 @@ Provides: system-release-product
# ultramarine-release-common Requires: ultramarine-release-identity, so at least one
# package must provide it. This Recommends: pulls in
# ultramarine-release-identity-cinnamon if nothing else is already doing so.
Recommends: ultramarine-release-identity-atomic-kde
Recommends: ultramarine-release-identity-atomic-plasma

%description atomic-kde
Provides a base package for Ultramarine Atomic KDE configurations.
%description atomic-plasma
Provides a base package for Ultramarine Atomic Plasma configurations.

%package identity-atomic-kde
Summary: Package providing the Ultramarine Atomic KDE Identity
RemovePathPostfixes: .atomic-kde
%package identity-atomic-Plasma
Summary: Package providing the Ultramarine Atomic Plasma Identity
RemovePathPostfixes: .atomic-plasma
Provides: ultramarine-release-identity = %{version}-%{release}
Conflicts: ultramarine-release-identity
Requires(meta): ultramarine-release-atomic-kde = %{version}-%{release}
Requires(meta): ultramarine-release-atomic-plasma = %{version}-%{release}

%description identity-atomic-kde
Provides the necessary files for a Ultramarine Atomic KDE installation.
%description identity-atomic-plasma
Provides the necessary files for a Ultramarine Atomic Plasma installation.

%endif

Expand Down Expand Up @@ -655,29 +655,29 @@ sed -i -e "s|(%{release_name}%{?prerelease})|(Atomic Flagship Edition%{?prerelea
sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Atomic Flagship/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.atomic-flagship
%endif

%if %{with kde}
# KDE
%if %{with plasma}
# Plasma
cp -p os-release \
%{buildroot}%{_prefix}/lib/os-release.kde
echo "VARIANT=\"KDE Plasma Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.kde
echo "VARIANT_ID=kde" >> %{buildroot}%{_prefix}/lib/os-release.kde
sed -i -e "s|(%{release_name}%{?prerelease})|(KDE Plasma Edition%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.kde
sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/KDE Plasma/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.kde
%{buildroot}%{_prefix}/lib/os-release.plasma
echo "VARIANT=\"Plasma Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.plasma
echo "VARIANT_ID=plasma" >> %{buildroot}%{_prefix}/lib/os-release.plasma
sed -i -e "s|(%{release_name}%{?prerelease})|(Plasma Edition%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.plasma
sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Plasma/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.plasma

install -Dm0644 %{SOURCE62} %{buildroot}%{_sysconfdir}/dnf/protected.d/ultramarine-kde.conf
install -Dm0644 %{SOURCE62} %{buildroot}%{_sysconfdir}/dnf/protected.d/ultramarine-plasma.conf

install -Dm644 %{SOURCE31} %{buildroot}%{_userunitdir}/enable-kwin-system76-scheduler-integration.service

%endif

%if %{with atomic_kde}
# Atomic KDE
%if %{with atomic_plasma}
# Atomic Plasma
cp -p os-release \
%{buildroot}%{_prefix}/lib/os-release.atomic-kde
echo "VARIANT=\"Atomic KDE Plasma Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.atomic-kde
echo "VARIANT_ID=atomic-kde" >> %{buildroot}%{_prefix}/lib/os-release.atomic-kde
sed -i -e "s|(%{release_name}%{?prerelease})|(Atomic KDE Plasma Edition%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.atomic-kde
sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Atomic KDE Plasma/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.atomic-kde
%{buildroot}%{_prefix}/lib/os-release.atomic-plasma
echo "VARIANT=\"Atomic Plasma Edition\"" >> %{buildroot}%{_prefix}/lib/os-release.atomic-plasma
echo "VARIANT_ID=atomic-plasma" >> %{buildroot}%{_prefix}/lib/os-release.atomic-plasma
sed -i -e "s|(%{release_name}%{?prerelease})|(Atomic Plasma Edition%{?prerelease})|g" %{buildroot}%{_prefix}/lib/os-release.atomic-plasma
sed -e "s#\$version#%{bug_version}#g" -e 's/$edition/Atomic Plasma/;s/<!--.*-->//;/^$/d' %{SOURCE20} > %{buildroot}%{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.atomic-plasma

install -Dm644 %{SOURCE31} %{buildroot}%{_userunitdir}/enable-kwin-system76-scheduler-integration.service

Expand Down Expand Up @@ -765,7 +765,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/anaconda/profile.d/
cp -pr %{SOURCE50} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine.conf
cp -pr %{SOURCE51} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine-flagship.conf
cp -pr %{SOURCE52} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine-gnome.conf
cp -pr %{SOURCE53} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine-kde.conf
cp -pr %{SOURCE53} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine-plasma.conf
cp -pr %{SOURCE54} %{buildroot}%{_sysconfdir}/anaconda/profile.d/ultramarine-xfce.conf

# sysctls
Expand Down Expand Up @@ -869,23 +869,23 @@ install -Dm0644 %{SOURCE32} -t %{buildroot}%{_datadir}/polkit-1/rules.d/

%endif

# the funny KDE system76 scheduler integration
%if %{with kde}
# the funny Plasma system76 scheduler integration
%if %{with plasma}

%post identity-kde
%post identity-plasma
%systemd_user_post enable-kwin-system76-scheduler-integration.service

%preun identity-kde
%preun identity-plasma
%systemd_user_preun enable-kwin-system76-scheduler-integration.service

%endif

%if %{with atomic_kde}
%if %{with atomic_plasma}

%post identity-atomic-kde
%post identity-atomic-plasma
%systemd_user_post enable-kwin-system76-scheduler-integration.service

%preun identity-atomic-kde
%preun identity-atomic-plasma
%systemd_user_preun enable-kwin-system76-scheduler-integration.service

%endif
Expand All @@ -896,7 +896,7 @@ install -Dm0644 %{SOURCE32} -t %{buildroot}%{_datadir}/polkit-1/rules.d/
%{_sysconfdir}/anaconda/profile.d/ultramarine.conf
%{_sysconfdir}/anaconda/profile.d/ultramarine-flagship.conf
%{_sysconfdir}/anaconda/profile.d/ultramarine-gnome.conf
%{_sysconfdir}/anaconda/profile.d/ultramarine-kde.conf
%{_sysconfdir}/anaconda/profile.d/ultramarine-plasma.conf
%{_sysconfdir}/anaconda/profile.d/ultramarine-xfce.conf
%{_prefix}/lib/sysctl.d/50-ultramarine-networking.conf
%license licenses/LICENSE licenses/README.license
Expand Down Expand Up @@ -955,20 +955,20 @@ install -Dm0644 %{SOURCE32} -t %{buildroot}%{_datadir}/polkit-1/rules.d/
%{_sysconfdir}/lightdm/lightdm.conf.d/50-ultramarine-flagship-lightdm-gtk-greeter.conf
%endif

%if %{with kde}
%files kde
%files identity-kde
%{_prefix}/lib/os-release.kde
%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.kde
%{_sysconfdir}/dnf/protected.d/ultramarine-kde.conf
%if %{with plasma}
%files plasma
%files identity-plasma
%{_prefix}/lib/os-release.plasma
%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.plasma
%{_sysconfdir}/dnf/protected.d/ultramarine-plasma.conf
%config %_userunitdir/enable-kwin-system76-scheduler-integration.service
%endif

%if %{with atomic_kde}
%files atomic-kde
%files identity-atomic-kde
%{_prefix}/lib/os-release.atomic-kde
%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.atomic-kde
%if %{with atomic_plasma}
%files atomic-plasma
%files identity-atomic-plasma
%{_prefix}/lib/os-release.atomic-plasma
%attr(0644,root,root) %{_swidtagdir}/org.ultramarinelinux.Ultramarine-edition.swidtag.atomic-plasma
%config %_userunitdir/enable-kwin-system76-scheduler-integration.service
%endif

Expand Down

0 comments on commit cff0049

Please sign in to comment.