Upload files to "/"

This commit is contained in:
Martin Dvořák 2026-04-28 23:32:38 +02:00
commit d6a47370d7
151 changed files with 10154 additions and 0 deletions

View 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"
}

View file

@ -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)

View file

@ -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.

After

Width:  |  Height:  |  Size: 84 KiB

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: 2014 Teo Mrnjavac <teo@kde.org>
SPDX-License-Identifier: GPL-3.0-or-later

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"]

View file

@ -0,0 +1,9 @@
# Ezarcher custom settings
# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Configuration for the removeuser module.
#
---
username: live

View file

@ -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

View file

@ -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"

View file

@ -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"

View file

@ -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"

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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;
}

View file

@ -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()
}
}
}

View file

@ -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;
}
}
}
}
}
}
}

View file

@ -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
}
}
}
}
}

View file

@ -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)
}
}

View file

@ -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

View file

@ -0,0 +1,2 @@
SPDX-FileCopyrightText: no
SPDX-License-Identifier: CC0-1.0

View file

@ -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

View 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/
}

View 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"
}

View 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"

View 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
}

View 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
}

View 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 ""
}

View 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)

View 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"
}