#!/bin/bash # # This script is the second stage in bootstrapping a Fedora build to a # new platform or architecture. Running with no arguments builds a # cross-development environment, then cross-builds a minimal rootfs. # Once you have this minimal rootfs booted, run stage2 in that rootfs # to build the rest of the bootstrap packages. # # This script assumes that all the needed sources are installed in # $SRC (below). Each build installs into /usr. # # You may pass a single package name on the command line to rebuild # just that one package. # # ------------------------------------------------------------ TOP=/stage2 MYDIR=${0%/*} STAGE2=$MYDIR/stage2 SRC=$TOP/rpmbuild/BUILD J=-j2 BUILDDIR=$TOP/builds # The cross-compiler target TARGET=armv7hl-redhat-linux-gnueabi if [ -f $MYDIR/local.conf ] then . $MYDIR/local.conf fi # ------------------------------------------------------------ mkdirp() { test -d $1 || mkdir -p $1 } mkdirp $ROOTFS mkdirp $PREFIX mkdirp $BUILDDIR export PATH=$PREFIX/bin:$PATH go() { "$0" "$@" } mcd() { test -d $1 || mkdir -p $1 cd $1 } notparallel() { echo .NOTPARALLEL: >> Makefile } fix_la() { for la in $ROOTFS/usr/lib/*$1*.la do rm $la done } case "$1" in "" ) go clean go cpio go ncurses go m4 go flex go bison go texinfo go gdb go curl # go nspr # not yet # go rpm # not yet ;; "clean" ) ;; #-------------------------------------------------- cpio ) mcd $BUILDDIR/$1 $SRC/${1}-*/configure $TCONFIGARGS notparallel make $J make $J install ;; ncurses ) mcd $BUILDDIR/ncurses $SRC/ncurses-*/configure $TCONFIGARGS \ --with-shared --without-ada --with-ospeed=unsigned \ --enable-hard-tabs --enable-xmc-glitch --enable-colorfgbg \ --enable-overwrite \ --enable-pc-files \ --with-termlib=tinfo \ --with-chtype=long \ --with-ticlib notparallel make $J make $J install ;; m4 ) mcd $BUILDDIR/m4 $SRC/m4-*/configure $TCONFIGARGS make $J -k make $J -k install ;; flex ) mcd $BUILDDIR/flex $SRC/flex-*/configure $TCONFIGARGS --disable-dependency-tracking make $J -k make $J -k install ;; bison ) mcd $BUILDDIR/bison $SRC/bison-*/configure $TCONFIGARGS make $J -k make $J -k install ;; texinfo ) mcd $BUILDDIR/texinfo $SRC/texinfo-*/configure $TCONFIGARGS make $J -k make $J -k install ;; gdb ) mcd $BUILDDIR/gdb $SRC/gdb-*/configure $TCONFIGARGS --without-rpm notparallel make $J -k make $J -k install ;; curl ) mcd $BUILDDIR/curl $SRC/curl-*/configure $TCONFIGARGS make $J make $J install ;; nspr ) mcd $BUILDDIR/nspr $SRC/nspr-*/mozilla/nsprpub/configure $TCONFIGARGS --enable-thumb2 make $J make $J install ;; rpm ) mcd $BUILDDIR/rpm $SRC/${1}-*/configure $TCONFIGARGS notparallel make $J make $J install ;; esac exit 0