Upload files to "/"
This commit is contained in:
commit
d6a47370d7
151 changed files with 10154 additions and 0 deletions
56
usr/share/ezarcher/PkgBuilds/Calamares/PKGBUILD
Normal file
56
usr/share/ezarcher/PkgBuilds/Calamares/PKGBUILD
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
# Ezarcher Calamares Installer pkgbuild
|
||||
|
||||
pkgname=calamares
|
||||
pkgver=3.2.56
|
||||
_pkgver=3.2.56
|
||||
pkgrel=1
|
||||
pkgdesc='Distribution-independent installer framework'
|
||||
arch=('x86_64')
|
||||
license=(GPL)
|
||||
url="https://github.com/calamares/calamares"
|
||||
license=('LGPL')
|
||||
depends=('cmake' 'kconfig' 'kcoreaddons' 'kiconthemes' 'ki18n' 'kio' 'solid' 'yaml-cpp' 'kpmcore' 'qt5-webengine' 'kwidgetsaddons'
|
||||
'icu' 'qt5-location' 'boost-libs' 'qt5-svg' 'qt5ct' 'polkit-qt5' 'gtk-update-icon-cache' 'plasma-framework' 'parted'
|
||||
'qt5-xmlpatterns' 'squashfs-tools' 'libpwquality' 'dmidecode' 'kparts' 'kdbusaddons' 'kservice' 'udisks2' 'upower')
|
||||
makedepends=('extra-cmake-modules' 'qt5-tools' 'qt5-translations' 'git' 'boost')
|
||||
|
||||
source=("$pkgname-$pkgver.tar.gz::https://github.com/calamares/calamares/releases/download/v$pkgver/calamares-$pkgver.tar.gz")
|
||||
sha256sums=('e1402d7693659b85c5e553481a7252d91350c3f33ffea413488d7712d3281e03')
|
||||
|
||||
prepare() {
|
||||
cd ${srcdir}/calamares-${pkgver}
|
||||
sed -i -e 's/"Install configuration files" OFF/"Install configuration files" ON/' CMakeLists.txt
|
||||
|
||||
# change version
|
||||
sed -i -e "s|$pkgver|$_pkgver|g" CMakeLists.txt
|
||||
_ver="$pkgver"
|
||||
printf 'Version: %s-%s' "${_ver}" "${pkgrel}"
|
||||
sed -i -e "s|\${CALAMARES_VERSION_MAJOR}.\${CALAMARES_VERSION_MINOR}.\${CALAMARES_VERSION_PATCH}|${_ver}-${pkgrel}|g" CMakeLists.txt
|
||||
sed -i -e "s|CALAMARES_VERSION_RC 1|CALAMARES_VERSION_RC 0|g" CMakeLists.txt
|
||||
}
|
||||
|
||||
build() {
|
||||
cd ${srcdir}/calamares-${pkgver}
|
||||
|
||||
mkdir -p build
|
||||
cd build
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
|
||||
-DWITH_PYTHONQT:BOOL=ON \
|
||||
-DWITH_KF5DBus=OFF \
|
||||
-DBoost_NO_BOOST_CMAKE=ON \
|
||||
-DSKIP_MODULES="tracking webview interactiveterminal initramfs \
|
||||
initramfscfg dracut dracutlukscfg finishedq summaryq \
|
||||
dummyprocess dummypython dummycpp usersq oemid \
|
||||
dummypythonqt services-openrc keyboardq zfs \
|
||||
localeq plasmalnf welcomeq notesqml packagechooserq"
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd ${srcdir}/calamares-${pkgver}/build
|
||||
make DESTDIR="$pkgdir" install
|
||||
install -Dm644 "../calamares.desktop" "$pkgdir/usr/share/applications/calamares.desktop"
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
Getting started building Calamares:
|
||||
|
||||
Runtime dependencies for Calamares:
|
||||
boost-libs cmake dmidecode gtk-update-icon-cache icu kconfig kcoreaddons kdbusaddons kiconthemes ki18n kio kparts kpmcore kservice kwidgetsaddons libpwquality parted plasma-framework polkit-qt5 qt5-location qt5-svg qt5-webengine qt5-xmlpatterns qt5ct solid squashfs-tools udisks2 upower yaml-cpp
|
||||
|
||||
Build time dependencies for Calamares:
|
||||
extra-cmake-modules git boost qt5-tools qt5-translations
|
||||
|
||||
|
||||
calamares-dependencies.txt
|
||||
# Revision: 2022.04.22 -- by eznix (https://sourceforge.net/projects/ezarch/)
|
||||
# (GNU/General Public License version 3.0)
|
||||
|
|
@ -0,0 +1,222 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# 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: ezarcher
|
||||
|
||||
|
||||
### WELCOME / OVERALL WORDING
|
||||
#
|
||||
# These settings affect some overall phrasing and looks,
|
||||
# which are most visible in the welcome page.
|
||||
|
||||
# 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
|
||||
|
||||
### WINDOW CONFIGURATION
|
||||
#
|
||||
# The settings here affect the placement of the Calamares
|
||||
# window through hints to the window manager and initial
|
||||
# sizing of the Calamares window.
|
||||
|
||||
# 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,520px
|
||||
|
||||
# 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
|
||||
|
||||
### PANELS CONFIGURATION
|
||||
#
|
||||
# Calamares has a main content area, and two panels (navigation
|
||||
# and progress / sidebar). The panels can be controlled individually,
|
||||
# or switched off. If both panels are switched off, the layout of
|
||||
# the main content area loses its margins, on the assumption that
|
||||
# you're doing something special.
|
||||
|
||||
# Kind of sidebar (panel on the left, showing progress).
|
||||
# - "widget" or unset, use traditional sidebar (logo, items)
|
||||
# - "none", hide it entirely
|
||||
# - "qml", use calamares-sidebar.qml from branding folder
|
||||
# In addition, you **may** specify a side, separated by a comma,
|
||||
# from the kind. Valid sides are:
|
||||
# - "left" (if not specified, uses this)
|
||||
# - "right"
|
||||
# - "top"
|
||||
# - "bottom"
|
||||
# For instance, "widget,right" is valid; so is "qml", which defaults
|
||||
# to putting the sidebar on the left. Also valid is "qml,top".
|
||||
# While "widget,top" is valid, the widgets code is **not** flexible
|
||||
# and results will be terrible.
|
||||
sidebar: widget
|
||||
|
||||
# Kind of navigation (button panel on the bottom).
|
||||
# - "widget" or unset, use traditional navigation
|
||||
# - "none", hide it entirely
|
||||
# - "qml", use calamares-navigation.qml from branding folder
|
||||
# In addition, you **may** specify a side, separated by a comma,
|
||||
# from the kind. The same sides are valid as for *sidebar*,
|
||||
# except the default is *bottom*.
|
||||
navigation: widget
|
||||
|
||||
|
||||
### STRINGS, IMAGES AND COLORS
|
||||
#
|
||||
# This section contains the "branding proper" of names
|
||||
# and images, rather than global-look settings.
|
||||
|
||||
# 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: "@{NAME}"
|
||||
shortProductName: Ezarcher
|
||||
version: 2021
|
||||
shortVersion: 2021
|
||||
versionedName: Ezarcher Linux
|
||||
shortVersionedName: Ezarcher Linux
|
||||
bootloaderEntryName: Ezarcher
|
||||
productUrl: https://sourceforge.net/projects/ezarch/
|
||||
# supportUrl: https://sourceforge.net/projects/ezarch/
|
||||
# knownIssuesUrl: https://sourceforge.net/projects/ezarch/
|
||||
# releaseNotesUrl: https://sourceforge.net/projects/ezarch/
|
||||
# donateUrl: https://sourceforge.net/projects/ezarch/
|
||||
|
||||
# These images are loaded from the branding module directory.
|
||||
#
|
||||
# productBanner is an optional image, which if present, will be shown
|
||||
# on the welcome page of the application, above the welcome text.
|
||||
# It is intended to have a width much greater than height.
|
||||
# It is displayed at 64px height (also on HiDPI).
|
||||
# Recommended size is 64px tall, and up to 460px wide.
|
||||
# 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).
|
||||
# productWallpaper is an optional image, which if present, will replace
|
||||
# the normal solid background on every page of the application.
|
||||
# It can be any size and proportion,
|
||||
# and will be tiled to fit the entire window.
|
||||
# For a non-tiled wallpaper, the size should be the same as
|
||||
# the overall window, see *windowSize* above (800x520).
|
||||
# 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:
|
||||
# productBanner: "banner.png"
|
||||
productIcon: "squid.png"
|
||||
productLogo: "logo.png"
|
||||
productWallpaper: "wallpaper.png"
|
||||
productWelcome: "languages.png"
|
||||
|
||||
# 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: "#292F34"
|
||||
sidebarText: "#FFFFFF"
|
||||
sidebarTextSelect: "#292F34"
|
||||
sidebarTextHighlight: "#D35400"
|
||||
|
||||
### SLIDESHOW
|
||||
#
|
||||
# The slideshow is displayed during execution steps (e.g. when the
|
||||
# installer is actually writing to disk and doing other slow things).
|
||||
|
||||
# The slideshow can be a QML file (recommended) which can display
|
||||
# arbitrary things -- text, images, animations, or even play a game --
|
||||
# during the execution step. The QML **is** abruptly stopped when the
|
||||
# execution step is done, though, so maybe a game isn't a great idea.
|
||||
#
|
||||
# The slideshow can also be a sequence of images (not recommended unless
|
||||
# you don't want QML at all in your Calamares). The images are displayed
|
||||
# at a rate of 1 every 2 seconds during the execution step.
|
||||
#
|
||||
# To configure a QML file, list a single filename:
|
||||
# slideshow: "show.qml"
|
||||
# To configure images, like the filenames (here, as an inline list):
|
||||
# slideshow: [ "/etc/calamares/slideshow/0.png", "/etc/logo.png" ]
|
||||
slideshow: "show.qml"
|
||||
|
||||
# There are two available APIs for a QML 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).
|
||||
#
|
||||
# An image slideshow does not need to have the API defined.
|
||||
slideshowAPI: 2
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
|
|
@ -0,0 +1,2 @@
|
|||
SPDX-FileCopyrightText: 2015 Teo Mrnjavac <teo@kde.org>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 33 KiB |
|
|
@ -0,0 +1,148 @@
|
|||
/* === 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/>.
|
||||
*
|
||||
* Ezarcher custom settings
|
||||
*/
|
||||
|
||||
import QtQuick 2.0;
|
||||
import calamares.slideshow 1.0;
|
||||
|
||||
Presentation
|
||||
{
|
||||
id: presentation
|
||||
|
||||
Timer {
|
||||
id: advanceTimer
|
||||
interval: 30000
|
||||
running: true
|
||||
repeat: true
|
||||
onTriggered: presentation.goToNextSlide()
|
||||
}
|
||||
|
||||
Slide {
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
|
||||
Image {
|
||||
id: background1
|
||||
source: "slide1.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: 165
|
||||
anchors.horizontalCenterOffset: 0
|
||||
font.pixelSize: parent.width *.020
|
||||
color: 'white'
|
||||
text: qsTr("<b>Welcome to Ezarcher, an Arch based Linux<br/>")
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width / 1.4
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
Image {
|
||||
id: background2
|
||||
source: "slide1.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: 163
|
||||
anchors.horizontalCenterOffset: 0
|
||||
font.pixelSize: parent.width *.020
|
||||
color: 'white'
|
||||
text: qsTr("<b>Ezarcher is 100% compatible with Arch Linux<br/>")
|
||||
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width / 1.4
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
Image {
|
||||
id: background3
|
||||
source: "slide1.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: 165
|
||||
anchors.horizontalCenterOffset: 0
|
||||
font.pixelSize: parent.width *.020
|
||||
color: 'white'
|
||||
text: qsTr("<b>Look inside the ~/ezarcher folder for documentation<br/>")
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width / 1.4
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Slide {
|
||||
anchors.fill: parent
|
||||
anchors.verticalCenterOffset: 0
|
||||
|
||||
Image {
|
||||
id: background4
|
||||
source: "slide1.png"
|
||||
width: parent.width; height: parent.height
|
||||
horizontalAlignment: Image.AlignCenter
|
||||
verticalAlignment: Image.AlignTop
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: 165
|
||||
anchors.horizontalCenterOffset: 0
|
||||
font.pixelSize: parent.width *.020
|
||||
color: 'white'
|
||||
text: qsTr("<b>Thank you for trying Ezarcher<br/>")
|
||||
wrapMode: Text.WordWrap
|
||||
width: parent.width / 1.4
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: advanceTimer.running = true
|
||||
}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.1 KiB |
|
|
@ -0,0 +1,2 @@
|
|||
SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
|
||||
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.
|
||||
You can use the Debug Dialog to find out object names:
|
||||
- Open the debug dialog
|
||||
- Choose tab *Tools*
|
||||
- Click *Widget Tree* button
|
||||
The list of object names is printed in the log.
|
||||
|
||||
Documentation for styling Qt Widgets through a stylesheet
|
||||
can be found at
|
||||
https://doc.qt.io/qt-5/stylesheet-examples.html
|
||||
https://doc.qt.io/qt-5/stylesheet-reference.html
|
||||
In Calamares, styling widget classes is supported (e.g.
|
||||
using `QComboBox` as a selector).
|
||||
|
||||
This example stylesheet has all the actual styling commented out.
|
||||
The examples are not exhaustive.
|
||||
|
||||
*/
|
||||
|
||||
/*** Generic Widgets.
|
||||
*
|
||||
* You can style **all** widgets of a given class by selecting
|
||||
* the class name. Some widgets have specialized sub-selectors.
|
||||
*/
|
||||
|
||||
/*
|
||||
QPushButton { background-color: green; }
|
||||
*/
|
||||
|
||||
/*** Main application window.
|
||||
*
|
||||
* The main application window has the sidebar, which in turn
|
||||
* contains a logo and a list of items -- note that the list
|
||||
* can **not** be styled, since it has its own custom C++
|
||||
* delegate code.
|
||||
*/
|
||||
|
||||
/*
|
||||
#mainApp { }
|
||||
#sidebarApp { }
|
||||
#logoApp { }
|
||||
*/
|
||||
|
||||
/*** Welcome module.
|
||||
*
|
||||
* There are plenty of parts, but the buttons are the most interesting
|
||||
* ones (donate, release notes, ...). The little icon image can be
|
||||
* styled through *qproperty-icon*, which is a little obscure.
|
||||
* URLs can reference the QRC paths of the Calamares application
|
||||
* or loaded via plugins or within the filesystem. There is no
|
||||
* comprehensive list of available icons, though.
|
||||
*/
|
||||
|
||||
/*
|
||||
QPushButton#aboutButton { qproperty-icon: url(:/data/images/release.svg); }
|
||||
#donateButton,
|
||||
#supportButton,
|
||||
#releaseNotesButton,
|
||||
#knownIssuesButton { qproperty-icon: url(:/data/images/help.svg); }
|
||||
*/
|
||||
|
||||
/*** Partitioning module.
|
||||
*
|
||||
* Many moving parts, which you will need to experiment with.
|
||||
*/
|
||||
|
||||
/*
|
||||
#bootInfoIcon { }
|
||||
#bootInfoLable { }
|
||||
#deviceInfoIcon { }
|
||||
#defineInfoLabel { }
|
||||
#scrollAreaWidgetContents { }
|
||||
#partitionBarView { }
|
||||
*/
|
||||
|
||||
/*** Licensing module.
|
||||
*
|
||||
* The licensing module paints individual widgets for each of
|
||||
* the licenses. The item can be collapsed or expanded.
|
||||
*/
|
||||
|
||||
/*
|
||||
#licenseItem { }
|
||||
#licenseItemFullText { }
|
||||
*/
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 516 KiB |
|
|
@ -0,0 +1,22 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the bootloader module.
|
||||
#
|
||||
---
|
||||
|
||||
efiBootLoader: "grub"
|
||||
|
||||
kernel: "/vmlinuz-linux"
|
||||
img: "/initramfs-linux.img"
|
||||
fallback: "/initramfs-linux-fallback.img"
|
||||
timeout: "10"
|
||||
|
||||
grubInstall: "grub-install"
|
||||
grubMkconfig: "grub-mkconfig"
|
||||
grubCfg: "/boot/grub/grub.cfg"
|
||||
grubProbe: "grub-probe"
|
||||
efiBootMgr: "efibootmgr"
|
||||
|
||||
installEFIFallback: true
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the displaymanager module.
|
||||
#
|
||||
---
|
||||
|
||||
displaymanagers:
|
||||
- sddm
|
||||
- lightdm
|
||||
|
||||
basicSetup: false
|
||||
|
||||
sysconfigSetup: false
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the fstab module.
|
||||
#
|
||||
---
|
||||
|
||||
mountOptions:
|
||||
default: defaults,noatime
|
||||
btrfs: defaults,noatime,noautodefrag
|
||||
btrfs_swap: defaults
|
||||
|
||||
efiMountOptions: umask=0077
|
||||
|
||||
ssdExtraMountOptions:
|
||||
btrfs: ssd
|
||||
|
||||
crypttabOptions: luks
|
||||
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the grugcfg module.
|
||||
#
|
||||
---
|
||||
|
||||
overwrite: false
|
||||
|
||||
prefer_grub_d: false
|
||||
|
||||
keepDistributor: false
|
||||
|
||||
defaults:
|
||||
GRUB_TIMEOUT: 5
|
||||
GRUB_DEFAULT: "saved"
|
||||
GRUB_DISABLE_SUBMENU: true
|
||||
GRUB_TERMINAL_OUTPUT: "console"
|
||||
GRUB_DISABLE_RECOVERY: true
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the initcpio module.
|
||||
#
|
||||
---
|
||||
|
||||
kernel: linux
|
||||
|
||||
be_unsafe: false
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the keyboard module.
|
||||
#
|
||||
---
|
||||
|
||||
xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"
|
||||
|
||||
convertedKeymapPath: "/lib/kbd/keymaps/xkb"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the locale module.
|
||||
#
|
||||
---
|
||||
|
||||
region: ""
|
||||
zone: ""
|
||||
|
||||
geoip:
|
||||
style: "json"
|
||||
url: "https://geoip.kde.org/v1/calamares"
|
||||
selector: "" # leave blank for the default
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Machine-ID and other random data on the target system.
|
||||
#
|
||||
---
|
||||
|
||||
systemd: true
|
||||
|
||||
dbus: true
|
||||
|
||||
dbus-symlink: true
|
||||
|
||||
entropy-copy: false
|
||||
|
||||
entropy-files:
|
||||
- /var/lib/urandom/random-seed
|
||||
- /var/lib/systemd/random-seed
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the mount module.
|
||||
#
|
||||
---
|
||||
|
||||
extraMounts:
|
||||
- device: proc
|
||||
fs: proc
|
||||
mountPoint: /proc
|
||||
- device: sys
|
||||
fs: sysfs
|
||||
mountPoint: /sys
|
||||
- device: /dev
|
||||
mountPoint: /dev
|
||||
options: bind
|
||||
- device: tmpfs
|
||||
fs: tmpfs
|
||||
mountPoint: /run
|
||||
- device: /run/udev
|
||||
mountPoint: /run/udev
|
||||
options: bind
|
||||
|
||||
extraMountsEfi:
|
||||
- device: efivarfs
|
||||
fs: efivarfs
|
||||
mountPoint: /sys/firmware/efi/efivars
|
||||
|
||||
btrfsSubvolumes:
|
||||
- mountPoint: /
|
||||
subvolume: /@
|
||||
- mountPoint: /home
|
||||
subvolume: /@home
|
||||
- mountPoint: /var/cache
|
||||
subvolume: /@cache
|
||||
- mountPoint: /var/log
|
||||
subvolume: /@log
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# The configuration for the packages module.
|
||||
#
|
||||
---
|
||||
|
||||
backend: pacman
|
||||
|
||||
skip_if_no_internet: false
|
||||
update_db: false
|
||||
update_system: false
|
||||
|
||||
operations:
|
||||
- remove:
|
||||
- calamares
|
||||
- ckbcomp
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the partition module.
|
||||
#
|
||||
---
|
||||
|
||||
efiSystemPartition: "/boot/efi"
|
||||
|
||||
efiSystemPartitionSize: 550M
|
||||
|
||||
efiSystemPartitionName: EFI
|
||||
|
||||
userSwapChoices:
|
||||
- none # Create no swap, use no swap
|
||||
- small # Up to 4GB
|
||||
- suspend # At least main memory size
|
||||
# - reuse # Re-use existing swap, but don't create any (unsupported right now)
|
||||
- file # To swap file instead of partition
|
||||
|
||||
swapPartitionName: SWAP
|
||||
|
||||
drawNestedPartitions: false
|
||||
|
||||
alwaysShowPartitionLabels: true
|
||||
|
||||
allowManualPartitioning: true
|
||||
|
||||
initialPartitioningChoice: none
|
||||
|
||||
initialSwapChoice: none
|
||||
|
||||
defaultFileSystemType: "ext4"
|
||||
|
||||
availableFileSystemTypes: ["ext4","btrfs","xfs"]
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the removeuser module.
|
||||
#
|
||||
---
|
||||
|
||||
username: live
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Systemd services manipulation.
|
||||
#
|
||||
---
|
||||
|
||||
services:
|
||||
- name: "avahi-daemon"
|
||||
mandatory: false
|
||||
|
||||
timers:
|
||||
- name: "fstrim"
|
||||
mandatory: false
|
||||
- name: "plocate-updatedb"
|
||||
mandatory: false
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the ezfinish.conf shell process job.
|
||||
#
|
||||
---
|
||||
|
||||
i18n:
|
||||
name: "Remove misc files"
|
||||
|
||||
dontChroot: false
|
||||
timeout: 999
|
||||
script:
|
||||
- "-mv @@ROOT@@/etc/systemd/system/ez-pacman-init @@ROOT@@/etc/systemd/system/pacman-init.service"
|
||||
- "-rm @@ROOT@@/etc/systemd/system/etc-pacman.d-gnupg.mount"
|
||||
- "-rm @@ROOT@@/root/.automated_script.sh"
|
||||
- "-rm @@ROOT@@/root/.zlogin"
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the mvezmkinit.conf files shell process job.
|
||||
#
|
||||
---
|
||||
|
||||
i18n:
|
||||
name: "Fix mkinitcpio stuff"
|
||||
|
||||
dontChroot: false
|
||||
timeout: 999
|
||||
script:
|
||||
- "-mv @@ROOT@@/etc/mkinitcpio.d/ezmkinit @@ROOT@@/etc/mkinitcpio.d/linux.preset"
|
||||
- "-mv @@ROOT@@/etc/ezmkinitcpio.conf @@ROOT@@/etc/mkinitcpio.conf"
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the unpackfs module.
|
||||
#
|
||||
---
|
||||
|
||||
unpack:
|
||||
- source: "/run/archiso/bootmnt/arch/x86_64/airootfs.sfs"
|
||||
sourcefs: "squashfs"
|
||||
destination: "/"
|
||||
- source: "/run/archiso/bootmnt/arch/boot/x86_64/vmlinuz-linux"
|
||||
sourcefs: "file"
|
||||
destination: "/boot/vmlinuz-linux"
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the users module.
|
||||
#
|
||||
---
|
||||
|
||||
defaultGroups:
|
||||
- name: users
|
||||
must_exist: true
|
||||
system: true
|
||||
- adm
|
||||
- lp
|
||||
- power
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- name: wheel
|
||||
must_exist: false
|
||||
system: true
|
||||
- audio
|
||||
- sys
|
||||
- optical
|
||||
- scanner
|
||||
- rfkill
|
||||
- uucp
|
||||
- sambashare
|
||||
|
||||
|
||||
autologinGroup: autologin
|
||||
|
||||
doAutologin: false
|
||||
|
||||
sudoersGroup: wheel
|
||||
|
||||
setRootPassword: true
|
||||
|
||||
doReusePassword: true
|
||||
|
||||
passwordRequirements:
|
||||
nonempty: true
|
||||
minLength: -1 # Password at least this many characters
|
||||
maxLength: -1 # Password at most this many characters
|
||||
libpwquality:
|
||||
- minlen=0
|
||||
- minclass=0
|
||||
|
||||
allowWeakPasswords: true
|
||||
|
||||
allowWeakPasswordsDefault: true
|
||||
|
||||
userShell: /bin/bash
|
||||
|
||||
setHostname: EtcFile
|
||||
|
||||
writeHostsFile: true
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration for the welcome module.
|
||||
#
|
||||
---
|
||||
|
||||
showSupportUrl: false
|
||||
showKnownIssuesUrl: false
|
||||
showReleaseNotesUrl: false
|
||||
showDonateUrl: false
|
||||
|
||||
requirements:
|
||||
requiredStorage: 8.0
|
||||
|
||||
requiredRam: 1.0
|
||||
|
||||
internetCheckUrl: http://www.freebsd.org
|
||||
|
||||
check:
|
||||
- storage
|
||||
- ram
|
||||
- power
|
||||
- internet
|
||||
- root
|
||||
- screen
|
||||
|
||||
required:
|
||||
# - storage
|
||||
- ram
|
||||
# - root
|
||||
|
||||
geoip:
|
||||
style: "xml"
|
||||
url: "https://geoip.kde.org/v1/ubiquity" # extended XML format
|
||||
selector: "CountryCode" # blank uses default, which is wrong
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
NavButton {
|
||||
id: backButton
|
||||
anchors.left: parent.left
|
||||
visible: parent.currentSlide > 0
|
||||
isForward: false
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
NavButton {
|
||||
id: forwardButton
|
||||
anchors.right: parent.right
|
||||
visible: parent.currentSlide + 1 < parent.slides.length;
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
/* This is a navigation (arrow) button that fades in on hover, and
|
||||
* which calls forward / backward navigation on the presentation it
|
||||
* is in. It should be a child item of the presentation (not of a
|
||||
* single slide). Use the ForwardButton or BackButton for a pre-
|
||||
* configured instance that interacts with the presentation.
|
||||
*/
|
||||
|
||||
import QtQuick 2.5;
|
||||
|
||||
Image {
|
||||
id: fade
|
||||
|
||||
property bool isForward : true
|
||||
|
||||
width: 100
|
||||
height: 100
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
opacity: 0.3
|
||||
|
||||
OpacityAnimator {
|
||||
id: fadeIn
|
||||
target: fade
|
||||
from: fade.opacity
|
||||
to: 1.0
|
||||
duration: 500
|
||||
running: false
|
||||
}
|
||||
|
||||
OpacityAnimator {
|
||||
id: fadeOut
|
||||
target: fade
|
||||
from: fade.opacity
|
||||
to: 0.3
|
||||
duration: 250
|
||||
running: false
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onEntered: { fadeOut.running = false; fadeIn.running = true }
|
||||
onExited: { fadeIn.running = false ; fadeOut.running = true }
|
||||
onClicked: {
|
||||
if (isForward)
|
||||
fade.parent.goToNextSlide()
|
||||
else
|
||||
fade.parent.goToPreviousSlide()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,243 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2017 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-FileCopyrightText: 2016 The Qt Company Ltd.
|
||||
* SPDX-License-Identifier: LGPL-2.1-only
|
||||
*
|
||||
* 2017, Adriaan de Groot <groot@kde.org>
|
||||
* - added looping, keys-instead-of-shortcut
|
||||
* 2018, Adriaan de Groot <groot@kde.org>
|
||||
* - make looping a property, drop the 'c' fade-key
|
||||
* - drop navigation through entering a slide number
|
||||
* (this and the 'c' key make sense in a *presentation*
|
||||
* slideshow, not in a passive slideshow like Calamares)
|
||||
* - remove quit key
|
||||
* 2019, Adriaan de Groot <groot@kde.org>
|
||||
* - Support "V2" loading
|
||||
* - Disable shortcuts until the content is visible in Calamares
|
||||
* 2020, Adriaan de Groot <groot@kde.org>
|
||||
* - Updated to SPDX headers
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QML Presentation System.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.5
|
||||
import QtQuick.Window 2.0
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
property variant slides: []
|
||||
property int currentSlide: 0
|
||||
|
||||
property bool loopSlides: true
|
||||
|
||||
property bool showNotes: false;
|
||||
property bool allowDelay: true;
|
||||
property alias mouseNavigation: mouseArea.enabled
|
||||
property bool arrowNavigation: true
|
||||
property bool keyShortcutsEnabled: true
|
||||
|
||||
property color titleColor: textColor;
|
||||
property color textColor: "black"
|
||||
property string fontFamily: "Helvetica"
|
||||
property string codeFontFamily: "Courier New"
|
||||
|
||||
// This is set by the C++ part of Calamares when the slideshow
|
||||
// becomes visible. You can connect it to a timer, or whatever
|
||||
// else needs to start only when the slideshow becomes visible.
|
||||
//
|
||||
// It is used in this example also to keep the keyboard shortcuts
|
||||
// enabled only while the slideshow is active.
|
||||
property bool activatedInCalamares: false
|
||||
|
||||
// Private API
|
||||
property int _lastShownSlide: 0
|
||||
|
||||
Component.onCompleted: {
|
||||
var slideCount = 0;
|
||||
var slides = [];
|
||||
for (var i=0; i<root.children.length; ++i) {
|
||||
var r = root.children[i];
|
||||
if (r.isSlide) {
|
||||
slides.push(r);
|
||||
}
|
||||
}
|
||||
|
||||
root.slides = slides;
|
||||
|
||||
// Make first slide visible...
|
||||
if (root.slides.length > 0)
|
||||
root.slides[root.currentSlide].visible = true;
|
||||
}
|
||||
|
||||
function switchSlides(from, to, forward) {
|
||||
from.visible = false
|
||||
to.visible = true
|
||||
return true
|
||||
}
|
||||
|
||||
onCurrentSlideChanged: {
|
||||
switchSlides(root.slides[_lastShownSlide], root.slides[currentSlide], currentSlide > _lastShownSlide)
|
||||
_lastShownSlide = currentSlide
|
||||
// Always keep focus on the slideshow
|
||||
root.focus = true
|
||||
}
|
||||
|
||||
function goToNextSlide() {
|
||||
if (root.slides[currentSlide].delayPoints) {
|
||||
if (root.slides[currentSlide]._advance())
|
||||
return;
|
||||
}
|
||||
if (currentSlide + 1 < root.slides.length)
|
||||
++currentSlide;
|
||||
else if (loopSlides)
|
||||
currentSlide = 0; // Loop at the end
|
||||
}
|
||||
|
||||
function goToPreviousSlide() {
|
||||
if (currentSlide - 1 >= 0)
|
||||
--currentSlide;
|
||||
else if (loopSlides)
|
||||
currentSlide = root.slides.length - 1
|
||||
}
|
||||
|
||||
focus: true // Keep focus
|
||||
|
||||
// Navigation through key events, too
|
||||
Keys.onSpacePressed: goToNextSlide()
|
||||
Keys.onRightPressed: goToNextSlide()
|
||||
Keys.onLeftPressed: goToPreviousSlide()
|
||||
|
||||
// navigate with arrow keys
|
||||
Shortcut { sequence: StandardKey.MoveToNextLine; enabled: root.activatedInCalamares && root .arrowNavigation; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousLine; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToNextChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousChar; enabled: root.activatedInCalamares && root.arrowNavigation; onActivated: goToPreviousSlide() }
|
||||
|
||||
// presentation-specific single-key shortcuts (which interfere with normal typing)
|
||||
Shortcut { sequence: " "; enabled: root.activatedInCalamares && root.keyShortcutsEnabled; onActivated: goToNextSlide() }
|
||||
|
||||
// standard shortcuts
|
||||
Shortcut { sequence: StandardKey.MoveToNextPage; enabled: root.activatedInCalamares; onActivated: goToNextSlide() }
|
||||
Shortcut { sequence: StandardKey.MoveToPreviousPage; enabled: root.activatedInCalamares; onActivated: goToPreviousSlide() }
|
||||
|
||||
MouseArea {
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
acceptedButtons: Qt.LeftButton | Qt.RightButton
|
||||
onClicked: {
|
||||
if (mouse.button == Qt.RightButton)
|
||||
goToPreviousSlide()
|
||||
else
|
||||
goToNextSlide()
|
||||
}
|
||||
onPressAndHold: goToPreviousSlide(); //A back mechanism for touch only devices
|
||||
}
|
||||
|
||||
Window {
|
||||
id: notesWindow;
|
||||
width: 400
|
||||
height: 300
|
||||
|
||||
title: "QML Presentation: Notes"
|
||||
visible: root.showNotes
|
||||
|
||||
Flickable {
|
||||
anchors.fill: parent
|
||||
contentWidth: parent.width
|
||||
contentHeight: textContainer.height
|
||||
|
||||
Item {
|
||||
id: textContainer
|
||||
width: parent.width
|
||||
height: notesText.height + 2 * notesText.padding
|
||||
|
||||
Text {
|
||||
id: notesText
|
||||
|
||||
property real padding: 16;
|
||||
|
||||
x: padding
|
||||
y: padding
|
||||
width: parent.width - 2 * padding
|
||||
|
||||
|
||||
font.pixelSize: 16
|
||||
wrapMode: Text.WordWrap
|
||||
|
||||
property string notes: root.slides[root.currentSlide].notes;
|
||||
|
||||
onNotesChanged: {
|
||||
var result = "";
|
||||
|
||||
var lines = notes.split("\n");
|
||||
var beginNewLine = false
|
||||
for (var i=0; i<lines.length; ++i) {
|
||||
var line = lines[i].trim();
|
||||
if (line.length == 0) {
|
||||
beginNewLine = true;
|
||||
} else {
|
||||
if (beginNewLine && result.length) {
|
||||
result += "\n\n"
|
||||
beginNewLine = false
|
||||
}
|
||||
if (result.length > 0)
|
||||
result += " ";
|
||||
result += line;
|
||||
}
|
||||
}
|
||||
|
||||
if (result.length == 0) {
|
||||
font.italic = true;
|
||||
text = "no notes.."
|
||||
} else {
|
||||
font.italic = false;
|
||||
text = result;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,206 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
* SPDX-License-Identifier: LGPL-2.1-only
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
|
||||
** Contact: http://www.qt-project.org/legal
|
||||
**
|
||||
** This file is part of the QML Presentation System.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and Digia. For licensing terms and
|
||||
** conditions see http://qt.digia.com/licensing. For further information
|
||||
** use the contact form at http://qt.digia.com/contact-us.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Digia gives you certain additional
|
||||
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
import QtQuick 2.5
|
||||
|
||||
Item {
|
||||
/*
|
||||
Slides can only be instantiated as a direct child of a Presentation {} as they rely on
|
||||
several properties there.
|
||||
*/
|
||||
|
||||
id: slide
|
||||
|
||||
property bool isSlide: true;
|
||||
|
||||
property bool delayPoints: false;
|
||||
property int _pointCounter: 0;
|
||||
function _advance() {
|
||||
if (!parent.allowDelay)
|
||||
return false;
|
||||
|
||||
_pointCounter = _pointCounter + 1;
|
||||
if (_pointCounter < content.length)
|
||||
return true;
|
||||
_pointCounter = 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
property string title;
|
||||
property variant content: []
|
||||
property string centeredText
|
||||
property string writeInText;
|
||||
property string notes;
|
||||
|
||||
property real fontSize: parent.height * 0.05
|
||||
property real fontScale: 1
|
||||
|
||||
property real baseFontSize: fontSize * fontScale
|
||||
property real titleFontSize: fontSize * 1.2 * fontScale
|
||||
property real bulletSpacing: 1
|
||||
|
||||
property real contentWidth: width
|
||||
|
||||
// Define the slide to be the "content area"
|
||||
x: parent.width * 0.05
|
||||
y: parent.height * 0.2
|
||||
width: parent.width * 0.9
|
||||
height: parent.height * 0.7
|
||||
|
||||
property real masterWidth: parent.width
|
||||
property real masterHeight: parent.height
|
||||
|
||||
property color titleColor: parent.titleColor;
|
||||
property color textColor: parent.textColor;
|
||||
property string fontFamily: parent.fontFamily;
|
||||
property int textFormat: Text.PlainText
|
||||
|
||||
visible: false
|
||||
|
||||
Text {
|
||||
id: titleText
|
||||
font.pixelSize: titleFontSize
|
||||
text: title;
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.top
|
||||
anchors.bottomMargin: parent.fontSize * 1.5
|
||||
font.bold: true;
|
||||
font.family: slide.fontFamily
|
||||
color: slide.titleColor
|
||||
horizontalAlignment: Text.Center
|
||||
z: 1
|
||||
}
|
||||
|
||||
Text {
|
||||
id: centeredId
|
||||
width: parent.width
|
||||
anchors.centerIn: parent
|
||||
anchors.verticalCenterOffset: - parent.y / 3
|
||||
text: centeredText
|
||||
horizontalAlignment: Text.Center
|
||||
font.pixelSize: baseFontSize
|
||||
font.family: slide.fontFamily
|
||||
color: slide.textColor
|
||||
wrapMode: Text.Wrap
|
||||
}
|
||||
|
||||
Text {
|
||||
id: writeInTextId
|
||||
property int length;
|
||||
font.family: slide.fontFamily
|
||||
font.pixelSize: baseFontSize
|
||||
color: slide.textColor
|
||||
|
||||
anchors.fill: parent;
|
||||
wrapMode: Text.Wrap
|
||||
|
||||
text: slide.writeInText.substring(0, length);
|
||||
|
||||
NumberAnimation on length {
|
||||
from: 0;
|
||||
to: slide.writeInText.length;
|
||||
duration: slide.writeInText.length * 30;
|
||||
running: slide.visible && parent.visible && slide.writeInText.length > 0
|
||||
}
|
||||
|
||||
visible: slide.writeInText != undefined;
|
||||
}
|
||||
|
||||
|
||||
Column {
|
||||
id: contentId
|
||||
anchors.fill: parent
|
||||
|
||||
Repeater {
|
||||
model: content.length
|
||||
|
||||
Row {
|
||||
id: row
|
||||
|
||||
function decideIndentLevel(s) { return s.charAt(0) == " " ? 1 + decideIndentLevel(s.substring(1)) : 0 }
|
||||
property int indentLevel: decideIndentLevel(content[index])
|
||||
property int nextIndentLevel: index < content.length - 1 ? decideIndentLevel(content[index+1]) : 0
|
||||
property real indentFactor: (10 - row.indentLevel * 2) / 10;
|
||||
|
||||
height: text.height + (nextIndentLevel == 0 ? 1 : 0.3) * slide.baseFontSize * slide.bulletSpacing
|
||||
x: slide.baseFontSize * indentLevel
|
||||
visible: (!slide.parent.allowDelay || !delayPoints) || index <= _pointCounter
|
||||
|
||||
Rectangle {
|
||||
id: dot
|
||||
anchors.baseline: text.baseline
|
||||
anchors.baselineOffset: -text.font.pixelSize / 2
|
||||
width: text.font.pixelSize / 3
|
||||
height: text.font.pixelSize / 3
|
||||
color: slide.textColor
|
||||
radius: width / 2
|
||||
opacity: text.text.length == 0 ? 0 : 1
|
||||
}
|
||||
|
||||
Item {
|
||||
id: space
|
||||
width: dot.width * 1.5
|
||||
height: 1
|
||||
}
|
||||
|
||||
Text {
|
||||
id: text
|
||||
width: slide.contentWidth - parent.x - dot.width - space.width
|
||||
font.pixelSize: baseFontSize * row.indentFactor
|
||||
text: content[index]
|
||||
textFormat: slide.textFormat
|
||||
wrapMode: Text.WordWrap
|
||||
color: slide.textColor
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
font.family: slide.fontFamily
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
/* === This file is part of Calamares - <https://calamares.io> ===
|
||||
*
|
||||
* SPDX-FileCopyrightText: 2018 Adriaan de Groot <groot@kde.org>
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
* Calamares is Free Software: see the License-Identifier above.
|
||||
*
|
||||
*/
|
||||
|
||||
/* This control just shows a (non-translated) count of the slides
|
||||
* in the slideshow in the format "n / total".
|
||||
*/
|
||||
|
||||
import QtQuick 2.5;
|
||||
|
||||
Rectangle {
|
||||
id: slideCounter
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
width: 100
|
||||
height: 50
|
||||
|
||||
Text {
|
||||
id: slideCounterText
|
||||
anchors.centerIn: parent
|
||||
//: slide counter, %1 of %2 (numeric)
|
||||
text: qsTr("%L1 / %L2").arg(parent.parent.currentSlide + 1).arg(parent.parent.slides.length)
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
module calamares.slideshow
|
||||
|
||||
Presentation 1.0 Presentation.qml
|
||||
Slide 1.0 Slide.qml
|
||||
|
||||
NavButton 1.0 NavButton.qml
|
||||
ForwardButton 1.0 ForwardButton.qml
|
||||
BackButton 1.0 BackButton.qml
|
||||
|
||||
SlideCounter 1.0 SlideCounter.qml
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
SPDX-FileCopyrightText: no
|
||||
SPDX-License-Identifier: CC0-1.0
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
# Ezarcher custom settings
|
||||
# SPDX-FileCopyrightText: no
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
#
|
||||
# Configuration file for Calamares
|
||||
#
|
||||
---
|
||||
|
||||
modules-search: [ local ]
|
||||
|
||||
instances:
|
||||
- id: mvezmkinit
|
||||
module: shellprocess
|
||||
config: shellprocess-mvezmkinit.conf
|
||||
- id: ezfinish
|
||||
module: shellprocess
|
||||
config: shellprocess-ezfinish.conf
|
||||
|
||||
sequence:
|
||||
- show:
|
||||
- welcome
|
||||
- locale
|
||||
- keyboard
|
||||
- partition
|
||||
- users
|
||||
- summary
|
||||
- exec:
|
||||
- partition
|
||||
- mount
|
||||
- unpackfs
|
||||
- machineid
|
||||
- fstab
|
||||
- locale
|
||||
- keyboard
|
||||
- localecfg
|
||||
- luksbootkeyfile
|
||||
- luksopenswaphookcfg
|
||||
- removeuser
|
||||
- users
|
||||
- networkcfg
|
||||
- hwclock
|
||||
- services-systemd
|
||||
- packages
|
||||
- displaymanager
|
||||
- shellprocess@mvezmkinit
|
||||
- initcpiocfg
|
||||
- initcpio
|
||||
- grubcfg
|
||||
- bootloader
|
||||
- shellprocess@ezfinish
|
||||
- umount
|
||||
- show:
|
||||
- finished
|
||||
|
||||
branding: ezarcher
|
||||
|
||||
prompt-install: true
|
||||
|
||||
dont-chroot: false
|
||||
|
||||
oem-setup: false
|
||||
|
||||
disable-cancel: false
|
||||
|
||||
disable-cancel-during-exec: false
|
||||
|
||||
hide-back-and-next-during-exec: false
|
||||
|
||||
quit-at-end: false
|
||||
35
usr/share/ezarcher/PkgBuilds/Ckbcomp/PKGBUILD
Normal file
35
usr/share/ezarcher/PkgBuilds/Ckbcomp/PKGBUILD
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# Maintainer: Nissar Chababy <funilrys at outlook dot com>
|
||||
# Ex-Maintainer: Jeroen Bollen <jbinero at gmail dot comau>
|
||||
|
||||
pkgname=ckbcomp
|
||||
pkgver=1.207
|
||||
pkgrel=1
|
||||
pkgdesc="Compile a XKB keyboard description to a keymap suitable for loadkeys or kbdcontrol"
|
||||
arch=(any)
|
||||
url="http://anonscm.debian.org/cgit/d-i/console-setup.git/"
|
||||
license=('GPL2')
|
||||
depends=('perl')
|
||||
source=("http://ftp.de.debian.org/debian/pool/main/c/console-setup/console-setup_${pkgver}.tar.xz")
|
||||
sha256sums=('5c9ff5d48d5fd57d3bc874de8f508ccc7b7df21fd64f651db5a83bda0c91c5e9')
|
||||
|
||||
package() {
|
||||
if [[ -d "${srcdir}/console-setup" ]]
|
||||
then
|
||||
cd console-setup
|
||||
elif [[ -d "${srcdir}/console-setup-${pkgver}" ]]
|
||||
then
|
||||
cd console-setup-${pkgver}
|
||||
else
|
||||
echo "Source directory not found.".
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [[ ${?} != 0 ]]
|
||||
then
|
||||
cd console-setup-${pkgver}
|
||||
fi
|
||||
|
||||
install -d ${pkgdir}/usr/bin/
|
||||
install -m755 Keyboard/ckbcomp ${pkgdir}/usr/bin/
|
||||
}
|
||||
28
usr/share/ezarcher/PkgBuilds/Openswap/PKGBUILD
Normal file
28
usr/share/ezarcher/PkgBuilds/Openswap/PKGBUILD
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Maintainer: Jenya Sovetkin <e.sovetkin@gmail.com>
|
||||
# Contributors: https://aur.archlinux.org/account/f4bio
|
||||
pkgname=mkinitcpio-openswap
|
||||
pkgver=0.1.0
|
||||
pkgrel=3
|
||||
pkgdesc="mkinitcpio hook to open swap at boot time"
|
||||
arch=(any)
|
||||
license=('unknown')
|
||||
url="https://aur.archlinux.org/packages/mkinitcpio-openswap/"
|
||||
depends=(mkinitcpio)
|
||||
backup=('etc/openswap.conf')
|
||||
install="usage.install"
|
||||
source=('openswap.hook'
|
||||
'openswap.install'
|
||||
'openswap.conf')
|
||||
sha256sums=('84ef428386b7f4353af036ccfbd4c60901a76e2d0c7a38dd3be2000219ea9d23'
|
||||
'94dd98a953bab2244215a2b20767cdc9500fc438bed9ec27cae72a73766c6b86'
|
||||
'3308f2679bb7c962d98adf2684d25390025d025e3d30bc1e773e3522311ad325')
|
||||
|
||||
|
||||
package() {
|
||||
install -Dm 644 openswap.hook \
|
||||
"${pkgdir}/usr/lib/initcpio/hooks/openswap"
|
||||
install -Dm 644 openswap.install \
|
||||
"${pkgdir}/usr/lib/initcpio/install/openswap"
|
||||
install -Dm 644 openswap.conf \
|
||||
"${pkgdir}/etc/openswap.conf"
|
||||
}
|
||||
17
usr/share/ezarcher/PkgBuilds/Openswap/openswap.conf
Normal file
17
usr/share/ezarcher/PkgBuilds/Openswap/openswap.conf
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
## cryptsetup open $swap_device $crypt_swap_name
|
||||
## get uuid using e.g. lsblk -f
|
||||
swap_device=/dev/disk/by-uuid/2788eb78-074d-4424-9f1d-ebffc9c37262
|
||||
crypt_swap_name=cryptswap
|
||||
|
||||
## one can optionally provide a keyfile device and path on this device
|
||||
## to the keyfile
|
||||
keyfile_device=/dev/mapper/cryptroot
|
||||
keyfile_filename=etc/keyfile-cryptswap
|
||||
|
||||
## additional arguments are given to mount for keyfile_device
|
||||
## has to start with --options (if so desired)
|
||||
#keyfile_device_mount_options="--options=subvol=__active/__"
|
||||
|
||||
## additional arguments are given to cryptsetup
|
||||
## --allow-discards options is desired in case swap is on SSD partition
|
||||
cryptsetup_options="--type luks"
|
||||
25
usr/share/ezarcher/PkgBuilds/Openswap/openswap.hook
Normal file
25
usr/share/ezarcher/PkgBuilds/Openswap/openswap.hook
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
run_hook ()
|
||||
{
|
||||
## read openswap configurations
|
||||
source /openswap.conf
|
||||
|
||||
## Optional: To avoid race conditions
|
||||
x=0;
|
||||
while [ ! -b "$keyfile_device" ] && [ $x -le 10 ]; do
|
||||
x=$((x+1))
|
||||
sleep .2
|
||||
done
|
||||
## End of optional
|
||||
|
||||
if [ -z "$keyfile_device" ] || [ -z "$keyfile_filename" ]
|
||||
then
|
||||
## case when no keyfile provided in configurations
|
||||
cryptsetup open $cryptsetup_options "$swap_device" "$crypt_swap_name"
|
||||
else
|
||||
## case when keyfile is provided in configurations
|
||||
mkdir openswap_keymount
|
||||
mount $keyfile_device_mount_options "$keyfile_device" openswap_keymount
|
||||
cryptsetup open $cryptsetup_options --key-file "openswap_keymount/$keyfile_filename" "$swap_device" "$crypt_swap_name"
|
||||
umount openswap_keymount
|
||||
fi
|
||||
}
|
||||
27
usr/share/ezarcher/PkgBuilds/Openswap/openswap.install
Normal file
27
usr/share/ezarcher/PkgBuilds/Openswap/openswap.install
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
build ()
|
||||
{
|
||||
grep "swap_device=" /etc/openswap.conf > "$BUILDROOT/openswap.conf"
|
||||
grep "crypt_swap_name=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_device=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_filename=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "keyfile_device_mount_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
grep "cryptsetup_options=" /etc/openswap.conf >> "$BUILDROOT/openswap.conf"
|
||||
|
||||
source "$BUILDROOT/openswap.conf"
|
||||
|
||||
if [ -z "$swap_device" ]; then
|
||||
warning "swap_device variable is not set"
|
||||
fi
|
||||
|
||||
if [ -z "$crypt_swap_name" ]; then
|
||||
warning "crypt_swap_name variable is not set"
|
||||
fi
|
||||
|
||||
add_runscript
|
||||
}
|
||||
help ()
|
||||
{
|
||||
cat<<HELPEOF
|
||||
This hook opens a swap at boot time
|
||||
HELPEOF
|
||||
}
|
||||
9
usr/share/ezarcher/PkgBuilds/Openswap/usage.install
Normal file
9
usr/share/ezarcher/PkgBuilds/Openswap/usage.install
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
post_install() {
|
||||
echo ""
|
||||
echo "Alter /etc/openswap.conf file for your swap device name, keyfiles, etc..."
|
||||
echo ""
|
||||
echo "For more information see: https://wiki.archlinux.org/index.php/Dm-crypt/Swap_encryption#mkinitcpio_hook"
|
||||
echo ""
|
||||
echo "Don't forget to add the openswap hook after encrypt and before resume in your /etc/mkinitcpio.conf and run mkinitcpio -p linux..."
|
||||
echo ""
|
||||
}
|
||||
29
usr/share/ezarcher/PkgBuilds/PkgBuilds.txt
Normal file
29
usr/share/ezarcher/PkgBuilds/PkgBuilds.txt
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
PKGBUILD files for Calamares, ckbcomp, and openswap
|
||||
|
||||
In each folder is the latest PKGBUILD file for the three extra packages used to create the Ezarcher ISOs. If you attempt to build an ISO from one of my templates and Calamares will not launch in your live system, Calamares will need to be recompiled and the newly built package will need to be included in the ezrepo, instructions below:
|
||||
|
||||
Before doing anything, fully update your system with pacman -Syyu. Then, change into the Calamares folder and open the PKGBUILD file in a text editor. Identify the lines that set the version of Calamares:
|
||||
|
||||
pkgver=3.2.56
|
||||
_pkgver=3.2.56
|
||||
|
||||
Change the version number to the most current version of Calamares available as stated on the calamares.io website. If the version number is still the same, no change to the above lines are necessary. If the version number is different, then the sha256sum will also be different and the following line in the PKGBUILD file will also need to be changed:
|
||||
|
||||
sha256sums=('e1402d7693659b85c5e553481a7252d91350c3f33ffea413488d7712d3281e03')
|
||||
|
||||
Go to the calamares.io website and click on the Code link at the top of the web page and locate the link to the release on the right side of the web page under the title Releases. On the release web page you will see the SHA256 listed. Copy that SHA256 number and paste it into the line in the PKGBUILD file, replacing the old sha256sum (everything inside the single quotation marks, leave the quotation marks). Save the PKGBUILD file.
|
||||
|
||||
Next, open a terminal. As your regular user (not root or sudo), run the following command:
|
||||
|
||||
makepkg
|
||||
|
||||
After the makepkg command completes you will have a Calamares Arch package ending in a .zst file extension. Copy the new Calamares package into the ezrepo folder and follow the below instructions to rebuild the ezrepo.
|
||||
|
||||
Rebuild the ezrepo:
|
||||
In order to replace the older Calamares package included in my build template, copy your newly build Calamares package into the ezrpo folder and delete the old version. Also delete all four files beginning with the word "ezrepo." Open a terminal in that folder, and issue the command below to build the repository database files. The command should be run as a regular user, not root and not with sudo. Once the repo-add command finishes, you are ready to include the local repository in your build.
|
||||
|
||||
repo-add ./ezrepo.db.tar.gz ./*
|
||||
|
||||
PkgBuilds.txt
|
||||
# Revision: 2022.04.22 -- by eznix (https://sourceforge.net/projects/ezarch/)
|
||||
# (GNU/General Public License version 3.0)
|
||||
41
usr/share/ezarcher/PkgBuilds/Trizen/PKGBUILD
Normal file
41
usr/share/ezarcher/PkgBuilds/Trizen/PKGBUILD
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
# Maintainer: Trizen <echo dHJpemVuQHByb3Rvbm1haWwuY29tCg== | base64 -d>
|
||||
|
||||
pkgname=trizen
|
||||
pkgver=1.64
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc="Trizen AUR Package Manager: lightweight pacman wrapper and AUR helper."
|
||||
arch=('any')
|
||||
url="https://github.com/trizen/${pkgname}"
|
||||
license=('GPL3')
|
||||
|
||||
depends=(
|
||||
'git'
|
||||
'pacutils'
|
||||
'perl>=5.20.0'
|
||||
'perl-libwww'
|
||||
'perl-term-ui'
|
||||
'pacman'
|
||||
'perl-json'
|
||||
'perl-data-dump'
|
||||
'perl-lwp-protocol-https'
|
||||
'perl-term-readline-gnu'
|
||||
)
|
||||
|
||||
optdepends=(
|
||||
'highlight: for syntax highlighting'
|
||||
'perl-json-xs: faster JSON deserialization'
|
||||
#'perl-term-readline-gnu: better STDIN support'
|
||||
)
|
||||
|
||||
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/trizen/${pkgname}/archive/${pkgver}.tar.gz")
|
||||
sha256sums=('34f1f30e2551aef4d6155f6f02fe88ad6ed1684348a07ef9782f4837fda86046')
|
||||
|
||||
package() {
|
||||
cd "$pkgname-$pkgver"
|
||||
install -m 755 -D $pkgname "$pkgdir/usr/bin/$pkgname"
|
||||
install -m 644 -D "trizen.1" "$pkgdir/usr/share/man/man1/trizen.1"
|
||||
install -m 644 -D "zsh.completion" "$pkgdir/usr/share/zsh/site-functions/_trizen"
|
||||
install -m 644 -D "bash.completion" "$pkgdir/usr/share/bash-completion/completions/trizen"
|
||||
install -m 644 -D "fish.completion" "$pkgdir/usr/share/fish/vendor_completions.d/trizen.fish"
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue