Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 110194 - [VERMAGIC] linux-mod.eclass uses invalid 'find' argument
Summary: [VERMAGIC] linux-mod.eclass uses invalid 'find' argument
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Eclasses (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: John Mylchreest (RETIRED)
URL:
Whiteboard:
Keywords:
: 110201 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-10-22 23:02 UTC by Andy Dalton
Modified: 2006-06-05 06:41 UTC (History)
2 users (show)

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


Attachments
linux-mod.eclass-working_vermagic.diff (linux-mod.eclass-working_vermagic.diff,1011 bytes, patch)
2006-06-05 06:38 UTC, Hypnos
Details | Diff
linux-mod.eclass-working_vermagic.diff (linux-mod.eclass-working_vermagic.diff,1011 bytes, patch)
2006-06-05 06:41 UTC, Hypnos
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andy Dalton 2005-10-22 23:02:50 UTC
On line 101 of /usr/portage/eclass/linux-mod.eclass, I see the following:

tmpfile=`find ${KV_DIR}/ -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit`

However, 'find' doesn't seem to know what '-quit' is.  The following is output
from an emerge of nvidia-kernel (though it happens with other kernel modules
packages too, like lirc):

 * Determining the location of the kernel source code
 * Found kernel source directory:
 *     /usr/src/linux
 * Found sources for kernel version:
 *     2.6.13-gentoo-r3
find: invalid predicate `-quit'
 *
 * Unable to detect what version of GCC was used to compile
 * the kernel. Build will continue, but you may experience problems.

While I was still able to emerge the package, the functionality desired by the
author on this is absent.  I tried just removing the '-quit' and it seemed to do
what the author was wanting.

If I can provide you with any additional information, please let me know.

# emerge --info
Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2,
2.6.13-gentoo-r3 i686)
=================================================================
System uname: 2.6.13-gentoo-r3 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.6.13
ccache version 2.3 [disabled]
dev-lang/python:     2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/
/usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/
/usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/bash_completion.d /etc/default /etc/dev.d /etc/env.d
/etc/gconf /etc/init.d /etc/modules.d /etc/pam.d /etc/pango /etc/profile.d
/etc/ssl /etc/ssmtp /etc/terminfo /etc/udev /etc/vim /etc/wget /etc/env.d"
CXXFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo
http://distfiles.gentoo.org http://www.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://londo/gentoo-portage"
USE="x86 X a52 aac acl acpi alsa apm arts avi bash-completion berkdb
bitmap-fonts bzlib calendar cdparanoia cdr crypt cscope cups curl dbus dio
directfb dvd dvdr dvdread eds emboss encode encodeethereal esd exif fam fbcon
fdftk ffmpeg flac foomaticdb fortran gd gdbm gif glut gnome gnutls gphoto2 gpm
gstreamer gtk gtk2 hal imagemagick imlib innodb java jpeg junit kde
kdeenablefinal libg++ libwww lirc mad mbox mikmod mime mmap mmx mng mono motif
mp3 mpeg mysql ncurses nls nptl nsplugin offensive ogg oggvorbis opengl oss pam
pcntl pdflib perl png posix python qt quicktime readline sdl slang sockets spell
sse ssl svg svga symlink sysfs sysvipc tcpd tetex threads tiff truetype
truetype-fonts type1-fonts udev vorbis win32codecs wmf xine xml2 xosd xv xvid
zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Andy Dalton 2005-10-22 23:06:09 UTC
Sorry, forgot to include the version of linux-mod.eclass I'm looking at:

# $Header: /var/cvsroot/gentoo-x86/eclass/linux-mod.eclass,v 1.54 2005/10/22
17:35:39 johnm Exp $
Comment 2 Jakub Moc (RETIRED) gentoo-dev 2005-10-23 02:24:00 UTC
*** Bug 110201 has been marked as a duplicate of this bug. ***
Comment 3 John Mylchreest (RETIRED) gentoo-dev 2005-10-23 14:01:51 UTC
This seemsto be a problem on older versions of find.
what versin are you running?
Comment 4 Bernhard Fisseni 2005-10-23 14:11:06 UTC
I think it was a problem for the stable findutils (4.1.20-r1) and "-quit" worked
with the newest testing (4.2.25).  However the other problems I mentioned in Bug
110201 persisted (not following symbolic link, wrong variable substitutions; see
patch there).
Comment 5 Andy Dalton 2005-10-23 16:17:09 UTC
John,

I'm using 'find' from the current stable 'findutils' package
(sys-apps/findutils-4.1.20-r1).
Comment 6 Brad Laue (RETIRED) gentoo-dev 2005-10-23 17:43:45 UTC
This is affecting an increasing number of people and is quite major.
Comment 7 John Mylchreest (RETIRED) gentoo-dev 2005-10-24 01:55:42 UTC
This check wont be getting performed if they have a portage snapshot from about
11pm last night.
Reducing this back to minor, and I will re-write it so the find check is back
compatible. For some reason my "stable" box has a newer version of find.

Ah well, will look into it.
Comment 8 John Mylchreest (RETIRED) gentoo-dev 2006-05-05 06:46:34 UTC
no point in me keeping this open
Comment 9 Hypnos 2006-06-05 06:38:23 UTC
Created attachment 88432 [details, diff]
linux-mod.eclass-working_vermagic.diff

Here's a patch for my implementation of check_vermagic().  It can handle koutput, symlinks and the parameters substitutions work.

Caveats:

* I removed "-quit" which only works with find >=4.2.8 (see ChangeLog on sourceforge).  This means the find operation takes a while since it returns all matches, but it's not too bad on my 4200RPM laptop hard disk -- ~20 seconds.

* I'm not knowledgeable enough to know how robust the paths in the parameter substitutions are across very architectures and gcc versions (e.g., path being "/usr/lib/gcc" v. "/usr/lib/gcc-lib" -- my patch works with the latter).
Comment 10 Hypnos 2006-06-05 06:41:20 UTC
Created attachment 88433 [details, diff]
linux-mod.eclass-working_vermagic.diff

(sorry, patch was inverted)