source: builder/chkbuildroot @ d2a077a

perl-5.22
Last change on this file since d2a077a was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100755
File size: 1.6 KB
Line 
1#!/bin/bash
2#(C)DatuX 2005 - all rights reserved
3#kijkt of een buildroot nog steeds goed is en repareert hem a.d.h.v. een copy
4#./chkbuildroot <werkbuildroot> <copybuildroot>
5#De copybuildroot word eenmalig gemaakt met mkbuildroot, hierna word de werkbuildroot
6#ge-resynced met de werkbuildroot, omdat dit vele sneller gaat dan een compleet nieuwe buildroot maken.
7
8[ "$1" ] || exit 1
9[ "$2" ] || exit 1
10
11for PAR in $*; do eval "$PAR=1" &>/dev/null; done
12
13#buildroots zelf zijn op dit moment altijd i386 (npl)
14export HOST=npl
15
16CWD=`pwd`
17mkdir -p $1 &>/dev/null
18cd $1 || exit 1
19ROOT=`pwd`
20cd $CWD
21
22mkdir -p $2 &>/dev/null
23cd $2 || exit 1
24ROOTCOPY=`pwd`
25cd $CWD
26
27umount $ROOT/proc &>/dev/null
28umount $ROOT/dev/pts &>/dev/null
29
30if [ -z "$nopkgcheck" ]; then
31    echo -n "Buildroot up-to-date check: (nopkgcheck to skip)";
32    #zijn alle benodigde pakketjes aanwezig. (ivm versie updates tussendoor)
33    for PKG in `cat ../npl/buildroot.list`; do
34        echo -n ".";
35        PKGNAME=`../npl/findpkg $PKG` || exit 1
36        NAME=`basename "$PKGNAME"|sed 's/.tgz$//'`
37        if ! [ -f $ROOTCOPY/var/log/packages/$NAME ]; then
38            echo "Package $NAME is niet aanwezig in buildroot! Nieuwe buildroot benodigd!";
39            echo -n "Oude buildroot word verwijderd...";
40            rm -rf $ROOTCOPY
41            break;
42        fi
43    done
44    echo "DONE";
45fi
46
47#nog geen buildroot inhoud? (of niet meer)
48if ! ls $ROOTCOPY/* &>/dev/null; then
49    #echo "Geen orginele buildroot in $ROOTCOPY.";
50    rm -rf "$ROOTCOPY" 2>/dev/null
51    ./mkbuildroot $ROOTCOPY || exit 1
52fi
53
54
55#repareer/maak buildroot
56echo -n "Buildroot $ROOT repareren/syncen..."
57rm -rf $ROOT/tmp/* &>/dev/null
58rsync  -a --inplace --delete $ROOTCOPY/ $ROOT/ || exit 1
59echo "OK"
Note: See TracBrowser for help on using the repository browser.