Add support for the DKMS framework #165

Merged
merged 1 commit into from Aug 9, 2015

Projects

None yet

2 participants

@toreanderson
Contributor

Dynamic Kernel Module Support (DKMS) is a framework used by various
distributions to handle third-party kernel modules such as Jool. It
takes care of all the necessary steps in order to build and install
kernel modules (make, make modules_install, depmod), and will also
ensure these steps are automatically performed all over again
whenever the kernel packages are being upgraded. This is very
convenient in production scenarios, as it prevents the operator from
accidentally ending up with a non-functional Jool installation (due
to missing kernel modules) after installing any pending distribution
updates and subsequently rebooting.

Note: When creating release archives, the PACKAGE_VERSION variable
in dkms.conf should probably be manually updated to hard-code the
version string (i.e., the git tag) of the release in question.

@toreanderson
Contributor

Hang on, don't merge yet, found a clever trick I can use to not require the user to navigate to the top-level Jool directory before running dkms install and still get the nice version string from git describe. I'll update the pull request soon.

@ydahhrk
Member
ydahhrk commented Aug 8, 2015

Thanks :)

@toreanderson toreanderson Add support for the DKMS framework
Dynamic Kernel Module Support (DKMS) is a framework used by various
distributions to handle third-party kernel modules such as Jool. It
takes care of all the necessary steps in order to build and install
kernel modules (make, make modules_install, depmod), and will also
ensure these steps are automatically performed all over again
whenever the kernel packages are being upgraded. This is very
convenient in production scenarios, as it prevents the operator from
accidentally ending up with a non-functional Jool installation (due
to missing kernel modules) after installing any pending distribution
updates and subsequently rebooting.
4fdeeec
@toreanderson
Contributor

This should be better, I think. You can now run dkms install /path/to/NAT64 from anywhere in the file system hierarchy. Another improvement: The main Jool version is read in from the defines in nat64.h, so there should be no need to alter dkms.conf before releases. Finally, there's a bugfix relating to DKMS' rather finicky handling of $PACKAGE_VERSION (which needs to stay the same between runs, otherwise DKMS gets really confuse, so I make sure it's generated only once and stored in a cache file).

@ydahhrk ydahhrk merged commit 4fdeeec into NICMx:master Aug 9, 2015
@ydahhrk ydahhrk added this to the 3.3.3 milestone Aug 9, 2015
@ydahhrk
Member
ydahhrk commented Aug 9, 2015

Impressive :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment