#!/bin/bash #(C)DatuX 2005 - all rights reserved #kijkt of een buildroot nog steeds goed is en repareert hem a.d.h.v. een copy #./chkbuildroot #De copybuildroot word eenmalig gemaakt met mkbuildroot, hierna word de werkbuildroot #ge-resynced met de werkbuildroot, omdat dit vele sneller gaat dan een compleet nieuwe buildroot maken. [ "$1" ] || exit 1 [ "$2" ] || exit 1 for PAR in $*; do eval "$PAR=1" &>/dev/null; done #buildroots zelf zijn op dit moment altijd i386 (npl) export HOST=npl CWD=`pwd` mkdir -p $1 &>/dev/null cd $1 || exit 1 ROOT=`pwd` cd $CWD mkdir -p $2 &>/dev/null cd $2 || exit 1 ROOTCOPY=`pwd` cd $CWD umount $ROOT/proc &>/dev/null umount $ROOT/dev/pts &>/dev/null if [ -z "$nopkgcheck" ]; then echo -n "Buildroot up-to-date check: (nopkgcheck to skip)"; #zijn alle benodigde pakketjes aanwezig. (ivm versie updates tussendoor) for PKG in `cat ../npl/buildroot.list`; do echo -n "."; PKGNAME=`../npl/findpkg $PKG` || exit 1 NAME=`basename "$PKGNAME"|sed 's/.tgz$//'` if ! [ -f $ROOTCOPY/var/log/packages/$NAME ]; then echo "Package $NAME is niet aanwezig in buildroot! Nieuwe buildroot benodigd!"; echo -n "Oude buildroot word verwijderd..."; rm -rf $ROOTCOPY break; fi done echo "DONE"; fi #nog geen buildroot inhoud? (of niet meer) if ! ls $ROOTCOPY/* &>/dev/null; then #echo "Geen orginele buildroot in $ROOTCOPY."; rm -rf "$ROOTCOPY" 2>/dev/null ./mkbuildroot $ROOTCOPY || exit 1 fi #repareer/maak buildroot echo -n "Buildroot $ROOT repareren/syncen..." rm -rf $ROOT/tmp/* &>/dev/null rsync -a --inplace --delete $ROOTCOPY/ $ROOT/ || exit 1 echo "OK"