#!/bin/bash readonly NO_UPGRADE=1 readonly RUN_INSTALLED=1 readonly THIS_BUILD_HOST==$(grep '^ID=' /etc/os-release | cut -d '=' -f 2) function print() { printf "\033[01;34m%s\033[00m\n" "$(echo -e $*)" ; } sudo echo -n if pacman --version 2> /dev/null | grep libalpm > /dev/null then print "\n--- running pacman ---\n" BASE_PKGS="$(pacman -Qg base-devel | cut -d ' ' -f 2)" CALAMARES_PKGS="boost extra-cmake-modules git kconfig kpmcore kservice kwindowsystem \ plasma-framework qt5-tools polkit-qt5 yaml-cpp" # squashfs-tools os-prober # PARABOLA_PKGS="arch-install-scripts" PKGS="$BASE_PKGS $CALAMARES_PKGS $PARABOLA_PKGS" pacman -Qi calamares > /dev/null 2>&1 && sudo pacman -R calamares pacman -Qi $PKGS > /dev/null && (($NO_UPGRADE)) || sudo pacman -Sy --needed $PKGS || exit 1 elif which apt-get &> /dev/null then print "\n--- running apt ---\n" sudo apt-get install -qqq extra-cmake-modules libatasmart-dev libboost-python-dev \ libkf5coreaddons-dev libkf5kio-dev libkf5plasma-dev \ libkf5service-dev libkpmcore4-dev libparted-dev \ libpolkit-qt5-1-dev qtdeclarative5-dev || exit 1 fi [ "$(cat ./LAST_BUILD_HOST)" == "$THIS_BUILD_HOST" ] || (echo "cleaning build/ dir" ; sudo rm -rf ./build) echo "$THIS_BUILD_HOST" > ./LAST_BUILD_HOST if [ ! -d ./build ] then print "\n--- preparing build environment ---\n" mkdir ./build # else rm -f build/Makefile 2> /dev/null fi # if [ ! -d /etc/calamares/ ] # then sudo mkdir /etc/calamares # sudo ln -s `pwd`/settings.conf /etc/calamares/ # sudo ln -s `pwd`/src/branding /etc/calamares/ # fi print "\n--- running cmake ---\n" sed -i "s|_BUILD_DATE_|$(date +%Y.%m)|" src/branding/parabola/branding.desc cd ./build cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib \ -DSKIP_MODULES="contextualprocess dracut dracutlukscfg dummycpp dummyprocess \ dummypython dummypythonqt fsresizer initramfs initramfscfg \ interactiveterminal license networkcfg openrcdmcryptcfg \ packages plymouthcfg preservefiles rawfs removeuser \ shellprocess tracking unpackfs webview" .. if [ -d /usr/share/calamares/ -o -f /usr/bin/calamares ] then print "\n--- running make uninstall ---\n" sudo make uninstall sudo rm -rf /usr/share/calamares/ /usr/bin/calamares fi if [ ! -f Makefile ] then print "\n--- Makefile does not exist - bailing ---\n" cd .. exit 1 fi if (($RUN_INSTALLED)) then print "\n--- running make install ---\n" sudo make install || exit 1 sudo cp ../settings.conf /usr/share/calamares/ else print "\n--- running make ---\n" make || exit 1 cp ../settings.conf ./ fi cd .. if (($RUN_INSTALLED)) && [ -f /usr/bin/calamares ] then print "\n--- launching calamares installed ---\n" sudo calamares -D 6 elif [ -f build/calamares ] then print "\n--- launching calamares uninstalled ---\n" cd ./build sudo ./calamares -d 6 cd .. fi