"_" in a module name causes it to not work properly with mkdeb

Bug #511619 reported by Guillaume
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
dkms (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: dkms

Hello,

I try to provide a driver I wrote (details here: http://www.nvnews.net/vbulletin/showthread.php?t=143025) by using dkms to install it whatever kernel is used.

I try to use the command "sudo dkms mkdeb --source-only -m nvidia_bl -v 0.51" but I have this output:

">sudo dkms mkdeb --source-only -m nvidia_bl -v 0.51
Using /etc/dkms/template-dkms-mkdeb
copying template...
modifying debian/changelog...
modifying debian/compat...
modifying debian/control...
modifying debian/copyright...
modifying debian/dirs...
modifying debian/postinst...
modifying debian/prerm...
modifying debian/README.Debian...
modifying debian/rules...
copying legacy postinstall template...
Copying source tree...
Gathering binaries...Marking modules for 2.6.31-16-generic (x86_64) for archiving...

Creating special tarball structure to accomodate only binaries.

Tarball location: /var/lib/dkms/nvidia_bl/0.51/tarball/nvidia_bl-0.51.dkms.tar.gz

DKMS: mktarball Completed.

Copying DKMS tarball into DKMS tree...
Building binary package...dpkg-buildpackage: avertissement: utilisation d'une commande pour obtenir les privilèges administrateur en tant qu'administrateur
 fakeroot debian/rules clean
 debian/rules build
 fakeroot debian/rules binary
 dpkg-genchanges -b >../nvidia-bl-dkms_0.51_amd64.changes
dpkg-genchanges: envoi d'un binaire - aucune inclusion de code source

DKMS: mkdeb Completed.
Moving built files to /var/lib/dkms/nvidia_bl/0.51/deb...
Cleaning up temporary files...
guillaume@Guillaume:/usr/src/nvidia_bl-0.51$ sudo dkms mkdeb --source-only -m nvidia_bl -v 0.51
Using /etc/dkms/template-dkms-mkdeb
copying template...
modifying debian/changelog...
modifying debian/compat...
modifying debian/control...
modifying debian/copyright...
modifying debian/dirs...
modifying debian/postinst...
modifying debian/prerm...
modifying debian/README.Debian...
modifying debian/rules...
copying legacy postinstall template...
Copying source tree...
Building binary package...dpkg-buildpackage: avertissement: utilisation d'une commande pour obtenir les privilèges administrateur en tant qu'administrateur
 fakeroot debian/rules clean
 debian/rules build
 fakeroot debian/rules binary
 dpkg-genchanges -b >../nvidia-bl-dkms_0.51_amd64.changes
dpkg-genchanges: envoi d'un binaire - aucune inclusion de code source

DKMS: mkdeb Completed.
Moving built files to /var/lib/dkms/nvidia_bl/0.51/deb...
Cleaning up temporary files..."

If I try to install the deb file, it gives :

">sudo dpkg -i nvidia-bl-dkms_0.51_all.deb
Sélection du paquet nvidia-bl-dkms précédemment désélectionné.
(Lecture de la base de données... 166233 fichiers et répertoires déjà installés.)
Dépaquetage de nvidia-bl-dkms (à partir de nvidia-bl-dkms_0.51_all.deb) ...
Paramétrage de nvidia-bl-dkms (0.51) ...
Aucun paquet ne correspond à nvidia_bl-dkms.
Loading new nvidia_bl-/usr/share/nvidia_bl-dkms DKMS files...
First Installation: checking all kernels...
This package appears to be a binaries-only package
 you will not be able to build against kernel 2.6.31-16-generic
 since the package source was not provided"

The source are indeed here, in "/usr/src/nvidia_bl-0.51" but are not built.

If I do a simple "sudo dkms mkdeb --source-only -m nvidia_bl -v 0.51", the binary is installed but the sources are not build for the other kernel version.

I think that something is not triggered in post installation scripts. Any suggestions ?

Best regards.

Guillaume

Related branches

Revision history for this message
Guillaume (guillaume-zin) wrote :

To correct a mistake at the end of my post: if I do a simple "sudo dkms mkdeb -m nvidia_bl -v 0.51", the binary is installed but the sources are not build for the other kernel versions.

Guillaume

Revision history for this message
Mario Limonciello (superm1) wrote :

What version of DKMS are you running? That first command gives me significantly different output:

$ sudo dkms mkdeb --source-only -m bcmwl -v 5.60.48.36+bdcom
Using /etc/dkms/template-dkms-mkdeb
copying template...
modifying debian/changelog...
modifying debian/compat...
modifying debian/control...
modifying debian/copyright...
modifying debian/dirs...
modifying debian/postinst...
modifying debian/prerm...
modifying debian/README.Debian...
modifying debian/rules...
copying legacy postinstall template...
Copying source tree...
Building binary package...dpkg-buildpackage: warning: using a gain-root-command while being root
 fakeroot debian/rules clean
 debian/rules build
 fakeroot debian/rules binary
 dpkg-genchanges -b >../bcmwl-dkms_5.60.48.36+bdcom_i386.changes
dpkg-genchanges: binary-only upload - not including any source code

DKMS: mkdeb Completed.
Moving built files to /var/lib/dkms/bcmwl/5.60.48.36+bdcom/deb...

--

I'm running DKMS 2.1.1.1 myself.

Changed in dkms (Ubuntu):
status: New → Incomplete
Revision history for this message
Guillaume (guillaume-zin) wrote :

Hello,

I'm running DKMS 2.1.0.1-0ubuntu1, but I don't see any difference between your messages and messages (except that we are not compiling the same driver and the localized messages) : you have too that weird message "dpkg-genchanges: binary-only upload - not including any source code".

Guillaume.

Revision history for this message
Mario Limonciello (superm1) wrote :

Does your module name have to have the "_" in the name? I'm suspecting that's where the breakage is coming from. Can you try to produce a DKMS package without that "_" in the name?

Revision history for this message
Guillaume (guillaume-zin) wrote :

Hello,

You were right, the problem goes away if the "_" is removed from the directory and module name.

Thank you, and sorry for the delay.

summary: - dkms mkdeb --source-only makes a deb file that won't install anything
+ "_" in a module name causes it to not work properly with mkdeb
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for dkms (Ubuntu) because there has been no activity for 60 days.]

Changed in dkms (Ubuntu):
status: Incomplete → Expired
Changed in dkms (Ubuntu):
status: Expired → Triaged
Revision history for this message
Mario Limonciello (superm1) wrote :

This should now be possible with current master. tested with

commit 487542f1648e331b06eb42758416d015063a029d
Author: Mario Limonciello <email address hidden>
Date: Tue Jul 12 18:36:36 2011 -0500

    Fix debian packages (which contained binary only tarballs and source in the deb itself)

Changed in dkms (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package dkms - 2.2.0.1-0ubuntu1

---------------
dkms (2.2.0.1-0ubuntu1) oneiric; urgency=low

  * New upstream version. Bugs fixed in Ubuntu:
  * Apport hook:
    - Only generate reports about supported kernel version (LP: #766150)
    - Include fglrx make file (LP: #792444)
    - Crashes in get_source() (LP: #532496)
    - Apport script fails (LP: #798498)
  * Openafs modules leaving empty make.log (LP: #593509)
  * '_' in module name causes mkdeb to fail (LP: #511619)
  * PRE_BUILD command invoked from wrong directory. (LP: #702638)
  * Speed up for large amounts of modules (LP: #786672)
  * Leaves temp files in /tmp (LP: #810134)
  * Generate .changes file for LP: upload (LP: #582668)
  * Don't change access rights of upstream source (LP: #582670)
  * common.postinst fails on failed build (LP: #595968)
  * Using a hyphen as part of PACKAGE_VERSION causes failures (LP: #599983)
  * dkms shouldn't source all the variables in dkms.conf (LP: #599985)
 -- Mario Limonciello <email address hidden> Thu, 14 Jul 2011 13:18:56 -0500

Changed in dkms (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.