[Vmware-package-maintainers] Bug#463400: vmware-package: generated kernel source package uses erroneous control file

Anders Lennartsson anders.lennartsson at foi.se
Fri Feb 1 08:11:30 UTC 2008


On Thu, 2008-01-31, at 16:38:37 +0100, Robert Edmonds wrote:
> tag 463400 + moreinfo
> thanks
> 
> Anders Lennartsson wrote:
> > Package: vmware-package
> > The generated package vmware-kernel-source_XXXX_all.deb has a static
> > control file that makes dp_builddeb in debian/rules build a new
> > vmware-kernel-source package. The modules are compiled but never
> > included in a package.
> > 
> > There is a file control.modules.in that seems aimed at precisely this.
> > I added one line seen in the patch which fixed this particular problem.
> 
> Hello,
> 
> Can you please send me a complete shell transcript of a faulty modules
> package build on your system?


Sure. Not that I expect the vmware-kernel-source package to allow me
to build a package with the compiled modules, not only use module
assistant. I may want to use them on another computer etc.

Second, note the invocation of emacs on rules near the beginning. What I do is change
the line
dh_builddeb --destdir=$(DEB_DESTDIR)
to
dh_builddeb --destdir=/home/abel/test
otherwise the package-build fails with an error (inserted at the end of the mail).
This is not the fault of this package I suppose, but it thas happen _even_ if I
set DEB_DESTDIR by for example
export DEB_DESTDIR=/home/abel/test
before invoking dpkg-builddeb.

(This is on sid/amd64 updated today. Yesterday fakeroot had some
peculiar failure modes but not today.)

Here we go:


abel at newton:~$ mkdir test 
abel at newton:~$ cd test
abel at newton:~/test$ tar xf /usr/src/vmware-kernel-source.tar.bz2 
abel at newton:~/test$ cd modules/vmware-kernel/
abel at newton:~/test/modules/vmware-kernel$ emacs -nw debian/rules 
abel at newton:~/test/modules/vmware-kernel$ export KSRC=/usr/src/linux-headers-2.6.23-1-amd64
abel at newton:~/test/modules/vmware-kernel$ export KVERS=2.6.23-1-amd64
abel at newton:~/test/modules/vmware-kernel$ fakeroot ./debian/rules binary-modules
dh_testroot
dh_clean -k
# Build the module
cd vmblock-only && /usr/bin/make -C /usr/src/linux-headers-2.6.23-1-amd64 VM_CCVER=`gcc -dumpversion` VM_KBUILD=26 SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.23-1-amd64'
Using 2.6.x kernel build system.
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/block.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/control.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/dbllnklst.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/dentry.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/file.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/filesystem.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/inode.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/module.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/stubs.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/linux/super.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/vmblock.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/abel/test/modules/vmware-kernel/vmblock-only/vmblock.mod.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmblock-only/vmblock.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.23-1-amd64'
cd vmmon-only && /usr/bin/make -C /usr/src/linux-headers-2.6.23-1-amd64 VM_CCVER=`gcc -dumpversion` VM_KBUILD=26 SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.23-1-amd64'
Using 2.6.x kernel build system.
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/linux/driver.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/linux/hostif.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/comport.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/cpuid.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/hash.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/memtrack.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/phystrack.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/task.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciContext.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciDatagram.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciDriver.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciDs.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciGroup.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciHashtable.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciProcess.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciResource.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmciSharedMem.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/common/vmx86.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/vmcore/moduleloop.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/abel/test/modules/vmware-kernel/vmmon-only/vmmon.mod.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.23-1-amd64'
cd vmnet-only && /usr/bin/make -C /usr/src/linux-headers-2.6.23-1-amd64 VM_CCVER=`gcc -dumpversion` VM_KBUILD=26 SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.23-1-amd64'
Using 2.6.x kernel build system.
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/driver.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/hub.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/userif.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/netif.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/bridge.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/filter.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/procfs.o
  CC [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/smac_compat.o
  SHIPPED /home/abel/test/modules/vmware-kernel/vmnet-only/smac_linux.x86_64.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/abel/test/modules/vmware-kernel/vmnet-only/vmnet.mod.o
  LD [M]  /home/abel/test/modules/vmware-kernel/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.23-1-amd64'
# Install the modules
install -d debian/vmware-kernel-modules-2.6.23-1-amd64/lib/modules/2.6.23-1-amd64/misc
install vmblock-only/vmblock.ko debian/vmware-kernel-modules-2.6.23-1-amd64/lib/modules/2.6.23-1-amd64/misc
install vmmon-only/vmmon.ko debian/vmware-kernel-modules-2.6.23-1-amd64/lib/modules/2.6.23-1-amd64/misc
install vmnet-only/vmnet.ko debian/vmware-kernel-modules-2.6.23-1-amd64/lib/modules/2.6.23-1-amd64/misc
dh_installdocs
dh_installchangelogs
dh_compress
dh_fixperms
dh_installmodules
dh_installdeb
dh_gencontrol -- -v6.0.2.59824.0.21.0
dh_md5sums
dh_builddeb --destdir=/home/abel/test
dpkg-deb: building package `vmware-kernel-source' in `/home/abel/test/vmware-kernel-source_6.0.2.59824.0.21.0_all.deb'.
dh_clean -k
abel at newton:~/test/modules/vmware-kernel$ ll debian/
total 40
-rw-r--r-- 1 abel inst240  204 2008-01-30 14:55 changelog
-rw-r--r-- 1 abel inst240    2 2008-01-30 14:55 compat
-rw-r--r-- 1 abel inst240  497 2008-01-30 14:55 control
-rw-r--r-- 1 abel inst240  865 2008-01-30 14:55 control.modules.in
-rw-r--r-- 1 abel inst240  670 2008-01-30 14:55 copyright
-rw-r--r-- 1 abel inst240   67 2008-02-01 08:52 files
-rwxr-xr-x 1 abel inst240   24 2008-01-30 14:55 getversion.pl
-rwxr-xr-x 1 abel inst240 1601 2008-02-01 08:52 rules
drwxr-xr-x 3 abel inst240 4096 2008-02-01 08:52 vmware-kernel-modules-2.6.23-1-amd64
-rw-r--r-- 1 abel inst240  907 2008-01-30 14:55 vmware.mk


So, the package generated is yet another package named kernel-source package and the
compiled modules are still in
debian/vmware-kernel-modules-2.6.23-1-amd64
However, the newly generated package is essentially empty:

abel at newton:~/test$ dpkg -x vmware-kernel-source_6.0.2.59824.0.21.0_all.deb tmp
abel at newton:~/test$ find tmp/
tmp/
tmp/usr
tmp/usr/share
tmp/usr/share/doc
tmp/usr/share/doc/vmware-kernel-source
tmp/usr/share/doc/vmware-kernel-source/changelog.gz
tmp/usr/share/doc/vmware-kernel-source/copyright











With the original debian/rules, building the modules is ok, but the
assembly of the package fails because dpkg tries to put the deb in
/usr/srs, both if DEB_DESTDIR is not set, and if it is set to some
directory where I'm permitted to write. The nvidia-kernel-source
package has a workaround for this.

dh_fixperms
dh_installmodules
dh_installdeb
dh_gencontrol -- -v6.0.2.59824.0.21.0
dh_md5sums
dh_builddeb --destdir=/usr/src/linux-headers-2.6.23-1-amd64/..
dpkg-deb: building package `vmware-kernel-source' in `/usr/src/linux-headers-2.6.23-1-amd64/../vmware-kernel-source_6.0.2.59824.0.21.0_all.deb'.
dpkg-deb: unable to create `/usr/src/linux-headers-2.6.23-1-amd64/../vmware-kernel-source_6.0.2.59824.0.21.0_all.deb': Permission denied
dh_builddeb: command returned error code 512
make: *** [binary-modules] Error 1





More information about the Vmware-package-maintainers mailing list