Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 462982 - sys-apps/pciutils: lspci -k no longer works correctly with sys-apps/kmod's depmod no longer generating modules.{usb,pci}map files
Summary: sys-apps/pciutils: lspci -k no longer works correctly with sys-apps/kmod's de...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-24 15:15 UTC by Nico Rittner
Modified: 2013-04-19 15:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nico Rittner 2013-03-24 15:15:38 UTC
depmod, which comes with sys-apps/kmod does not create modules.pcimap and others in the kernel's module tree as module-init-tools did. i used this file to do a kind of hardware detection in an initrd with matching /sys/bus/pci/devices/{vendor,device,class} against it to determine which module to load (no udev in use there). is this behavior by design? another way for my intent would be to match /sys/devices/*/modalias against /lib/modules/<VERSION>/modules.alias . Is thera a "magic switch" to create modules.pcimap or did i use a deprecated feature of module-init-tools ?

Thanks,

Nico
Comment 1 Nico Rittner 2013-03-24 15:16:26 UTC
Portage 2.1.11.55 (default/linux/x86/13.0, gcc-4.6.3, glibc-2.15-r3, 3.2.12-jason-core2-20120505 i686)
=================================================================
System uname: Linux-3.2.12-jason-core2-20120505-i686-Intel-R-_Xeon-R-_CPU_5160_@_3.00GHz-with-gentoo-2.1
KiB Mem:     3375196 total,     79148 free
KiB Swap:          0 total,         0 free
Timestamp of tree: Sat, 23 Mar 2013 09:30:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p37
dev-lang/python:          2.7.3-r3
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.1-r1
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.69
sys-devel/automake:       1.11.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.6 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo x-portage
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i586-pc-linux-gnu"
CFLAGS="-O2 -march=i586 -fomit-frame-pointer -pipe"
CHOST="i586-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/openvpn/easy-rsa /var/bind"
CONFIG_PROTECT_MASK="/etc/* /etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i586 -fomit-frame-pointer -pipe"
DISTDIR="/var/portage/distfiles"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=i686 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5"
PKGDIR="/var/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/var/portage"
PORTDIR_OVERLAY="/dat/local/share/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="alsa bzip2 cli cxx dri fortran gd iconv imap jpeg mbox modules mudflap mysql ncurses nptl openmp oss pam pcre perl png readline sasl session ssl syslog tcpd tiff truetype unicode x86 xml zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest filter authn_default authn_file authz_default authz_groupfile authz_host authz_owner authz_user cgi deflate dir env expires headers include info log_config mime mime_magic proxy proxy_balancer proxy_connect proxy_http rewrite setenvif so status userdir unique_id vhost_alias" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NGINX_MODULES_HTTP="access auth_basic charset fastcgi gzip limit_req map proxy rewrite ssl stub_status" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2013-03-24 21:15:50 UTC
kmod is not supposed to create modules.pcimap anymore, you can delete the file
some other files got deprecated too, and you can delete them as well
so yeah, you used a deprecated feature from m-i-t
Comment 3 SpanKY gentoo-dev 2013-03-24 23:40:20 UTC
(In reply to comment #2)

and the alternative is ... what ?  these map files are useful to shell scripts that want to do such lookups.  i can see that `usbmodules` is also now broken.
Comment 4 Samuli Suominen (RETIRED) gentoo-dev 2013-03-25 05:08:43 UTC
(In reply to comment #3)
> (In reply to comment #2)
> 
> and the alternative is ... what ?  these map files are useful to shell
> scripts that want to do such lookups.  i can see that `usbmodules` is also
> now broken.

well, upstream dropped as it wasn't "necessary" anymore. it becomes clear if googling around mailing lists involving kmod.

usbmodules is a script provided by Gentoo (you), right?

there is a pending patch for busybox to replace this functionality:

https://bugs.launchpad.net/finnix/+bug/980556/comments/1
http://www.mail-archive.com/busybox@busybox.net/msg17755.html

is that acceptable?
Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2013-03-25 05:25:34 UTC
(In reply to comment #4)
> is that acceptable?

or rather, would you be willing to clean it up and roll it as a separate executable called sysmodules?
perhaps put it even in it's own package?
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2013-03-25 05:53:57 UTC
dropped the installation of the usbmodules script from usbutils-006-r1 while migrating to the new python eclasses.
in any case, it should be incorporated with the package where the sysmodules executable goes (if it goes)
Comment 7 SpanKY gentoo-dev 2013-03-26 21:14:23 UTC
(In reply to comment #4)

`lspci -k` is also semi-broken.  you going to drop that program to workaround the issue too ? :)

if the same info is available in modules.alias (albeit, in a kmod-specific format), we should be able to adopt to that.
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2013-03-26 21:20:07 UTC
(In reply to comment #7)
> (In reply to comment #4)
> 
> `lspci -k` is also semi-broken.  you going to drop that program to
> workaround the issue too ? :)

this came news to me, obviously not :)

> if the same info is available in modules.alias (albeit, in a kmod-specific
> format), we should be able to adopt to that.

time to file bug at upstream pciutils... i'll do that
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2013-03-26 21:33:44 UTC
@vapier: linux-pci mailing list has been informed
Comment 10 Samuli Suominen (RETIRED) gentoo-dev 2013-04-01 14:06:22 UTC
This bug is now fixed in pciutils git by using libkmod, using 2 out of these 3 patches:

1. http://git.kernel.org/cgit/utils/pciutils/pciutils.git/commit/?id=b1861a8de540b160f6e1254d7ca5fe8a35eab59b

2. http://git.kernel.org/cgit/utils/pciutils/pciutils.git/commit/?id=dbe1e0a65e3dc00ae66db87d80f14d899dd7b416 (This is between the commits, and is likely unrelated)

3. http://git.kernel.org/cgit/utils/pciutils/pciutils.git/commit/?id=17ec7e70ea71a3ccbccf9f3b9cfe846eb1200e0d

It looks like they made Linux always use libkmod, does that hurt some systems? Some embedded? That I'm not sure of, maybe there should be a ./configure flag
Comment 11 Samuli Suominen (RETIRED) gentoo-dev 2013-04-02 07:51:44 UTC
to disable the optional libkmod support all is needed is `emake LIBKMOD=no`
and now git respects $PKG_CONFIG too

vapier: OK to close this as resolved, upstream, and just get it with next release?
Comment 12 Samuli Suominen (RETIRED) gentoo-dev 2013-04-19 15:17:29 UTC
Fixed in =sys-apps/pciutils-3.2.0 and higher