Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 133295 - x11-base/xorg-server-1.0.99.903 with +kdrive autoconf fails
Summary: x11-base/xorg-server-1.0.99.903 with +kdrive autoconf fails
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo X packagers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-05-14 06:23 UTC by Kent Fredric (IRC: kent\n) (RETIRED)
Modified: 2006-05-14 15:19 UTC (History)
0 users

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


Attachments
hw/kdrive/Makefile.am (Makefile.am,418 bytes, text/plain)
2006-05-14 12:52 UTC, Kent Fredric (IRC: kent\n) (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2006-05-14 06:23:19 UTC
====emerge settings====
x11-base/xorg-server-1.0.99.903
USE="dmx dri ipv6 kdrive nptl sdl xorg xprint -3dfx% -debug -minimal"
INPUT_DEVICES="evdev% keyboard% mouse% -acecad% -aiptek% -calcomp% -citron% -digitaledge% -dmc% -dynapro% -elo2300% -elographics% -fpit% -hyperpen% -jamstudio% -joystick% -magellan% -magictouch% -microtouch% -mutouch% -palmax% -penmount% -spaceorb% -summa% -synaptics% -tek4957% -ur98% -vmmouse% -void% -wacom%" 
VIDEO_CARDS="fbdev% nv nvidia% vesa% vga% -apm% -ark% -chips -cirrus% -cyrix% -dummy% -epson -fglrx% -glint -i128% -i740% -i810 -imstt% -mach64 -mga -neomagic -nsc% -r128 -radeon -rendition% -s3% -s3virge% -savage% -siliconmotion -sis% -sisusb% -tdfx% -tga% -trident% -tseng% -v4l% -via -vmware% -voodoo%"                                                                                                                      


====emerge --info====
Portage 2.1_pre10-r5 (default-linux/x86/2005.1, gcc-4.1.0-beta20060210, glibc-2.4-r2, 2.6.16-gentoo-r6kz i686)
=================================================================
System uname: 2.6.16-gentoo-r6kz i686 AMD Athlon(TM) XP 2000+
Gentoo Base System version 1.12.0_pre19
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5-r2, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.4-r1
dev-util/confcache:  0.4.2
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -march=i686 -pipe -mmmx -m3dnow -fomit-frame-pointer -finline-functions-called-once -ffast-math"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/local/kdeextra/share/config /usr/local/kdeextra/shutdown /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O3 -march=i686 -pipe -mmmx -m3dnow -fomit-frame-pointer -finline-functions-called-once -ffast-math"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig buildpkg ccache confcache cvs distlocks metadata-transfer parallel-fetch sandbox sfperms strict usepkg userpriv usersandbox"
GENTOO_MIRRORS="ftp://ftp.planetmirror.com/pub/gentoo ftp://mirror.isp.net.au/pub/gentoo ftp://distfiles.gentoo.org/    ftp://ftp.wh2i.tu-dresden.de/pub/mirrors/gentoo/        ftp://ftp.tu-clausthal.de/pub/linux/gentoo/         ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/        ftp://ftp.join.uni-muenster.de/pub/linux/distributions/gentoo/  ftp://ftp6.uni-muenster.de/pub/linux/distributions/gentoo/  http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/   ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/     ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.gentoo.org/gentoo-distfiles/   ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo/   ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/"
LANG="C"
LC_ALL="C"
LDFLAGS="-Wl,-O1,-z,now"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/src/gnome/gnome-experimental /usr/src/musicbrainz-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
<< USEFLAGS snipped as author belives global useflags situationally useless >>
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_RSYNC_EXTRA_OPTS

====Compile Fault====
* Running automake --add-missing --copy --foreign ...                                                                                                                        [ !! ]

 * Failed Running automake !
 *
 * Include in your bugreport the contents of:
 *
 *   /var/tmp/portage/xorg-server-1.0.99.903/temp/automake-24443.out


!!! ERROR: x11-base/xorg-server-1.0.99.903 failed.
Call stack:
  ebuild.sh, line 1527:   Called dyn_unpack
  ebuild.sh, line 702:   Called src_unpack
  xorg-server-1.0.99.903.ebuild, line 565:   Called x-modular_reconf_source
  x-modular.eclass, line 247:   Called eautoreconf
  autotools.eclass, line 68:   Called eautomake
  autotools.eclass, line 171:   Called autotools_run_tool 'automake' '--add-missing' '--copy' '--foreign'
  autotools.eclass, line 198:   Called die

!!! Failed Running automake !
!!! If you need support, post the topmost build error, and the call stack if relevant.

====automake.out====
***** automake *****

hw/kdrive/Makefile.am:27: required directory hw/kdrive/si00 does not exist


====Experimentation====
experimentation of making that directory exist as an empty dir permits automake to complete. ( ongoing implications of this not tested )
Comment 1 Donnie Berkholz (RETIRED) gentoo-dev 2006-05-14 11:59:36 UTC
Attach the resulting hw/kdrive/Makefile.am file, please, and reopen.
Comment 2 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2006-05-14 12:52:26 UTC
Created attachment 86771 [details]
hw/kdrive/Makefile.am

Im going out on a limb here, but im suggesting that the reason for it looking for  a "si00" when none exists, maybe due to a rule that kills out as such.


delete s3
delete sis300

so when the word 'sis300' is seen the first time, it becomes "si00" due to the  "s3" rule, so when the "sis300" rule comes along, theres no match. 

That sound too illogical?

 * Removing unused kdrive drivers ...
<snip>
 *   ati ...            [ ok ]
 *   rendition ...      [ ok ]
 *   s3 ...           [ ok ]
 *   s3virge ...                [ ok ]
 *   savage ...               [ ok ]
 *   smi ...  [ ok ]
 *   sis ...            [ ok ]
 *   sisusb ...               [ ok ]
 *   sunbw2 ...               [ ok ]
 *   suncg14 ...                [ ok ]
 *   suncg3 ...   
<snip>
Comment 3 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2006-05-14 13:00:54 UTC
attachement submitted as requested.
Reopening
Comment 4 Donnie Berkholz (RETIRED) gentoo-dev 2006-05-14 13:11:11 UTC
Actually, that sounds perfectly logical. Do you have a suggested fix for it?

Here is the problematic code in the xorg-server ebuild.

                sed -i \
                    -e "s:${real_card}::g" \
                    ${S}/hw/kdrive/Makefile.am
Comment 5 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2006-05-14 14:52:07 UTC
I had a more complex solution, but this solution came after it, and seemed to be more simple and elegant than making it do a non-match on the "s3" driver which is missing in xorg-server anyway.

Basically put padding rules into the regexp that should work for all instances. as long as a word has nonword (ie: space/end line)  on either end of it it should match. ( but it wont match on subwords ) 

Did my best to make sure nothing could potentially have harmfull side-effects in later updates.

it seems to have the desired effect on makefile.am, removing the bugging entries. Actually testing to see if it compiles as we speak ( tho if it doesnt im guessing its not the same bug ;) )

== working code ==


if use kdrive; then
        einfo "Removing unused kdrive drivers ..."
        for card in ${IUSE_VIDEO_CARDS}; do
            real_card=${card#video_cards_}

            # Differences between VIDEO_CARDS name and kdrive server name
            real_card=${real_card/glint/pm2}
            real_card=${real_card/radeon/ati}
            real_card=${real_card/nv/nvidia}
            real_card=${real_card/siliconmoition/smi}
            # s3 PreDeletion Fix ( % means match end of string only )
            real_card=${real_card/%sis/sis300}

            if ! use ${card}; then
                ebegin "  ${real_card}"
                sed -i \
                    -e "s:\b${real_card}\b: :g" \
                    ${S}/hw/kdrive/Makefile.am \
                    || die "sed of ${real_card} failed"
                eend
            fi

        done

Comment 6 Donnie Berkholz (RETIRED) gentoo-dev 2006-05-14 14:57:32 UTC
Yeah, I'd rather not add that extra special case for the sis300. Like just the \b on either side better -- does it work w/ just those?
Comment 7 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2006-05-14 15:05:35 UTC
(In reply to comment #6)
> Yeah, I'd rather not add that extra special case for the sis300. Like just the
> \b on either side better -- does it work w/ just those?
> 

yep, the \b's just disable the fuzzy matches.  

but the sis rule is there if you want it. the % was a lifesaver, handy trick to remember.  it was either that or rename sisusb temporarily while we renamed sis and then rename sisusb back again.. yuck... or have a call that did an echo | sed   routine every cycle due to bash'es substituion not completley supporting regex ( also yuck ).
Comment 8 Donnie Berkholz (RETIRED) gentoo-dev 2006-05-14 15:19:27 UTC
Ah, true, I always forget about sisusb. Committed your fixes, thanks!