mk 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #!/bin/bash
  2. readonly NO_UPGRADE=1
  3. readonly RUN_INSTALLED=1
  4. readonly THIS_BUILD_HOST==$(grep '^ID=' /etc/os-release | cut -d '=' -f 2)
  5. function print() { printf "\033[01;34m%s\033[00m\n" "$(echo -e $*)" ; }
  6. sudo echo -n
  7. if pacman --version 2> /dev/null | grep libalpm > /dev/null
  8. then print "\n--- running pacman ---\n"
  9. BASE_PKGS="$(pacman -Qg base-devel | cut -d ' ' -f 2)"
  10. CALAMARES_PKGS="boost extra-cmake-modules git kconfig kpmcore kservice kwindowsystem \
  11. plasma-framework qt5-tools polkit-qt5 yaml-cpp" # squashfs-tools os-prober
  12. # PARABOLA_PKGS="arch-install-scripts"
  13. PKGS="$BASE_PKGS $CALAMARES_PKGS $PARABOLA_PKGS"
  14. pacman -Qi calamares > /dev/null 2>&1 && sudo pacman -R calamares
  15. pacman -Qi $PKGS > /dev/null && (($NO_UPGRADE)) || sudo pacman -Sy --needed $PKGS || exit 1
  16. elif which apt-get &> /dev/null
  17. then print "\n--- running apt ---\n"
  18. sudo apt-get install -qqq extra-cmake-modules libatasmart-dev libboost-python-dev \
  19. libkf5coreaddons-dev libkf5kio-dev libkf5plasma-dev \
  20. libkf5service-dev libkpmcore4-dev libparted-dev \
  21. libpolkit-qt5-1-dev qtdeclarative5-dev || exit 1
  22. fi
  23. [ "$(cat ./LAST_BUILD_HOST)" == "$THIS_BUILD_HOST" ] || (echo "cleaning build/ dir" ; sudo rm -rf ./build)
  24. echo "$THIS_BUILD_HOST" > ./LAST_BUILD_HOST
  25. if [ ! -d ./build ]
  26. then print "\n--- preparing build environment ---\n"
  27. mkdir ./build
  28. # else rm -f build/Makefile 2> /dev/null
  29. fi
  30. # if [ ! -d /etc/calamares/ ]
  31. # then sudo mkdir /etc/calamares
  32. # sudo ln -s `pwd`/settings.conf /etc/calamares/
  33. # sudo ln -s `pwd`/src/branding /etc/calamares/
  34. # fi
  35. print "\n--- running cmake ---\n"
  36. cd ./build
  37. cmake -DCMAKE_BUILD_TYPE=Debug \
  38. -DCMAKE_INSTALL_PREFIX=/usr \
  39. -DCMAKE_INSTALL_LIBDIR=lib \
  40. -DSKIP_MODULES="dracut dracutlukscfg dummycpp dummyprocess dummypython \
  41. dummypythonqt initramfs initramfscfg interactiveterminal \
  42. license plymouthcfg removeuser tracking webview" ..
  43. if [ -d /usr/share/calamares/ -o -f /usr/bin/calamares ]
  44. then print "\n--- running make uninstall ---\n"
  45. sudo make uninstall
  46. sudo rm -rf /usr/share/calamares/ /usr/bin/calamares
  47. fi
  48. if [ ! -f Makefile ]
  49. then print "\n--- Makefile does not exist - bailing ---\n"
  50. cd ..
  51. exit 1
  52. fi
  53. if (($RUN_INSTALLED))
  54. then print "\n--- running make install ---\n"
  55. sudo make install || exit 1
  56. else print "\n--- running make ---\n"
  57. make || exit 1
  58. fi
  59. cd ..
  60. if (($RUN_INSTALLED)) && [ -f /usr/bin/calamares ]
  61. then print "\n--- launching calamares installed ---\n"
  62. sudo calamares
  63. elif [ -f build/calamares ]
  64. then print "\n--- launching calamares uninstalled ---\n"
  65. cp ./settings.conf ./build
  66. cd ./build
  67. sudo ./calamares -d
  68. cd ..
  69. fi