Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # File: lfs-build-stage1.sh
- source ~/lfs-functions.sh
- # Remove the auto start script command from build users startup .bashrc file.
- sed -i '/source lfs-build-stage1.sh/d' .bashrc
- USR=$1
- SCRIPT=lfs-build-stage1.sh
- CPUS=-j4
- LFS=/mnt/$USR
- LOGS=$LFS/logs
- TIME_LOGS=$LOGS/stage1-build-times.log
- TOOLS=$LFS/tools
- SOURCES=$LFS/sources
- LFS_TGT=$(uname -m)-lfs-linux-gnu
- export LFS LFS_TGT
- # Install binutils-2.32 - Pass 1
- echo --- binutils-2.32 Pass 1---------------------------------------------------
- start=`date +%s`
- NAME=binutils-2.32
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1-pass1.log
- LOG_ERRORS=$LOGS/$NAME-stage1-pass1.err
- cd $SOURCES
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- mkdir build &&
- cd build &&
- ../configure --prefix=/tools \
- --with-sysroot=$LFS \
- --with-lib-path=/tools/lib \
- --target=$LFS_TGT \
- --disable-nls \
- --disable-werror 2>> $LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- case $(uname -m) in
- x86_64) mkdir -p /tools/lib && ln -s lib /tools/lib64 ;;
- esac &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME Pass 1" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install gcc-8.2.0 Pass 1
- echo --- gcc-8.2.0 Pass 1 ------------------------------------------------------
- start=`date +%s`
- NAME=gcc-8.2.0
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1-pass1.log
- LOG_ERRORS=$LOGS/$NAME-stage1-pass1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- tar -xf ../mpfr-4.0.2.tar.xz 2>>$LOG_ERRORS &&
- mv mpfr-4.0.2 mpfr 2>>$LOG_ERRORS &&
- tar -xf ../gmp-6.1.2.tar.xz 2>>$LOG_ERRORS &&
- mv gmp-6.1.2 gmp 2>>$LOG_ERRORS &&
- tar -xf ../mpc-1.1.0.tar.gz 2>>$LOG_ERRORS &&
- mv mpc-1.1.0 mpc 2>>$LOG_ERRORS &&
- for file in gcc/config/{linux,i386/linux{,64}}.h; do
- cp -u $file{,.orig}
- sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' -e 's@/usr@/tools@g' $file.orig > $file
- echo '
- #undef STANDARD_STARTFILE_PREFIX_1
- #undef STANDARD_STARTFILE_PREFIX_2
- #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
- #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
- touch $file.orig
- done &&
- case $(uname -m) in
- x86_64)
- sed -e '/m64=/s/lib64/lib/' \
- -i.orig gcc/config/i386/t-linux64
- ;;
- esac &&
- mkdir build &&
- cd build &&
- ../configure \
- --target=$LFS_TGT \
- --prefix=/tools \
- --with-glibc-version=2.11 \
- --with-sysroot=$LFS \
- --with-newlib \
- --without-headers \
- --with-local-prefix=/tools \
- --with-native-system-header-dir=/tools/include \
- --disable-nls \
- --disable-shared \
- --disable-multilib \
- --disable-decimal-float \
- --disable-threads \
- --disable-libatomic \
- --disable-libgomp \
- --disable-libmpx \
- --disable-libquadmath \
- --disable-libssp \
- --disable-libvtv \
- --disable-libstdcxx \
- --enable-languages=c,c++ 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ]
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME Pass 1" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install linux-4.20.12
- echo --- linux-4.20.12 ---------------------------------------------------------
- start=`date +%s`
- NAME=linux-4.20.12
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- make mrproper 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make INSTALL_HDR_PATH=dest headers_install 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- cp -r dest/include/* /tools/include &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install glibc-2.29
- echo --- glibc-2.29 ------------------------------------------------------------
- start=`date +%s` &&
- NAME=glibc-2.29 &&
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- mkdir build &&
- cd build &&
- ../configure \
- --prefix=/tools \
- --host=$LFS_TGT \
- --build=$(../scripts/config.guess) \
- --enable-kernel=3.2 \
- --with-headers=/tools/include 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # echo ================================================================================ &&
- # echo 'int main(){}' > dummy.c &&
- # $LFS_TGT-gcc dummy.c &&
- # readelf -l a.out | grep ': /tools' &&
- # rm -v dummy.c a.out &&
- #
- # echo ================================================================================ &&
- # Install Libstdc++ from gcc-8.2.0
- echo --- Libstdc++ from gcc-8.2.0 ----------------------------------------------
- start=`date +%s`
- NAME=gcc-8.2.0
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-Libstdc-stage1.log
- LOG_ERRORS=$LOGS/$NAME-Libstdc-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- rm -rf $NAME &&
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- mkdir build &&
- cd build &&
- ../libstdc++-v3/configure \
- --host=$LFS_TGT \
- --prefix=/tools \
- --disable-multilib \
- --disable-nls \
- --disable-libstdcxx-threads \
- --disable-libstdcxx-pch \
- --with-gxx-include-dir=/tools/$LFS_TGT/include/c++/8.2.0 2>>$LOG_ERRORS |
- tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:Libstdc++ from $NAME" >> $TIME_LOGS &&
- # Install Binutils-2.32 - Pass 2
- echo --- Binutils-2.32 - Pass 2 ------------------------------------------------
- start=`date +%s`
- NAME=binutils-2.32
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1-pass2.log
- LOG_ERRORS=$LOGS/$NAME-stage1-pass2.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- rm -rf $NAME &&
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- mkdir build &&
- cd build &&
- CC=$LFS_TGT-gcc \
- AR=$LFS_TGT-ar \
- RANLIB=$LFS_TGT-ranlib \
- ../configure \
- --prefix=/tools \
- --disable-nls \
- --disable-werror \
- --with-lib-path=/tools/lib \
- --with-sysroot 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make -C ld clean $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make -C ld LIB_PATH=/usr/lib:/lib $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- cp ld/ld-new /tools/bin &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME Pass 2" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install gcc-8.2.0 Pass 2
- echo --- gcc-8.2.0 Pass 2 ------------------------------------------------------
- start=`date +%s`
- NAME=gcc-8.2.0
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1-pass2.log
- LOG_ERRORS=$LOGS/$NAME-stage1-pass2.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- rm -rf $NAME &&
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- cat gcc/limitx.h gcc/glimits.h gcc/limity.h > `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/include-fixed/limits.h &&
- for file in gcc/config/{linux,i386/linux{,64}}.h
- do
- cp -uv $file{,.orig}
- sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' -e 's@/usr@/tools@g' $file.orig > $file
- echo '
- #undef STANDARD_STARTFILE_PREFIX_1
- #undef STANDARD_STARTFILE_PREFIX_2
- #define STANDARD_STARTFILE_PREFIX_1 "/tools/lib/"
- #define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
- touch $file.orig
- done &&
- case $(uname -m) in
- x86_64)
- sed -e '/m64=/s/lib64/lib/' \
- -i.orig gcc/config/i386/t-linux64
- ;;
- esac &&
- tar -xf ../mpfr-4.0.2.tar.xz 2>>$LOG_ERRORS &&
- mv mpfr-4.0.2 mpfr 2>>$LOG_ERRORS &&
- tar -xf ../gmp-6.1.2.tar.xz 2>>$LOG_ERRORS &&
- mv gmp-6.1.2 gmp 2>>$LOG_ERRORS &&
- tar -xf ../mpc-1.1.0.tar.gz 2>>$LOG_ERRORS &&
- mv mpc-1.1.0 mpc 2>>$LOG_ERRORS &&
- mkdir build &&
- cd build &&
- CC=$LFS_TGT-gcc \
- CXX=$LFS_TGT-g++ \
- AR=$LFS_TGT-ar \
- RANLIB=$LFS_TGT-ranlib \
- ../configure \
- --prefix=/tools \
- --with-local-prefix=/tools \
- --with-native-system-header-dir=/tools/include \
- --enable-languages=c,c++ \
- --disable-libstdcxx-pch \
- --disable-multilib \
- --disable-bootstrap \
- --disable-libgomp 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME Pass 2" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # echo ================================================================================ &&
- # echo 'int main(){}' > dummy.c &&
- # cc dummy.c &&
- # readelf -l a.out | grep ': /tools'
- # rm -v dummy.c a.out &&
- # echo ================================================================================ &&
- # Install tcl8.6.9
- echo --- tcl8.6.9 --------------------------------------------------------------
- start=`date +%s`
- NAME=tcl8.6.9
- TARGET=$NAME-src.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME/unix &&
- ./configure --prefix=/tools &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- # TZ=UTC make test &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- chmod u+w /tools/lib/libtcl8.6.so &&
- make install-private-headers 2>>$LOG_ERRORS |
- tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- ln -s tclsh8.6 /tools/bin/tclsh &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install expect-5.45.4
- echo --- expect-5.45.4 ---------------------------------------------------------
- start=`date +%s`
- NAME=expect5.45.4
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- cp configure{,.orig} &&
- sed 's:/usr/local/bin:/bin:' configure.orig > configure &&
- ./configure --prefix=/tools \
- --with-tcl=/tools/lib \
- --with-tclinclude=/tools/include 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- # make test | tee -a "$LOGS/$NAME-stage1-test.log"
- make SCRIPTS="" install 2>>$LOG_ERRORS |
- tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install dejagnu-1.6.2
- echo --- dejagnu-1.6.2 ---------------------------------------------------------
- start=`date +%s`
- NAME=dejagnu-1.6.2
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install m4-1.4.18
- echo --- m4-1.4.18 -------------------------------------------------------------
- start=`date +%s`
- NAME=m4-1.4.18
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c &&
- echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install ncurses-6.1
- echo --- ncurses-6.1 -----------------------------------------------------------
- start=`date +%s`
- NAME=ncurses-6.1
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- sed -i s/mawk// configure &&
- ./configure --prefix=/tools \
- --with-shared \
- --without-debug \
- --without-ada \
- --enable-widec \
- --enable-overwrite 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- ln -s libncursesw.so /tools/lib/libncurses.so &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install bash-5.0
- echo --- bash-5.0 --------------------------------------------------------------
- start=`date +%s`
- NAME=bash-5.0
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools --without-bash-malloc 2>>$LOG_ERRORS |
- tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- ln -s bash /tools/bin/sh &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install bison-3.3.2
- echo --- bison-3.3.2 -----------------------------------------------------------
- start=`date +%s`
- NAME=bison-3.3.2
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install bzip2-1.0.6
- echo --- bzip2-1.0.6 -----------------------------------------------------------
- start=`date +%s`
- NAME=bzip2-1.0.6
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make PREFIX=/tools install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install coreutils-8.30
- echo --- coreutils-8.30 --------------------------------------------------------
- start=`date +%s`
- NAME=coreutils-8.30
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools --enable-install-program=hostname 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install diffutils-3.7
- echo --- diffutils-3.7 ---------------------------------------------------------
- start=`date +%s`
- NAME=diffutils-3.7
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install file-5.36
- echo --- file-5.36 -------------------------------------------------------------
- start=`date +%s`
- NAME=file-5.36
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install findutils-4.6.0
- echo --- findutils-4.6.0 -------------------------------------------------------
- start=`date +%s`
- NAME=findutils-4.6.0
- TARGET=$NAME.tar.gz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' gl/lib/*.c &&
- sed -i '/unistd/a #include <sys/sysmacros.h>' gl/lib/mountlist.c &&
- echo "#define _IO_IN_BACKUP 0x100" >> gl/lib/stdio-impl.h &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install gawk-4.2.1
- echo --- gawk-4.2.1 ------------------------------------------------------------
- start=`date +%s`
- NAME=gawk-4.2.1
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install gettext-0.19.8.1
- echo --- gettext-0.19.8.1 ------------------------------------------------------
- start=`date +%s`
- NAME=gettext-0.19.8.1
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- cd gettext-tools &&
- EMACS="no" ./configure --prefix=/tools --disable-shared 2>>$LOG_ERRORS |
- tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make -C gnulib-lib 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- make -C intl pluralx.c 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- make -C src msgfmt 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- make -C src msgmerge 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- make -C src xgettext 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ]
- cp -v src/{msgfmt,msgmerge,xgettext} /tools/bin &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install grep-3.3
- echo --- grep-3.3 --------------------------------------------------------------
- start=`date +%s`
- NAME=grep-3.3
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install gzip-1.10
- echo --- gzip-1.10 -------------------------------------------------------------
- start=`date +%s`
- NAME=gzip-1.10
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install make-4.2.1
- echo --- make-4.2.1 ------------------------------------------------------------
- start=`date +%s`
- NAME=make-4.2.1
- TARGET=$NAME.tar.bz2
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xfj $TARGET &&
- cd $NAME &&
- sed -i '211,217 d; 219,229 d; 232 d' glob/glob.c &&
- ./configure --prefix=/tools --without-guile 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install patch-2.7.6
- echo --- patch-2.7.6 -----------------------------------------------------------
- start=`date +%s`
- NAME=patch-2.7.6
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install perl-5.28.1
- echo --- perl-5.28.1 -----------------------------------------------------------
- start=`date +%s`
- NAME=perl-5.28.1
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- sh Configure -des -Dprefix=/tools -Dlibs=-lm -Uloclibpth -Ulocincpth 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- cp -v perl cpan/podlators/scripts/pod2man /tools/bin &&
- mkdir -p /tools/lib/perl5/5.28.1 &&
- cp -R lib/* /tools/lib/perl5/5.28.1 &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install Python-3.7.2
- echo --- Python-3.7.2 ----------------------------------------------------------
- start=`date +%s`
- NAME=Python-3.7.2
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- sed -i '/def add_multiarch_paths/a \ return' setup.py &&
- ./configure --prefix=/tools --without-ensurepip 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install sed-4.7
- echo --- sed-4.7 ---------------------------------------------------------------
- start=`date +%s`
- NAME=sed-4.7
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install tar-1.31
- echo --- tar-1.31 --------------------------------------------------------------
- start=`date +%s`
- NAME=tar-1.31
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install texinfo-6.5
- echo --- texinfo-6.5 -----------------------------------------------------------
- start=`date +%s`
- NAME=texinfo-6.5
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- # Install xz-5.2.4
- echo --- xz-5.2.4 --------------------------------------------------------------
- start=`date +%s`
- NAME=xz-5.2.4
- TARGET=$NAME.tar.xz
- LOG_FILE=$LOGS/$NAME-stage1.log
- LOG_ERRORS=$LOGS/$NAME-stage1.err
- cd $SOURCES &&
- echo -e "Package: $TARGET, Time: $(date)\n" | tee -a $LOG_FILE
- tar xf $TARGET 2>$LOG_ERRORS &&
- cd $NAME &&
- ./configure --prefix=/tools 2>>$LOG_ERRORS | tee -a $LOG_FILE &&
- [ ${PIPESTATUS[0]} == 0 ] &&
- make $CPUS 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- make install 2>>$LOG_ERRORS | tee -a $LOG_FILE && [ ${PIPESTATUS[0]} == 0 ] &&
- end=`date +%s` &&
- echo "S:$start E:$end T:$(format_time $[end-start]) P:$NAME" >> $TIME_LOGS | tee -a $LOG_FILE &&
- echo ======================================================================== &&
- echo Cleaning up...
- strip --strip-debug /tools/lib/* > /dev/null 2>&1
- /usr/bin/strip --strip-unneeded /tools/{,s}bin/* > /dev/null 2>&1
- rm -rf /tools/{,share}/{info,man,doc}
- find /tools/{lib,libexec} -name \*.la -delete
- echo
- # Exit needed here to logout build user so that this script returns control to the parent script.
- exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement