summaryrefslogtreecommitdiff
path: root/mk
blob: ad8c1ccd43dd238c97589d37bc488dcc5974a2c6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/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