## Problem - follow-up to #2493 - https://trello.com/c/czY7e3c0 For SLES16 the minimal system can be without libzypp. If it is case together with onlyRequires flag, then software service crashes when trying to load zypp.conf. ## Solution Add check if file exists and if not, just log it and continue. Also change as agreed modification of zypp.conf to explicitly write onlyRequires if user explicitly mention it in profile to not just use libzypp default. ## Testing - *Tested manually* ## Documentation *Remember to look at it from the user's perspective. Yes you have made the compiler happy.* *But will the **humans** even know about your contribution? Sometimes they cannot miss it,* *other times they need advertisement and explanation.* *Look for relevant sections and adjust:* - The description parts of the [JSON schema][profile.schema.json] - Is the CLI affected? See [cli.md][] for a complete overview, change the `///` comments (rust doc) and update the .md with `cargo xtask markdown` - <https://agama-project.github.io/> ([source][gh.io]) - Run: `git ls-files '*.md'` [cli.md]: https://github.com/agama-project/agama-project.github.io/blob/main/docs/user/cli.md [profile.schema.json]: https://github.com/agama-project/agama/blob/master/rust/agama-lib/share/profile.schema.json [gh.io]: https://github.com/agama-project/agama-project.github.io/ --------- Co-authored-by: Ladislav Slezák <lslezak@suse.com> |
||
|---|---|---|
| .. | ||
| .cargo | ||
| agama-cli | ||
| agama-lib | ||
| agama-locale-data | ||
| agama-network | ||
| agama-server | ||
| agama-utils | ||
| etc/agama.d | ||
| package | ||
| share | ||
| xtask | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| rustfmt.toml | ||
| WEB-SERVER.md | ||
Agama Server
According to Agama's architecture this project implements the following components:
- The Agama server, excluding Agama YaST which lives in the service directory.
- The Agama D-Bus service.
- The Command Line Interface.
Code organization
We have set up Cargo workspace with three packages:
- agama-lib: code that can be reused to access the Agama D-Bus API and a model for the configuration settings.
- agama-cli: code specific to the command-line interface.
- agama-settings and agama-derive: includes a procedural macro to reduce the boilerplate code.
- agama-locale-data: specific library to provide data for localization D-Bus API
- agama-server: implements the HTTP/JSON (and WebSocket) API. Additionally, it offers a minimal D-Bus API for internal communication.