- Scott Harvey
- Simon Quigley
- Walter Lapchynski
+
+# FORK MAINTAINER
+ - lap1sid
+ - hayao
+ - tukutun (Design)
### Calamares application info
#
-set( CALAMARES_ORGANIZATION_NAME "Calamares" )
-set( CALAMARES_ORGANIZATION_DOMAIN "github.com/calamares" )
-set( CALAMARES_APPLICATION_NAME "Calamares" )
+set( CALAMARES_ORGANIZATION_NAME "Fascode Network" )
+set( CALAMARES_ORGANIZATION_DOMAIN "github.com/SereneTeam" )
+set( CALAMARES_APPLICATION_NAME "Calamares for AlterLinux" )
set( CALAMARES_DESCRIPTION_SUMMARY
"The distribution-independent installer framework" )
### Calamares: Distribution-Independent Installer Framework
---------
-[![GitHub release](https://img.shields.io/github/release/calamares/calamares.svg)](https://github.com/calamares/calamares/releases)
-[![Travis Build Status](https://travis-ci.org/calamares/calamares.svg?branch=master)](https://travis-ci.org/calamares/calamares)
-[![Coverity Scan Build Status](https://scan.coverity.com/projects/5389/badge.svg)](https://scan.coverity.com/projects/5389)
-[![GitHub license](https://img.shields.io/github/license/calamares/calamares.svg)](https://github.com/calamares/calamares/blob/master/LICENSE)
+[![GitHub release](https://img.shields.io/github/v/release/sereneteam/alterlinux-calamares?color=%234169e1&include_prereleases&style=flat-square)](https://github.com/sereneteam/alterlinux-calamares/releases)
+[![GitHub license](https://img.shields.io/github/license/sereneteam/alterlinux-calamares?style=flat-square&logo=gnu)](https://github.com/sereneteam/alterlinux-calamares/blob/master/LICENSE)
-| [Report a Bug](https://github.com/calamares/calamares/issues/new) | [Translate](https://www.transifex.com/projects/p/calamares/) | [Contribute](https://github.com/calamares/calamares/wiki/Develop-Guide) | Freenode (IRC): #calamares | [Wiki](https://github.com/calamares/calamares/wiki) |
-|:-----------------------------------------:|:----------------------:|:-----------------------:|:--------------------------:|:--------------------------:|
+[If you find a Bug, please report a Bug](https://github.com/SereneTeam/alterlinux-calamares/issues/new/choose)
+
+***
### Dependencies
Main:
-* Compiler with C++14 support: GCC >= 5 or Clang >= 3.5.1
-* CMake >= 3.3
-* Qt >= 5.9
-* yaml-cpp >= 0.5.1
-* Python >= 3.3 (required for some modules)
-* Boost.Python >= 1.55.0 (required for some modules)
-* KDE extra-cmake-modules >= 5.18 (recommended; required for some modules;
+* Compiler with C++14 support: [GCC](https://www.archlinux.org/packages/core/x86_64/gcc/) >= 5 or [Clang](https://www.archlinux.org/packages/extra/x86_64/clang/) >= 3.5.1
+* [CMake](https://www.archlinux.org/packages/extra/x86_64/cmake/) >= 3.3
+* [Qt](https://www.archlinux.org/packages/extra/x86_64/qt5-base/) >= 5.9
+* [yaml-cpp](https://www.archlinux.org/packages/community/x86_64/yaml-cpp/) >= 0.5.1
+* [Python](https://www.archlinux.org/packages/extra/x86_64/python/) >= 3.3 (required for some modules)
+* [Boost.Python](https://www.archlinux.org/packages/extra/x86_64/boost/) and [Boost-libs](https://www.archlinux.org/packages/extra/x86_64/boost-libs/) >= 1.55.0 (required for some modules)
+* [KDE extra-cmake-modules](https://www.archlinux.org/packages/extra/any/extra-cmake-modules/) >= 5.18 (recommended; required for some modules;
required for some tests)
-* KDE Frameworks KCoreAddons (>= 5.58 recommended)
-* PythonQt (optional, deprecated)
+* [KDE Frameworks KCoreAddons](https://www.archlinux.org/packages/extra/x86_64/kcoreaddons/) (>= 5.58 recommended)
+* ~~PythonQt (optional, deprecated)~~ (Not available)
Modules:
* Individual modules may have their own requirements;
these are listed in CMake output. Particular requirements (not complete):
-* *fsresizer* KPMCore >= 3.3
-* *partition* KPMCore >= 3.3
-* *users* LibPWQuality (optional)
+* *fsresizer* [KPMCore](https://www.archlinux.org/packages/community/x86_64/kpmcore/) >= 3.3
+* *partition* [KPMCore](https://www.archlinux.org/packages/community/x86_64/kpmcore/) >= 3.3
+* *users* [LibPWQuality](https://www.archlinux.org/packages/extra/x86_64/libpwquality/)
-### Building
+### Building (Vanilla)
See [wiki](https://github.com/calamares/calamares/wiki) for up to date
[building](https://github.com/calamares/calamares/wiki/Develop-Guide)
[Desktop Entry]
Type=Application
Version=1.0
-Name=Install System
-GenericName=System Installer
-Keywords=calamares;system;installer;
+Name=Install Alter Linux
+GenericName=Alter Linux Installer
+Keywords=calamares;alter;linux;installer;
TryExec=calamares
Exec=pkexec /usr/bin/calamares
-Comment=Calamares — System Installer
+Comment=Alter Linux Installer - by Calamares
Icon=calamares
Terminal=false
StartupNotify=true
Icon[ca]=calamares
GenericName[ca]=Instal·lador de sistema
Comment[ca]=Calamares — Instal·lador de sistema
-Name[da]=Installér system
+Name[da]=Installér AlterLinux
Icon[da]=calamares
-GenericName[da]=Systeminstallationsprogram
-Comment[da]=Calamares — Systeminstallationsprogram
-Name[de]=System installieren
+GenericName[da]=AlterLinuxinstallationsprogram
+Comment[da]=Calamares — AlterLinuxinstallationsprogram
+Name[de]=AlterLinux installieren
Icon[de]=calamares
-GenericName[de]=Installation des Betriebssystems
-Comment[de]=Calamares - Installation des Betriebssystems
+GenericName[de]=Installation des BetriebsAlterLinuxs
+Comment[de]=Calamares - Installation des BetriebsAlterLinuxs
Name[el]=Εγκατάσταση συστήματος
Icon[el]=calamares
GenericName[el]=Εγκατάσταση συστήματος
Comment[el]=Calamares — Εγκατάσταση συστήματος
-Name[en_GB]=Install System
+Name[en_GB]=Install AlterLinux
Icon[en_GB]=calamares
-GenericName[en_GB]=System Installer
-Comment[en_GB]=Calamares — System Installer
+GenericName[en_GB]=AlterLinux Installer
+Comment[en_GB]=Calamares — AlterLinux Installer
Name[es]=Instalar Sistema
Icon[es]=calamares
GenericName[es]=Instalador del Sistema
Icon[cs_CZ]=calamares
GenericName[cs_CZ]=Instalátor systému
Comment[cs_CZ]=Calamares – instalátor operačních systémů
-Name[ja]=システムをインストール
+Name[ja]=AlterLinuxをインストール
Icon[ja]=calamares
-GenericName[ja]=システムインストーラー
-Comment[ja]=Calamares — システムインストーラー
+GenericName[ja]=AlterLinuxインストーラー
+Comment[ja]=Calamares — AlterLinuxインストーラー
Name[ko]=시스템 설치
Icon[ko]=깔라마레스
GenericName[ko]=시스템 설치 관리자
Icon[ml]=കലാമാരേസ്
GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ
Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ
-Name[nb]=Installer System
+Name[nb]=Installer AlterLinux
Icon[nb]=calamares
-GenericName[nb]=Systeminstallatør
-Comment[nb]=Calamares-systeminstallatør
+GenericName[nb]=AlterLinuxinstallatør
+Comment[nb]=Calamares-AlterLinuxinstallatør
Name[nl]=Installeer systeem
Icon[nl]=calamares
GenericName[nl]=Installatieprogramma
Comment[nl]=Calamares — Installatieprogramma
-Name[pl]=Zainstaluj system
+Name[pl]=Zainstaluj AlterLinux
Icon[pl]=calamares
-GenericName[pl]=Instalator systemu
-Comment[pl]=Calamares — Instalator systemu
+GenericName[pl]=Instalator AlterLinux
+Comment[pl]=Calamares — Instalator AlterLinux
Name[pt_BR]=Sistema de Instalação
Icon[pt_BR]=calamares
GenericName[pt_BR]=Instalador de Sistema
Icon[sr]=calamares
GenericName[sr]=Инсталатер система
Comment[sr]=Каламарес — инсталатер система
-Name[sv]=Installera system
+Name[sv]=Installera AlterLinux
Icon[sv]=calamares
-GenericName[sv]=Systeminstallerare
-Comment[sv]=Calamares — Systeminstallerare
+GenericName[sv]=AlterLinuxinstallerare
+Comment[sv]=Calamares — AlterLinuxinstallerare
Name[th]=ติดตั้งระบบ
Name[uk]=Встановити Систему
Icon[uk]=calamares
"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>
- <vendor>Calamares</vendor>
- <vendor_url>https://github.com/calamares</vendor_url>
+ <vendor>Fascode Network</vendor>
+ <vendor_url>https://github.com/SereneTeam</vendor_url>
<action id="com.github.calamares.calamares.pkexec.run">
<description>Run Installer</description>
<annotate key="org.freedesktop.policykit.exec.path">/usr/bin/calamares</annotate>
<annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
</action>
-</policyconfig>
\ No newline at end of file
+</policyconfig>
--- /dev/null
+/* Allow Calamares to be started without password authentication
+ */
+polkit.addRule(function(action, subject) {
+ if ((action.id == "com.github.calamares.calamares.pkexec.run"))
+ {
+ return polkit.Result.YES;
+ }
+});
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ id="svg8"
+ version="1.1"
+ viewBox="0 0 128 128"
+ height="128mm"
+ width="128mm">
+ <defs
+ id="defs2" />
+ <metadata
+ id="metadata5">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ transform="translate(-36.444563,-37.833288)"
+ id="layer1">
+ <path
+ id="path3919"
+ transform="matrix(0.30881026,0,0,0.30881026,-6.0919597,-32.830904)"
+ d="m 182.92969,471.0918 -36.79883,37.9707 c -6.43935,6.64699 -8.88192,14.88813 -8.20508,22.74219 h -0.12695 c 0.13121,58.34746 0.50746,47.37598 -0.0508,64.87304 -0.27799,15.29375 11.54224,30.08854 29.41015,30.09375 H 359.91602 L 293.42383,511.60352 h -96.19141 l 37.82813,-40.51172 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#006eff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:58.72231674;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path
+ id="path3853"
+ transform="matrix(0.30881026,0,0,0.30881026,-6.0919597,-32.830904)"
+ d="m 293.42383,511.60352 66.49219,115.16796 h 162.90625 c 17.86794,-0.004 29.68833,-14.8 29.41015,-30.09375 -0.0924,-2.89905 -0.12732,-4.39109 -0.17383,-6.17187 l -28.15234,-17.20703 c 0.45999,1.78742 0.69618,3.62505 0.70313,5.4707 -2.2e-4,12.30874 -9.97837,22.28689 -22.28711,22.28711 -12.30951,8.6e-4 -22.28885,-9.9776 -22.28907,-22.28711 0.0133,-10.38613 7.19889,-19.3863 17.32422,-21.69922 l -63.54265,-38.83968 -42.40126,0.0602 3.85435,-6.68731 z m 208.89844,44.8789 c -0.26056,0.005 -0.52101,0.0136 -0.78125,0.0273 0.26024,-0.0137 0.52069,-0.0228 0.78125,-0.0273 z m -2.4375,0.16016 c -0.18713,0.0204 -0.374,0.0432 -0.56055,0.0684 0.18655,-0.0252 0.37342,-0.048 0.56055,-0.0684 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#005498;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:58.72231674;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path
+ id="path3901"
+ transform="matrix(0.30881026,0,0,0.30881026,-6.0919597,-32.830904)"
+ d="m 506.99776,518.19126 -18.41594,-11.25686 4.16623,4.66912 h -37.29551 l -3.66232,6.63753 -17.87695,0.0498 63.44415,38.77948 c 1.62766,-0.38155 3.29309,-0.57875 4.96485,-0.58789 10.19377,0.01 19.08164,6.93454 21.58398,16.81641 l 28.15234,17.20703 c -0.23416,-8.967 0.0135,-10.0212 0.12305,-58.70117 h -0.12695 c 0.67684,-7.85406 -1.76572,-16.0952 -8.20508,-22.74219 l -36.79883,-37.9707 h -27.24591 z"
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#009aff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:58.72231674;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate" />
+ <path
+ id="rect3848"
+ transform="matrix(0.30881026,0,0,0.30881026,-6.0919597,-32.830904)"
+ d="m 260.23242,412.13281 84.75781,89.54883 22.63086,-23.91016 z"
+ style="display:inline;opacity:1;fill:#005498;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77952766;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
+ <path
+ id="path3926"
+ transform="matrix(0.30881026,0,0,0.30881026,-6.0919597,-32.830904)"
+ d="m 302.85742,245.37695 v 147.00977 h -61.3164 l 18.6914,19.74609 107.38867,65.63867 80.81836,-85.38476 H 387.21484 V 245.37695 Z"
+ style="display:inline;opacity:1;fill:#009aff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3.77952766;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal" />
+ <path
+ style="display:inline;opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.11671569;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
+ d="m 132.39074,96.230348 a 23.590337,23.590337 0 0 0 -23.5902,23.590212 23.590337,23.590337 0 0 0 23.5902,23.59021 23.590337,23.590337 0 0 0 23.59021,-23.59021 23.590337,23.590337 0 0 0 -23.59021,-23.590212 z m 0.25212,5.187042 17.83138,30.88525 -12.58161,-7.6907 -4.47593,7.6907 0.0175,0.0308 h -18.65346 l 9.33367,-16.14318 v -10e-4 z"
+ id="path3936"
+ transform="translate(2.7083333e-6,-5.1107222)" />
+ </g>
+</svg>
--- /dev/null
+[Desktop Entry]
+Type=Application
+Version=1.0
+Name=Install Alter Linux
+GenericName=Alter Linux Installer
+Keywords=calamares;alter;linux;installer;
+TryExec=calamares
+Exec=pkexec /usr/bin/calamares
+Comment=Alter Linux Installer - by Calamares
+Icon=calamares
+Terminal=false
+StartupNotify=true
+Categories=Qt;System;
+X-AppStream-Ignore=true
+
+Name[ar]=تثبيت النظام
+Icon[ar]=كالامارس
+GenericName[ar]=مثبت النظام
+Comment[ar]=كالامارس - مثبت النظام
+Name[as]=চিছটেম ইনস্তল কৰক
+Icon[as]=কেলামাৰেচ
+GenericName[as]=চিছটেম ইনস্তলাৰ
+Comment[as]=কেলামাৰেচ — চিছটেম ইনস্তলাৰ
+Name[be]=Усталяваць сістэму
+Icon[be]=calamares
+GenericName[be]=Усталёўшчык сістэмы
+Comment[be]=Calamares — усталёўшчык сістэмы
+Name[bg]=Инсталирай системата
+Icon[bg]=calamares
+GenericName[bg]=Системен Инсталатор
+Comment[bg]=Calamares — Системен Инсталатор
+Name[ca]=Instal·la el sistema
+Icon[ca]=calamares
+GenericName[ca]=Instal·lador de sistema
+Comment[ca]=Calamares — Instal·lador de sistema
+Name[da]=Installér AlterLinux
+Icon[da]=calamares
+GenericName[da]=AlterLinuxinstallationsprogram
+Comment[da]=Calamares — AlterLinuxinstallationsprogram
+Name[de]=AlterLinux installieren
+Icon[de]=calamares
+GenericName[de]=Installation des BetriebsAlterLinuxs
+Comment[de]=Calamares - Installation des BetriebsAlterLinuxs
+Name[el]=Εγκατάσταση συστήματος
+Icon[el]=calamares
+GenericName[el]=Εγκατάσταση συστήματος
+Comment[el]=Calamares — Εγκατάσταση συστήματος
+Name[en_GB]=Install AlterLinux
+Icon[en_GB]=calamares
+GenericName[en_GB]=AlterLinux Installer
+Comment[en_GB]=Calamares — AlterLinux Installer
+Name[es]=Instalar Sistema
+Icon[es]=calamares
+GenericName[es]=Instalador del Sistema
+Comment[es]=Calamares — Instalador del Sistema
+Name[et]=Paigalda süsteem
+Icon[et]=calamares
+GenericName[et]=Süsteemipaigaldaja
+Comment[et]=Calamares — süsteemipaigaldaja
+Name[eu]=Sistema instalatu
+Icon[eu]=calamares
+GenericName[eu]=Sistema instalatzailea
+Comment[eu]=Calamares - sistema instalatzailea
+Name[es_PR]=Instalar el sistema
+Name[fr]=Installer le système
+Icon[fr]=calamares
+GenericName[fr]=Installateur système
+Comment[fr]=Calamares - Installateur système
+Name[gl]=Instalación do Sistema
+Icon[gl]=calamares
+GenericName[gl]=Instalador de sistemas
+Comment[gl]=Calamares — Instalador de sistemas
+Name[he]=התקנת מערכת
+Icon[he]=calamares
+GenericName[he]=אשף התקנה
+Comment[he]=Calamares - אשף התקנה
+Name[hi]=सिस्टम इंस्टॉल करें
+Icon[hi]=calamares
+GenericName[hi]=सिस्टम इंस्टॉलर
+Comment[hi]=Calamares — सिस्टम इंस्टॉलर
+Name[hr]=Instaliraj sustav
+Icon[hr]=calamares
+GenericName[hr]=Instalacija sustava
+Comment[hr]=Calamares — Instalacija sustava
+Name[hu]=Rendszer telepítése
+Icon[hu]=calamares
+GenericName[hu]=Rendszertelepítő
+Comment[hu]=Calamares – Rendszertelepítő
+Name[id]=Instal Sistem
+Icon[id]=calamares
+GenericName[id]=Pemasang
+Comment[id]=Calamares — Pemasang Sistem
+Name[is]=Setja upp kerfið
+Icon[is]=calamares
+GenericName[is]=Kerfis uppsetning
+Comment[is]=Calamares — Kerfis uppsetning
+Name[cs_CZ]=Nainstalovat systém
+Icon[cs_CZ]=calamares
+GenericName[cs_CZ]=Instalátor systému
+Comment[cs_CZ]=Calamares – instalátor operačních systémů
+Name[ja]=AlterLinuxをインストール
+Icon[ja]=calamares
+GenericName[ja]=AlterLinuxインストーラー
+Comment[ja]=Calamares — AlterLinuxインストーラー
+Name[ko]=시스템 설치
+Icon[ko]=깔라마레스
+GenericName[ko]=시스템 설치 관리자
+Comment[ko]=깔라마레스 — 시스템 설치 관리자
+Name[lt]=Įdiegti Sistemą
+Icon[lt]=calamares
+GenericName[lt]=Sistemos diegimas į kompiuterį
+Comment[lt]=Calamares — Sistemos diegimo programa
+Name[it_IT]=Installa il sistema
+Icon[it_IT]=calamares
+GenericName[it_IT]=Programma d'installazione del sistema
+Comment[it_IT]=Calamares — Programma d'installazione del sistema
+Name[mk]=Инсталирај го системот
+Icon[mk]=calamares
+GenericName[mk]=Системен Инсталер
+Comment[mk]=Calamares - Системен Инсталер
+Name[ml]=സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യുക
+Icon[ml]=കലാമാരേസ്
+GenericName[ml]=സിസ്റ്റം ഇൻസ്റ്റാളർ
+Comment[ml]=കലാമാരേസ് - സിസ്റ്റം ഇൻസ്റ്റാളർ
+Name[nb]=Installer AlterLinux
+Icon[nb]=calamares
+GenericName[nb]=AlterLinuxinstallatør
+Comment[nb]=Calamares-AlterLinuxinstallatør
+Name[nl]=Installeer systeem
+Icon[nl]=calamares
+GenericName[nl]=Installatieprogramma
+Comment[nl]=Calamares — Installatieprogramma
+Name[pl]=Zainstaluj AlterLinux
+Icon[pl]=calamares
+GenericName[pl]=Instalator AlterLinux
+Comment[pl]=Calamares — Instalator AlterLinux
+Name[pt_BR]=Sistema de Instalação
+Icon[pt_BR]=calamares
+GenericName[pt_BR]=Instalador de Sistema
+Comment[pt_BR]=Calamares — Instalador de Sistema
+Name[ro]=Instalează sistemul
+Icon[ro]=calamares
+GenericName[ro]=Instalator de sistem
+Comment[ro]=Calamares — Instalator de sistem
+Name[ru]=Установить систему
+Icon[ru]=calamares
+GenericName[ru]=Установщик системы
+Comment[ru]=Calamares - Установщик системы
+Name[sk]=Inštalovať systém
+Icon[sk]=calamares
+GenericName[sk]=Inštalátor systému
+Comment[sk]=Calamares — Inštalátor systému
+Name[sl]=Namesti sistem
+Name[sq]=Instalo Sistemin
+Icon[sq]=calamares
+GenericName[sq]=Instalues Sistemi
+Comment[sq]=Calamares — Instalues Sistemi
+Name[fi_FI]=Asenna Järjestelmä
+Icon[fi_FI]=calamares
+GenericName[fi_FI]=Järjestelmän Asennusohjelma
+Comment[fi_FI]=Calamares — Järjestelmän Asentaja
+Name[sr@latin]=Instaliraj sistem
+Name[sr]=Инсталирај систем
+Icon[sr]=calamares
+GenericName[sr]=Инсталатер система
+Comment[sr]=Каламарес — инсталатер система
+Name[sv]=Installera AlterLinux
+Icon[sv]=calamares
+GenericName[sv]=AlterLinuxinstallerare
+Comment[sv]=Calamares — AlterLinuxinstallerare
+Name[th]=ติดตั้งระบบ
+Name[uk]=Встановити Систему
+Icon[uk]=calamares
+GenericName[uk]=Встановлювач системи
+Comment[uk]=Calamares - Встановлювач системи
+Name[zh_CN]=安装系统
+Icon[zh_CN]=calamares
+GenericName[zh_CN]=系统安装程序
+Comment[zh_CN]=Calamares — 系统安装程序
+Name[zh_TW]=安裝系統
+Icon[zh_TW]=calamares
+GenericName[zh_TW]=系統安裝程式
+Comment[zh_TW]=Calamares ── 系統安裝程式
+Name[ast]=Instalar el sistema
+Icon[ast]=calamares
+GenericName[ast]=Instalador del sistema
+Comment[ast]=Calamares — Instalador del sistema
+Name[eo]=Instali Sistemo
+Icon[eo]=calamares
+GenericName[eo]=Sistema Instalilo
+Comment[eo]=Calamares — Sistema Instalilo
+Name[ne_NP]= सिस्टम इन्स्टल गर्नुहोस्
+Icon[ne_NP]=Calamares
+GenericName[ne_NP]=सिस्टम इन्स्टलर
+Comment[ne_NP]=Calamares - सिस्टम इन्स्टलर
+Name[es_MX]=Instalar el Sistema
+Icon[es_MX]=calamares
+GenericName[es_MX]=Instalador del sistema
+Comment[es_MX]=Calamares - Instalador del sistema
+Name[pt_PT]=Instalar Sistema
+Icon[pt_PT]=calamares
+GenericName[pt_PT]=Instalador de Sistema
+Comment[pt_PT]=Calamares - Instalador de Sistema
+Name[tr_TR]=Sistemi Yükle
+Icon[tr_TR]=calamares
+GenericName[tr_TR]=Sistem Yükleyici
+Comment[tr_TR]=Calamares — Sistem Yükleyici
--- /dev/null
+#!/bin/bash
+if [ $(which pkexec) ]; then
+ pkexec --disable-internal-agent "/usr/bin/calamares" "$@"
+else
+ /usr/bin/calamares "$@"
+fi
\ No newline at end of file
--- /dev/null
+#!/usr/bin/env bash
+
+function remove () {
+ local list
+ local file
+ list=($(echo "$@"))
+ for file in "${list[@]}"; do
+ if [[ -f ${file} ]]; then
+ rm -f "${file}"
+ elif [[ -d ${file} ]]; then
+ rm -rf "${file}"
+ fi
+ done
+}
+
+while getopts 'u:' arg; do
+ case "${arg}" in
+ u) user="${OPTARG}";;
+ esac
+done
+
+remove /etc/skel/Desktop
+remove /etc/skel/.config/gtk-3.0/bookmarks
+remove /home/${user}/Desktop/calamares.desktop
+remove /home/${user}/.config/gtk-3.0/bookmarks
+remove /usr/share/calamares/
+
+remove /etc/polkit-1/rules.d/01-nopasswork.rules
+
+# Delete unnecessary files of archiso.
+# See the following site for details.
+# https://wiki.archlinux.jp/index.php/Archiso#Chroot_.E3.81.A8.E3.83.99.E3.83.BC.E3.82.B9.E3.82.B7.E3.82.B9.E3.83.86.E3.83.A0.E3.81.AE.E8.A8.AD.E5.AE.9A
+
+remove /etc/systemd/system/getty@tty1.service.d/autologin.conf
+remove /root/.automated_script.sh
+remove /etc/mkinitcpio-archiso.conf
+remove /etc/initcpio
+
+if [[ -f /etc/systemd/journald.conf ]]; then
+ sed -i 's / Storage = volatile /#Storage = auto /' /etc/systemd/journald.conf
+fi
+
+remove /etc/udev/rules.d/81-dhcpcd.rules
+remove /etc/systemd/system/{choose-mirror.service,etc-pacman.d-gnupg.mount,getty@tty1.service.d}
sequence:
- show:
- welcome
-# - notesqml
- locale
- keyboard
- partition
- users
-# - tracking
- summary
- exec:
-# - dummycpp
-# - dummyprocess
-# - dummypython
- partition
- mount
- unpackfs
- locale
- keyboard
- localecfg
-# - luksbootkeyfile
-# - luksopenswaphookcfg
-# - dracutlukscfg
-# - plymouthcfg
+ - shellprocess
+ - luksopenswaphookcfg
+ - luksbootkeyfile
+ - plymouthcfg
- initcpiocfg
- initcpio
+ - removeuser
- users
- displaymanager
- networkcfg
- hwclock
- services-systemd
-# - dracut
- - initramfs
-# - grubcfg
+ - grubcfg
- bootloader
+ - postcfg
+ - packages
- umount
- show:
-# - webview@owncloud
- finished
# A branding component is a directory, either in SHARE/calamares/branding or
# here, Calamares then takes care of finding it and loading the contents.
#
# YAML: string.
-branding: default
+branding: alter
# If this is set to true, Calamares will show an "Are you sure?" prompt right
# before each execution phase, i.e. at points of no return. If this is set to
--- /dev/null
+# Product branding information. This influences some global
+# user-visible aspects of Calamares, such as the product
+# name, window behavior, and the slideshow during installation.
+#
+# Additional styling can be done using the stylesheet.qss
+# file, also in the branding directory.
+---
+componentName: alter
+
+# This selects between different welcome texts. When false, uses
+# the traditional "Welcome to the %1 installer.", and when true,
+# uses "Welcome to the Calamares installer for %1." This allows
+# to distinguish this installer from other installers for the
+# same distribution.
+welcomeStyleCalamares: false
+
+# Should the welcome image (productWelcome, below) be scaled
+# up beyond its natural size? If false, the image does not grow
+# with the window but remains the same size throughout (this
+# may have surprising effects on HiDPI monitors).
+welcomeExpandingLogo: true
+
+# Size and expansion policy for Calamares.
+# - "normal" or unset, expand as needed, use *windowSize*
+# - "fullscreen", start as large as possible, ignore *windowSize*
+# - "noexpand", don't expand automatically, use *windowSize*
+windowExpanding: normal
+
+# Size of Calamares window, expressed as w,h. Both w and h
+# may be either pixels (suffix px) or font-units (suffix em).
+# e.g. "800px,600px"
+# "60em,480px"
+# This setting is ignored if "fullscreen" is selected for
+# *windowExpanding*, above. If not set, use constants defined
+# in CalamaresUtilsGui, 800x520.
+windowSize: 800px,540px
+
+# Placement of Calamares window. Either "center" or "free".
+# Whether "center" actually works does depend on the window
+# manager in use (and only makes sense if you're not using
+# *windowExpanding* set to "fullscreen").
+windowPlacement: center
+
+# These are strings shown to the user in the user interface.
+# There is no provision for translating them -- since they
+# are names, the string is included as-is.
+#
+# The four Url strings are the Urls used by the buttons in
+# the welcome screen, and are not shown to the user. Clicking
+# on the "Support" button, for instance, opens the link supportUrl.
+# If a Url is empty, the corresponding button is not shown.
+#
+# bootloaderEntryName is how this installation / distro is named
+# in the boot loader (e.g. in the GRUB menu).
+#
+# These strings support substitution from /etc/os-release
+# if KDE Frameworks 5.58 are available at build-time. When
+# enabled, @{var-name} is replaced by the equivalent value
+# from os-release. All the supported var-names are in all-caps,
+# and are listed on the FreeDesktop.org site,
+# https://www.freedesktop.org/software/systemd/man/os-release.html
+# Note that ANSI_COLOR and CPE_NAME don't make sense here, and
+# are not supported (the rest are). Remember to quote the string
+# if it contains substitutions, or you'll get YAML exceptions.
+#
+# The *Url* entries are used on the welcome page, and they
+# are visible as buttons there if the corresponding *show* keys
+# are set to "true" (they can also be overridden).
+strings:
+ productName: Alter Linux
+ shortProductName: Alter Linux
+ version:
+ shortVersion:
+ versionedName: Alter Linux
+ shortVersionedName: Alter Linux
+ bootloaderEntryName: Alter
+ productUrl: https://fascode.net/projects/linux/alter/
+ supportUrl: https://github.com/SereneTeam/alterlinux/issues
+ knownIssuesUrl: https://alterlinux.com
+ releaseNotesUrl: https://github.com/SereneTeam/alterlinux/releases
+
+# These images are loaded from the branding module directory.
+#
+# productIcon is used as the window icon, and will (usually) be used
+# by the window manager to represent the application. This image
+# should be square, and may be displayed by the window manager
+# as small as 16x16 (but possibly larger).
+# productLogo is used as the logo at the top of the left-hand column
+# which shows the steps to be taken. The image should be square,
+# and is displayed at 80x80 pixels (also on HiDPI).
+# productWelcome is shown on the welcome page of the application in
+# the middle of the window, below the welcome text. It can be
+# any size and proportion, and will be scaled to fit inside
+# the window. Use `welcomeExpandingLogo` to make it non-scaled.
+# Recommended size is 320x150.
+#
+# These filenames can also use substitutions from os-release (see above).
+images:
+ productIcon: "logo-16.png"
+ productLogo: "logo-128.png"
+ productWelcome: "languages.png"
+
+# The slideshow is displayed during execution steps (e.g. when the
+# installer is actually writing to disk and doing other slow things).
+slideshow: "show.qml"
+# There are two available APIs for the slideshow:
+# - 1 (the default) loads the entire slideshow when the installation-
+# slideshow page is shown and starts the QML then. The QML
+# is never stopped (after installation is done, times etc.
+# continue to fire).
+# - 2 loads the slideshow on startup and calls onActivate() and
+# onLeave() in the root object. After the installation is done,
+# the show is stopped (first by calling onLeave(), then destroying
+# the QML components).
+slideshowAPI: 2
+
+
+# Colors for text and background components.
+#
+# - sidebarBackground is the background of the sidebar
+# - sidebarText is the (foreground) text color
+# - sidebarTextHighlight sets the background of the selected (current) step.
+# Optional, and defaults to the application palette.
+# - sidebarSelect is the text color of the selected step.
+#
+# These colors can **also** be set through the stylesheet, if the
+# branding component also ships a stylesheet.qss. Then they are
+# the corresponding CSS attributes of #sidebarApp.
+style:
+# sidebarBackground: "#EFEFEF"
+ sidebarBackground: "#FFFFFF"
+ sidebarText: "#000000"
+ sidebarTextSelect: "#1565C0"
+ sidebarTextHighlight: "#EFEFEF"
--- /dev/null
+/* === This file is part of Calamares - <http://github.com/calamares> ===
+ *
+ * Copyright 2015, Teo Mrnjavac <teo@kde.org>
+ *
+ * Calamares is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Calamares is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Calamares. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/*
+ * Slides images dimensions are 800x440px.
+ */
+
+import QtQuick 2.0;
+import calamares.slideshow 1.0;
+
+Presentation
+{
+ id: presentation
+
+ Timer {
+ interval: 20000
+ running: true
+ repeat: true
+ onTriggered: presentation.goToNextSlide()
+ }
+
+ Slide {
+
+ Image {
+ id: background1
+ source: "slide1.png"
+ width: 800; height: 440
+ fillMode: Image.PreserveAspectFit
+ anchors.centerIn: parent
+ }
+ Text {
+ anchors.horizontalCenter: background1.horizontalCenter
+ anchors.top: background1.bottom
+ text: ""
+ wrapMode: Text.WordWrap
+ width: 800
+ horizontalAlignment: Text.Center
+ }
+ }
+
+ Slide {
+
+ Image {
+ id: background2
+ source: "slide2.png"
+ width: 800; height: 440
+ fillMode: Image.PreserveAspectFit
+ anchors.centerIn: parent
+ }
+ Text {
+ anchors.horizontalCenter: background2.horizontalCenter
+ anchors.top: background2.bottom
+ text: ""
+ wrapMode: Text.WordWrap
+ width: 800
+ horizontalAlignment: Text.Center
+ }
+ }
+
+ Slide {
+
+ Image {
+ id: background3
+ source: "slide3.png"
+ width: 800; height: 440
+ fillMode: Image.PreserveAspectFit
+ anchors.centerIn: parent
+ }
+ Text {
+ anchors.horizontalCenter: background3.horizontalCenter
+ anchors.top: background3.bottom
+ text: ""
+ wrapMode: Text.WordWrap
+ width: 800
+ horizontalAlignment: Text.Center
+ }
+ }
+
+ Slide {
+
+ Image {
+ id: background4
+ source: "slide4.png"
+ width: 800; height: 440
+ fillMode: Image.PreserveAspectFit
+ anchors.centerIn: parent
+ }
+ Text {
+ anchors.horizontalCenter: background4.horizontalCenter
+ anchors.top: background4.bottom
+ text: ""
+ wrapMode: Text.WordWrap
+ width: 800
+ horizontalAlignment: Text.Center
+ }
+ }
+
+ Slide {
+
+ Image {
+ id: background5
+ source: "slide5.png"
+ width: 800; height: 440
+ fillMode: Image.PreserveAspectFit
+ anchors.centerIn: parent
+ }
+ Text {
+ anchors.horizontalCenter: background5.horizontalCenter
+ anchors.top: background5.bottom
+ text: ""
+ wrapMode: Text.WordWrap
+ width: 800
+ horizontalAlignment: Text.Center
+ }
+ }
+}
--- /dev/null
+/*
+
+A branding component can ship a stylesheet (like this one)
+which is applied to parts of the Calamares user-interface.
+In principle, all parts can be styled through CSS.
+Missing parts should be filed as issues.
+
+The IDs are based on the object names in the C++ code.
+
+Documentation for styling Qt Widgets through a stylesheet
+can be found at
+ https://doc.qt.io/qt-5/stylesheet-examples.html
+In Calamares, styling widget classes is supported (e.g.
+using `QComboBox` as a selector). You can also use specific
+object names (ids), which you can find through debugging tools.
+
+*/
+
+/* Main application window.
+
+#mainApp { }
+#logoApp { }
+#sidebarApp { }
+#sidebarMenuApp { }
+*/
+
+/* Partitioning module.
+
+#bootInfoIcon { }
+#bootInfoLable { }
+#deviceInfoIcon { }
+#defineInfoLabel { }
+#scrollAreaWidgetContents { }
+#partitionBarView { }
+*/
+
+/* Licensing module.
+
+#licenseItem { }
+#licenseItemFullText { }
+*/
# systemd-boot configuration files settings, set kernel and initramfs file names
# and amount of time before default selection boots
-kernel: "/vmlinuz-linux"
-img: "/initramfs-linux.img"
-fallback: "/initramfs-linux-fallback.img"
+kernel: "_ALL_kver_"
+img: "_default_image_"
+fallback: "_fallback_image_"
timeout: "10"
# Optionally set the menu entry name and kernel name to use in systemd-boot.
# If not specified here, these settings will be taken from branding.desc.
#
-# bootloaderEntryName: "Generic GNU/Linux"
-# kernelLine: ", with Stable-Kernel"
-# fallbackKernelLine: ", with Stable-Kernel (fallback initramfs)"
+bootloaderEntryName: "Alter Linux"
+kernelLine: ", with _alter_kernel_"
+fallbackKernelLine: ", with _alter_kernel_ (fallback initramfs)"
# GRUB 2 binary names and boot directory
# Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.
- gdm
- mdm
- lxdm
- - kdm
+# - kdm
# Enable the following settings to force a desktop environment
# in your displaymanager configuration file. This will attempt
# When the last page is (successfully) reached, send a DBus notification
# to the desktop that the installation is done. This works only if the
# user as whom Calamares is run, can reach the regular desktop session bus.
-notifyOnFinished: false
+notifyOnFinished: true
# we are overwriting it.
#
defaults:
- GRUB_TIMEOUT: 5
+ GRUB_TIMEOUT: 10
GRUB_DEFAULT: "saved"
GRUB_DISABLE_SUBMENU: true
GRUB_TERMINAL_OUTPUT: "console"
- GRUB_DISABLE_RECOVERY: true
+ GRUB_DISABLE_RECOVERY: false
break
if have_plymouth:
- use_splash = "splash"
+ use_splash = "splash", "loglevel=3","udev.log-priority=3"
cryptdevice_params = []
kernel_params.extend(cryptdevice_params)
if use_splash:
- kernel_params.append(use_splash)
+ kernel_params.extend(use_splash)
if swap_uuid:
kernel_params.append("resume=UUID={!s}".format(swap_uuid))
have_kernel_cmd = True
elif (lines[i].startswith("#GRUB_DISTRIBUTOR")
or lines[i].startswith("GRUB_DISTRIBUTOR")):
- if libcalamares.job.configuration.get("keepDistributor", False):
+ if "keepDistributor" in libcalamares.job.configuration:
+ keepDistributor = libcalamares.job.configuration["keepDistributor"]
+ else:
+ keepDistributor = False
+ if not keepDistributor:
lines[i] = distributor_line
have_distributor_line = True
else:
# updated (to a newer kernel) as part of the installation.
#
# Note that "all" is probably not a good preset to use either.
-kernel: linux312
+# kernel: linux312
+kernel: linux-zen
# Set this to true to turn off mitigations for lax file
# permissions on initramfs (which, in turn, can compromise
swap_uuid = ""
btrfs = ""
lvm2 = ""
- hooks = ["base", "udev", "autodetect", "modconf", "block", "keyboard",
- "keymap"]
+ hooks = ["base", "udev"]
+ # It is important that the plymouth hook comes before any encrypt hook
+ if detect_plymouth():
+ hooks += ["plymouth"]
+
+ hooks += ["autodetect", "modconf", "block", "keyboard","keymap"]
+
modules = []
files = []
encrypt_hook = False
openswap_hook = False
unencrypted_separate_boot = False
- # It is important that the plymouth hook comes before any encrypt hook
- if detect_plymouth():
- hooks.append("plymouth")
-
for partition in partitions:
if partition["fs"] == "linuxswap" and not partition.get("claimed", None):
# Skip foreign swap
"--noconfirm"] + pkgs)
def remove(self, pkgs):
- check_target_env_call(["pacman", "-Rs", "--noconfirm"] + pkgs)
+ check_target_env_call(["pacman", "-Rsnc", "--noconfirm"] + pkgs)
def update_db(self):
- check_target_env_call(["pacman", "-Sy"])
+ check_target_env_call(["pacman", "-Syy"])
def update_system(self):
- check_target_env_call(["pacman", "-Su", "--noconfirm"])
+ # check_target_env_call(["pacman-key", "--init"])
+ # check_target_env_call(["pacman-key", "--populate", "alterlinux"])
+ # check_target_env_call(["pacman-key", "--populate", "archlinux"])
+ check_target_env_call(["pacman", "-Syu", "--noconfirm"])
class PMPortage(PackageManager):
# - apk = Alpine Linux package manager
# - dummy - Dummy manager, only logs
#
-backend: dummy
+backend: pacman
#
# Often package installation needs an internet connection.
# post-installing additional packages may result in conflicts.
# Therefore set also "update_system" to 'true'.
#
-skip_if_no_internet: false
-update_db: true
+skip_if_no_internet: true
+update_db: false
update_system: false
#
# of packages, this can lead to a considerable time savings.
#
operations:
- - install:
- - vi
- - vi-${LOCALE}
- - wget
- - binutils
+# - install:
- remove:
- - vi
- - wget
- - binutils
+ - alterlinux-calamares
+ - arch-install-scripts
--- /dev/null
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+#
+# === This file is part of Calamares - <http://github.com/calamares> ===
+#
+# Copyright 2014 - 2019, Philip Müller <philm@manjaro.org>
+# Copyright 2016, Artoo <artoo@manjaro.org>
+#
+# Calamares is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Calamares is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Calamares. If not, see <http://www.gnu.org/licenses/>.
+
+import libcalamares
+import subprocess
+
+from shutil import copy2
+from distutils.dir_util import copy_tree
+from os.path import join, exists
+from libcalamares.utils import target_env_call
+
+
+class ConfigController:
+ def __init__(self):
+ self.__root = libcalamares.globalstorage.value("rootMountPoint")
+ self.__keyrings = libcalamares.job.configuration.get('keyrings', [])
+
+ @property
+ def root(self):
+ return self.__root
+
+ @property
+ def keyrings(self):
+ return self.__keyrings
+
+ def init_keyring(self):
+ target_env_call(["pacman-key", "--init"])
+
+ def populate_keyring(self):
+ target_env_call(["pacman-key", "--populate"] + self.keyrings)
+
+ def terminate(self, proc):
+ target_env_call(['killall', '-9', proc])
+
+ def copy_file(self, file):
+ if exists("/" + file):
+ copy2("/" + file, join(self.root, file))
+
+ def copy_folder(self, source, target):
+ if exists("/" + source):
+ copy_tree("/" + source, join(self.root, target))
+
+ def remove_pkg(self, pkg, path):
+ if exists(join(self.root, path)):
+ target_env_call(['pacman', '-R', '--noconfirm', pkg])
+
+ def umount(self, mp):
+ subprocess.call(["umount", "-l", join(self.root, mp)])
+
+ def mount(self, mp):
+ subprocess.call(["mount", "-B", "/" + mp, join(self.root, mp)])
+
+ def rmdir(self, dir):
+ subprocess.call(["rm", "-Rf", join(self.root, dir)])
+
+ def mkdir(self, dir):
+ subprocess.call(["mkdir", "-p", join(self.root, dir)])
+
+ def run(self):
+ self.init_keyring()
+ self.populate_keyring()
+
+ # Generate mirror list
+ if exists(join(self.root, "usr/bin/pacman-mirrors")):
+ if libcalamares.globalstorage.value("hasInternet"):
+ target_env_call(["pacman-mirrors", "-f3"])
+ else:
+ self.copy_file('etc/pacman.d/mirrorlist')
+
+ # Initialize package manager databases
+ if libcalamares.globalstorage.value("hasInternet"):
+ target_env_call(["pacman", "-Syy"])
+
+ # Remove unneeded ucode
+ cpu_ucode = subprocess.getoutput("hwinfo --cpu | grep Vendor: -m1 | cut -d\'\"\' -f2")
+ if cpu_ucode == "AuthenticAMD":
+ self.remove_pkg("intel-ucode", "boot/intel-ucode.img")
+ elif cpu_ucode == "GenuineIntel":
+ self.remove_pkg("amd-ucode", "boot/amd-ucode.img")
+
+ # Remove calamares
+ self.remove_pkg("calamares", "usr/bin/calamares")
+
+ # Copy skel to root
+ self.copy_folder('etc/skel', 'root')
+
+ # Workaround for pacman-key bug
+ # FS#45351 https://bugs.archlinux.org/task/45351
+ # We have to kill gpg-agent because if it stays
+ # around we can't reliably unmount
+ # the target partition.
+ self.terminate('gpg-agent')
+
+ # Update grub.cfg
+ if exists(join(self.root, "usr/bin/update-grub")):
+ target_env_call(["update-grub"])
+
+ # Enable 'menu_auto_hide' when supported in grubenv
+ if exists(join(self.root, "usr/bin/grub-set-bootflag")):
+ target_env_call(["grub-editenv", "-", "set", "menu_auto_hide=1", "boot_success=1"])
+
+ # Install Office Suite if selected (WIP)
+ #office_package = libcalamares.globalstorage.value("packagechooser_packagechooser")
+ #if not office_package:
+ # libcalamares.utils.warning("no office suite selected, {!s}".format(office_package))
+ #else:
+ # # For PoC we added the Office Packages to mhwd-live overlay in 18.1.0
+ # cmd = ["pacman", "-S", office_package, "--noconfirm", "--config", "/opt/mhwd/pacman-mhwd.conf" ]
+ # self.mkdir("opt/mhwd")
+ # self.mount("opt/mhwd")
+ # self.mount("etc/resolv.conf")
+ # target_env_call(cmd)
+ # self.umount("opt/mhwd")
+ # self.rmdir("opt/mhwd")
+ # self.umount("etc/resolv.conf")
+
+ return None
+
+
+def run():
+ """ Misc postinstall configurations """
+
+ config = ConfigController()
+
+ return config.run()
--- /dev/null
+# Syntax is YAML 1.2
+---
+type: "job"
+name: "postcfg"
+interface: "python"
+script: "main.py" #assumed relative to the current directory
--- /dev/null
+---
+keyrings:
+ - archlinux
+ - alterlinux
# continues as normal.
---
# Username in the target system to be removed.
-username: live
+username: %USERNAME%
--- /dev/null
+# Systemd services manipulation.
+#
+# This module can enable services and targets for systemd
+# (if packaging doesn't already do that). It can calso
+# disable services (but not targets).
+#
+# First, services are enabled; then targets; then services
+# are disabled -- this order of operations is fixed.
+---
+
+# There are three configuration keys for this module:
+# *services*, *targets* and *disable*. The value of each
+# key is a list of entries. Each entry has two keys:
+# - *name* is the (string) name of the service or target that is being
+# changed. Use quotes. Don't include ".target" or ".service"
+# in the name.
+# - *mandatory* is a boolean option, which states whether the change
+# must be done successfully. If systemd reports an error while changing
+# a mandatory entry, the installation will fail. When mandatory is false,
+# errors for that entry (service or target) are ignored. If mandatory
+# is not specified, the default is false.
+#
+# An entry may also be given as a single string, which is then
+# interpreted as the name of the service. In this case, mandatory
+# is also set to the default of false.
+#
+# Use [] to express an empty list.
+
+# # This example enables NetworkManager (and fails if it can't),
+# # disables cups (and ignores failure). Then it enables the
+# # graphical target (e.g. so that SDDM runs for login), and
+# # finally disables pacman-init (an ArchLinux-only service).
+# #
+# # Enables <name>.service
+# services:
+# - name: "NetworkManager"
+# mandatory: true
+# - name: "cups"
+# mandatory: false
+#
+# # Enables <name>.target
+# targets:
+# - name: "graphical"
+# mandatory: true
+#
+# # Disables <name>.service
+# disable:
+# - name: "pacman-init"
+# mandatory: false
+#
+# # Disables <name>.target
+# # .. this shows how to use just the name
+# disable-targets:
+# - graphical
+#
+# # Masks (stronger version of disable). This section
+# # is unusual because you **must** include the suffix
+# # (e.g. ".service") as part of the name, so, e.g. to mask
+# # NetworkManager (rather than just disable it) you must
+# # specify "NetworkManager.service" as name.
+# mask:
+# - name: "NetworkManager.service"
+# - mandatory: true
+
+# By default, no changes are made.
+#services: []
+#targets: []
+#disable: []
+disable-targets: []
+
+# Manjaro settings
+
+services:
+ - name: "NetworkManager"
+ mandatory: false
+
+ - name: "org.cups.cupsd"
+ mandatory: false
+
+ - name: "lightdm-plymouth"
+ mandatory: false
+
+ - name: "pacman-init"
+ mandatory: false
+
+ - name: "tlp"
+ mandatory: false
+
+ - name: "tlp-sleep"
+ mandatory: false
+
+targets:
+ - name: "graphical"
+ mandatory: true
+
+disable:
+ - name: "dhcpcd"
+ mandatory: false
+
+mask:
+ - name: "systemd-rfkill"
+ mandatory: false
+
+ - name: "systemd-rfkill.socket"
+ mandatory: false
\ No newline at end of file
# - mandatory: true
# By default, no changes are made.
-services: []
-targets: []
-disable: []
+#services: []
+#targets: []
+#disable: []
disable-targets: []
-mask: []
+
+# Manjaro settings
+
+services:
+ - name: "NetworkManager"
+ mandatory: false
+
+ - name: "org.cups.cupsd"
+ mandatory: false
+
+ - name: "lightdm"
+ mandatory: false
+
+ - name: "pacman-init"
+ mandatory: false
+
+ - name: "tlp"
+ mandatory: false
+
+ - name: "tlp-sleep"
+ mandatory: false
+
+targets:
+ - name: "graphical"
+ mandatory: true
+
+disable:
+ - name: "dhcpcd"
+ mandatory: false
+
+mask:
+ - name: "systemd-rfkill"
+ mandatory: false
+
+ - name: "systemd-rfkill.socket"
+ mandatory: false
\ No newline at end of file
# command differently from the global setting.
---
dontChroot: false
-timeout: 10
+timeout: 50
script:
- - "-touch @@ROOT@@/tmp/thingy"
- - "/usr/bin/false"
- - command: "/usr/local/bin/slowloris"
- timeout: 3600
+ - "chmod 755 /usr/share/calamares/final-process"
+ - "/usr/share/calamares/final-process -u @@USER@@"
# copied, specify one single file (e.g. CHANGES) and a full pathname
# for its destination name, as in the example below.
+#unpack:
+# - source: ../CHANGES
+# sourcefs: file
+# destination: "/tmp/changes.txt"
+# - source: src/qml/calamares/slideshow
+# sourcefs: file
+# destination: "/tmp/slideshow/"
+# exclude: [ "*.qmlc", "qmldir" ]
+# # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt
+
unpack:
- - source: ../CHANGES
- sourcefs: file
- destination: "/tmp/changes.txt"
- - source: src/qml/calamares/slideshow
- sourcefs: file
- destination: "/tmp/slideshow/"
- exclude: [ "*.qmlc", "qmldir" ]
- # excludeFile: /etc/calamares/modules/unpackfs/exclude-list.txt
+ - source: "/run/archiso/bootmnt/alter/x86_64/airootfs.sfs"
+ sourcefs: "squashfs"
+ destination: ""
+ - source: "/run/archiso/bootmnt/alter/boot/x86_64/vmlinuz-linux-zen"
+ sourcefs: "file"
+ destination: "/boot/vmlinuz-linux-zen"
- storage
- wheel
- audio
+ - sudo
# Some Distributions require a 'autologin' group for the user.
# Autologin causes a user to become automatically logged in to
# - true to check or
# - false to uncheck
# These set the **initial** state of the checkbox.
-doAutologin: true
+doAutologin: false
# When *sudoersGroup* is set to a non-empty string, Calamares creates a
# sudoers file for the user. This file is located at:
# remove this setting (delete or comment out the line below). Otherwise,
# the setting will be duplicated in the `/etc/sudoers.d/10-installer` file,
# potentially confusing users.
-sudoersGroup: wheel
+sudoersGroup: sudo
# Setting this to false, causes the root account to be disabled.
# When disabled, hides the "Use the same password for administrator"
# When checked, the user password is used for the root account too.
#
# NOTE: *doReusePassword* requires *setRootPassword* to be enabled.
-doReusePassword: true
+doReusePassword: false
# These are optional password-requirements that a distro can enforce
# on the user. The values given in this sample file set only very weak
# the checkbox. This checkbox allows the user to choose to disable
# password-strength-checks. By default the box is **hidden**, so
# that you have to pick a password that satisfies the checks.
-allowWeakPasswords: false
+allowWeakPasswords: true
# You can control the initial state for the 'strong passwords' checkbox here.
# Possible values are:
# - true to uncheck or
# and rely on a correct configuration file in /etc/default/useradd
# - set, non-empty, use that path as shell. No validation is done
# that the shell actually exists or is executable.
-# userShell: /bin/bash
+userShell: /bin/zsh
# Hostname setting
#
# - *EtcFile*, to write to `/etc/hostname` directly
# - *Hostnamed*, to use systemd hostnamed(1) over DBus
# The default is *EtcFile*.
-setHostname: EtcFile
+setHostname: Hostnamed
# Should /etc/hosts be written with a hostname for this machine
# (also adds localhost and some ipv6 standard entries).
requiredStorage: 5.5
# Amount of available RAM, in GiB. Floating-point is allowed here.
- requiredRam: 1.0
+ requiredRam: 0.5
# To check for internet connectivity, Calamares does a HTTP GET
# on this URL; on success (e.g. HTTP code 200) internet is OK.
# continue past the welcome page.
required:
# - storage
- - ram
+ # - ram
# - root
# GeoIP checking