| [c5c522c] | 1 | #!/bin/bash |
|---|
| 2 | if [ ! "$1" ]; then |
|---|
| 3 | echo "Maakt een directory, geschikt voor SYN-3 netwerk boot." |
|---|
| 4 | echo "Syntax: $0 naam " |
|---|
| 5 | echo " thinclient: Thin client met rdesktop" |
|---|
| 6 | echo "" |
|---|
| 7 | echo "Zooi die je op de server moet trappen staat in out/naam-.../" |
|---|
| 8 | echo "" |
|---|
| 9 | echo "Betekenis van directory inhoud:" |
|---|
| 10 | echo " list : lijst met packages die in images moeten" |
|---|
| 11 | echo " root : Directory tree die over het rootfs heen gekopieerd word" |
|---|
| 12 | echo " server: Extra files die men op de server moet plaatsen. (voor easy modification)" |
|---|
| 13 | exit 1 |
|---|
| 14 | fi |
|---|
| 15 | DIR=$1 |
|---|
| 16 | shift |
|---|
| 17 | for PAR in $*; do eval "$PAR=1" &>/dev/null; done |
|---|
| 18 | |
|---|
| 19 | if ! which tar-1.13; then |
|---|
| 20 | echo "Je hebt geen tar-1.13 in je path! Zie wiki." |
|---|
| 21 | exit 1 |
|---|
| 22 | fi |
|---|
| 23 | |
|---|
| 24 | |
|---|
| 25 | #if ! mksquashfs-3.1 -version &>/dev/null; then |
|---|
| 26 | # echo "You need mksquashfs version 3.x. Version 4 is NOT SUPPORTED!"; |
|---|
| 27 | # exit 1 |
|---|
| 28 | #fi |
|---|
| 29 | |
|---|
| 30 | |
|---|
| 31 | if ! [ -d $DIR ]; then |
|---|
| 32 | echo "$DIR config directory not found!" |
|---|
| 33 | exit 1 |
|---|
| 34 | fi |
|---|
| 35 | |
|---|
| 36 | |
|---|
| 37 | ########################################### |
|---|
| 38 | ########################################### VOORBEREIDING |
|---|
| 39 | ########################################### |
|---|
| 40 | |
|---|
| 41 | |
|---|
| 42 | BUILDROOT=`pwd` |
|---|
| 43 | INSTALLPACKAGE=/sbin/installpkg |
|---|
| 44 | CDROOT=/tmp/cdroot |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | # Controleer of we als root werken, ivm het gebruik van pkgtools |
|---|
| 49 | if [ $UID != "0" ]; then |
|---|
| 50 | echo "You are not root, type \"su -\" and try again! :-) " |
|---|
| 51 | exit 0 |
|---|
| 52 | fi |
|---|
| 53 | |
|---|
| 54 | |
|---|
| 55 | ########################################### |
|---|
| 56 | ########################################### VERSIE BEPALEN |
|---|
| 57 | ########################################### |
|---|
| 58 | |
|---|
| 59 | echo "* Versie nummer van deze CD bepalen... (nover om over te slaan)"; |
|---|
| 60 | #SVNSTATUS=`svn status -v "../npl/version"` || exit 1 |
|---|
| 61 | #BUILD=`echo "$SVNSTATUS" | cut -b14- | cut -f1 -d' '` |
|---|
| 62 | if [ "$nover" ]; then |
|---|
| 63 | BUILD='none' |
|---|
| 64 | else |
|---|
| 65 | BUILD=`svnversion ..` |
|---|
| 66 | fi |
|---|
| 67 | |
|---|
| 68 | VERSION="syn3-$UPDATE_VERSION-$BUILD-`date +%d%m%Y-%H%M`" || exit 1 |
|---|
| 69 | VERSION=`echo "$VERSION"|sed s/:/to/|sed 's/ //g'` || exit 1 |
|---|
| 70 | |
|---|
| 71 | echo "Versie: $VERSION"; |
|---|
| 72 | |
|---|
| 73 | |
|---|
| 74 | |
|---|
| 75 | ########################################### |
|---|
| 76 | ########################################### LIVECD IMAGE |
|---|
| 77 | ########################################### |
|---|
| 78 | |
|---|
| 79 | mkdir $CDROOT &>/dev/null |
|---|
| 80 | |
|---|
| 81 | OUTDIR="`pwd`/out/$DIR-$VERSION" |
|---|
| 82 | mkdir -p $OUTDIR |
|---|
| 83 | rm out/latest 2>/dev/null |
|---|
| 84 | ln -s $DIR-$VERSION out/latest |
|---|
| 85 | |
|---|
| 86 | SQUASHROOT="/tmp/live" |
|---|
| 87 | SQUASHIMAGE="$OUTDIR/image" |
|---|
| 88 | |
|---|
| 89 | |
|---|
| 90 | rm -rf "$SQUASHROOT" &>/dev/null |
|---|
| 91 | |
|---|
| 92 | #kijk eerst in $CDPKG en gebruik anders svn versie |
|---|
| 93 | for SHORTPKG in `cat $DIR/list`; do |
|---|
| 94 | echo -n "Installeren $SHORTPKG..." |
|---|
| 95 | TGZ=`../npl/findpkg "$SHORTPKG"` || exit 1 |
|---|
| 96 | echo -n "$TGZ..." |
|---|
| 97 | $INSTALLPACKAGE -root $SQUASHROOT "$TGZ" >/dev/null || exit 1 |
|---|
| 98 | echo "OK" |
|---|
| 99 | done |
|---|
| 100 | |
|---|
| 101 | |
|---|
| 102 | echo "$SQUASHROOT configureren..." |
|---|
| 103 | cp -a $DIR/root/* $SQUASHROOT || exit 1 |
|---|
| 104 | chown -R 0:0 $SQUASHROOT/root || exit 1 |
|---|
| 105 | chmod 700 $SQUASHROOT/root || exit 1 |
|---|
| 106 | |
|---|
| 107 | |
|---|
| 108 | ldconfig -r $SQUASHROOT || exit 1 |
|---|
| 109 | |
|---|
| 110 | |
|---|
| 111 | #stip onzinnige zooi uit squashroot |
|---|
| 112 | find $SQUASHROOT -type d -name '*.svn' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 113 | # find $SQUASHROOT -type d -name 'man?' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 114 | # find $SQUASHROOT -type d -name 'doc' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 115 | # find $SQUASHROOT -type d -name 'include' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 116 | # find $SQUASHROOT -type d -name 'gtk-doc' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 117 | # find $SQUASHROOT -type f -name '*.ps' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 118 | |
|---|
| 119 | |
|---|
| 120 | #verplaats kernel + initrd naar output directory |
|---|
| 121 | mv $SQUASHROOT/boot/initrd.gz.test $OUTDIR/initrd.gz || exit 1 |
|---|
| 122 | mv $SQUASHROOT/boot/bzImage.test $OUTDIR/bzImage || exit 1 |
|---|
| 123 | |
|---|
| 124 | |
|---|
| 125 | echo "Squash image genereren..." |
|---|
| 126 | pushd $SQUASHROOT |
|---|
| 127 | mksquashfs . "$SQUASHIMAGE" || exit 1; |
|---|
| 128 | popd |
|---|
| 129 | rm -rf "$SQUASHROOT" |
|---|
| 130 | |
|---|
| 131 | |
|---|
| 132 | ####################################### |
|---|
| 133 | ####################################### EXTRA FILES OP SERVER |
|---|
| 134 | ####################################### |
|---|
| 135 | |
|---|
| 136 | cp -a $DIR/server/* $OUTDIR || exit 1 |
|---|
| 137 | find $OUTDIR -type d -name '*.svn' -exec rm -r "{}" \; 2>/dev/null |
|---|
| 138 | chmod 444 $OUTDIR/* |
|---|
| 139 | |
|---|
| 140 | echo |
|---|
| 141 | echo |
|---|
| 142 | echo "Server data is ready in $OUTDIR" |
|---|
| 143 | exit 0 |
|---|
| 144 | |
|---|
| 145 | |
|---|