[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 | |
---|