Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

Just did a stage 1 bootstrap - no C++ error

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
25 posts • Page 1 of 1
Author
Message
Thaidog
Veteran
Veteran
Posts: 1053
Joined: Wed May 19, 2004 1:36 am

Just did a stage 1 bootstrap - no C++ error

  • Quote

Post by Thaidog » Thu Dec 11, 2008 1:35 am

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
Top
timeBandit
Bodhisattva
Bodhisattva
User avatar
Posts: 2719
Joined: Fri Dec 31, 2004 1:54 am
Location: here, there or in transit

  • Quote

Post by timeBandit » Sat Dec 13, 2008 3:34 am

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.
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Sat Dec 13, 2008 4:47 pm

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.
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
Top
poly_poly-man
Advocate
Advocate
User avatar
Posts: 2477
Joined: Wed Dec 06, 2006 9:59 pm
Location: RIT, NY, US
Contact:
Contact poly_poly-man
Website

  • Quote

Post by poly_poly-man » Sun Dec 14, 2008 3:44 pm

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[/topic]. Potentially still a WiP.
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Sun Dec 14, 2008 4:52 pm

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
Top
poly_poly-man
Advocate
Advocate
User avatar
Posts: 2477
Joined: Wed Dec 06, 2006 9:59 pm
Location: RIT, NY, US
Contact:
Contact poly_poly-man
Website

  • Quote

Post by poly_poly-man » Sun Dec 14, 2008 5:16 pm

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[/topic]. Potentially still a WiP.
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Sun Dec 14, 2008 6:33 pm

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
Top
poly_poly-man
Advocate
Advocate
User avatar
Posts: 2477
Joined: Wed Dec 06, 2006 9:59 pm
Location: RIT, NY, US
Contact:
Contact poly_poly-man
Website

  • Quote

Post by poly_poly-man » Sun Dec 14, 2008 6:35 pm

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[/topic]. Potentially still a WiP.
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Sun Dec 14, 2008 7:51 pm

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
Top
poly_poly-man
Advocate
Advocate
User avatar
Posts: 2477
Joined: Wed Dec 06, 2006 9:59 pm
Location: RIT, NY, US
Contact:
Contact poly_poly-man
Website

  • Quote

Post by poly_poly-man » Sun Dec 14, 2008 7:57 pm

yoshi314 wrote:
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[/topic]. Potentially still a WiP.
Top
cyrillic
Watchman
Watchman
User avatar
Posts: 7311
Joined: Wed Feb 19, 2003 3:05 am
Location: Groton, Massachusetts USA

  • Quote

Post by cyrillic » Mon Dec 15, 2008 3:16 am

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: Select all

# mkdir /mnt/gentoo
# ROOT="/mnt/gentoo" emerge system 
Top
outermeasure
Apprentice
Apprentice
Posts: 194
Joined: Wed Nov 26, 2008 10:58 am
Location: ping6 ff02::1

  • Quote

Post by outermeasure » Mon Dec 15, 2008 3:49 am

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: Select all

# mkdir /mnt/gentoo
# ROOT="/mnt/gentoo" emerge system 
How does that prevent problems arising because programs are linked against host version?
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Mon Dec 15, 2008 9:57 am

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
Top
cyrillic
Watchman
Watchman
User avatar
Posts: 7311
Joined: Wed Feb 19, 2003 3:05 am
Location: Groton, Massachusetts USA

  • Quote

Post by cyrillic » Mon Dec 15, 2008 3:56 pm

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.
Top
grooveharder
n00b
n00b
Posts: 44
Joined: Sun Feb 18, 2007 5:35 pm

  • Quote

Post by grooveharder » Mon Dec 15, 2008 4:48 pm

compile lzma-utils with USE=nocxx

that's how i do it :)
Top
yoshi314
l33t
l33t
User avatar
Posts: 852
Joined: Thu Dec 30, 2004 9:33 pm
Location: PL
Contact:
Contact yoshi314
Website

  • Quote

Post by yoshi314 » Tue Dec 16, 2008 12:20 pm

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
Top
Thaidog
Veteran
Veteran
Posts: 1053
Joined: Wed May 19, 2004 1:36 am

  • Quote

Post by Thaidog » Wed Dec 17, 2008 2:08 am

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
Top
NetHawl
Tux's lil' helper
Tux's lil' helper
Posts: 83
Joined: Sun May 30, 2004 10:10 am
Location: Slovenija

  • Quote

Post by NetHawl » Wed Dec 17, 2008 2:38 pm

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!
Top
PraetorZero
Apprentice
Apprentice
User avatar
Posts: 239
Joined: Sat Dec 11, 2004 4:18 am
Location: /home

  • Quote

Post by PraetorZero » Sun Dec 21, 2008 4:21 am

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: Select all

# 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. :)
Top
poly_poly-man
Advocate
Advocate
User avatar
Posts: 2477
Joined: Wed Dec 06, 2006 9:59 pm
Location: RIT, NY, US
Contact:
Contact poly_poly-man
Website

  • Quote

Post by poly_poly-man » Tue Dec 30, 2008 4:16 pm

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[/topic]. Potentially still a WiP.
Top
Simba7
l33t
l33t
User avatar
Posts: 709
Joined: Mon Jan 22, 2007 8:25 pm
Location: Billings, MT, USA
Contact:
Contact Simba7
Website

  • Quote

Post by Simba7 » Tue Dec 30, 2008 4:30 pm

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: Select all

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: Select all

# 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: Select all

# 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
}
Top
cheater1034
Veteran
Veteran
User avatar
Posts: 1558
Joined: Thu Sep 09, 2004 7:38 pm
Contact:
Contact cheater1034
Website

  • Quote

Post by cheater1034 » Wed Dec 31, 2008 5:39 am

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.
Top
FrankRizz0
l33t
l33t
Posts: 617
Joined: Wed Nov 29, 2006 12:34 am

  • Quote

Post by FrankRizz0 » Thu Jan 08, 2009 11:58 pm

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?
Top
gsurbey
Apprentice
Apprentice
User avatar
Posts: 212
Joined: Mon Mar 24, 2003 10:52 am
Location: Nashua, NH
Contact:
Contact gsurbey
Website

Adventures Installing Gentoo In Stage1 Land

  • Quote

Post by gsurbey » Wed Apr 22, 2009 8:55 pm

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: Select all

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
Top
drescherjm
Advocate
Advocate
Posts: 2792
Joined: Sat Jun 05, 2004 5:46 am
Location: Pittsburgh, PA, USA

  • Quote

Post by drescherjm » Thu Apr 23, 2009 3:07 pm

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
Top
Post Reply

25 posts • Page 1 of 1

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic