View previous topic :: View next topic |
Author |
Message |
Lokheed Veteran
Joined: 12 Jul 2004 Posts: 1295 Location: /usr/src/linux
|
Posted: Fri Dec 10, 2004 3:27 am Post subject: |
|
|
Technically aslong as you adhere to two things, nothing should go wrong and you wont install anything from a kde package you dont want.
1. Keep your DO_NOT_COMPILE settings to one line
and
2. Install all dependencies portage recommends.
Its true that #2 will install dependencies you might not need, but it wont break anything either...but if you are ever in doubt, stick on the safe side.
Glad its all working for you. |
|
Back to top |
|
|
kimchi_sg Advocate
Joined: 26 Nov 2004 Posts: 2968
|
Posted: Sat Dec 11, 2004 2:15 pm Post subject: Keeping DO_NOT_COMPILE neat and tidy |
|
|
Here's 2 neat bash programming tricks to keep DO_NOT_COMPILE easily readable and tidy. People like Dweebs0r who'd love to separate their DO_NOT_COMPILE programs into groups or split the variable into multiple lines, listen up!
1. You can split your DO_NOT_COMPILE into multiple lines. To do this, put a \ as the very very last character character of every line except the last, which is closed by " (quote mark). Example: Code: | DO_NOT_COMPILE="kwifimanager kandy konsolekalendar ksnake \
lskat ksirtet" |
To play safe, put a space before each \
2. You can split DO_NOT_COMPILE into multiple variables at your whim! Split the apps into as many groups as you want, use a variable to represent each group. Then join the group variables together like this: Code: | DO_NOT_COMPILE="${GROUP_1} ${GROUP_2}" | Example: Code: | KDEGAMES_DONT_COMPILE="lskat ksirtet ksnake"
KDENONGAMES_DONT_COMPILE="kwifimanager kandy konsolekalendar"
DO_NOT_COMPILE="${KDEGAMES_DONT_COMPILE} ${KDENONGAMES_DONT_COMPILE}" |
Of course, you can mix the 2 tricks freely, as follows: Code: | KDENONGAMES_DONT_COMPILE="kwifimanager \
kandy konsolekalendar"
KDEGAMES_DONT_COMPILE="lskat ksirtet ksnake"
DO_NOT_COMPILE="${KDEGAMES_DONT_COMPILE} \
${KDENONGAMES_DONT_COMPILE}" |
Both examples are equivalent to the following line: Code: | DO_NOT_COMPILE="kwifimanager kandy konsolekalendar lskat ksirtet ksnake" |
|
|
Back to top |
|
|
dweebs0r Apprentice
Joined: 21 Jan 2003 Posts: 177
|
Posted: Sun Dec 12, 2004 5:42 am Post subject: |
|
|
Ok, well, I added more stuff to my DO_NOT_COMPILE list and now I'm having a problem getting the kdepim stuff to compile. Here is the error (editted for size):
Quote: |
Making all in egroupware
make[3]: Entering directory
`/var/tmp/portage/kdepim-3.3.2/work/kdepim-3.3.2/kresources/egroupware'
/bin/sh ../../libtool --silent --mode=compile --tag=CXX
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..
-I../../libical/src/libical -I../../libical/src/libicalss
-I../../libical/src/libical -I../../libical/src/libicalss -I./versit
-I../../ -I../../knotes -I/usr/kde/3.3/include -I/usr/qt/3/include
-I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT
-D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef
-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align-Wconversion
-Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG
-DNO_DEBUG -O2 -march=athlon-xp -O3 -pipe -Wformat-security
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -c -o kabc_resourcexmlrpcplugin.lo
kabc_resourcexmlrpcplugin.cpp
/usr/qt/3/bin/moc ./kabc_resourcexmlrpc.h -o kabc_resourcexmlrpc.moc
/usr/qt/3/bin/moc ./kabc_resourcexmlrpcconfig.h -o kabc_resourcexmlrpcconfig.moc
/usr/qt/3/bin/moc ./xmlrpciface.h -o xmlrpciface.moc
/usr/qt/3/bin/moc ./uidmapper.h -o uidmapper.moc
/bin/sh ../../libtool --silent --mode=compile --tag=CXX
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..
-I../../libical/src/libical -I../../libical/src/libicalss
-I../../libical/src/libical -I../../libical/src/libicalss -I./versit
-I../../ -I../../knotes -I/usr/kde/3.3/include -I/usr/qt/3/include
-I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT
-D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef
-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align-Wconversion
-Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG
-DNO_DEBUG -O2 -march=athlon-xp -O3 -pipe -Wformat-security
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -c -o kcal_resourcexmlrpcplugin.lo
kcal_resourcexmlrpcplugin.cpp
/usr/qt/3/bin/moc ./kcal_resourcexmlrpc.h -o kcal_resourcexmlrpc.moc
/usr/qt/3/bin/moc ./kcal_resourcexmlrpcconfig.h -o kcal_resourcexmlrpcconfig.moc
/bin/sh ../../libtool --silent --mode=compile --tag=CXX
i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I. -I../..
-I../../libical/src/libical -I../../libical/src/libicalss
-I../../libical/src/libical -I../../libical/src/libicalss -I./versit
-I../../ -I../../knotes -I/usr/kde/3.3/include -I/usr/qt/3/include
-I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT
-D_FILE_OFFSET_BITS=64 -Wnon-virtual-dtor -Wno-long-long -Wundef
-ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align-Wconversion
-Wchar-subscripts -Wall -W -Wpointer-arith -Wwrite-strings -DNDEBUG
-DNO_DEBUG -O2 -march=athlon-xp -O3 -pipe -Wformat-security
-Wmissing-format-attribute -fno-exceptions -fno-check-new -fno-common
-DQT_CLEAN_NAMESPACE -DQT_NO_ASCII_CAST -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -c -o knotes_resourcexmlrpcplugin.lo
knotes_resourcexmlrpcplugin.cpp
/usr/qt/3/bin/moc ./knotes_resourcexmlrpc.h -o knotes_resourcexmlrpc.moc
/usr/qt/3/bin/moc ./knotes_resourcexmlrpcconfig.h -o
knotes_resourcexmlrpcconfig.moc
make[3]: *** No rule to make target
`../../knotes/libknotesresources.la', needed by `libknotes_xmlrpc.la'.
Stop.
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory
`/var/tmp/portage/kdepim-3.3.2/work/kdepim-3.3.2/kresources/egroupware'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory
`/var/tmp/portage/kdepim-3.3.2/work/kdepim-3.3.2/kresources'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdepim-3.3.2/work/kdepim-3.3.2'
make: *** [all] Error 2
!!! ERROR: kde-base/kdepim-3.3.2 failed.
!!! Function kde_src_compile, Line 142, Exitcode 2
!!! died running emake, kde_src_compile:make
!!! If you need support, post the topmost build error, NOT this status message.
|
Looks like its dieing at a part of knotes, however knotes IS on my DO_NOT_COMPILE list. Anyone have any ideas?
--Dweebs |
|
Back to top |
|
|
kimchi_sg Advocate
Joined: 26 Nov 2004 Posts: 2968
|
Posted: Sun Dec 12, 2004 10:14 am Post subject: |
|
|
dweebs0r wrote: | Ok, well, I added more stuff to my DO_NOT_COMPILE list and now I'm having a problem getting the kdepim stuff to compile. Here is the error (editted for size): Code: | make[3]: *** No rule to make target
`../../knotes/libknotesresources.la', needed by `libknotes_xmlrpc.la'.
Stop. | Looks like its dieing at a part of knotes, however knotes IS on my DO_NOT_COMPILE list. Anyone have any ideas?
--Dweebs | Having knotes on the DO_NOT_COMPILE is exactly what the problem is! You must take it out if you want to compile kdepim.
Be forewarned that kaddressbook, kmail, ktnef and kwallet will also cause similar headaches.
This is what I can tell now, having resumed emerging kdepim (as part of a emerge kde with lots of apps in DO_NOT_COMPILE) for the 4th time. kaddressbook, kmail, ktnef and kdepim are considered essential for kdepim and kwallet likewise for kdebase.
PS: Wondering which app will trip a dependancy error next. |
|
Back to top |
|
|
Lokheed Veteran
Joined: 12 Jul 2004 Posts: 1295 Location: /usr/src/linux
|
Posted: Sun Dec 12, 2004 7:07 pm Post subject: |
|
|
I would also like to add that Kate and KWrite are one and the same. If you remove Kate, you wont get KWrite either...found that out the hardway.
I have also noticed that Kate depends on one of the packages that I have removed as it fails everytime I try to emerge kdebase without Kate in the DO_NOT_COMPILE list. I couldnt pinpoint which one and got fed up and am using Kpad instead.
Here's what I have in my list for kdebase:
Code: |
kate kfind kdm khelpcenter klipper kpager ksysguard ktip kxkb nsplugins
|
I recompiled it last night and it works beautifully. I should have taken out the desktop wizard as well but I forgot. Anyway, my system runs so nice and fast, less "cruft"
Last edited by Lokheed on Sun Dec 12, 2004 9:09 pm; edited 1 time in total |
|
Back to top |
|
|
dweebs0r Apprentice
Joined: 21 Jan 2003 Posts: 177
|
Posted: Sun Dec 12, 2004 7:35 pm Post subject: |
|
|
Also, without Kate, you can't compile Quanta, that is if you even want it. I'm still struggling with kdepim because I know I can compile I minimal version of it without kmail. Someone on the KDE hacking team should slap together a little script that would generate a proper DO_NOT_COMPILE list based on a list of apps that you would like to be installed. It could, for example, start out with a completely minimal compile, and add dependencies as you select apps, or vice versa, it could start out as the max install and create the list as you select what you don't want. This wouldn't be hard to create if there was clear, consise documentation of what apps depended on what. Just my 2 cents.
--Dweebs |
|
Back to top |
|
|
Lokheed Veteran
Joined: 12 Jul 2004 Posts: 1295 Location: /usr/src/linux
|
Posted: Sun Dec 12, 2004 8:53 pm Post subject: |
|
|
I would love to see that. I hate having this Microsoft mentality of shoving all this stuff down your throat. They nab up good programs and shove them into huge packages. If I want Lisa, I gotta install 20 more programs? I dont think so.
I know there is work on splitting KDE into pieces and hope we see something like that soon. I love KDE but I hate their mentality when it comes to these packages. To "Windows" friendly if you ask me. Linux should be about choice and not about falling to the lowest common idiot user...thats what Windows is for in the first place. |
|
Back to top |
|
|
dannycool Tux's lil' helper
Joined: 13 Aug 2004 Posts: 111 Location: Karlsruhe Germany
|
Posted: Sat Jan 15, 2005 12:13 pm Post subject: |
|
|
I just noticed the 3.4.0 beta1 single application ebuilds are in portage now |
|
Back to top |
|
|
cubancigar11 Guru
Joined: 10 Jan 2005 Posts: 340
|
Posted: Thu Jan 27, 2005 3:56 pm Post subject: |
|
|
Is there a way to uninstall useless applications, after KDE is installed? |
|
Back to top |
|
|
jmpnz n00b
Joined: 19 May 2003 Posts: 23
|
Posted: Tue Mar 01, 2005 10:29 pm Post subject: My DO_NOT_COMPILE |
|
|
Hows about this?
Code: |
KDELIBS_DO_NOT_COMPILE="kspell"
KDEACCESSIBILITY_DO_NOT_COMPILE="kmousetool kmouth"
KDEPIM_DO_NOT_COMPILE="kaddressbook kandy karm kleopatra kmail knode knotes kontact korn kpilot kwatchgnupg kmobile kmailcvt ksync kitchensync plugins kabc kresources korganizer wizards"
KDEBASE_DO_NOT_COMPILE="kpager kpersonalizer krichtexteditor ktip kdedebugdialog ksysguard"
KDEGRAPHICS_DO_NOT_COMPILE="kcoloredit kooka kpovmodeler kuickshow kview kgamma kolourpaint kpdf kfaxview"
KDEWEBDEV_DO_NOT_COMPILE=""
KDEARTWORK_DO_NOT_COMPILE="sounds wallpapers"
KDEUTILS_DO_NOT_COMPILE="kregexpeditor kedit kgpg kjots ksim ktimer kwallet kfloppy klaptopdaemon khexedit"
KDENETWORK_DO_NOT_COMPILE="kopete kpf kppp krdc filesharing ksirc ktalkd kwifimanager knewsticker"
KDEMULTIMEDIA_DO_NOT_COMPILE="artsbuilder juk kaboodle kmid kscd noatun krec kaudiocreator"
KDEADDONS_DO_NOT_COMPILE="konq-plugins noatun-plugins knewsticker-scripts kaddressbook-plugins kaddressbook-plugins knewsticker-scripts kontact ksig"
KDEEDU_DO_NOT_COMPILE="kbruch keduca khangman kiten kletters kmessedwords kpercentage kstars ktouch kturtle kverbos kvoctrain kwordquiz"
KDEGAMES_DO_NOT_COMPILE="kbounce kfouleggs ksmiletris ksnake kspaceduel ktron kolf atlantik kbackgammon kblackbox kmahjongg kpoker klickety klines konquest ktuberling lskat"
KDETOYS_DO_NOT_COMPILE="amor kmoon kweather kteatime"
KDEADMIN_DO_NOT_COMPILE="kdat ksysv kuser lilo-config kcmlinuz"
DO_NOT_COMPILE="$KDEADMIN_DO_NOT_COMPILE $KDETOYS_DO_NOT_COMPILE $KDEGAMES_DO_NOT_COMPILE $KDEEDU_DO_NOT_COMPILE $KDEADDONS_DO_NOT_COMPILE $KDEMULTIMEDIA_DO_NOT_COMPILE $KDENETWORK_DO_NOT_COMPILE $KDEUTILS_DO_NOT_COMPILE $KDEARTWORK_DO_NOT_COMPILE $KDEWEBDEV_DO_NOT_COMPILE $KDEGRAPHICS_DO_NOT_COMPILE $KDEBASE_DO_NOT_COMPILE $KDEPIM_DO_NOT_COMPILE $KDEACCESSIBILITY_DO_NOT_COMPILE $KDELIBS_DO_NOT_COMPILE"
|
|
|
Back to top |
|
|
taskara Advocate
Joined: 10 Apr 2002 Posts: 3763 Location: Australia
|
Posted: Sat Mar 26, 2005 5:04 am Post subject: |
|
|
now that kde 3.4 has split ebuilds, you *should* be able to just emerge a package
ie
should give you kontact and its dependencies only.
you'll have to add the deps to package.keywords. _________________ Kororaa install method - have Gentoo up and running quickly and easily, fully automated with an installer! |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Fri Apr 15, 2005 5:56 pm Post subject: Re: Keeping DO_NOT_COMPILE neat and tidy |
|
|
kimchi_sg wrote: | Here's 2 neat bash programming tricks to keep DO_NOT_COMPILE easily readable and tidy. People like Dweebs0r who'd love to separate their DO_NOT_COMPILE programs into groups or split the variable into multiple lines, listen up!
1. You can split your DO_NOT_COMPILE into multiple lines. To do this, put a \ as the very very last character character of every line except the last, which is closed by " (quote mark). Example: Code: | DO_NOT_COMPILE="kwifimanager kandy konsolekalendar ksnake \
lskat ksirtet" |
To play safe, put a space before each \
2. You can split DO_NOT_COMPILE into multiple variables at your whim! Split the apps into as many groups as you want, use a variable to represent each group. Then join the group variables together like this: Code: | DO_NOT_COMPILE="${GROUP_1} ${GROUP_2}" | Example: Code: | KDEGAMES_DONT_COMPILE="lskat ksirtet ksnake"
KDENONGAMES_DONT_COMPILE="kwifimanager kandy konsolekalendar"
DO_NOT_COMPILE="${KDEGAMES_DONT_COMPILE} ${KDENONGAMES_DONT_COMPILE}" |
Of course, you can mix the 2 tricks freely, as follows: Code: | KDENONGAMES_DONT_COMPILE="kwifimanager \
kandy konsolekalendar"
KDEGAMES_DONT_COMPILE="lskat ksirtet ksnake"
DO_NOT_COMPILE="${KDEGAMES_DONT_COMPILE} \
${KDENONGAMES_DONT_COMPILE}" |
Both examples are equivalent to the following line: Code: | DO_NOT_COMPILE="kwifimanager kandy konsolekalendar lskat ksirtet ksnake" |
|
I think this advice comes late, but in case anyone can find it usefull still: this way of merging string is not recommended in this case if you dont know what you are doing. In most cases do not happen anything, but it can happen.
The explanation: when you merge all these string into a bigger one containing all the stuff, then the merged string is applied to all the packages. This can be wrong if you want to compile (for example) kate in the kdebase package but not the kate plugins (in kdeaddons). Then same applies for docs, wich are controlled all by a flag with the same name in all the packages.
Otherwise, if you know this and can be sure that you want the flags to be global you can do that way. To be sure i'd recommend something like this:
Code: |
#/---------------------------/#
#/ KDE settings -------------/#
#/---------------------------/#
DO_NOT_COMPILE_KDEBASE="doc kdebugdialog drkonqi kpersonalizer ktip \
kpager kate klipper"
# Full list
# ---------
# drkonqi kappfinder kate kcheckpass kcontrol kdcop kdebugdialog \
# kdeprint kdesu kdialog kfind khelpcenter khotkeys kicker \
# kioslave klipper kmenuedit konsole kpager kpersonalizer kreadconfig \
# kscreensaver ksmserver ksplashml kstart ksysguard ksystraycmd \
# ktip kwin kxkb l10n nsplugins pics konqueror kdesktop kdm
DO_NOT_COMPILE_KDENETWORK="wifi kpf krdc ksirc ktalkd lanbrowsing \
knewsticker librss"
# Full list
# ---------
# doc kdict kget kopete kpf kppp krdc krfb ksirc ktalkd lanbrowsing \
# librss wifi knewsticker
DO_NOT_COMPILE_KDEMULTIMEDIA="doc kaboodle krec noatun kscd juk kmid \
kaudiocreator"
# Full list
# ---------
# arts audiofile_artsplugin doc juk kaboodle kfile-plugins kmid kmix \
# libkcddb mpeglib mpg123_artsplugin oggvorbis_artsplugin \
# xine_artsplugin krec noatun kscd kioslave kaudiocreator mpeglib_artsplug
DO_NOT_COMPILE_KDEPIM="doc ktnef korn kpilot ksync knode karm kandy \
kmobile korganizer kadressbook kalarm kontact kabc"
# Full list
# ---------
# doc kabc kdgantt kfile-plugins kgantt kioslaves kmailcvt kmobile
# kresources ktnef libical libkdenetwork libksieve mimelib libkcal
# certmanager korn knotes libkdepim kpilot ksync kitchensync kalarmd
# knode kmail karm kandy kaddressbook libkpimexchange kalarm korganizer
# konsolekalendar kontact
DO_NOT_COMPILE_KDEADDONS="doc kaddressbook-plugins knewsticker-scripts \
kontact ksig noatun-plugins vimpart kfile-plugins"
# Full list
# ---------
# doc kaddressbook-plugins kate kfile-plugins kicker-applets
# knewsticker-scripts konq-plugins kontact ksig noatun-plugins
# renamedlgplugins vimpart
DO_NOT_COMPILE_KDEGRAPHICS="doc kamera kfax kpaint kpdf kgamma \
kfaxview kpovmodeler kiconedit kdvi kolourpaint \
kruler kcoloredit"
# Full list
# ---------
# doc kamera kcoloredit kfax kgamma kghostview kiconedit kmrml kpaint
# kpdf kpovmodeler kruler ksnapshot ksvg kuickshow kview kviewshell
# libkscan kfile-plugins kfaxview kdvi kooka
DO_NOT_COMPILE_KDEUTILS="charselectapplet doc kcardtools kdelirc \
kdessh kgpg kjots klaptopdaemon ktimer kregexpeditor ksim"
# Full list
# ---------
# ark charselectapplet doc kcalc kcardtools kcharselect kdelirc
# kdepasswd kdessh kdf kedit kfloppy kgpg khexedit kjots klaptopdaemon
# kmilo kregexpeditor ksim ktimer kwallet
DO_NOT_COMPILE_KDEADMIN="doc kcmlinuz kdat kpackage ksysv lilo-config \
secpolicy"
# Full list
# ---------
# doc kcmlinuz kcron kdat kfile-plugins kpackage ksysv kuser lilo-config
# secpolicy
DO_NOT_COMPILE_KDEARTWORK="IconThemes icewm-themes kworldclock \
sounds wallpapers"
# Full list
# ---------
# IconThemes icewm-themes kscreensaver kwin-styles kworldclock sounds
# styles wallpapers
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEARTWORK}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEADMIN}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEUTILS}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEGRAPHICS}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEADDONS}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEMULTIMEDIA}"
#DO_NOT_COMPILE="${DO_NOT_COMPILE_KDENETWORK}"
DO_NOT_COMPILE="${DO_NOT_COMPILE_KDEBASE} "
|
You can put something like this in make.conf and uncomment a single line on the bottom at the same time. So you make sure that no flags from a given package overtake any other flag in another package. |
|
Back to top |
|
|
amne Bodhisattva
Joined: 17 Nov 2002 Posts: 6378 Location: Graz / EU
|
Posted: Sat Apr 16, 2005 8:08 am Post subject: |
|
|
I've added some important information to the beginning of this thread, for those too lazy to scroll back:
mod edit: Important! Read first!
- DO_NOT_COMPILE is not officially supported
- If you think you found a bug, verify it on a system without DO_NOT_COMPILE before submitting bug reports
- Please read this FAQ entry
Kde 3.4 is available in split packages anyway, so you might want to check this out instead of 3.3 and DO_NOT_COMPILE.
amne _________________ Dinosaur week! (Ok, this thread is so last week) |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Sat Apr 16, 2005 9:04 am Post subject: Re: Keeping DO_NOT_COMPILE neat and tidy |
|
|
6thpink wrote: | I think this advice comes late |
I said...
and
Code: |
DO_NOT_COMPILE is not officially supported
|
Of course, I know, I'm not a KDE user, just was pointing out that thing, in case that helps any1.[/code] |
|
Back to top |
|
|
mario Guru
Joined: 20 Apr 2002 Posts: 400 Location: Mountain View, CA
|
|
Back to top |
|
|
|