01-onsistem.sh 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. #!/bin/bash
  2. # bash --rcfile bashrc-onsistem
  3. # onsistemi derle-kur
  4. # link önemli = [ ! -d /tools ] && ln -s $ONSISTEM_CHROOT/tools /
  5. hata_olustu(){
  6. if [ ! -z "$1" ];then
  7. echo "$1"
  8. exit 1
  9. fi
  10. }
  11. # 1- # bash --rcfile bashrc-onsistem
  12. # kontroller
  13. echo "ortam değişkenlerinin kontrolü"
  14. [ -z $MILIS_HOME ] && hata_olustu "MILIS_HOME tanmlı değil!"
  15. [ -z $MILIS_REPO ] && hata_olustu "MILIS_REPO tanmlı değil!"
  16. [ -z $TALIMATNAME ] && hata_olustu "TALIMATNAME tanmlı değil!"
  17. [ -z $ONSISTEM_CHROOT ] && hata_olustu "ONSISTEM_CHROOT tanmlı değil!"
  18. [ -z $MPS_PATH ] && hata_olustu "MPS_PATH tanımlı değil!"
  19. [ ! -d $MPS_PATH ] && hata_olustu "MPS_PATH dizini mevcut değil!"
  20. mkdir -p ${ONSISTEM_CHROOT}/tools
  21. if [ -L /tools ];then
  22. [ "`readlink /tools`" != "${ONSISTEM_CHROOT}/tools" ] && hata_olustu "/tools $ONSISTEM_CHROOT uyuşmuyor, yeniden linkleyin."
  23. else
  24. hata_olustu "ln -s $ONSISTEM_CHROOT/tools /"
  25. fi
  26. echo "-----------------------------"
  27. echo "gerekli ikililerin kontrolü" # döngüde yapılsın!!!
  28. # gcc kontrol
  29. command -v gcc > /dev/null 2>&1
  30. [ ! $? -eq 0 ] && hata_olustu "gcc gerekli/needs !"
  31. # make kontrol
  32. command -v make > /dev/null 2>&1
  33. [ ! $? -eq 0 ] && hata_olustu "make gerekli/needs !"
  34. # bsdtar kontrol
  35. command -v bsdtar > /dev/null 2>&1
  36. [ ! $? -eq 0 ] && hata_olustu "bsdtar gerekli/needs !"
  37. # lua kontrol
  38. command -v lua5.3 > /dev/null 2>&1
  39. [ ! $? -eq 0 ] && hata_olustu "lua5.3 gerekli/needs !"
  40. # lzip kontrol
  41. command -v lzip > /dev/null 2>&1
  42. [ ! $? -eq 0 ] && hata_olustu "lzip gerekli/needs !"
  43. echo "-----------------------------"
  44. echo "mps ve talimatname yapılandırması"
  45. # mps chroot önsistem yapılandırılması
  46. mps.lua --ilk --kok=$ONSISTEM_CHROOT
  47. echo "-----------------------------"
  48. echo "order dosyasına göre derlenip kurulması"
  49. trap 'echo ; exit 0' EXIT HUP QUIT ABRT TERM
  50. # Paketlerin toplanacağı dizin
  51. mkdir -p $MILIS_HOME/onpaketleme
  52. cd $MILIS_HOME/onpaketleme
  53. # önsistem için 0 grubu talimatlar kullanılacak.
  54. for paket in `cat $TALIMATNAME/0/order`;do
  55. zorla=""
  56. # kurulu değilse derlet
  57. if [ ! -d $ONSISTEM_CHROOT/var/lib/mps/db/$paket ];then
  58. # derleme
  59. if [ ! -z $paket ];then
  60. #mps.lua derle $paket
  61. mps.lua -d $paket
  62. fi
  63. # paket üretim kontrol
  64. paketlz=$(find $PWD -name "${paket}#*.mps.lz" -print0)
  65. # kurma
  66. [ $paket == "gcc2" ] && zorla="--zorla"
  67. if [ ! -z ${paketlz} ];then
  68. mps.lua kur ${zorla} ${paketlz} --kok=$ONSISTEM_CHROOT
  69. # log dosyalarını al
  70. # mv -v /tmp/${paket}-*.log .
  71. else
  72. hata_olustu "${paket} paketi bulunmadı!"
  73. fi
  74. fi
  75. done
  76. cd -
  77. echo "-----------------------------"
  78. exit 0