Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(products): preliminary SLES 16 support #1473

Merged
merged 6 commits into from
Jul 17, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/obs-staging-products.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ jobs:
# pass all secrets
secrets: inherit
with:
package_name: agama-products-opensuse
package_name: agama-products
service_file: products.d/_service
4 changes: 2 additions & 2 deletions products.d/_service
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
<param name="revision">master</param>
<param name="subdir">products.d</param>
<param name="without-version">enable</param>
<param name="extract">agama-products-opensuse.changes</param>
<param name="extract">agama-products-opensuse.spec</param>
<param name="extract">agama-products.changes</param>
<param name="extract">agama-products.spec</param>
</service>
<service mode="buildtime" name="tar">
<param name="obsinfo">agama.obsinfo</param>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Jul 17 07:34:01 UTC 2024 - Imobach Gonzalez Sosa <[email protected]>

- Add a definition for SUSE Linux Enteprise Server
(gh#openSUSE/agama#1473).
- Generate separate packages for openSUSE and SLE-based products.

-------------------------------------------------------------------
Tue Jul 12 17:29:00 UTC 2024 - Natasha Ament <[email protected]>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,18 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

Name: agama-products-opensuse
Name: agama-products
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so agama-products is just empty shell that do nothing? Do we need it at all?

Copy link
Contributor Author

@imobachgs imobachgs Jul 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agama-products is the source package:

agama-products-9+218-slfo.1.4.1.src.rpm (26.5 KB)
agama-products-opensuse-9+218-slfo.1.4.1.noarch.rpm (22 KB)
agama-products-sle-9+218-slfo.1.4.1.noarch.rpm (16.4 KB)

# This will be set by osc services, that will run after this.
Version: 0
Release: 0
Summary: Definition of openSUSE products for the Agama installer
Summary: Definition of products for the Agama installer
License: GPL-2.0-only
Url: https://github.com/opensuse/agama
BuildArch: noarch
Source0: agama.tar

%description
Products definition for Agama installer. This one is for opensuse products.
Products definition for Agama installer.

%prep
%autosetup -a0 -n agama
Expand All @@ -37,7 +37,13 @@ Products definition for Agama installer. This one is for opensuse products.
install -D -d -m 0755 %{buildroot}%{_datadir}/agama/products.d
install -m 0644 *.yaml %{buildroot}%{_datadir}/agama/products.d

%files
%package opensuse
Summary: Definition of openSUSE products for the Agama installer.

%description opensuse
Definition of openSUSE products (Tumbleweed, Leap and MicroOS) for the Agama installer.

%files opensuse
%doc README.md
%license LICENSE
%dir %{_datadir}/agama
Expand All @@ -46,4 +52,18 @@ install -m 0644 *.yaml %{buildroot}%{_datadir}/agama/products.d
%{_datadir}/agama/products.d/tumbleweed.yaml
%{_datadir}/agama/products.d/leap_160.yaml

%package sle
Summary: Definition of SLE products for the Agama installer.

%description sle
SLE-based products definition for Agama installer.
Definition of SLE-based products (e.g., SUSE Linux Enterprise Server) for the Agama installer.

%files sle
%doc README.md
%license LICENSE
%dir %{_datadir}/agama
%dir %{_datadir}/agama/products.d
%{_datadir}/agama/products.d/sles_160.yaml

%changelog
135 changes: 135 additions & 0 deletions products.d/sles_160.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
id: SLES_16.0
name: SUSE Linux Enteprise Server 16.0 Alpha
# ------------------------------------------------------------------------------
# WARNING: When changing the product description delete the translations located
# at the at translations/description key below to avoid using obsolete
# translations!!
# ------------------------------------------------------------------------------
description: "SUSE Linux Enterprise Server is the open, reliable, compliant, and future-proof
Linux Server choice that ensures the enterprise's business continuity. It is the secure and
adaptable OS for long-term supported, innovation-ready infrastructure running business-critical
workloads on-premises, in the cloud, and at the edge."
# Do not manually change any translations! See README.md for more details.
translations:
description:
software:
installation_repositories:
- url: http://download.suse.de/ibs/SUSE:/SLFO:/Products:/SLES:/16.0/product/repo/SLES-Packages-16.0-x86_64/
archs: x86_64
- url: http://download.suse.de/ibs/SUSE:/SLFO:/Products:/SLES:/16.0/product/repo/SLES-Packages-16.0-aarch64/
archs: aarch64

mandatory_patterns:
- sles_enhanced_base
optional_patterns: null # no optional pattern shared
user_patterns: []
mandatory_packages:
- NetworkManager
optional_packages: null
base_product: SLES

security:
lsm: null
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I though that default should be selinux for SLE16 or not?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not available yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changed null to none.

available_lsms:
apparmor:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is apparmor available on SLES?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neither selinux nor apparmor are available yet. It is a WIP.

patterns:
- apparmor
selinux:
patterns:
- selinux
policy: enforcing
none:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is none lsms available?

patterns: null

storage:
space_policy: delete
volumes:
- "/"
- "swap"
volume_templates:
- mount_path: "/"
filesystem: btrfs
btrfs:
snapshots: true
read_only: false
default_subvolume: "@"
subvolumes:
- path: home
- path: opt
- path: root
- path: srv
- path: usr/local
# Unified var subvolume - https://lists.opensuse.org/opensuse-packaging/2017-11/msg00017.html
- path: var
copy_on_write: false
# Architecture specific subvolumes
- path: boot/grub2/arm64-efi
archs: aarch64
- path: boot/grub2/arm-efi
archs: arm
- path: boot/grub2/i386-pc
archs: x86_64
- path: boot/grub2/powerpc-ieee1275
archs: ppc,!board_powernv
- path: boot/grub2/s390x-emu
archs: s390
- path: boot/grub2/x86_64-efi
archs: x86_64
- path: boot/grub2/riscv64-efi
archs: riscv64
size:
auto: true
outline:
required: true
filesystems:
- btrfs
- ext2
- ext3
- ext4
- xfs
auto_size:
base_min: 5 GiB
base_max: 15 GiB
snapshots_increment: 250%
max_fallback_for:
- "/home"
snapshots_configurable: true
- mount_path: "swap"
filesystem: swap
size:
auto: true
outline:
auto_size:
base_min: 1 GiB
base_max: 2 GiB
adjust_by_ram: true
required: false
filesystems:
- swap
- mount_path: "/home"
filesystem: xfs
size:
auto: false
min: 10 GiB
max: unlimited
outline:
required: false
filesystems:
- btrfs
- ext2
- ext3
- ext4
- xfs
- filesystem: xfs
size:
auto: false
min: 1 GiB
outline:
required: false
filesystems:
- btrfs
- ext2
- ext3
- ext4
- xfs
- vfat