Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dkms.conf: add DKMS compatibility level definition #542

Open
Open
dkms.conf: add DKMS compatibility level definition#542

Description

In order to allow changing some defaults while staying backwards compatible I suggest adding a directive DKMS_CONF_VERSION DKMS_COMPAT_VERSION DKMS_COMPAT_LEVEL DKMS_COMPAT or any other better name, suggestions welcome.

This directive should (must?) be in the first non-empty non-comment line to be recognized. Leading whitespace should be OK.
Specifically it must not be nested in some shell construct like if false;\nthen DKMS_COMPAT=2;\nfi (neither with nor without the indicated newlines)

An absent directive would imply a dkms compatibility level of 1 (with no intention to deprecate this).

For compatibility level 2 I'd suggest these changes:

  • default to AUTOINSTALL="yes"
  • default to DEST_MODULE_LOCATION="/updates/dkms", making it no longer a mandatory directive as it is usually overridden by the distribution specific location anyway
  • stop warning on directives that were deprecated before the introduction of this compat level
  • maybe stop parsing dkms.conf as a bash script (and instead write a parser that extracts selected VARIABLE[INDEX]=VALUE and VARIABLE=VALUE lines where scalar/array are enforced, i.e. both BUILT_MODULE_NAME=mod and AUTOINSTALL[0]=yes would be errors)

PS: This idea is inspired by Debian's debhelper package and its compat level. (In the past it used a file debian/compat for settings the value and the environment variable DH_COMPAT for overrides. Nowadays it is usually expressed in debian/control as Build-Depends: debhelper-compat (= 13))

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions