Skip to content

RPM support for nouveau#147

Merged
nickva merged 1 commit intomainfrom
nouveau-package
Aug 29, 2024
Merged

RPM support for nouveau#147
nickva merged 1 commit intomainfrom
nouveau-package

Conversation

@nickva
Copy link
Contributor

@nickva nickva commented Aug 29, 2024

This is a simple version that goes along with the release artifacts file setup mostly, just adds a systemd unit file for nouveau.

Nouveau config setting can be automatically enabled during the rpm install using COUCHDB_NOUVEAU_ENABLE=true.

For instance:

COUCHDB_NOUVEAU_ENABLE=true COUCHDB_COOKIE=c00kie dnf install couchdb*.rpm

Java dependency is declared as a Suggests:.... This is the weakest form of dependency declaration. It won't automatically bring in java 21.

In the next minor version it may become a Recommends: which is one level higher and will automatically install it.

If nouveau config is enabled during the RPM install, user is then urged to install java (suggestion via dnf but they may install their own from any vendor) and to enable the systemd unit to auto-start after boot.

CouchDB service also works this way: it has to be enabled explicitly. This part didn't change:

systemctl enable couchdb
systemctl enable couchdb-nouveau

This lets a user choose to start just CouchDB on a server, just Nouveau, or both CouchDB and Noveau.

In addition, since we're updating the RPM package, remove some of deprecated/redundant settings needed for old CentOS-es:

  • Log to journald instead of a file
  • Log level is already set to info, so no need to override it again in the RPM package
  • No need for an init file, all supported OSes have systemd

This is a simple version that goes along with the release artifacts
file setup mostly, just adds a systemd unit file for nouveau.

Nouveau config setting can be automatically enabled the rpm install
using `COUCHDB_NOUVEAU_ENABLE=true`.

For instance:

 `COUCHDB_NOUVEAU_ENABLE=true COUCHDB_COOKIE=c00kie dnf install couchdb*.rpm`

Java dependency is declared as a `Suggests:...`. This is the weakest
form of dependency declaration. It won't automatically bring in java
21.

In the next minor version it may become a `Recommends:` which is one
level higher and will automatically install it.

If nouveau config is enabled during the RPM install, user is then
urged to install java (suggestion via dnf but they may install their
own from any vendor) and to enable the systemd unit to auto-start
after boot.

CouchDB service also works this way: it has to be enabled
explicitly. This part didn't change:

 `systemctl enable couchdb`
 `systemctl enable couchdb-nouveau`

This lets a user choose to start just CouchDB on a server, just
Nouveau, or both CouchDB and Noveau.

In addition, since we're updating the RPM package, remove some of
deprecated/redundant settings needed for old CentOS-es:

  - Log to journald instead of a file
  - Log level is already set to info, so no need to override it again in the RPM package
  - No need for an init file, all supported OSes have systemd
@nickva
Copy link
Contributor Author

nickva commented Aug 29, 2024

When enabling nouveau with the environmental variable the successful install should look something like:

Running transaction
  Preparing        :                                                                                                                  1/1 
  Running scriptlet: couchdb-3.3.3.913eefe-1.el9.x86_64                                                                               1/1 
  Installing       : couchdb-3.3.3.913eefe-1.el9.x86_64                                                                               1/1 
  Running scriptlet: couchdb-3.3.3.913eefe-1.el9.x86_64                                                                               1/1 
Using defined COUCHDB_COOKIE value.
Enabling nouveau in /opt/couchdb/etc/default.d/10-nouveau.ini
 * Make sure to install java version 11+ (dnf install java-21-openjdk-headless)
 * Enable couchdb-nouveau systemd unit

  Verifying        : couchdb-3.3.3.913eefe-1.el9.x86_64                                                                               1/1 

Installed:
  couchdb-3.3.3.913eefe-1.el9.x86_64 

Copy link
Contributor

@big-r81 big-r81 left a comment

Choose a reason for hiding this comment

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

Nice work!

+1

@nickva nickva merged commit 366942b into main Aug 29, 2024
@nickva nickva deleted the nouveau-package branch August 29, 2024 12:59
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.

2 participants