1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #!/bin/bash
- # bash --rcfile bashrc-onsistem
- # onsistemi derle-kur
- # link önemli = [ ! -d /tools ] && ln -s $ONSISTEM_CHROOT/tools /
- hata_olustu(){
- if [ ! -z "$1" ];then
- echo "$1"
- exit 1
- fi
- }
- # 1- # bash --rcfile bashrc-onsistem
- # kontroller
- echo "ortam değişkenlerinin kontrolü"
- [ -z $MILIS_HOME ] && hata_olustu "MILIS_HOME tanmlı değil!"
- [ -z $MILIS_REPO ] && hata_olustu "MILIS_REPO tanmlı değil!"
- [ -z $TALIMATNAME ] && hata_olustu "TALIMATNAME tanmlı değil!"
- [ -z $ONSISTEM_CHROOT ] && hata_olustu "ONSISTEM_CHROOT tanmlı değil!"
- [ -z $MPS_PATH ] && hata_olustu "MPS_PATH tanımlı değil!"
- [ ! -d $MPS_PATH ] && hata_olustu "MPS_PATH dizini mevcut değil!"
- mkdir -p ${ONSISTEM_CHROOT}/tools
- if [ -L /tools ];then
- [ "`readlink /tools`" != "${ONSISTEM_CHROOT}/tools" ] && hata_olustu "/tools $ONSISTEM_CHROOT uyuşmuyor, yeniden linkleyin."
- else
- hata_olustu "ln -s $ONSISTEM_CHROOT/tools /"
- fi
- echo "-----------------------------"
- echo "gerekli ikililerin kontrolü" # döngüde yapılsın!!!
- # gcc kontrol
- command -v gcc > /dev/null 2>&1
- [ ! $? -eq 0 ] && hata_olustu "gcc gerekli/needs !"
- # make kontrol
- command -v make > /dev/null 2>&1
- [ ! $? -eq 0 ] && hata_olustu "make gerekli/needs !"
- # bsdtar kontrol
- command -v bsdtar > /dev/null 2>&1
- [ ! $? -eq 0 ] && hata_olustu "bsdtar gerekli/needs !"
- # lua kontrol
- command -v lua5.3 > /dev/null 2>&1
- [ ! $? -eq 0 ] && hata_olustu "lua5.3 gerekli/needs !"
- # lzip kontrol
- command -v lzip > /dev/null 2>&1
- [ ! $? -eq 0 ] && hata_olustu "lzip gerekli/needs !"
- echo "-----------------------------"
- echo "mps ve talimatname yapılandırması"
- # mps chroot önsistem yapılandırılması
- mps.lua --ilk --kok=$ONSISTEM_CHROOT
- echo "-----------------------------"
- echo "order dosyasına göre derlenip kurulması"
- trap 'echo ; exit 0' EXIT HUP QUIT ABRT TERM
- # Paketlerin toplanacağı dizin
- mkdir -p $MILIS_HOME/onpaketleme
- cd $MILIS_HOME/onpaketleme
- # önsistem için 0 grubu talimatlar kullanılacak.
- for paket in `cat $TALIMATNAME/0/order`;do
- zorla=""
- # kurulu değilse derlet
- if [ ! -d $ONSISTEM_CHROOT/var/lib/mps/db/$paket ];then
- # derleme
- if [ ! -z $paket ];then
- #mps.lua derle $paket
- mps.lua -d $paket
- fi
- # paket üretim kontrol
- paketlz=$(find $PWD -name "${paket}#*.mps.lz" -print0)
- # kurma
- [ $paket == "gcc2" ] && zorla="--zorla"
- if [ ! -z ${paketlz} ];then
- mps.lua kur ${zorla} ${paketlz} --kok=$ONSISTEM_CHROOT
- # log dosyalarını al
- # mv -v /tmp/${paket}-*.log .
- else
- hata_olustu "${paket} paketi bulunmadı!"
- fi
- fi
- done
- cd -
- echo "-----------------------------"
- exit 0
|