Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Just did a stage 1 bootstrap - no C++ error
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Thaidog
Veteran
Veteran


Joined: 19 May 2004
Posts: 1053

PostPosted: Thu Dec 11, 2008 1:35 am    Post subject: Just did a stage 1 bootstrap - no C++ error Reply with quote

Somebody told me that if you try to do a stage 1 bootstrap it will fail because the bootsrap uses a compiler that will not compile C++ and one of the stage1 packages has been changed to C++.

Well, out of boredom I did a /usr/portage/scripts/bootstrap.sh from a stage1-x86-2008.0.tar.bz2 and it made it all the way through.

Maybe I did something that accidentally misaligned the nature of things so here are the steps I did:

Made filesystems > untarred stage 1 pkg > untarred latest portage > chroot > emerge --sync > cd /usr/portage/scripts > ./bootstrap.sh

And now I'm looking at a system that compiled with no apparent errors. Or am I missing something?

Also, I was wondering that if, people really are getting this error, could they not just install the Intel ICC compiler before the bootstrap and use package.icc to compile the offending C++ package with icc so the bootstrap keeps going? Or will the bootstrap not see thing's like package.keywords and whatnot?
_________________
Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds
Back to top
View user's profile Send private message
timeBandit
Bodhisattva
Bodhisattva


Joined: 31 Dec 2004
Posts: 2674
Location: here, there or in transit

PostPosted: Sat Dec 13, 2008 3:34 am    Post subject: Reply with quote

Moved from Portage & Programming to Unsupported Software (Stage 1 installs).
_________________
Plants are pithy, brooks tend to babble--I'm content to lie between them.
Super-short f.g.o checklist: Search first, strip comments, mark solved, help others.
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Sat Dec 13, 2008 4:47 pm    Post subject: Reply with quote

Quote:
And now I'm looking at a system that compiled with no apparent errors. Or am I missing something?
if you run ~x86 bootstrap will want to build lzma (for coreutils, or portage). and that needs c++ compiler.

Quote:
if you try to do a stage 1 bootstrap it will fail because the bootsrap uses a compiler that will not compile C++ and one of the stage1 packages has been changed to C++.
stage1 gcc supports only C language. the gcc that gets built later on, has also c++ support.
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
poly_poly-man
Advocate
Advocate


Joined: 06 Dec 2006
Posts: 2477
Location: RIT, NY, US

PostPosted: Sun Dec 14, 2008 3:44 pm    Post subject: Reply with quote

I've been thinking of doing a stage1 install soon - probably for alpha.

I wasn't around when this was a possibility - is the bootstrap step the only difference between installing stage3 and installing stage1?
_________________
iVBORw0KGgoAAAANSUhEUgAAA

avatar: new version of logo - see topic 838248. Potentially still a WiP.
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Sun Dec 14, 2008 4:52 pm    Post subject: Reply with quote

poly_poly-man wrote:
I've been thinking of doing a stage1 install soon - probably for alpha.

I wasn't around when this was a possibility - is the bootstrap step the only difference between installing stage3 and installing stage1?
no, bootstrap takes you to stage2. and then emerge -e system takes you to stage3
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
poly_poly-man
Advocate
Advocate


Joined: 06 Dec 2006
Posts: 2477
Location: RIT, NY, US

PostPosted: Sun Dec 14, 2008 5:16 pm    Post subject: Reply with quote

yoshi314 wrote:
poly_poly-man wrote:
I've been thinking of doing a stage1 install soon - probably for alpha.

I wasn't around when this was a possibility - is the bootstrap step the only difference between installing stage3 and installing stage1?
no, bootstrap takes you to stage2. and then emerge -e system takes you to stage3
see, I was brought up (with gentoo, at least) before the time you had to do a stage1 build uphill in the snow both ways :P

So, lemme get this straight:

unpack the stage1 tarball where the manual says stage3.

run the bootstrap script

emerge -e system

continue

correct?
_________________
iVBORw0KGgoAAAANSUhEUgAAA

avatar: new version of logo - see topic 838248. Potentially still a WiP.
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Sun Dec 14, 2008 6:33 pm    Post subject: Reply with quote

well, yes. that's pretty much it.

you probably should stick to x86 (not ~x86) because of lzma issue (stage1 does not provide c++ compiler) while doing this. assuming you want to run ~x86 desktop (replace x86 with your arch).
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
poly_poly-man
Advocate
Advocate


Joined: 06 Dec 2006
Posts: 2477
Location: RIT, NY, US

PostPosted: Sun Dec 14, 2008 6:35 pm    Post subject: Reply with quote

yoshi314 wrote:
well, yes. that's pretty much it.

you probably should stick to x86 (not ~x86) because of lzma issue (stage1 does not provide c++ compiler) while doing this. assuming you want to run ~x86 desktop (replace x86 with your arch).
I'm just going to do this now in a virtual machine for fun...

I'll stick with x86, thanks for the heads-up.
_________________
iVBORw0KGgoAAAANSUhEUgAAA

avatar: new version of logo - see topic 838248. Potentially still a WiP.
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Sun Dec 14, 2008 7:51 pm    Post subject: Reply with quote

Quote:
I'll stick with x86, thanks for the heads-up.
well, i'm not promising anything.

haven't used stable x86 in a while. hmm, did i ever use it? ;-)
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
poly_poly-man
Advocate
Advocate


Joined: 06 Dec 2006
Posts: 2477
Location: RIT, NY, US

PostPosted: Sun Dec 14, 2008 7:57 pm    Post subject: Reply with quote

yoshi314 wrote:
Quote:
I'll stick with x86, thanks for the heads-up.
well, i'm not promising anything.

haven't used stable x86 in a while. hmm, did i ever use it? ;-)
haha ++

when I set my brother up with gentoo, I'll probably make him go x86 with selective unmasking, but I tend to like pain :P

and it's really not that painful, until you start digging up bleading ebuilds :D
_________________
iVBORw0KGgoAAAANSUhEUgAAA

avatar: new version of logo - see topic 838248. Potentially still a WiP.
Back to top
View user's profile Send private message
cyrillic
Watchman
Watchman


Joined: 19 Feb 2003
Posts: 7313
Location: Groton, Massachusetts USA

PostPosted: Mon Dec 15, 2008 3:16 am    Post subject: Reply with quote

A couple of years ago, all the cool kids were doing stage1 installations.

Now I prefer installing from stage0, because no stage tarball means no cruft when you are done.

It is easier than a stage1 too, just emerge into an empty directory.
Code:
# mkdir /mnt/gentoo
# ROOT="/mnt/gentoo" emerge system
Back to top
View user's profile Send private message
outermeasure
Apprentice
Apprentice


Joined: 26 Nov 2008
Posts: 194
Location: ping6 ff02::1

PostPosted: Mon Dec 15, 2008 3:49 am    Post subject: Reply with quote

cyrillic wrote:
A couple of years ago, all the cool kids were doing stage1 installations.

Now I prefer installing from stage0, because no stage tarball means no cruft when you are done.

It is easier than a stage1 too, just emerge into an empty directory.
Code:
# mkdir /mnt/gentoo
# ROOT="/mnt/gentoo" emerge system


How does that prevent problems arising because programs are linked against host version?
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Mon Dec 15, 2008 9:57 am    Post subject: Reply with quote

Quote:
A couple of years ago, all the cool kids were doing stage1 installations.

Now I prefer installing from stage0, because no stage tarball means no cruft when you are done.


now all the cool kids started using catalyst to make their own stages ;-)
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
cyrillic
Watchman
Watchman


Joined: 19 Feb 2003
Posts: 7313
Location: Groton, Massachusetts USA

PostPosted: Mon Dec 15, 2008 3:56 pm    Post subject: Reply with quote

outermeasure wrote:
How does that prevent problems arising because programs are linked against host version?

Your host needs to be up-to-date for this to work properly.
Back to top
View user's profile Send private message
grooveharder
n00b
n00b


Joined: 18 Feb 2007
Posts: 44

PostPosted: Mon Dec 15, 2008 4:48 pm    Post subject: Reply with quote

compile lzma-utils with USE=nocxx

that's how i do it :)
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 848
Location: PL

PostPosted: Tue Dec 16, 2008 12:20 pm    Post subject: Reply with quote

that probably has to be done before bootstrap.

i thought bootstrap script would set appropriate USE flags (such as nocxx) so it didn't cross my mind.
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
Thaidog
Veteran
Veteran


Joined: 19 May 2004
Posts: 1053

PostPosted: Wed Dec 17, 2008 2:08 am    Post subject: Reply with quote

yoshi314 wrote:
that probably has to be done before bootstrap.

i thought bootstrap script would set appropriate USE flags (such as nocxx) so it didn't cross my mind.


That is what I am wondering. How the stage 1 interacts with USE flags... and will it work with the a modified make.conf file if you want to customize.
_________________
Registered Linux User: 437619
"I'm a big believer in technology over politics" - Linus Torvalds
Back to top
View user's profile Send private message
NetHawl
Tux's lil' helper
Tux's lil' helper


Joined: 30 May 2004
Posts: 83
Location: Slovenija

PostPosted: Wed Dec 17, 2008 2:38 pm    Post subject: Reply with quote

Hey folks!

I just did a stage1 install on one of my PC's (acting now as a server :D).
It's pretty easy and straightforward:

1)Follow the gentoo handbook, until you reach the chapter about the kernel.
2) do:
-: cd /usr/portage/scripts
-: ./bootstrap.sh (or "sh boostrap.sh")
3)do:
-: emerge -e system
4)continue with the install normally (e.g. follow the gentoo handbook)

BOOTSTRAP and USE:
-bootstrap is using your make.conf and it's use flags for compiling, it just changes minor things e.g.

-adding the "bootstrap" flag

But everything else should be done like you specified it in the make.conf.

Stage0, that's interesting, still I don't think it is building the tool-chain for the gcc if you do it this way, since some packages of the tool-chain are not in the "system" or "world", not sure about that though.

And another thing. If it REALLY want's to omit or change some of you'r flags, you can overcome this easily by doing "export USE="<flags you want>"


BTW. nice to come back after a long while and still see people experimenting like nowhere else

--
Damn I am stupid, I just tried to do a bootstrap with ACCEPT_KEYWORDS="~x86" :D
But got an idea at this point, one can still do a normal bootstrap, so he get's the C++ compiler, and then can re-bootstrap the system.
_________________
Don't just breathe, LIVE with everything you have!
Back to top
View user's profile Send private message
PraetorZero
Apprentice
Apprentice


Joined: 11 Dec 2004
Posts: 239
Location: /home

PostPosted: Sun Dec 21, 2008 4:21 am    Post subject: Reply with quote

cyrillic wrote:
A couple of years ago, all the cool kids were doing stage1 installations.

Now I prefer installing from stage0, because no stage tarball means no cruft when you are done.

It is easier than a stage1 too, just emerge into an empty directory.
Code:
# mkdir /mnt/gentoo
# ROOT="/mnt/gentoo" emerge system


I just did this and WOW. I think this has to be the best way to build a system. :)
Back to top
View user's profile Send private message
poly_poly-man
Advocate
Advocate


Joined: 06 Dec 2006
Posts: 2477
Location: RIT, NY, US

PostPosted: Tue Dec 30, 2008 4:16 pm    Post subject: Reply with quote

hey, after 3 days of raw compiling (and rest days in between), I got my alpha all done - except for a kernel driver error which I'll be fixing in my next post ;)

Started from stage1, used stable packages the whole time (I'll be staying stable).
_________________
iVBORw0KGgoAAAANSUhEUgAAA

avatar: new version of logo - see topic 838248. Potentially still a WiP.
Back to top
View user's profile Send private message
Simba7
l33t
l33t


Joined: 22 Jan 2007
Posts: 701
Location: Billings, MT, USA

PostPosted: Tue Dec 30, 2008 4:30 pm    Post subject: Reply with quote

I think I posted a "How to do this successfully" somewhere. I am using ' ACCEPT_KEYWORDS="~x86" ' in my make.conf file.

Here it is again if anyone needs it:
Code:
cp -L /etc/resolv.conf /mnt/gentoo/etc/
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"
mkdir /etc/portage
echo "=net-nds/openldap-2.4.11-r1" >> /etc/portage/package.unmask
echo "sys-apps/portage" >> /etc/portage/package.unmask
emerge binutils
emerge =sys-libs/glibc-2.8_p20080602
USE="-fortran" emerge =sys-devel/gcc-4.1.2
emerge sysvinit
emerge --oneshot --nodeps python
/usr/sbin/python-updater
emerge --unmerge =dev-lang/python-2.4.4-r13
/usr/sbin/python-updater
emerge perl
emerge help2man
cd /usr/portage/scripts
./bootstrap.sh
emerge -e system

I needed the latest OpenLDAP and Portage for my system. Also, if you want, here's the ebuilds for OpenLDAP 2.4.11-r1 and Python 2.5.2-r8 so you don't need db-4.5 *AND* db-4.6 (which is pointless in my opinion and it's been working fine for 2 months now):

python-2.5.2-r8.ebuild
Code:
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.5.2-r8.ebuild,v 1.3 2008/10/26 21:40:28 hawking Exp $

# NOTE about python-portage interactions :
# - Do not add a pkg_setup() check for a certain version of portage
#   in dev-lang/python. It _WILL_ stop people installing from
#   Gentoo 1.4 images.

EAPI=1

inherit eutils autotools flag-o-matic python multilib versionator toolchain-funcs alternatives libtool

# we need this so that we don't depends on python.eclass
PYVER_MAJOR=$(get_major_version)
PYVER_MINOR=$(get_version_component_range 2)
PYVER="${PYVER_MAJOR}.${PYVER_MINOR}"

MY_P="Python-${PV}"
S="${WORKDIR}/${MY_P}"

DESCRIPTION="Python is an interpreted, interactive, object-oriented programming language."
HOMEPAGE="http://www.python.org/"
SRC_URI="http://www.python.org/ftp/python/${PV}/${MY_P}.tar.bz2
        mirror://gentoo/python-gentoo-patches-${PV}-r8.tar.bz2"

LICENSE="PSF-2.2"
SLOT="2.5"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
IUSE="ncurses gdbm ssl readline tk berkdb ipv6 build ucs2 sqlite doc +threads examples elibc_uclibc wininst"

# NOTE: dev-python/{elementtree,celementtree,pysqlite,ctypes,cjkcodecs}
#       do not conflict with the ones in python proper. - liquidx

DEPEND=">=sys-libs/zlib-1.1.3
        !build? (
                sqlite? ( >=dev-db/sqlite-3 )
                tk? ( >=dev-lang/tk-8.0 )
                ncurses? ( >=sys-libs/ncurses-5.2
                                        readline? ( >=sys-libs/readline-4.1 ) )
                berkdb? ( || ( sys-libs/db:4.6 sys-libs/db:4.5 sys-libs/db:4.4 sys-libs/db:4.3
                                        sys-libs/db:4.2 ) )
                gdbm? ( sys-libs/gdbm )
                ssl? ( dev-libs/openssl )
                doc? ( dev-python/python-docs:2.5 )
                dev-libs/expat
        )"

# NOTE: changed RDEPEND to PDEPEND to resolve bug 88777. - kloeri
# NOTE: added blocker to enforce correct merge order for bug 88777. - zmedico

PDEPEND="${DEPEND} app-admin/python-updater"
PROVIDE="virtual/python"

src_unpack() {
        unpack ${A}
        cd "${S}"

        if tc-is-cross-compiler ; then
                [[ $(python -V 2>&1) != "Python ${PV}" ]] && \
                        die "Crosscompiling requires the same host and build versions."
                epatch "${FILESDIR}"/python-2.4.4-test-cross.patch
        else
                rm "${WORKDIR}/${PV}"/*_all_crosscompile.patch
        fi

        EPATCH_SUFFIX="patch" epatch "${WORKDIR}/${PV}"
        sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \
                Lib/distutils/command/install.py \
                Lib/distutils/sysconfig.py \
                Lib/site.py \
                Makefile.pre.in \
                Modules/Setup.dist \
                Modules/getpath.c \
                setup.py || die

        # fix os.utime() on hppa. utimes it not supported but unfortunately reported as working - gmsoft (22 May 04)
        # PLEASE LEAVE THIS FIX FOR NEXT VERSIONS AS IT'S A CRITICAL FIX !!!
        [ "${ARCH}" = "hppa" ] && sed -e 's/utimes //' -i "${S}"/configure

        if ! use wininst; then
                # remove microsoft windows executables
                rm Lib/distutils/command/wininst-*.exe
        fi

        eautoreconf
}

src_configure() {
        # disable extraneous modules with extra dependencies
        if use build; then
                export PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter _sqlite3"
                export PYTHON_DISABLE_SSL=1
        else
                # dbm module can link to berkdb or gdbm
                # defaults to gdbm when both are enabled, #204343
                local disable
                use berkdb   || use gdbm || disable="${disable} dbm"
                use berkdb   || disable="${disable} bsddb"
                use gdbm     || disable="${disable} gdbm"
                use ncurses  || disable="${disable} _curses _curses_panel"
                use readline || disable="${disable} readline"
                use sqlite   || disable="${disable} _sqlite3"
                use ssl      || export PYTHON_DISABLE_SSL=1
                use tk       || disable="${disable} _tkinter"
                export PYTHON_DISABLE_MODULES="${disable}"
        fi
        einfo "Disabled modules: $PYTHON_DISABLE_MODULES"
}

src_compile() {
        filter-flags -malign-double

        # Seems to no longer be necessary
        #[ "${ARCH}" = "amd64" ] && append-flags -fPIC
        [ "${ARCH}" = "alpha" ] && append-flags -fPIC

        # http://bugs.gentoo.org/show_bug.cgi?id=50309
        if is-flag -O3; then
           is-flag -fstack-protector-all && replace-flags -O3 -O2
           use hardened && replace-flags -O3 -O2
        fi

        # See #228905
        if [[ $(gcc-major-version) -ge 4 ]]; then
                append-flags -fwrapv
        fi

        export OPT="${CFLAGS}"

        local myconf

        # super-secret switch. don't use this unless you know what you're
        # doing. enabling UCS2 support will break your existing python
        # modules
        use ucs2 \
                && myconf="${myconf} --enable-unicode=ucs2" \
                || myconf="${myconf} --enable-unicode=ucs4"

        use threads \
                && myconf="${myconf} --with-threads" \
                || myconf="${myconf} --without-threads"

        src_configure

        if tc-is-cross-compiler ; then
                OPT="-O1" CFLAGS="" LDFLAGS="" CC="" \
                ./configure || die "cross-configure failed"
                emake python Parser/pgen || die "cross-make failed"
                mv python hostpython
                mv Parser/pgen Parser/hostpgen
                make distclean
                sed -i \
                        -e '/^HOSTPYTHON/s:=.*:=./hostpython:' \
                        -e '/^HOSTPGEN/s:=.*:=./Parser/hostpgen:' \
                        Makefile.pre.in || die
        fi

        # export CXX so it ends up in /usr/lib/python2.x/config/Makefile
        tc-export CXX

        # set LDFLAGS so we link modules with -lpython2.5 correctly.
        # Needed on FreeBSD unless python2.5 is already installed.
        # Please query BSD team before removing this!
        append-ldflags "-L."

        econf \
                --with-fpectl \
                --enable-shared \
                `use_enable ipv6` \
                --infodir='${prefix}'/share/info \
                --mandir='${prefix}'/share/man \
                --with-libc='' \
                ${myconf} || die
        emake || die "Parallel make failed"
}

src_install() {
        dodir /usr
        src_configure
        make DESTDIR="${D}" altinstall maninstall || die

        mv "${D}"/usr/bin/python${PYVER}-config "${D}"/usr/bin/python-config-${PYVER}

        # Fix slotted collisions
        mv "${D}"/usr/bin/pydoc "${D}"/usr/bin/pydoc${PYVER}
        mv "${D}"/usr/bin/idle "${D}"/usr/bin/idle${PYVER}
        mv "${D}"/usr/share/man/man1/python.1 \
                "${D}"/usr/share/man/man1/python${PYVER}.1
        rm -f "${D}"/usr/bin/smtpd.py

        # While we're working on the config stuff... Let's fix the OPT var
        # so that it doesn't have any opts listed in it. Prevents the problem
        # with compiling things with conflicting opts later.
        dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' \
                        /usr/$(get_libdir)/python${PYVER}/config/Makefile

        if use build ; then
                rm -rf "${D}"/usr/$(get_libdir)/python${PYVER}/{test,encodings,email,lib-tk,bsddb/test}
        else
                use elibc_uclibc && rm -rf "${D}"/usr/$(get_libdir)/python${PYVER}/{test,bsddb/test}
                use berkdb || rm -rf "${D}"/usr/$(get_libdir)/python${PYVER}/bsddb
                use tk || rm -rf "${D}"/usr/$(get_libdir)/python${PYVER}/lib-tk
        fi

        prep_ml_includes usr/include/python${PYVER}

        # The stuff below this line extends from 2.1, and should be deprecated
        # in 2.3, or possibly can wait till 2.4

        # seems like the build do not install Makefile.pre.in anymore
        # it probably shouldn't - use DistUtils, people!
        insinto /usr/$(get_libdir)/python${PYVER}/config
        doins "${S}"/Makefile.pre.in

        if use examples ; then
                insinto /usr/share/doc/${PF}/examples
                doins -r "${S}"/Tools || die "doins failed"
        fi

        newinitd "${FILESDIR}/pydoc.init" pydoc-${SLOT}
        newconfd "${FILESDIR}/pydoc.conf" pydoc-${SLOT}
}

pkg_postrm() {
        local mansuffix=$(ecompress --suffix)
        python_makesym
        alternatives_auto_makesym "/usr/bin/idle" "idle[0-9].[0-9]"
        alternatives_auto_makesym "/usr/bin/pydoc" "pydoc[0-9].[0-9]"
        alternatives_auto_makesym "/usr/bin/python-config" \
                                                                "python-config-[0-9].[0-9]"

        alternatives_auto_makesym "/usr/share/man/man1/python.1${mansuffix}" \
                                                                "python[0-9].[0-9].1${mansuffix}"

        python_mod_cleanup /usr/lib/python${PYVER}
        [[ "$(get_libdir)" == "lib" ]] || \
                python_mod_cleanup /usr/$(get_libdir)/python${PYVER}
}

pkg_postinst() {
        local myroot
        myroot=$(echo $ROOT | sed 's:/$::')
        local mansuffix=$(ecompress --suffix)

        python_makesym
        alternatives_auto_makesym "/usr/bin/idle" "idle[0-9].[0-9]"
        alternatives_auto_makesym "/usr/bin/pydoc" "pydoc[0-9].[0-9]"
        alternatives_auto_makesym "/usr/bin/python-config" \
                                                                "python-config-[0-9].[0-9]"

        alternatives_auto_makesym "/usr/share/man/man1/python.1${mansuffix}" \
                                                                "python[0-9].[0-9].1${mansuffix}"

        python_mod_optimize
        python_mod_optimize -x "(site-packages|test)" \
                                                /usr/lib/python${PYVER}
        [[ "$(get_libdir)" == "lib" ]] || \
                python_mod_optimize -x "(site-packages|test)" \
                                                        /usr/$(get_libdir)/python${PYVER}

        # workaround possible python-upgrade-breaks-portage situation
        if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then
                if [ -f ${myroot}/usr/lib/python2.3/site-packages/portage.py ]; then
                        einfo "Working around possible python-portage upgrade breakage"
                        mkdir -p ${myroot}/usr/lib/portage/pym
                        cp ${myroot}/usr/lib/python2.4/site-packages/{portage,xpak,output,cvstree,getbinpkg,emergehelp,dispatch_conf}.py ${myroot}/usr/lib/portage/pym
                        python_mod_optimize /usr/lib/portage/pym
                fi
        fi

        echo
        ewarn
        ewarn "If you have just upgraded from an older version of python you will"
        ewarn "need to run:"
        ewarn
        ewarn "/usr/sbin/python-updater"
        ewarn
        ewarn "This will automatically rebuild all the python dependent modules"
        ewarn "to run with python-${PYVER}."
        ewarn
        ewarn "Your original Python is still installed and can be accessed via"
        ewarn "/usr/bin/python2.x."
        ewarn
        ebeep 5
}

src_test() {
        # Tests won't work when cross compiling
        if tc-is-cross-compiler ; then
                elog "Disabling tests due to crosscompiling."
                return
        fi

        # Disabling byte compiling breaks test_import
        python_enable_pyc

        #skip all tests that fail during emerge but pass without emerge:
        #(See bug# 67970)
        local skip_tests="distutils global mimetools minidom mmap posix pyexpat sax strptime subprocess syntax tcl time urllib urllib2 webbrowser xml_etree"

        # test_pow fails on alpha.
        # http://bugs.python.org/issue756093
        [[ ${ARCH} == "alpha" ]] && skip_tests="${skip_tests} pow"

        for test in ${skip_tests} ; do
                mv "${S}"/Lib/test/test_${test}.py "${T}"
        done

        # rerun failed tests in verbose mode (regrtest -w)
        EXTRATESTOPTS="-w" make test || die "make test failed"

        for test in ${skip_tests} ; do
                mv "${T}"/test_${test}.py "${S}"/Lib/test/test_${test}.py
        done

        elog "Portage skipped the following tests which aren't able to run from emerge:"
        for test in ${skip_tests} ; do
                elog "test_${test}.py"
        done

        elog "If you'd like to run them, you may:"
        elog "cd /usr/lib/python${PYVER}/test"
        elog "and run the tests separately."
}

openldap-2.4.11-r1.ebuild
Code:
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-nds/openldap/openldap-2.4.11-r1.ebuild,v 1.3 2008/10/28 02:10:21 mr_bones_ Exp $

EAPI="1"
inherit db-use eutils flag-o-matic multilib ssl-cert versionator toolchain-funcs

DESCRIPTION="LDAP suite of application and development tools"
HOMEPAGE="http://www.OpenLDAP.org/"
SRC_URI="mirror://openldap/openldap-release/${P}.tgz"

LICENSE="OPENLDAP"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"

IUSE_DAEMON="crypt samba slp tcpd experimental minimal"
IUSE_BACKEND="+berkdb"
IUSE_OVERLAY="overlays perl"
IUSE_OPTIONAL="gnutls iodbc sasl ssl odbc debug ipv6 syslog selinux"
IUSE_CONTRIB="smbkrb5passwd kerberos"
IUSE="${IUSE_DAEMON} ${IUSE_BACKEND} ${IUSE_OVERLAY} ${IUSE_OPTIONAL} ${IUSE_CONTRIB}"

# samba adding openssl is intentional --jokey
RDEPEND="sys-libs/ncurses
        tcpd? ( sys-apps/tcp-wrappers )
        ssl? ( !gnutls? ( dev-libs/openssl )
                gnutls? ( net-libs/gnutls ) )
        sasl? ( dev-libs/cyrus-sasl )
        !minimal? (
                odbc? ( !iodbc? ( dev-db/unixODBC )
                        iodbc? ( dev-db/libiodbc ) )
                slp? ( net-libs/openslp )
                perl? ( dev-lang/perl )
                samba? ( !gnutls? ( dev-libs/openssl )
                        gnutls? ( net-libs/gnutls ) )
                kerberos? ( virtual/krb5 )
                berkdb? ( sys-libs/db:4.6 )
                smbkrb5passwd? (
                        dev-libs/openssl
                        app-crypt/heimdal )
        )
        selinux? ( sec-policy/selinux-openldap )"
DEPEND="${RDEPEND}"

# for tracking versions
OPENLDAP_VERSIONTAG=".version-tag"
OPENLDAP_DEFAULTDIR_VERSIONTAG="/var/lib/openldap-data"

openldap_find_versiontags() {
        # scan for all datadirs
        openldap_datadirs=""
        if [ -f "${ROOT}"/etc/openldap/slapd.conf ]; then
                openldap_datadirs="$(awk '{if($1 == "directory") print $2 }' ${ROOT}/etc/openldap/slapd.conf)"
        fi
        openldap_datadirs="${openldap_datadirs} ${OPENLDAP_DEFAULTDIR_VERSIONTAG}"

        einfo
        einfo "Scanning datadir(s) from slapd.conf and"
        einfo "the default installdir for Versiontags"
        einfo "(${OPENLDAP_DEFAULTDIR_VERSIONTAG} may appear twice)"
        einfo

        # scan datadirs if we have a version tag
        openldap_found_tag=0
        for each in ${openldap_datadirs}; do
                CURRENT_TAGDIR=${ROOT}`echo ${each} | sed "s:\/::"`
                CURRENT_TAG=${CURRENT_TAGDIR}/${OPENLDAP_VERSIONTAG}
                if [ -d ${CURRENT_TAGDIR} ] &&  [ ${openldap_found_tag} == 0 ] ; then
                        einfo "- Checking ${each}..."
                        if [ -r ${CURRENT_TAG} ] ; then
                                # yey, we have one :)
                                einfo "   Found Versiontag in ${each}"
                                source ${CURRENT_TAG}
                                if [ "${OLDPF}" == "" ] ; then
                                        eerror "Invalid Versiontag found in ${CURRENT_TAGDIR}"
                                        eerror "Please delete it"
                                        eerror
                                        die "Please kill the invalid versiontag in ${CURRENT_TAGDIR}"
                                fi

                                OLD_MAJOR=`get_version_component_range 2-3 ${OLDPF}`

                                # are we on the same branch?
                                if [ "${OLD_MAJOR}" != "${PV:0:3}" ] ; then
                                        ewarn "   Versiontag doesn't match current major release!"
                                        if [[ `ls -a ${CURRENT_TAGDIR} | wc -l` -gt 5 ]] ; then
                                                eerror "   Versiontag says other major and you (probably) have datafiles!"
                                                echo
                                                openldap_upgrade_howto
                                        else
                                                einfo "   No real problem, seems there's no database."
                                        fi
                                else
                                        einfo "   Versiontag is fine here :)"
                                fi
                        else
                                einfo "   Non-tagged dir ${each}"
                                if [[ `ls -a ${each} | wc -l` > 5 ]] ; then
                                        einfo "   EEK! Non-empty non-tagged datadir, counting `ls -a ${each} | wc -l` files"
                                        echo

                                        eerror
                                        eerror "Your OpenLDAP Installation has a non tagged datadir that"
                                        eerror "possibly contains a database at ${CURRENT_TAGDIR}"
                                        eerror
                                        eerror "Please export data if any entered and empty or remove"
                                        eerror "the directory, installation has been stopped so you"
                                        eerror "can take required action"
                                        eerror
                                        eerror "For a HOWTO on exporting the data, see instructions in the ebuild"
                                        eerror
                                        die "Please move the datadir ${CURRENT_TAGDIR} away"
                                fi
                        fi
                        einfo
                fi
        done

        echo
        einfo
        einfo "All datadirs are fine, proceeding with merge now..."
        einfo
}

openldap_upgrade_howto() {
        eerror
        eerror "A (possible old) installation of OpenLDAP was detected,"
        eerror "installation will not proceed for now."
        eerror
        eerror "As major version upgrades can corrupt your database,"
        eerror "you need to dump your database and re-create it afterwards."
        eerror ""
        d="$(date -u +%s)"
        l="/root/ldapdump.${d}"
        i="${l}.raw"
        eerror " 1. /etc/init.d/slurpd stop ; /etc/init.d/slapd stop"
        eerror " 2. slapcat -l ${i}"
        eerror " 3. egrep -v '^entryCSN:' <${i} >${l}"
        eerror " 4. mv /var/lib/openldap-data/ /var/lib/openldap-data-backup/"

        eerror " 5. emerge --update \=net-nds/${PF}"
        eerror " 6. etc-update, and ensure that you apply the changes"
        eerror " 7. slapadd -l ${l}"
        eerror " 8. chown ldap:ldap /var/lib/openldap-data/*"
        eerror " 9. /etc/init.d/slapd start"
        eerror "10. check that your data is intact."
        eerror "11. set up the new replication system."
        eerror
        if [ "${FORCE_UPGRADE}" != "1" ]; then
                die "You need to upgrade your database first"
        else
                eerror "You have the magical FORCE_UPGRADE=1 in place."
                eerror "Don't say you weren't warned about data loss."
        fi
}

pkg_setup() {
        if use minimal && has_version "net-nds/openldap" && built_with_use net-nds/openldap minimal ; then
                einfo
                einfo "Skipping scan for previous datadirs as requested by minimal useflag"
                einfo
        else
                openldap_find_versiontags
        fi

        enewgroup ldap 439
        enewuser ldap 439 -1 /usr/$(get_libdir)/openldap ldap
}

src_unpack() {
        unpack ${A}
        cd "${S}"

        # ensure correct SLAPI path by default
        sed -i -e 's,\(#define LDAPI_SOCK\).*,\1 "/var/run/openldap/slapd.sock",' \
                "${S}"/include/ldap_defaults.h

        epatch \
                "${FILESDIR}"/${PN}-2.2.14-perlthreadsfix.patch \
                "${FILESDIR}"/${PN}-2.4-disable-bdb46.patch \
                "${FILESDIR}"/${PN}-2.4-ppolicy.patch \

        # bug #116045
        epatch "${FILESDIR}"/${PN}-2.3.24-contrib-smbk5pwd.patch

        # bug #189817
        epatch "${FILESDIR}"/${PN}-2.4.11-libldap_r.patch

        cd "${S}"/build
        einfo "Making sure upstream build strip does not do stripping too early"
        sed -i.orig \
                -e '/^STRIP/s,-s,,g' \
                top.mk || die "Failed to block stripping"
}

build_contrib_module() {
        # <dir> <sources> <outputname>
        cd "${S}/contrib/slapd-modules/$1"
        einfo "Building contrib-module: $3"
        $(tc-getCC) -shared \
                -I../../../include -I../../../servers/slapd ${CFLAGS} -fPIC \
                ${LDFLAGS} -o $3.so $2 || die "building $3 failed"
}

src_compile() {
        local myconf

        #Fix for glibc-2.8 and ucred. Bug 228457.
        append-flags -D_GNU_SOURCE

        use debug && myconf="${myconf} $(use_enable debug)"

        if ! use minimal ; then
                # backends
                myconf="${myconf} --enable-slapd"
                if use berkdb ; then
                        einfo "Using Berkeley DB for local backend"
                        myconf="${myconf} --enable-bdb --enable-hdb"
                        # We need to include the slotted db.h dir for FreeBSD
                        append-cppflags -I$(db_includedir 4.6)
                else
                        ewarn
                        ewarn "Note: if you disable berkdb, you can only use remote-backends!"
                        ewarn
                        ebeep 5
                        myconf="${myconf} --disable-bdb --disable-hdb"
                fi
                for backend in dnssrv ldap meta monitor null passwd relay shell sock; do
                        myconf="${myconf} --enable-${backend}=mod"
                done

                myconf="${myconf} $(use_enable perl perl mod)"

                if use odbc ; then
                        local odbc_lib="unixodbc"
                        use iodbc && odbc_lib="iodbc"
                        myconf="${myconf} --enable-sql=mod --with-odbc=${odbc_lib}"
                fi

                # slapd options
                myconf="${myconf} $(use_enable crypt) $(use_enable slp)"
                myconf="${myconf} $(use_enable samba lmpasswd)"
                if use experimental ; then
                        myconf="${myconf} --enable-dynacl"
                        myconf="${myconf} --enable-aci=mod"
                fi
                for option in aci cleartext modules rewrite rlookups slapi; do
                        myconf="${myconf} --enable-${option}"
                done

                # slapd overlay options
                # Compile-in the syncprov, the others as module
                myconf="${myconf} --enable-syncprov=yes"
                use overlays && myconf="${myconf} --enable-overlays=mod"
        else
                myconf="${myconf} --disable-slapd --disable-bdb --disable-hdb"
                myconf="${myconf} --disable-overlays"
        fi

        # basic functionality stuff
        myconf="${myconf} $(use_enable ipv6)"
        myconf="${myconf} $(use_with sasl cyrus-sasl) $(use_enable sasl spasswd)"
        myconf="${myconf} $(use_enable tcpd wrappers)"

        local ssl_lib="no"
        if use ssl || ( use ! minimal && use samba ) ; then
                ssl_lib="openssl"
                use gnutls && ssl_lib="gnutls"
        fi

        myconf="${myconf} --with-tls=${ssl_lib}"

        for basicflag in dynamic local proctitle shared static syslog; do
                myconf="${myconf} --enable-${basicflag}"
        done

        STRIP=/bin/true \
        econf \
                --libexecdir=/usr/$(get_libdir)/openldap \
                ${myconf} || die "configure failed"

        emake depend || die "emake depend failed"
        emake CC=$(tc-getCC) AR=$(tc-getAR) || die "emake failed"

        if ! use minimal ; then
                if use smbkrb5passwd ; then
                        einfo "Building contrib-module: smbk5pwd"
                        cd "${S}/contrib/slapd-modules/smbk5pwd"

                        emake \
                                DEFS="-DDO_SAMBA -DDO_KRB5" \
                                KRB5_INC="$(krb5-config --cflags)" \
                                CC=$(tc-getCC) \
                                || die "emake smbk5pwd failed"
                fi

                if use kerberos ; then
                        cd "${S}/contrib/slapd-modules/passwd"
                        einfo "Building contrib-module: pw-kerberos"
                        $(tc-getCC) -shared \
                                -I../../../include \
                                ${CFLAGS} \
                                $(krb5-config --cflags) \
                                -DHAVE_KRB5 -fPIC \
                                ${LDFLAGS} \
                                -o pw-kerberos.so \
                                kerberos.c || die "building pw-kerberos failed"
                fi
                # We could build pw-radius if GNURadius would install radlib.h
                cd "${S}/contrib/slapd-modules/passwd"
                einfo "Building contrib-module: pw-netscape"
                $(tc-getCC) -shared \
                        -I../../../include \
                        ${CFLAGS} \
                        -fPIC \
                        ${LDFLAGS} \
                        -o pw-netscape.so \
                        netscape.c || die "building pw-netscape failed"

                build_contrib_module "addpartial" "addpartial-overlay.c" "addpartial-overlay"
                build_contrib_module "allop" "allop.c" "overlay-allop"
                # TODO: autogroup
                build_contrib_module "denyop" "denyop.c" "denyop-overlay"
                build_contrib_module "dsaschema" "dsaschema.c" "dsaschema-plugin"
                # TODO: lastmod
                build_contrib_module "nops" "nops.c" "nops-overlay"
                # TODO: trace
        fi
}

src_test() {
        cd tests ; make tests || die "make tests failed"
}

src_install() {
        emake DESTDIR="${D}" install || die "make install failed"

        dodoc ANNOUNCEMENT CHANGES COPYRIGHT README "${FILESDIR}"/DB_CONFIG.fast.example
        docinto rfc ; dodoc doc/rfc/*.txt

        # openldap modules go here
        # TODO: write some code to populate slapd.conf with moduleload statements
        keepdir /usr/$(get_libdir)/openldap/openldap/

        # initial data storage dir
        keepdir /var/lib/openldap-data
        fowners ldap:ldap /var/lib/openldap-data
        fperms 0700 /var/lib/openldap-data

        echo "OLDPF='${PF}'" > "${D}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"
        echo "# do NOT delete this. it is used" >> "${D}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"
        echo "# to track versions for upgrading." >> "${D}${OPENLDAP_DEFAULTDIR_VERSIONTAG}/${OPENLDAP_VERSIONTAG}"

        # change slapd.pid location in configuration file
        keepdir /var/run/openldap
        fowners ldap:ldap /var/run/openldap
        fperms 0755 /var/run/openldap

        if ! use minimal; then
                # use our config
                rm "${D}"etc/openldap/slapd.conf
                insinto /etc/openldap
                newins "${FILESDIR}"/${PN}-2.3.34-slapd-conf slapd.conf
                configfile="${D}"etc/openldap/slapd.conf

                # populate with built backends
                ebegin "populate config with built backends"
                for x in "${D}"usr/$(get_libdir)/openldap/openldap/back_*.so; do
                        elog "Adding $(basename ${x})"
                        sed -e "/###INSERTDYNAMICMODULESHERE###$/a# moduleload\t$(basename ${x})" -i "${configfile}"
                done
                sed -e "s:###INSERTDYNAMICMODULESHERE###$:# modulepath\t/usr/$(get_libdir)/openldap/openldap:" -i "${configfile}"
                fowners root:ldap /etc/openldap/slapd.conf
                fperms 0640 /etc/openldap/slapd.conf
                cp "${configfile}" "${configfile}".default
                eend

                # install our own init scripts
                newinitd "${FILESDIR}"/slapd-initd slapd
                newconfd "${FILESDIR}"/slapd-confd slapd
                if [ $(get_libdir) != lib ]; then
                        sed -e "s,/usr/lib/,/usr/$(get_libdir)/," -i "${D}"etc/init.d/slapd
                fi

                if use smbkrb5passwd ; then
                        einfo "Install the smbk5pwd module"
                        cd "${S}/contrib/slapd-modules/smbk5pwd"
                        emake DESTDIR="${D}" libexecdir="/usr/$(get_libdir)/openldap" install-mod || die "emake install smbk5pwd failed"
                        newdoc README smbk5pwd-README
                fi

                einfo "Installing contrib modules"
                cd "${S}/contrib/slapd-modules"
                insinto /usr/$(get_libdir)/openldap/openldap
                doins  */*.so
                docinto contrib
                newdoc addpartial/README addpartial-README
                newdoc allop/README allop-README
                doman allop/slapo-allop.5
                newdoc denyop/denyop.c denyop-denyop.c
                newdoc dsaschema/README dsaschema-README
                doman lastmod/slapo-lastmod.5
                doman nops/slapo-nops.5
                newdoc passwd/README passwd-README
        fi
}

pkg_preinst() {
        # keep old libs if any
        preserve_old_lib usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3.so.0
}

pkg_postinst() {
        if ! use minimal ; then
                # You cannot build SSL certificates during src_install that will make
                # binary packages containing your SSL key, which is both a security risk
                # and a misconfiguration if multiple machines use the same key and cert.
                if use ssl; then
                        install_cert /etc/openldap/ssl/ldap
                        chown ldap:ldap "${ROOT}"etc/openldap/ssl/ldap.*
                        ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]"
                        ewarn "Self-signed SSL certificates are treated harshly by OpenLDAP 2.[12]"
                        ewarn "add 'TLS_REQCERT never' if you want to use them."
                fi

                # These lines force the permissions of various content to be correct
                chown ldap:ldap "${ROOT}"var/run/openldap
                chmod 0755 "${ROOT}"var/run/openldap
                chown root:ldap "${ROOT}"etc/openldap/slapd.conf{,.default}
                chmod 0640 "${ROOT}"etc/openldap/slapd.conf{,.default}
                chown ldap:ldap "${ROOT}"var/lib/openldap-{data,ldbm}
        fi

        elog "Getting started using OpenLDAP? There is some documentation available:"
        elog "Gentoo Guide to OpenLDAP Authentication"
        elog "(http://www.gentoo.org/doc/en/ldap-howto.xml)"
        elog "---"
        elog "An example file for tuning BDB backends with openldap is:"
        elog "/usr/share/doc/${PF}/DB_CONFIG.fast.example.gz"

        preserve_old_lib_notify usr/$(get_libdir)/{liblber,libldap,libldap_r}-2.3.so.0
}

_________________
Router(Nokia IP390,2GB RAM,160GB HDD,8xGigE ports,pfSense) | MyDT(Xeon X3470@3.4GHz,32GB RAM,6x2TB R5,GTX560Ti,2xLG BD-RE,Win10Pro)
MyLT(Asus G53SX,32GB RAM,2x2TB HDDs,BD-RE,Intel 6230,Win10Pro) | Wife(PnmIIX3@3.3GHz,8GB RAM,1TB HDD,DVDRW,Win10Pro)
Back to top
View user's profile Send private message
cheater1034
Veteran
Veteran


Joined: 09 Sep 2004
Posts: 1558

PostPosted: Wed Dec 31, 2008 5:39 am    Post subject: Reply with quote

if you wanted to bootstrap ~ARCH stage1 why not use the funtoo ~ARCH tarballs ;), i believe they all some in stage1/2/3 variety.
_________________
IRC!: #zen-sources on irc.rizon.net
zen-kernel.org
--
Lost in android development land.
Back to top
View user's profile Send private message
FrankRizz0
l33t
l33t


Joined: 29 Nov 2006
Posts: 617

PostPosted: Thu Jan 08, 2009 11:58 pm    Post subject: Reply with quote

I'm a little late to this post and I'm hoping this wasn't answered previously but could you possibly give a walk-through on a stage0 install?
Back to top
View user's profile Send private message
gsurbey
Apprentice
Apprentice


Joined: 24 Mar 2003
Posts: 212
Location: Nashua, NH

PostPosted: Wed Apr 22, 2009 8:55 pm    Post subject: Adventures Installing Gentoo In Stage1 Land Reply with quote

I'm also a nostalgic Gentoo veteran who refuses to give up on the now unsupported stage1 build, for no good reason. Yes, I know that there is a better way. Well I ran into the no C++ bug and the glibc won't compile bug. And this is how I resolved them:
Code:

USE="nocxx" emerge lzma-utils
USE="nocxx" emerge gmp
emerge sys-kernel/linux-headers
emerge gcc
emerge binutils
emerge glibc

# this is a good check to see that g++ is now installed
find / -name 'i686-pc-linux-gnu-g++'
# but.... this still doesn't work
emerge lzma-utils
# and this didn't fix it
gcc-config 2
# but this did
rm /etc/env.d/gcc/config-i486-pc-linux-gnu
rm /etc/env.d/gcc/i486-pc-linux-gnu-4.1.2
rm /etc/env.d/05gcc-i486-pc-linux-gnu
env-update
source /etc/profile
# now it works
emerge lzma-utils
# and now this works!
cd /usr/portage
scripts/bootstrap.sh
emerge -e system

# see gcc versions installed
emerge -Cpv gcc
# uninstall any old gcc versions
emerge -Cpv "=gcc-4.1.2"

_________________
-Greg Surbey
Back to top
View user's profile Send private message
drescherjm
Advocate
Advocate


Joined: 05 Jun 2004
Posts: 2779
Location: Pittsburgh, PA, USA

PostPosted: Thu Apr 23, 2009 3:07 pm    Post subject: Reply with quote

poly_poly-man wrote:
I've been thinking of doing a stage1 install soon - probably for alpha.

I wasn't around when this was a possibility - is the bootstrap step the only difference between installing stage3 and installing stage1?


I used to do only stage 1 installs even back in 2004/2005. Basically because I would be rebuilding everything anyways so I did not think there was much benefit in installing the stage 3 first.. Now, 4 to 5 years later I boot off a sysrescuecd and extract my own premade stage 3/4 builds that were generated using my own customizations to Daniel Robbins metro. http://wiki.github.com/funtoo/metro

With this I have my base USE flags and many keywords already in and the builds are using gcc-4.3
_________________
John

My gentoo overlay
Instructons for overlay
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum