Skip to content

Conversation

@sspencerwire
Copy link
Contributor

@sspencerwire sspencerwire commented Nov 14, 2022

  • fixed a bulleted section at the top that was broken
  • added the DNF Module section and command options how-to

Author checklist (Completed by original Author)

  • Good fit for the Rocky Linux project? Title and Author Metatags inserted ?
  • If applicable, steps and instructions have been tested to work
  • Initial self-review to fix basic typos and grammar completed

Rocky Documentation checklist (Completed by Rocky team)

  • 1st Pass (Document is good fit for project and author checklist completed)
  • 2nd Pass (Technical Review - check for technical correctness)
  • 3rd Pass (Detailed Editorial Review and Peer Review)
  • Final approval (Final Review)

* fixed a bulleted section at the top that was broken
* added the DNF Module section and command options how-to
SergeCroise
SergeCroise previously approved these changes Nov 14, 2022

* **Module Streams:** A module stream can be thought of as a separate repository within the Appstream repository that contains different application versions. These module repositories contain the application RPMs, dependencies, and documentation for that particular stream. An example of a module stream in Rocky Linux 8 would be `postgresql`. If you install `postgresql` using the standard `sudo dnf install postgresql` you will get version 10. However, using modules, you can instead install versions 9.6, 12 or 13.

* **Module Profiles:** What a module profile does is take into consideration the use case for the module stream when installing the package. Applying a profile adjusts the package RPMs, dependencies and documentation to account for the module's use. Using the same `postgresql` stream in our example, you can apply a profile of either "server" or "client". Obviously, you don't need the same packages installed on your system if you are just going to use `postgresql` as a client to access a server.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* **Module Profiles:** What a module profile does is take into consideration the use case for the module stream when installing the package. Applying a profile adjusts the package RPMs, dependencies and documentation to account for the module's use. Using the same `postgresql` stream in our example, you can apply a profile of either "server" or "client". Obviously, you don't need the same packages installed on your system if you are just going to use `postgresql` as a client to access a server.
* **Module Profiles:** What a module profile does is take into consideration the use case for the module stream when installing the package. Applying a profile adjusts the package RPMs, dependencies and documentation to account for the module's use. Using the same `postgresql` stream in our example, you can apply a profile of either "server" or "client". Obviously, you do not need the same packages installed on your system if you are just going to use `postgresql` as a client to access a server.

Copy link
Contributor

@lumarel lumarel left a comment

Choose a reason for hiding this comment

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

Already very good wording, it's very easily understandable!
A few small things:

  • The AppStream repo is capitalized
  • The official wording for streams is: module stream in small letters
  • This addition came initially from the question from people asking why they can see packages in the repo, but aren't able to install them, I feel like this would need some extra wording

postgresql 13 client, server [d] PostgreSQL server and client module
```

Now you can use the default or enable another stream just like we did above.
Copy link
Contributor

Choose a reason for hiding this comment

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

This section might need an addition of dnf module switch-to as this is somehow the better option of dnf module reset x && dnf module enable x:x now
https://dnf.readthedocs.io/en/latest/command_ref.html#module-command-label


### Installing Packages From The Module Stream

Now that our module stream is enabled, the next step is to install `postgresql`. In this example, let's assume that we only want the client profile applied to our installation. To do this, we simply enter this command:
Copy link
Contributor

Choose a reason for hiding this comment

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

This reads like it's only possible to install packages through profiles, might need a rewording to tell that you can install the wanted packages/package versions after enabling the stream, OR you can basically skip both enabling and manually installing and just do a dnf module install postgresql:13/client, which does install the packages in the profile + enables the stream!

* fix Appstream to AppStream
* Add admonition for "Package Confusion"
* Add switch-to sub-command information
@sspencerwire
Copy link
Contributor Author

@lumarel take a look at this now. I've attempted to add to/or clarify where necessary. If you still see some outstanding issues, just let me know. Thank you!

Copy link
Contributor

@lumarel lumarel left a comment

Choose a reason for hiding this comment

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

It was still confusing for me, so is it fine this way?
You might need to change it a bit as my writing style is not quite the same of yours 🙂

Looks good to me!

Co-authored-by: Lukas Magauer <42647570+lumarel@users.noreply.github.com>
@github-actions
Copy link

Test results for 33fe8cc:

Number of broken URLs: 0

URL,RESULT,FILENAME

@sspencerwire sspencerwire merged commit ed40945 into rocky-linux:main Nov 15, 2022
@sspencerwire sspencerwire deleted the software_section_update branch January 7, 2023 13:52
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.

3 participants