dkms shouldn't source all the variables in dkms.conf
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DKMS |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
If you've got something like this in your package's dkms.conf
MAKE="make -C .... M=$(pwd) modules"
M becomes the current working directory from where you called dkms, and not the
working directory of the source code which is what you would expect.
If dkms has actually parsed the config file this could have been avoided, and the needless
makefile that must accompany this quirk just to satisfy dkms.
The workaround is:
MAKE="make KVER=$kernelver"
..
Makefile
all:
make -C /lib/modules/
clean:
make -C /lib/modules/
MAKE and CLEAN or anything intended to be executed in the context of the build
shouldn't be executed until they're necessary.
Related branches
Changed in dkms: | |
status: | Fix Committed → Fix Released |
How is this a bug? Why whould you use $(pwd)?? Wouldn't specifing "." be better?
DKMS has been doing this for a long time now. Actually changing this logic could break dkms packages dependent on it.
I am confused by your statement " If dkms has actually parsed the config file this could have been avoided, and the needless
makefile that must accompany this quirk just to satisfy dkms."? It does parse the config
DKMS will only run MAKE & CLEAN during build. It also does not run clean arbitrarily only when cleaning up.