Bug 17363

Summary: fwts-efi-runtime-dkms does not contain a dkms.conf file resulting in %post errors
Product: Mageia Reporter: Florian Hubold <doktor5000>
Component: RPM PackagesAssignee: Bruno Cornec <bruno>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Normal CC: doktor5000
Version: Cauldron   
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Source RPM: fwts CVE:
Status comment:

Description Florian Hubold 2015-12-19 02:36:08 CET
Description of problem:

When installing fwts-efi-runtime-dkms during %post :

Error! Could not locate dkms.conf file.
File: /usr/src/fwts-efi-runtime-dkms-15.11.00/dkms.conf does not exist.
warning: %post(fwts-efi-runtime-dkms-15.11.00-1.mga6.x86_64) scriptlet failed, exit status 4
ERROR: 'script' failed for fwts-efi-runtime-dkms-15.11.00-1.mga6

$ rpm -qc fwts-efi-runtime-dkms
$ rpm -ql fwts-efi-runtime-dkms
/usr/src/fwts-efi-runtime-dkms-15.11.00
/usr/src/fwts-efi-runtime-dkms-15.11.00/Makefile
/usr/src/fwts-efi-runtime-dkms-15.11.00/efi_runtime.c
/usr/src/fwts-efi-runtime-dkms-15.11.00/efi_runtime.h

There is no dkms.conf file present. Seems a template dkms.conf is contained in the tarball as debian/fwts-efi-runtime-dkms.dkms :
http://kernel.ubuntu.com/git/hwe/fwts.git/tree/debian/fwts-efi-runtime-dkms.dkms

This should be installed as 
/usr/src/%{name}-%{version}/dkms.conf

Apart from that some more %post scriptlets should probably be added, see e.g.
https://wiki.mageia.org/en/DKMS_packaging_policy#RPM_scripts

Also the %description section should maybe include that this is dkms-managed.

Reproducible: 

Steps to Reproduce:
Comment 1 Bruno Cornec 2015-12-29 14:53:29 CET
I've updated to 15.12 upstream and also improved content based on your input Florian. Let me know if the latest updated packages fix your problem (15.12.00-2)

Status: NEW => ASSIGNED

Comment 2 Florian Hubold 2015-12-30 17:26:14 CET
Looks better, it builds the module now:


     8/15: fwts-efi-runtime-dkms #############################################

Creating symlink /var/lib/dkms/fwts-efi-runtime-dkms/15.12.00/source ->
                 /usr/src/fwts-efi-runtime-dkms-15.12.00

DKMS: add Completed.

Preparing kernel 4.4.0-desktop-0.rc7.2.mga6 for module build:
(This is not compiling a kernel, just preparing kernel symbols)
Storing current .config to be restored when complete
Running Generic preparation routine
make mrproper.....
using /proc/config.gz
make oldconfig....
make prepare....

Building module:
cleaning build area....
KVER=4.4.0-desktop-0.rc7.2.mga6 make....
cleaning build area....
cleaning kernel tree (make mrproper)....

DKMS: build Completed.

efi_runtime.ko.xz:
 - Installation
   - Installing to /lib/modules/4.4.0-desktop-0.rc7.2.mga6/dkms/updates/

depmod.....

DKMS: install Completed.


      1/8: removing lib64tiff-devel-4.0.6-1.mga6.x86_64
                                 #############################################
      2/8: removing rhythmbox-3.2.1-4.mga6.x86_64
                                 #############################################
      3/8: removing lib64rhythmbox-gir3.0-3.2.1-4.mga6.x86_64
                                 #############################################

Error! There are no instances of module: fwts-efi-runtime-dkms
15.11.00 located in the DKMS tree.
error: %preun(fwts-efi-runtime-dkms-15.11.00-1.mga6.x86_64) scriptlet failed, exit status 3
ERROR: 'script' failed for fwts-efi-runtime-dkms-15.11.00-1.mga6



The %preun scriptlet of the old version failed as expected as it didn't contain any module then, but next update should work fine. 

Uninstallation and installation of fwts-efi-runtime-dkms works fine, and modinfo on efi_runtime looks good.

Thanks for fixing :)

Status: ASSIGNED => RESOLVED
CC: (none) => doktor5000
Resolution: (none) => FIXED