Summary: | sed fails in bootstrap when USE contains "static" | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Douglas R. Hoffman <douglas.hoffman> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | mr_bones_, mycontact |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Douglas R. Hoffman
2003-06-10 03:04:54 UTC
hey cool, RIT This is a documented problem (see ufed for example). If only I knew why it's a problem.... *** Bug 24340 has been marked as a duplicate of this bug. *** should be "fixed" by the warning about static and bootstrap in current install docs and use.desc. I disagree with this solution. about 185 ebuilds use the static directive, and not all of them are part of the bootstrap! It is more then reasonable that users of gentoo would want to statically compile packages ( e.g. mysql ). By taking ths course, you're forcing developers to rework ebuilds and invent less descript USE directives inorder to support statically compiled e-builds. To me, retooling bootstrap.sh to strip out static from make.conf is the solution that effects the least amount of ebuilds. Does anyone else agree? /d % find /usr/portage/ -type f -name \*.ebuild -exec grep -H static {} \; | cut -d":" -f1 | cut -d"/" -f1-3 | sort | uniq ./app-admin/bacula ./app-admin/chkrootkit ./app-admin/cpu ./app-admin/systemimager-server-bin ./app-arch/dump ./app-crypt/gnupg ./app-crypt/mhash ./app-crypt/mit-krb5 ./app-doc/doxygen ./app-emulation/pose ./app-misc/dnetc ./app-misc/symlinks ./app-misc/towitoko ./app-misc/zisofs-tools ./app-office/abiword ./app-sci/blas ./app-sci/lapack ./app-sci/octave ./app-shells/bash ./app-shells/csh ./app-shells/ksh ./app-shells/rssh ./app-shells/sash ./app-shells/zsh ./app-text/aspell ./app-text/crm114 ./dev-ada/asis ./dev-db/myodbc ./dev-db/mysql ./dev-db/pgeasy ./dev-lang/entity ./dev-lang/gnat ./dev-lang/perl ./dev-lang/swi-prolog-lite ./dev-libs/ace ./dev-libs/beecrypt ./dev-libs/cryptlib ./dev-libs/cyrus-sasl ./dev-libs/hdf5 ./dev-libs/libextractor ./dev-libs/libgcrypt ./dev-libs/libol ./dev-libs/libtc ./dev-libs/tc2 ./dev-libs/tc2-modules ./dev-python/qscintilla ./dev-util/cvsup ./dev-util/rhide ./dev-util/tkcvs ./games-arcade/xevil ./games-emulation/advancemame ./games-emulation/raine ./games-fps/quakeforge ./games-misc/c++robots ./games-misc/fortune-mod-bofh-excuses ./games-util/qstat ./gnome-base/libgnomeprint ./gnome-extra/gnome-network ./media-gfx/blender ./media-gfx/bootsplash ./media-gfx/cthumb ./media-gfx/imagemagick ./media-gfx/pornview ./media-gfx/xpaint ./media-libs/a52dec ./media-libs/allegro ./media-libs/freetype ./media-libs/imlib2 ./media-libs/jpeg ./media-libs/libao ./media-libs/ming ./media-libs/svgalib ./media-sound/awesfx ./media-sound/beast ./media-sound/digitaldj ./media-sound/festival ./media-sound/grip ./media-sound/mad ./media-sound/speech-tools ./media-video/avidemux ./media-video/avifile ./media-video/ffmpeg ./media-video/vcdgear ./net-analyzer/netcat ./net-analyzer/zodiac ./net-dialup/speedtouch ./net-dns/djbdns ./net-dns/mydns ./net-dns/pdns ./net-firewall/fwbuilder ./net-fs/samba ./net-im/naim ./net-irc/eggdrop ./net-libs/libfwbuilder ./net-libs/libwww ./net-mail/checkpassword ./net-mail/evolution ./net-mail/hotwayd ./net-mail/pine ./net-mail/pine-maildir ./net-mail/qtools ./net-misc/clockspeed ./net-misc/dhcp ./net-misc/dhcpcd ./net-misc/dhcpv6 ./net-misc/fakeidentd ./net-misc/icecast ./net-misc/iputils ./net-misc/openssh ./net-misc/rsync ./net-misc/rwbs ./net-misc/stunnel ./net-misc/vconfig ./net-misc/wget ./net-nds/openldap ./net-news/nget ./net-print/omni ./net-www/apache ./net-www/cherokee ./net-www/horde-imp ./net-www/konqueror-embedded ./net-www/links ./net-www/memcached ./net-www/mozilla ./net-www/opera ./net-www/webfs ./sys-apps/baselayout ./sys-apps/busybox ./sys-apps/bzip2 ./sys-apps/coreutils ./sys-apps/daemontools ./sys-apps/debianutils ./sys-apps/diffutils ./sys-apps/grep ./sys-apps/grub ./sys-apps/grub-static ./sys-apps/isapnptools ./sys-apps/lsof ./sys-apps/mdadm ./sys-apps/mkinitrd ./sys-apps/module-init-tools ./sys-apps/modutils ./sys-apps/net-tools ./sys-apps/nictools ./sys-apps/parted ./sys-apps/quik ./sys-apps/sed ./sys-apps/sh-utils ./sys-apps/shadow ./sys-apps/supersed ./sys-apps/tar ./sys-apps/tcp-wrappers ./sys-apps/textutils ./sys-apps/tinylogin ./sys-apps/util-linux ./sys-devel/binutils ./sys-devel/bison ./sys-devel/flex ./sys-devel/gcc ./sys-devel/hardened-gcc ./sys-devel/kgcc ./sys-devel/libperl ./sys-devel/make ./sys-devel/patch ./sys-devel/spython ./sys-fs/e2fsprogs ./sys-fs/evms ./sys-fs/ext2resize ./sys-fs/lvm-user ./sys-kernel/ksymoops ./sys-libs/cracklib ./sys-libs/db ./sys-libs/gdbm ./sys-libs/glibc ./sys-libs/ncurses ./sys-libs/nss-mysql ./sys-libs/pam ./x11-base/xfree ./x11-libs/fltk ./x11-libs/lesstif ./x11-libs/wxGTK ./x11-libs/xclass ./x11-misc/tkhylafax ./x11-misc/xnview ./x11-wm/afterstep So in /usr/portage/scripts/bootstrap.sh, line 106, if (ORIGUSE ~ /[[:space:]]*(build|bootstrap)[[:space:]]*/) should change to something like if (ORIGUSE ~ /[[:space:]]*(build|bootstrap|static)[[:space:]]*/) Right? And the error message should be adjusted as well. Actually, adding the following between 101 and 102 would fix the bootstraping problem and leave the static functionality intact for all the other ebuilds... export ORIGUSE="${ORIGUSE/static/} your proposed solution appears to support the oposed solution. That is to say, the "static" directive is only for the bootstrapping internally, and would force the bootstrap to fail if it were present. hmm... my bad... it should be: export ORIGUSE="${ORIGUSE//static/}" Can I do anything to help out on this? -doug Um, Can I do anything here to help out? -doug Tossing this back to bug-wranglers as I do not have time to deal with it, sorry. douglas: i think the solution that was implemented was miscommunicated to you we did not 'drop static support' ... that was never the idea :) we just added a warning to the use.desc about not putting 'static' in USE when doing a bootstrap: static - !!do not set this during bootstrap!! Causes things to be statically linked instead of dynamically Hi Guys, This is just an opinion... having bootstap*.sh ignore static, is the least intrusive to the gentoo builder. It comes down to putting the exception into the code, or putting the burden on the user via documentation, warnings, failed bootstraps, and extra steps. The extra steps being build first make.conf (less static directive), run bootstrap, add static to make.conf and continue emerge worlding away. Since users like me are naive, skim documents, and error prone... I think the better solution is controlling the problem via a minor software change and having bootstrap*.sh ignore static altogether without throwing an error. nuf said on this... what ever you pick, I'll accept and shut up.. I promise =) so here are the two resolutions that i see: 1) add [CODE]export ORIGUSE="${ORIGUSE//static/}"[/CODE] to bootstrap*.sh and remove the use.desc note and other refs in install if i've missed them. 2) as andrew suggested, change to [CODE]if (ORIGUSE ~ /[[:space:]]*(build|bootstrap|static)[[:space:]]*/)[/CODE] and add appropriate verbiage to the error text... obviously, i think #1 is better... and if you choose #2, I suspect i can just [CODE]%USE="-static" scripts/bootstrap-2.6.sh[/CODE] in my build scripts. -d p.s. it would be really great if portage eventually evolved to package level make.conf configurations... shift make.conf to xml... inheritance with the children overriding the parent, if present... p.s.s and yes, mysql static does make a _noticeable_ difference... |