builder.sh 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. #!/bin/bash
  2. # 28 Kasim 2017
  3. # v1.0.1 / aydin@komutan.org
  4. set -e
  5. # gerekli fonksiyonlar
  6. . scripts/mesaj.sh
  7. . scripts/mount-umount.sh
  8. # builder mevcut dizini
  9. BUILDER_ROOT=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
  10. # yetki kontrol
  11. if [ "$(id -u)" != "0" ]; then mesaj hata "Root hakları ile çalıştırılmalıdır."; exit 1; fi
  12. # gerekli paketlerin kontrolu ve yoksa kurulmasi
  13. if [ ! -d "/var/lib/pkg/DB/lzip" ]; then mps kur lzip; fi
  14. if [ ! -d "/var/lib/pkg/DB/squashfs" ]; then mps kur squashfs; fi
  15. if [ ! -d "/var/lib/pkg/DB/syslinux" ]; then mps kur syslinux; fi
  16. if [ ! -d "/var/lib/pkg/DB/cdrkit" ]; then mps kur cdrkit; fi
  17. # ayarlar
  18. ayarlar() {
  19. if [ -f "$1" ];then
  20. . $1
  21. else
  22. mesaj hata "iso yapımı için bir ayar dosyası yolu bulunamadı."
  23. . $BUILDER_ROOT/ayarlar/ayarlar.conf
  24. fi
  25. # ayarlar.conf'da belirtilmesi gereken degiskenlerin kontrolu
  26. if [ -z "$DAGITIM" ]; then mesaj hata "DAGITIM=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  27. if [ -z "$KODADI" ]; then mesaj hata "KODADI=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  28. if [ -z "$VERSIYON" ];then mesaj hata "VERSIYON=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  29. #if [ -z "$MASAUSTU" ];then mesaj hata "MASAUSTU=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  30. if [ -z "$GIRISYONETICISI" ];then mesaj hata "GIRISYONETICISI=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  31. if [ -z "$HOSTNAME" ];then mesaj hata "HOSTNAME=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  32. if [ -z "$CANLI_KULLANICI" ];then mesaj hata "CANLI_KULLANICI=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  33. if [ -z "$ROOT_PAROLASI" ];then mesaj hata "ROOT_PAROLASI=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  34. if [ -z "$ISO_ETIKET" ];then mesaj hata "ISO_ETIKET=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  35. if [ -z "$UEFI" ];then mesaj hata "UEFI=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  36. if [ -z "$OZELLESTIRME" ];then mesaj hata "OZELLESTIRME=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  37. if [ ! -d "$OZELLESTIRME" ];then mesaj hata "ayarlar.conf da belirtilen '$OZELLESTIRME' klasörü bulunamadı!"; exit 1; fi
  38. if [ -z "$PLYMOUTH_TEMA" ];then mesaj hata "PLYMOUTH_TEMA=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  39. if [ -z "$LFS" ];then mesaj hata "LFS=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  40. if [ -z "$MPSCONF" ];then mesaj hata "MPSCONF=\"\" ayarlar.conf dosyasında tanımlanmamış!"; exit 1; fi
  41. if [ -z "$sunucular" ];then mesaj hata "sunucular=\"\" mps.conf dosyasında tanımlanmamış!"; exit 1; fi
  42. }
  43. # mps.conf
  44. if [ -z "$MPSCONF" ];then
  45. . $BUILDER_ROOT/ayarlar/mps.conf
  46. else
  47. if [ ! -f "$MPSCONF" ]; then
  48. mesaj hata "$MPSCONF yolu bulunamadı!";
  49. exit 1;
  50. else
  51. . $MPSCONF
  52. fi
  53. fi
  54. # parametreler
  55. case "$1" in
  56. # iso islemleri
  57. -t|--temizle|adim0)
  58. ayarlar $2
  59. . scripts/temizle.sh
  60. ;;
  61. -o|--onhazirlik|adim1)
  62. ayarlar $2
  63. . scripts/iso-onhazirlik.sh
  64. ;;
  65. -i|--iso|adim2)
  66. ayarlar $2
  67. SFS_OLUSTUR="var"
  68. . scripts/iso-olustur.sh
  69. ;;
  70. -si|--sadece-iso)
  71. ayarlar $2
  72. . scripts/iso-olustur.sh
  73. ;;
  74. -c|--chroot)
  75. . scripts/chroot.sh
  76. ;;
  77. # qemu
  78. -q|--qemu)
  79. . scripts/qemu.sh
  80. ;;
  81. # yps secenekleri
  82. -yo|--yps-olustur)
  83. ayarlar $2
  84. . scripts/yps-olustur.sh
  85. ;;
  86. -yb|--yps-baslat)
  87. ayarlar $2
  88. . scripts/yps-baslat.sh
  89. ;;
  90. -yd|--yps-durdur)
  91. fuser -k 8888/tcp
  92. ;;
  93. -yg|--yps-guncelle)
  94. ayarlar $2
  95. . scripts/yps-guncelle.sh
  96. ;;
  97. -yk|--yps-kontrol)
  98. ayarlar $2
  99. . scripts/yps-kontrol.sh
  100. ;;
  101. -y|-h|--yardim)
  102. . scripts/yardim.sh
  103. ;;
  104. *)
  105. mesaj hata "Lütfen parametre giriniz. Yardım için -y kullanabilirsiniz."
  106. esac
  107. exit