Skip to content

Sync with master#1991

Merged
joseivanlopez merged 89 commits intoagama-project:storage-config-uifrom
joseivanlopez:merge-master
Feb 13, 2025
Merged

Sync with master#1991
joseivanlopez merged 89 commits intoagama-project:storage-config-uifrom
joseivanlopez:merge-master

Conversation

@joseivanlopez
Copy link
Copy Markdown
Contributor

@joseivanlopez joseivanlopez commented Feb 13, 2025

Merge master into the feature branch.

imobachgs and others added 30 commits January 21, 2025 13:22
* Additionally, move the "license" module to agama-lib.
Agama-weblate commit: c7f2490da96c90e3ed1072c2981d0345196ed3b1
Agama-weblate commit: c7f2490da96c90e3ed1072c2981d0345196ed3b1
This reverts commit e8b00a1.
revert as callback is not used in libzypp at all.
Ensure we know if the arch-specific bootconfig scripts fail.

Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
…name

mksusecd expects the offset to be written in initrd.ofs. Change
the filename to match it.

This fixes building of "combined" Full offline images on s390x.

Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
…name (agama-project#1969)

## Problem

mksusecd expects the offset to be written in initrd.ofs.

## Solution

Change the filename from `initrd.off` to `initrd.ofs` to match what
mksuse expects.

This fixes building of "combined" Full offline images on s390x.

This pull request also adds a commit that ensures that the arch-specific
`fix_bootconfig` scripts exit at the first failure.
`xxd` is not available in the build environment (in SLFO:Main at least),
so `initrd.off` (now `.ofs`) and `initrd.siz` were never being created
in the first place. Exiting as soon as the first failure will hopefully
help us catch this kind of bugs earlier 😄

**NOTE:** due to this, s390x builds might fail if xxd is not present.
This OBS prjconf snippet should ensure that it is getting installed on
image builds:

```
Substitute: kiwi-image:iso    kiwi-systemdeps-iso-media qemu-tools xxd
```

## Testing

- *Tested manually*
…offset

See discussion in bsc#1236781, and gh#agama-project#1969.

This essentially reverts c3c8fc4.

Signed-off-by: Eugenio Paolantonio <eugenio.paolantonio@suse.com>
## Problem

The web UI does not perform any mutation when the network gets
disconnected.

## Solution

Set the network mode to `always` for mutations, as they have a separate
set of default options from queries. This change is analogous to what we
did in agama-project#1909 for queries.

## Testing

- Tested manually
## Problem

- The screenshots in the README.md are outdated

## Solution

- Link the latest screenshots from the
https://github.com/agama-project/agama-project.github.io repository
- Then we need to update just one place with screenshots and avoid
duplicates
- The repository checkout will a bit faster/smaller (but only when
checking out with `--depth 1` as in some GitHub Actions)
- Additionally deleted all obsolete S390 screenshots (some of them even
referred to the dropped Cockpit)
…project#1975)

## Problem

- When installing SLE16 from the offline medium the initial installation
repository is present in the installed system
- However it cannot be reached with URL
`dir:///run/initramfs/live/install`, that directory does not exist in
installed system
- See https://bugzilla.suse.com/show_bug.cgi?id=1236813

## Solution

- Simply remove the repository, 

## Testing

- Added a new unit test
- Tested manually, when using the offline medium there is no repository
defined in the installed system

## Notes

- Some unrelated Rspec test fails, but that happened even before these
changes 😟
## Problem

In running Agama installer user was able to open IceWM's main menu using
Win key

- [bsc#1235478](https://bugzilla.suse.com/show_bug.cgi?id=1235478)


## Solution

Taken
[preferences.yast2](https://github.com/yast/yast-theme/blob/master/theme/SLE/wmconfig/preferences.yast2)
from yast-theme package

Note: the Makefile patch was taken from @lslezak
https://github.com/agama-project/agama/compare/efi_locale?expand=1#diff-3814de00178ccbebe225da81ee5f56663518b579103d005782925a8b014491ca

## Notes

- The default IceWM shortcut for starting xterm is `Ctrl+Alt+T`
- Additionally fixed crashing xterm when displaying the xterm menu (via
Ctrl + click)

![agama-xterm](https://github.com/user-attachments/assets/0f4d6d13-9236-4082-b56c-70902ffa1ea2)
- I (@lslezak) have enabled some IceWM features in the config file.
Enable displaying the window title, the maximize/minimize buttons and
the window actions menu in the title bar.

YaST uses popup windows where these features are not wanted, but Agama
displays popups in the main browser window (so technically they are not
popups and we do not use any `alert()` or similar functions). And these
features might be useful when running xterm debug window. See the
screenshot above.

## Testing

- Tested manually

---------

Co-authored-by: Ladislav Slezák <lslezak@suse.com>
Updating the web translation files from the agama-weblate repository
Updating the service translation files from the agama-weblate repository
- Describe the licenses API in OpenAPI.
- Additionally, move the "license" module to agama-lib.
mvidner and others added 21 commits February 7, 2025 21:46
and remove 'support: yes' from users[], it is implicit on all items with
'children'
zypper install python3-jsonschema.rpm
jsonschema -i autoyast-compat.json autoyast-compat.schema.json

TODO: check in CI, maybe make `agama profile validate` a bit more
generic
Agama-weblate commit: 7abfa3d3cb4c3b3a2d07d0af16f9f71fad9e666d
Agama-weblate commit: 7abfa3d3cb4c3b3a2d07d0af16f9f71fad9e666d
Updating the web translation files from the agama-weblate repository
Updating the service translation files from the agama-weblate repository
- Do not fail when it is missing
- This fixes crash on non-UEFI systems
## Problem

- Agama fails starting locally on non-UEFI systems


![agama-missing-lang](https://github.com/user-attachments/assets/f9ae44bb-e15c-469f-b1e4-14189989c324)

## Details

- The `lang` URL parameter is used only in UEFI systems, on other
systems it is not defined/used.
- It is related to agama-project#1924

## Solution

- Make the `lang` URL query parameter optional

## Testing

- Tested manually in bot UEFI and non-UEFI (standard BIOS) systems
Co-authored-by: Martin Vidner <mvidner@suse.cz>
## Problem

- Too long repository refresh timeout, Agama seems to be stuck
- See https://bugzilla.suse.com/show_bug.cgi?id=1236820#c6
- In this particular case probing the repository succeeded, but the
refresh started one second later timed out 😱

## Solution

- Disable the repository if the refresh failed
- That avoids automatically refreshing all not yet refreshed
repositories in the `Pkg.SourceLoad` call in the next step
encountered when trying to run something from a git checkout,
it probably works fine on our ISO
## Improvements

- Start root shell in a free terminal (usually tty2)
- Fixed restarting the x11-autologin service
- Do not ask to restore the browser session after restarting it
- Print only kernel errors or more severe messages on the console, avoid
spamming the terminal with useless texts (bsc#1237056)

## Testing

- Tested manually in a locally built ISO
## Problem

Agama does not offer information about which elements are supported when
importing an AutoYaST profile and which ones are just ignored.

https://trello.com/c/0u2wwMN2

## Solution

Agama checks the profile for unsupported elements. If it finds them, it
displays a question listing them and asking the user whether to
continue.

## Generating the documentation

The mechanism to detect unsupported elements includes a list of all
AutoYaST elements and whether they are supported: "yes", "planned",
"partial" or "no". The file also contains hints about replacing some
elements (e.g., using a post-script).

Although it was out of scope, this PR introduces a new
`doc:autoyast_compat` which generates a reference to be included in the
[AutoYaST support](https://agama-project.github.io/docs/user/autoyast)
documentation. Not all elements are included, but we can create a
follow-up PBI to work on that.

## Disabling the check

It is possible to disable the check specifying `agama.ay_check=0` on
kernel's command line. Actually, the check is done, but it does not
report found problems.

## Testing

- Added a new unit test
- Tested manually
## Problem

ISO publisher* should be set through Kiwi 

*) "Publisher Identifier" of [ISO 9660](https://wiki.osdev.org/ISO_9660)

## Solution

Set the ISO publisher through Kiwi
)

All these changes make the build one minute faster (on my local
workstation) and the resulting ISO is 34MB smaller (on x86_64, might be
different elsewhere).

## Improvements

- Do not print details about removed kernel drivers and firmware files
during build, this speeds up the build significantly
 (~1 minute faster build) and avoids huge build log.
- Uncompress the kernel drivers, no need to compress them twice (they
are compressed by the squashfs as well). Compressing all drivers
together in the image is more effective than compressing several
thousands individual files. This makes the image about 33MB smaller (on
x86_64).
- Hardlink the duplicate licenses, makes the ISO ~1MB smaller

---------

Co-authored-by: Martin Vidner <mvidner@suse.cz>
@joseivanlopez joseivanlopez changed the title Merge master Sync with master Feb 13, 2025
@joseivanlopez
Copy link
Copy Markdown
Contributor Author

@dgdavid CI - Web is failing because Module '"@patternfly/react-core"' has no exported member 'Text'. Any idea?

@dgdavid
Copy link
Copy Markdown
Contributor

dgdavid commented Feb 13, 2025

@dgdavid CI - Web is failing because Module '"@patternfly/react-core"' has no exported member 'Text'. Any idea?

Sure, I’ve one! :)

The feature branch is using PatternFly 6 now, which has replaced Text by Content.

These kinds of issues can pop up while working on both the master and storage-config-ui branches, since master is still on PatternFly 5. To quickly check if an error is related to the migration, you can have a look to the PatternFly release notes.

Of course, I’m happy to help with any issues you run into. Just sharing the resources in case I’m not around! 😊

Copy link
Copy Markdown
Contributor

@dgdavid dgdavid left a comment

Choose a reason for hiding this comment

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

I've checked commits after merge, since I guess others were already reviewed before reach master branch.

LGTM, thanks.

@joseivanlopez joseivanlopez merged commit 1e6e290 into agama-project:storage-config-ui Feb 13, 2025
5 checks passed
@coveralls
Copy link
Copy Markdown

coveralls commented Feb 13, 2025

Pull Request Test Coverage Report for Build 13304258559

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 2 of 11 (18.18%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall first build on merge-master at 25.046%

Changes Missing Coverage Covered Lines Changed/Added Lines %
rust/agama-lib/src/software/model/license.rs 2 3 66.67%
rust/agama-server/src/web/http.rs 0 8 0.0%
Totals Coverage Status
Change from base Build 13264404276: 25.0%
Covered Lines: 1752
Relevant Lines: 6995

💛 - Coveralls

@imobachgs imobachgs mentioned this pull request Feb 26, 2025
imobachgs added a commit that referenced this pull request Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.