@@ -7,16 +7,20 @@
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import get
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import mesontools
|
||||
|
||||
|
||||
def setup():
|
||||
mesontools.configure("-Dsystemd=disabled")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
mesontools.build()
|
||||
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
mesontools.install()
|
||||
|
||||
pisitools.removeDir("/usr/lib/kernel")
|
||||
pisitools.removeDir("/etc/mkinitcpio.d")
|
||||
pisitools.remove("/usr/lib/initcpio/install/sd-*")
|
||||
pisitools.removeDir("/usr/share/libalpm")
|
||||
|
||||
pisitools.dodoc("LICENSE", "README")
|
||||
pisitools.dodoc("LICENSE", "README.*")
|
||||
|
||||
@@ -3,29 +3,26 @@
|
||||
import os
|
||||
import piksemel
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
def updateInitrd(filepath):
|
||||
patterns = ("/lib/modules", "/usr/lib/initcpio", "/boot/kernel", "/bin/busybox")
|
||||
parse = piksemel.parse(filepath)
|
||||
for xmlfile in parse.tags("File"):
|
||||
path = xmlfile.getTagData("Path")
|
||||
if not path.startswith("/"):
|
||||
path = "/%s" % path
|
||||
if path.startswith(patterns):
|
||||
version = path.split("/")[3]
|
||||
os.environ['PATH'] = '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin'
|
||||
subprocess.call(["mkinitcpio","-k","%s"% version ,"-g","/boot/initramfs-%s-fallback.img"% version,"-S","autodetect"])
|
||||
subprocess.call(["mkinitcpio","-k","%s"% version ,"-c","/etc/mkinitcpio.conf","-g","/boot/initramfs-%s.img"% version])
|
||||
if os.path.exists("/proc/cmdline"):
|
||||
os.system("/usr/bin/update-grub")
|
||||
break
|
||||
|
||||
def generateinitrd(filepath):
|
||||
doc = piksemel.parse(filepath)
|
||||
for item in doc.tags("File"):
|
||||
path = item.getTagData("Path")
|
||||
if path.startswith("lib/modules/"):
|
||||
kver = path.split("/")[2]
|
||||
subprocess.call(["/usr/bin/mkinitcpio","-k","%s"% kver ,"-g","/boot/initramfs-%s-fallback.img"% kver,"-S","autodetect"])
|
||||
subprocess.call(["/usr/bin/mkinitcpio","-k","%s"% kver ,"-c","/etc/mkinitcpio.conf","-g","/boot/initramfs-%s.img"% kver])
|
||||
return
|
||||
|
||||
def setupPackage(metapath, filepath):
|
||||
updateInitrd(filepath)
|
||||
generateinitrd(filepath)
|
||||
|
||||
def cleanupPackage(metapath, filepath):
|
||||
pass
|
||||
|
||||
def postCleanupPackage(metapath, filepath):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,488 @@
|
||||
From 1f0f3a593616e8d12bdb2d81975f982b895afa8a Mon Sep 17 00:00:00 2001
|
||||
From: artoo <artoo@artixlinux.org>
|
||||
Date: Wed, 6 May 2026 19:39:47 +0200
|
||||
Subject: [PATCH 1/1] no systemd
|
||||
|
||||
---
|
||||
hooks/resume | 7 ---
|
||||
init_functions | 11 ----
|
||||
install/lvm2 | 6 +-
|
||||
install/mdadm_udev | 6 --
|
||||
install/resume | 7 ---
|
||||
install/sd-encrypt | 67 --------------------
|
||||
install/sd-encrypt-opensc | 59 ------------------
|
||||
install/sd-shutdown | 21 -------
|
||||
install/sd-vconsole | 124 --------------------------------------
|
||||
install/sd-verity | 38 ------------
|
||||
install/sd-volatile | 22 -------
|
||||
11 files changed, 1 insertion(+), 367 deletions(-)
|
||||
delete mode 100644 install/sd-encrypt
|
||||
delete mode 100644 install/sd-encrypt-opensc
|
||||
delete mode 100644 install/sd-shutdown
|
||||
delete mode 100644 install/sd-vconsole
|
||||
delete mode 100644 install/sd-verity
|
||||
delete mode 100644 install/sd-volatile
|
||||
|
||||
diff --git a/hooks/resume b/hooks/resume
|
||||
index 2a58c4f..6a63a96 100644
|
||||
--- a/hooks/resume
|
||||
+++ b/hooks/resume
|
||||
@@ -9,13 +9,6 @@ run_hook() {
|
||||
return 0
|
||||
fi
|
||||
|
||||
- # systemd-hibernate-resume supports resuming from 'HibernateLocation'
|
||||
- # EFI variable. $resume can be empty in this case.
|
||||
- if [ -x /usr/lib/systemd/systemd-hibernate-resume ]; then
|
||||
- /usr/lib/systemd/systemd-hibernate-resume
|
||||
- return
|
||||
- fi
|
||||
-
|
||||
resume="$(getarg resume)"
|
||||
if [ -z "$resume" ]; then
|
||||
err 'resume: no device specified for hibernation'
|
||||
diff --git a/init_functions b/init_functions
|
||||
index 1260f84..2d80426 100644
|
||||
--- a/init_functions
|
||||
+++ b/init_functions
|
||||
@@ -350,17 +350,6 @@ fsck_root() {
|
||||
elif bitfield_has_bit "$fsckret" 128; then
|
||||
err "fatal error invoking fsck"
|
||||
fi
|
||||
-
|
||||
- # ensure that root is going to be mounted rw. Otherwise, systemd
|
||||
- # might fsck the device again. Annoy the user so that they fix this.
|
||||
- if [ "${rwopt:-ro}" != 'rw' ]; then
|
||||
- echo "********************** WARNING **********************"
|
||||
- echo "* *"
|
||||
- echo "* The root device is not configured to be mounted *"
|
||||
- echo "* read-write! It may be fsck'd again later. *"
|
||||
- echo "* *"
|
||||
- echo "*****************************************************"
|
||||
- fi
|
||||
fi
|
||||
}
|
||||
|
||||
diff --git a/install/lvm2 b/install/lvm2
|
||||
index 0c2e456..90d7ceb 100644
|
||||
--- a/install/lvm2
|
||||
+++ b/install/lvm2
|
||||
@@ -34,11 +34,7 @@ build() {
|
||||
'95-dm-notify.rules'
|
||||
|
||||
# this udev rule is specific for systemd and non-systemd systems
|
||||
- if declare -F add_systemd_unit &>/dev/null; then
|
||||
- add_udev_rule '69-dm-lvm.rules'
|
||||
- else
|
||||
- add_udev_rule '/usr/lib/initcpio/udev/69-dm-lvm.rules'
|
||||
- fi
|
||||
+ add_udev_rule '/usr/lib/initcpio/udev/69-dm-lvm.rules'
|
||||
|
||||
# config file
|
||||
sed -e 's/^[[:space:]#]*monitoring = [[:digit:]]\+\s*$/\tmonitoring = 0/' \
|
||||
diff --git a/install/mdadm_udev b/install/mdadm_udev
|
||||
index dad7f7b..7c2b1a8 100644
|
||||
--- a/install/mdadm_udev
|
||||
+++ b/install/mdadm_udev
|
||||
@@ -15,12 +15,6 @@ build() {
|
||||
|
||||
# For external metadata arrays (e.g. IMSM)
|
||||
add_binary mdmon
|
||||
- if declare -F add_systemd_unit &>/dev/null; then
|
||||
- add_systemd_unit 'mdmon@.service'
|
||||
- # support activation of degraded arrays
|
||||
- add_systemd_unit 'mdadm-last-resort@.service'
|
||||
- add_systemd_unit 'mdadm-last-resort@.timer'
|
||||
- fi
|
||||
}
|
||||
|
||||
help() {
|
||||
diff --git a/install/resume b/install/resume
|
||||
index 4d9622e..97fb9ec 100644
|
||||
--- a/install/resume
|
||||
+++ b/install/resume
|
||||
@@ -6,13 +6,6 @@ build() {
|
||||
|
||||
map add_module 'crypto-lzo' 'crypto-lz4'
|
||||
|
||||
- if command -v systemctl &>/dev/null; then
|
||||
- IFS=' .-~^' read -r _ systemd_ver _ < <(SYSTEMD_COLORS=0 systemctl --version)
|
||||
- if (( systemd_ver >= 255 )); then
|
||||
- add_binary /usr/lib/systemd/systemd-hibernate-resume
|
||||
- fi
|
||||
- fi
|
||||
-
|
||||
add_runscript
|
||||
}
|
||||
|
||||
diff --git a/install/sd-encrypt b/install/sd-encrypt
|
||||
deleted file mode 100644
|
||||
index 856f640..0000000
|
||||
--- a/install/sd-encrypt
|
||||
+++ /dev/null
|
||||
@@ -1,67 +0,0 @@
|
||||
-#!/bin/bash
|
||||
-
|
||||
-build() {
|
||||
- local mod
|
||||
-
|
||||
- map add_module 'dm-crypt' 'dm-integrity' 'hid-generic?'
|
||||
- if [[ -n "$CRYPTO_MODULES" ]]; then
|
||||
- for mod in $CRYPTO_MODULES; do
|
||||
- add_module "$mod"
|
||||
- done
|
||||
- else
|
||||
- add_all_modules '/crypto/'
|
||||
- fi
|
||||
- add_checked_modules '/drivers/char/tpm/'
|
||||
-
|
||||
- map add_udev_rule \
|
||||
- '10-dm.rules' \
|
||||
- '13-dm-disk.rules' \
|
||||
- '60-fido-id.rules' \
|
||||
- '95-dm-notify.rules'
|
||||
-
|
||||
- map add_systemd_unit 'cryptsetup.target' \
|
||||
- 'systemd-ask-password-console.path' \
|
||||
- 'systemd-ask-password-console.service'
|
||||
- map add_binary \
|
||||
- '/usr/lib/systemd/system-generators/systemd-cryptsetup-generator' \
|
||||
- '/usr/lib/systemd/systemd-cryptsetup' \
|
||||
- '/usr/lib/systemd/systemd-makefs' \
|
||||
- '/usr/lib/cryptsetup/libcryptsetup-token-systemd-fido2.so' \
|
||||
- '/usr/lib/cryptsetup/libcryptsetup-token-systemd-tpm2.so'
|
||||
-
|
||||
- # cryptsetup calls pthread_create(), which dlopen()s libgcc_s.so.1
|
||||
- add_binary '/usr/lib/libgcc_s.so.1'
|
||||
-
|
||||
- # cryptsetup loads the legacy provider which is required for whirlpool
|
||||
- add_binary '/usr/lib/ossl-modules/legacy.so'
|
||||
-
|
||||
- # add libraries dlopen()ed by systemd-cryptsetup
|
||||
- LC_ALL=C.UTF-8 find /usr/lib/ -maxdepth 1 -name "libfido2.so*" | while read -r FILE; do
|
||||
- if [[ -L "${FILE}" ]]; then
|
||||
- add_symlink "${FILE}"
|
||||
- else
|
||||
- add_binary "${FILE}"
|
||||
- fi
|
||||
- done
|
||||
-
|
||||
- # add mkswap for creating swap space on the fly (see 'swap' in crypttab(5))
|
||||
- add_binary 'mkswap'
|
||||
-
|
||||
- # add NVPCR definition files
|
||||
- map add_file /usr/lib/nvpcr/*.nvpcr
|
||||
-
|
||||
- [[ -f /etc/crypttab.initramfs ]] && add_file '/etc/crypttab.initramfs' '/etc/crypttab'
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook allows systemd to unlock encrypted LUKS1 volumes with a password, and encrypted LUKS2 volumes with a password, FIDO2 token or TPM2 key. Unlocking of LUKS2 volumes with a PKCS#11 token is supported for some tokens by additional 'sd-encrypt-opensc' hook.
|
||||
-
|
||||
-See the manpage of systemd-cryptsetup-generator(8) for available kernel
|
||||
-command line options. Alternatively, if the file /etc/crypttab.initramfs
|
||||
-exists, it will be added to the initramfs as /etc/crypttab. See the
|
||||
-crypttab(5) manpage for more information on crypttab syntax.
|
||||
-HELPEOF
|
||||
-}
|
||||
-
|
||||
-# vim: set ft=sh ts=4 sw=4 et:
|
||||
diff --git a/install/sd-encrypt-opensc b/install/sd-encrypt-opensc
|
||||
deleted file mode 100644
|
||||
index 08c1be9..0000000
|
||||
--- a/install/sd-encrypt-opensc
|
||||
+++ /dev/null
|
||||
@@ -1,59 +0,0 @@
|
||||
-#!/usr/bin/bash
|
||||
-
|
||||
-build() {
|
||||
- add_binary '/usr/lib/cryptsetup/libcryptsetup-token-systemd-pkcs11.so'
|
||||
-
|
||||
- for FILE in /usr/lib/libp11-kit.so* /usr/lib/libpcsclite.so* /usr/lib/libpcsclite_real.so*; do
|
||||
- if [[ -L "${FILE}" ]]; then
|
||||
- add_symlink "${FILE}"
|
||||
- else
|
||||
- add_binary "${FILE}"
|
||||
- fi
|
||||
- done
|
||||
-
|
||||
- printf 'module: opensc-pkcs11.so\n' | add_file - '/usr/share/p11-kit/modules/opensc.module' 644
|
||||
-
|
||||
- add_binary '/usr/lib/pkcs11/opensc-pkcs11.so'
|
||||
-
|
||||
- printf '%s\n' \
|
||||
- '[Unit]' \
|
||||
- 'Description=PC/SC Smart Card Daemon' \
|
||||
- 'DefaultDependencies=no' \
|
||||
- 'Requires=pcscd.socket' \
|
||||
- '[Service]' \
|
||||
- 'ExecStart=/usr/bin/pcscd --foreground --disable-polkit' \
|
||||
- 'ExecReload=/usr/bin/pcscd --hotplug' \
|
||||
- 'RuntimeDirectory=pcscd' \
|
||||
- 'RuntimeDirectoryPreserve=true' \
|
||||
- 'PIDFile=/run/pcscd/pcscd.pid' \
|
||||
- | add_file - '/usr/lib/systemd/system/pcscd.service' 644
|
||||
-
|
||||
- add_binary '/usr/bin/pcscd'
|
||||
-
|
||||
- printf '%s\n' \
|
||||
- '[Unit]' \
|
||||
- 'Description=PC/SC Smart Card Daemon Activation Socket' \
|
||||
- 'DefaultDependencies=no' \
|
||||
- '[Socket]' \
|
||||
- 'ListenStream=/run/pcscd/pcscd.comm' \
|
||||
- | add_file - '/usr/lib/systemd/system/pcscd.socket' 644
|
||||
-
|
||||
- # pcscd.socket -> cryptsetup-pre.target -> systemd-cryptsetup@.service -> cryptsetup.target
|
||||
- add_systemd_unit 'cryptsetup-pre.target'
|
||||
- add_symlink '/usr/lib/systemd/system/cryptsetup-pre.target.wants/pcscd.socket' '/usr/lib/systemd/system/pcscd.socket'
|
||||
- add_symlink '/usr/lib/systemd/system/cryptsetup.target.wants/cryptsetup-pre.target' '/usr/lib/systemd/system/cryptsetup-pre.target'
|
||||
-
|
||||
- add_file '/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist'
|
||||
- add_binary '/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so'
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook allows systemd to unlock LUKS2 volumes with the OpenSC PKCS#11 module and CCID driver.
|
||||
-
|
||||
-The full list of supported devices is available on [1], but be aware that the device may require a different PC/SC driver. Information about some drivers is available on [2].
|
||||
-
|
||||
-[1] https://github.com/OpenSC/OpenSC/wiki/Supported-hardware-%28smart-cards-and-USB-tokens%29
|
||||
-[2] https://github.com/OpenSC/OpenSC/wiki/Smart-card-readers-%28Linux-and-Mac-OS-X%29
|
||||
-HELPEOF
|
||||
-}
|
||||
diff --git a/install/sd-shutdown b/install/sd-shutdown
|
||||
deleted file mode 100644
|
||||
index 238a946..0000000
|
||||
--- a/install/sd-shutdown
|
||||
+++ /dev/null
|
||||
@@ -1,21 +0,0 @@
|
||||
-#!/usr/bin/env bash
|
||||
-# SPDX-License-Identifier: GPL-2.0-only
|
||||
-
|
||||
-build() {
|
||||
- # TODO: should be pulled inn by .notes.dlopen in the future
|
||||
- add_binary /usr/lib/libmount.so
|
||||
- add_binary /usr/lib/systemd/systemd-shutdown /shutdown
|
||||
-
|
||||
- if type -P kexec >/dev/null; then
|
||||
- add_binary kexec
|
||||
- fi
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook adds systemd-shutdown to the initramfs. This is only
|
||||
-if the image is extracted to /run/initramfs before shutdown.
|
||||
-HELPEOF
|
||||
-}
|
||||
-
|
||||
-# vim: set ft=sh ts=4 sw=4 et:
|
||||
diff --git a/install/sd-vconsole b/install/sd-vconsole
|
||||
deleted file mode 100644
|
||||
index c6ed1e0..0000000
|
||||
--- a/install/sd-vconsole
|
||||
+++ /dev/null
|
||||
@@ -1,124 +0,0 @@
|
||||
-#!/usr/bin/env bash
|
||||
-# SPDX-License-Identifier: GPL-2.0-only
|
||||
-
|
||||
-build() {
|
||||
- # prevent conflicting variables from affecting vconsole.conf values
|
||||
- # shellcheck disable=SC2034
|
||||
- local KEYMAP KEYMAP_TOGGLE FONT FONT_MAP FONT_UNIMAP XKBLAYOUT XKBMODEL XKBVARIANT XKBOPTIONS
|
||||
-
|
||||
- add_systemd_unit systemd-vconsole-setup.service
|
||||
- add_binary /usr/lib/systemd/systemd-vconsole-setup
|
||||
- add_binary loadkeys
|
||||
- add_binary setfont
|
||||
- if [[ -s /etc/vconsole.conf ]]; then
|
||||
- add_file /etc/vconsole.conf
|
||||
- else
|
||||
- warning 'sd-vconsole: "/etc/vconsole.conf" not found, will use default values'
|
||||
- fi
|
||||
-
|
||||
- add_udev_rule 90-vconsole.rules
|
||||
-
|
||||
- # subshell to avoid namespace pollution
|
||||
- (
|
||||
- shopt -s extglob nullglob
|
||||
-
|
||||
- get_decompressor() {
|
||||
- case "$1" in
|
||||
- *.gz)
|
||||
- cat='zcat'
|
||||
- of="${1%.gz}"
|
||||
- ;;
|
||||
- *.bz2)
|
||||
- cat='bzcat'
|
||||
- of="${1%.bz2}"
|
||||
- ;;
|
||||
- *.zst)
|
||||
- cat='zstdcat'
|
||||
- of="${1%.zst}"
|
||||
- ;;
|
||||
- *)
|
||||
- cat='cat'
|
||||
- of="$1"
|
||||
- ;;
|
||||
- esac
|
||||
- }
|
||||
-
|
||||
- add_keymap_file() {
|
||||
- local cat cmd rest f of
|
||||
-
|
||||
- while read -r f; do
|
||||
- get_decompressor "$f"
|
||||
- while read -r cmd rest; do
|
||||
- if [[ "$cmd" == 'include' ]]; then
|
||||
- eval set "$rest"
|
||||
- add_keymap_file "$1"
|
||||
- fi
|
||||
- done < <("$cat" "$f")
|
||||
- add_dir "${of%/*}"
|
||||
- "$cat" "$f" | add_file - "$of" 644
|
||||
- done < <(LC_ALL=C.UTF-8 find /usr/share/kbd/keymaps/ -type f -regex ".*/$1\(\.inc\)?\(\.gz\|\.bz2|\.zst\)?")
|
||||
- }
|
||||
-
|
||||
- add_font_file() {
|
||||
- local cat file filename fontfile="$1"
|
||||
- get_decompressor "$fontfile"
|
||||
- add_dir "${of%/*}"
|
||||
- "$cat" "$fontfile" | add_file - "$of" 644
|
||||
- if [[ "$("$cat" "$fontfile" | head -c 23 | tr -d '\0')" == '# combine partial fonts' ]]; then
|
||||
- while read -r filename; do
|
||||
- for file in "/usr/share/kbd/consolefonts/partialfonts/$filename"?('.gz'|'.bz2'|'.zst'); do
|
||||
- add_font_file "$file"
|
||||
- done
|
||||
- done < <("$cat" "$fontfile" | sed '/^#/d')
|
||||
- fi
|
||||
- }
|
||||
-
|
||||
- # shellcheck disable=SC1091
|
||||
- [[ -s /etc/vconsole.conf ]] && . /etc/vconsole.conf
|
||||
-
|
||||
- [[ "$KEYMAP" != '@kernel' ]] && add_keymap_file "${KEYMAP:-us}.map"
|
||||
- [[ -n "$KEYMAP_TOGGLE" ]] && add_keymap_file "${KEYMAP_TOGGLE}.map"
|
||||
-
|
||||
- if [[ -n "$FONT_MAP" ]]; then
|
||||
- FONT_MAP="${FONT_MAP%.trans}"
|
||||
- if [[ -f "/usr/share/kbd/consoletrans/$FONT_MAP" ]]; then
|
||||
- add_file "/usr/share/kbd/consoletrans/$FONT_MAP"
|
||||
- elif [[ -f "/usr/share/kbd/consoletrans/$FONT_MAP.trans" ]]; then
|
||||
- add_file "/usr/share/kbd/consoletrans/$FONT_MAP.trans"
|
||||
- elif [[ -f "/usr/share/kbd/consoletrans/${FONT_MAP}_to_uni.trans" ]]; then
|
||||
- add_file "/usr/share/kbd/consoletrans/${FONT_MAP}_to_uni.trans"
|
||||
- else
|
||||
- error "sd-vconsole: requested font map not found: '%s'" "$FONT_MAP"
|
||||
- return 1
|
||||
- fi
|
||||
- fi
|
||||
-
|
||||
- if [[ -n "$FONT_UNIMAP" ]]; then
|
||||
- FONT_UNIMAP="${FONT_UNIMAP%.uni}"
|
||||
- if [[ -f "/usr/share/kbd/unimaps/$FONT_UNIMAP.uni" ]]; then
|
||||
- add_file "/usr/share/kbd/unimaps/$FONT_UNIMAP.uni"
|
||||
- else
|
||||
- error "sd-vconsole: requested font unimap not found: '%s'" "$FONT_UNIMAP"
|
||||
- return 1
|
||||
- fi
|
||||
- fi
|
||||
-
|
||||
- if [[ -n "$FONT" ]]; then
|
||||
- for file in "/usr/share/kbd/consolefonts/$FONT"?('.psfu'|'.psf'|'.cp'|'.fnt')?('.gz'|'.bz2'|'.zst'); do
|
||||
- add_font_file "$file"
|
||||
- return
|
||||
- done
|
||||
- error "sd-vconsole: requested font not found: '%s'" "$FONT"
|
||||
- return 1
|
||||
- fi
|
||||
- )
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook adds the keymap(s) and font specified in vconsole.conf to the image and
|
||||
-loads them during early userspace.
|
||||
-HELPEOF
|
||||
-}
|
||||
-
|
||||
-# vim: set ft=sh ts=4 sw=4 et:
|
||||
diff --git a/install/sd-verity b/install/sd-verity
|
||||
deleted file mode 100644
|
||||
index e944137..0000000
|
||||
--- a/install/sd-verity
|
||||
+++ /dev/null
|
||||
@@ -1,38 +0,0 @@
|
||||
-#!/bin/bash
|
||||
-
|
||||
-build() {
|
||||
- local mod
|
||||
-
|
||||
- map add_module 'dm-verity' 'sha256' 'sha512'
|
||||
-
|
||||
- map add_udev_rule \
|
||||
- '10-dm.rules' \
|
||||
- '13-dm-disk.rules' \
|
||||
- '95-dm-notify.rules'
|
||||
-
|
||||
- map add_systemd_unit 'veritysetup-pre.target' \
|
||||
- 'veritysetup.target' \
|
||||
- 'systemd-veritysetup@.service'
|
||||
-
|
||||
- # Add systemd verity-related binaries
|
||||
- map add_binary '/usr/lib/systemd/system-generators/systemd-veritysetup-generator' \
|
||||
- '/usr/lib/systemd/systemd-veritysetup'
|
||||
-
|
||||
- # Add veritysetup binary from cryptsetup package
|
||||
- add_binary '/usr/bin/veritysetup'
|
||||
-
|
||||
- # Add veritytab if present
|
||||
- [[ -f /etc/veritytab.initramfs ]] && add_file '/etc/veritytab.initramfs' '/etc/veritytab'
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook sets up dm-verity in the initramfs environment.
|
||||
-
|
||||
-Ensure your kernel command line contains valid parameters for dm-verity.
|
||||
-If /etc/veritytab.initramfs exists, it will be included in the initramfs as
|
||||
-/etc/veritytab. See veritytab(5) for details.
|
||||
-HELPEOF
|
||||
-}
|
||||
-
|
||||
-# vim: set ft=sh ts=4 sw=4 et:
|
||||
diff --git a/install/sd-volatile b/install/sd-volatile
|
||||
deleted file mode 100644
|
||||
index 134443e..0000000
|
||||
--- a/install/sd-volatile
|
||||
+++ /dev/null
|
||||
@@ -1,22 +0,0 @@
|
||||
-#!/bin/bash
|
||||
-
|
||||
-build() {
|
||||
- local mod
|
||||
-
|
||||
- map add_module 'overlay'
|
||||
-
|
||||
- map add_systemd_unit 'systemd-volatile-root.service'
|
||||
-
|
||||
- # Add systemd volatile binary
|
||||
- map add_binary '/usr/lib/systemd/systemd-volatile-root'
|
||||
-}
|
||||
-
|
||||
-help() {
|
||||
- cat <<HELPEOF
|
||||
-This hook sets up systemd-volatile in the initramfs environment.
|
||||
-
|
||||
-Ensure your kernel command line contains valid parameters for it.
|
||||
-HELPEOF
|
||||
-}
|
||||
-
|
||||
-# vim: set ft=sh ts=4 sw=4 et:
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 4d7fef2176fdd66457e007486bddc24d7ac0f610 Mon Sep 17 00:00:00 2001
|
||||
From: artoo <artoo@artixlinux.org>
|
||||
Date: Wed, 6 May 2026 19:45:32 +0200
|
||||
Subject: [PATCH 1/1] no systemd meson
|
||||
|
||||
---
|
||||
meson.build | 8 +-------
|
||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 46ae333..21172bd 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -66,7 +66,7 @@ else
|
||||
endif
|
||||
|
||||
udevd = find_program('systemd-udevd', 'udevd', dirs: udevd_dirs, required: true)
|
||||
-tmpfiles = find_program('systemd-tmpfiles', required: want_systemd)
|
||||
+tmpfiles = find_program('etmpfiles', required: false)
|
||||
shellcheck = find_program('shellcheck', required: false)
|
||||
|
||||
conf_data.set('UDEVD_PATH', udevd.full_path())
|
||||
@@ -166,14 +166,9 @@ shellcheck_files = [
|
||||
'install/microcode',
|
||||
'install/modconf',
|
||||
'install/resume',
|
||||
- 'install/sd-encrypt',
|
||||
- 'install/sd-encrypt-opensc',
|
||||
- 'install/sd-shutdown',
|
||||
- 'install/sd-vconsole',
|
||||
'install/shutdown',
|
||||
'install/sleep',
|
||||
'install/strip',
|
||||
- 'install/systemd',
|
||||
'install/udev',
|
||||
'install/usr',
|
||||
'lsinitcpio',
|
||||
@@ -222,7 +217,6 @@ subdir('libalpm')
|
||||
subdir('man')
|
||||
subdir('mkinitcpio.d')
|
||||
subdir('shell')
|
||||
-subdir('systemd')
|
||||
subdir('test')
|
||||
subdir('tmpfiles')
|
||||
subdir('udev')
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
diff --git a/install/systemd b/install/systemd
|
||||
index c40f0a02807b..e85a5f6a5e74 100644
|
||||
--- a/install/systemd
|
||||
+++ b/install/systemd
|
||||
@@ -193,9 +193,11 @@ build() {
|
||||
add_file "/usr/lib/tmpfiles.d/20-systemd-stub.conf"
|
||||
|
||||
# add hwdb binaries to the initramfs
|
||||
- map add_file \
|
||||
- /usr/lib/udev/hwdb.bin \
|
||||
- /etc/udev/hwdb.bin
|
||||
+ for f in /usr/lib/udev/hwdb.bin /etc/udev/hwdb.bin; do
|
||||
+ if [[ -f "$f" ]]; then
|
||||
+ add_file "$f"
|
||||
+ fi
|
||||
+ done
|
||||
|
||||
# Include nvpcr files
|
||||
for nvpcr in /usr/lib/nvpcr/*.nvpcr; do
|
||||
diff --git a/install/udev b/install/udev
|
||||
index 33ed07be7bc9..9e1fb74e7140 100644
|
||||
--- a/install/udev
|
||||
+++ b/install/udev
|
||||
@@ -21,9 +21,11 @@ build() {
|
||||
'80-drivers.rules'
|
||||
|
||||
# add hwdb binaries to the initramfs
|
||||
- map add_file \
|
||||
- /usr/lib/udev/hwdb.bin \
|
||||
- /etc/udev/hwdb.bin
|
||||
+ for f in /usr/lib/udev/hwdb.bin /etc/udev/hwdb.bin; do
|
||||
+ if [[ -f "$f" ]]; then
|
||||
+ add_file "$f"
|
||||
+ fi
|
||||
+ done
|
||||
|
||||
add_runscript
|
||||
}
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
diff -Nuar mkinitcpio-v41.orig/hooks/meson.build mkinitcpio-v41/hooks/meson.build
|
||||
--- mkinitcpio-v41.orig/hooks/meson.build 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/hooks/meson.build 2026-05-14 22:53:55.935962384 +0300
|
||||
@@ -10,6 +10,7 @@
|
||||
'sleep',
|
||||
'udev',
|
||||
'usr',
|
||||
+ 'plymouth',
|
||||
]
|
||||
|
||||
foreach hook: hooks
|
||||
diff -Nuar mkinitcpio-v41.orig/hooks/plymouth mkinitcpio-v41/hooks/plymouth
|
||||
--- mkinitcpio-v41.orig/hooks/plymouth 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ mkinitcpio-v41/hooks/plymouth 2026-05-14 22:32:24.104992307 +0300
|
||||
@@ -0,0 +1,22 @@
|
||||
+run_earlyhook(){
|
||||
+ # first trigger graphics subsystem
|
||||
+ udevadm trigger --action=add --attr-match=class=0x030000 >/dev/null 2>&1
|
||||
+ # first trigger graphics and tty subsystem
|
||||
+ udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty >/dev/null 2>&1
|
||||
+
|
||||
+ udevadm settle --timeout=30 2>&1
|
||||
+
|
||||
+ /bin/mknod /dev/fb c 29 &>/dev/null
|
||||
+ /bin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
|
||||
+}
|
||||
+
|
||||
+run_hook() {
|
||||
+ /bin/plymouth --show-splash
|
||||
+}
|
||||
+
|
||||
+run_latehook(){
|
||||
+ /bin/plymouth update-root-fs --new-root-dir=/new_root
|
||||
+}
|
||||
+
|
||||
+# vim: set ft=sh:
|
||||
+
|
||||
diff -Nuar mkinitcpio-v41.orig/init_functions mkinitcpio-v41/init_functions
|
||||
--- mkinitcpio-v41.orig/init_functions 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/init_functions 2026-05-14 20:47:27.520167347 +0300
|
||||
@@ -536,6 +536,8 @@
|
||||
mount -t sysfs sys /sys -o nosuid,noexec,nodev
|
||||
mount -t devtmpfs dev /dev -o mode=0755,nosuid
|
||||
mount -t tmpfs run /run -o nosuid,nodev,mode=0755
|
||||
+ mkdir -m 0755 /dev/pts
|
||||
+ mount -t devpts -o gid=5,mode=620 devpts /dev/pts
|
||||
mkdir -m755 /run/initramfs
|
||||
|
||||
if [ -e /sys/firmware/efi ]; then
|
||||
diff -Nuar mkinitcpio-v41.orig/install/base mkinitcpio-v41/install/base
|
||||
--- mkinitcpio-v41.orig/install/base 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/install/base 2026-05-14 22:01:27.047961678 +0300
|
||||
@@ -16,9 +16,9 @@
|
||||
add_symlink "/usr/bin/$applet" kmod
|
||||
done
|
||||
|
||||
- add_binary blkid
|
||||
+ add_binary /sbin/blkid
|
||||
map add_binary mount umount
|
||||
- add_binary switch_root
|
||||
+ add_binary /sbin/switch_root
|
||||
|
||||
add_initcpio_binary "init_functions" "/init_functions"
|
||||
add_initcpio_binary "init" "/init" 755
|
||||
diff -Nuar mkinitcpio-v41.orig/install/fsck mkinitcpio-v41/install/fsck
|
||||
--- mkinitcpio-v41.orig/install/fsck 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/install/fsck 2026-05-14 22:01:55.887960342 +0300
|
||||
@@ -7,7 +7,7 @@
|
||||
add_fsck() {
|
||||
case "$1" in
|
||||
ext[234])
|
||||
- add_binary e2fsck
|
||||
+ add_binary /sbin/e2fsck
|
||||
add_symlink /usr/bin/fsck.ext2 e2fsck
|
||||
add_symlink /usr/bin/fsck.ext3 e2fsck
|
||||
add_symlink /usr/bin/fsck.ext4 e2fsck
|
||||
@@ -49,7 +49,7 @@
|
||||
return
|
||||
fi
|
||||
|
||||
- add_binary fsck
|
||||
+ add_binary /sbin/fsck
|
||||
}
|
||||
|
||||
help() {
|
||||
diff -Nuar mkinitcpio-v41.orig/install/meson.build mkinitcpio-v41/install/meson.build
|
||||
--- mkinitcpio-v41.orig/install/meson.build 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/install/meson.build 2026-05-14 22:54:12.156962008 +0300
|
||||
@@ -24,6 +24,7 @@
|
||||
'strip',
|
||||
'udev',
|
||||
'usr',
|
||||
+ 'plymouth',
|
||||
]
|
||||
|
||||
systemd_hooks = [
|
||||
diff -Nuar mkinitcpio-v41.orig/install/plymouth mkinitcpio-v41/install/plymouth
|
||||
--- mkinitcpio-v41.orig/install/plymouth 1970-01-01 02:00:00.000000000 +0200
|
||||
+++ mkinitcpio-v41/install/plymouth 2026-05-14 22:42:32.523978214 +0300
|
||||
@@ -0,0 +1,63 @@
|
||||
+#!/usr/bin/env bash
|
||||
+# SPDX-License-Identifier: GPL-2.0-only
|
||||
+
|
||||
+
|
||||
+build() {
|
||||
+ add_dir /dev/pts
|
||||
+ add_dir /usr/share/plymouth/themes
|
||||
+ add_dir /var/run/plymouth
|
||||
+
|
||||
+ DATADIR="/usr/share"
|
||||
+ PLYMOUTH_LOGO_FILE="${DATADIR}/pixmaps/plymouth-pisilinux.png"
|
||||
+ PLYMOUTH_THEME_NAME="$(/usr/sbin/plymouth-set-default-theme)"
|
||||
+ PLYMOUTH_MODULE_NAME="$(grep "ModuleName *= *" ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')"
|
||||
+ PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
|
||||
+
|
||||
+ add_binary /sbin/plymouthd
|
||||
+ add_binary /bin/plymouth
|
||||
+
|
||||
+ add_file ${DATADIR}/plymouth/themes/text/text.plymouth
|
||||
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/text.so
|
||||
+ add_file ${DATADIR}/plymouth/themes/details/details.plymouth
|
||||
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/details.so
|
||||
+
|
||||
+ add_file "${PLYMOUTH_LOGO_FILE}"
|
||||
+ add_file /etc/pisilinux-release
|
||||
+ add_file /etc/plymouth/plymouthd.conf
|
||||
+ add_file ${DATADIR}/plymouth/plymouthd.defaults
|
||||
+
|
||||
+ if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then
|
||||
+ echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" > /dev/stderr
|
||||
+ exit 1
|
||||
+ fi
|
||||
+
|
||||
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so
|
||||
+
|
||||
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so
|
||||
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so
|
||||
+
|
||||
+ if [ -d ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME} ]; then
|
||||
+ for x in ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/* ; do
|
||||
+ [ ! -f "$x" ] && break
|
||||
+ add_file $x
|
||||
+ done
|
||||
+ fi
|
||||
+
|
||||
+
|
||||
+ # suppress a warning in glib (which the label control uses)
|
||||
+ # about uid 0 by building a dummy NSS stack (LP #649917)
|
||||
+ add_file /etc/passwd
|
||||
+ add_file /etc/nsswitch.conf
|
||||
+ add_binary "$(readlink -e /lib/libnss_files.so.2)"
|
||||
+ add_file /lib/libnss_files.so.2
|
||||
+
|
||||
+ add_runscript
|
||||
+}
|
||||
+
|
||||
+help() {
|
||||
+ echo "This hook includes plymouth in the initramfs image."
|
||||
+}
|
||||
+
|
||||
+# vim: set ft=sh:
|
||||
+#EOF
|
||||
+
|
||||
diff -Nuar mkinitcpio-v41.orig/install/udev mkinitcpio-v41/install/udev
|
||||
--- mkinitcpio-v41.orig/install/udev 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/install/udev 2026-05-14 22:02:22.933959089 +0300
|
||||
@@ -1,18 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
build() {
|
||||
- map add_binary \
|
||||
- '@UDEVD_PATH@' \
|
||||
- '/usr/bin/udevadm' \
|
||||
- '/usr/lib/udev/ata_id' \
|
||||
- '/usr/lib/udev/scsi_id' \
|
||||
- '/usr/lib/libkmod.so.2'
|
||||
+ add_binary /bin/udevadm
|
||||
+ add_binary /sbin/udevd
|
||||
+ add_file /lib/udev/ata_id
|
||||
+ add_file /lib/udev/scsi_id
|
||||
+ add_file /lib/libkmod.so.2
|
||||
|
||||
- # meson-templated path
|
||||
- # shellcheck disable=SC2157
|
||||
- if [[ -n '@TMPFILES_PATH@' ]]; then
|
||||
- add_binary '@TMPFILES_PATH@'
|
||||
- fi
|
||||
|
||||
map add_udev_rule \
|
||||
'50-udev-default.rules' \
|
||||
@@ -20,11 +14,6 @@
|
||||
'64-btrfs.rules' \
|
||||
'80-drivers.rules'
|
||||
|
||||
- # add hwdb binaries to the initramfs
|
||||
- map add_file \
|
||||
- /usr/lib/udev/hwdb.bin \
|
||||
- /etc/udev/hwdb.bin
|
||||
-
|
||||
add_runscript
|
||||
}
|
||||
|
||||
diff -Nuar mkinitcpio-v41.orig/meson.build mkinitcpio-v41/meson.build
|
||||
--- mkinitcpio-v41.orig/meson.build 2026-04-30 00:02:10.000000000 +0300
|
||||
+++ mkinitcpio-v41/meson.build 2026-05-14 22:53:03.882963590 +0300
|
||||
@@ -146,6 +146,7 @@
|
||||
'hooks/sleep',
|
||||
'hooks/udev',
|
||||
'hooks/usr',
|
||||
+ 'hooks/plymouth',
|
||||
'init',
|
||||
'init_functions',
|
||||
'install/acpi_override',
|
||||
@@ -175,6 +176,7 @@
|
||||
'install/strip',
|
||||
'install/systemd',
|
||||
'install/udev',
|
||||
+ 'install/plymouth',
|
||||
'install/usr',
|
||||
'lsinitcpio',
|
||||
'mkinitcpio',
|
||||
@@ -11,16 +11,16 @@
|
||||
<License>GPLv2</License>
|
||||
<Summary>Modular initramfs image creation utility</Summary>
|
||||
<Description>mkinitcpio is a generic, modular, cross-distribution initramfs generation tool.</Description>
|
||||
<Archive sha1sum="a1c8794c29b1da0811b5038dbcdb4a0b5d1e05cd" type="targz">https://github.com/archlinux/mkinitcpio/archive/refs/tags/v30.tar.gz</Archive>
|
||||
<Archive sha1sum="beecaac3b5b5d6fb24cba1dff578c21b06087723" type="tarbz2">https://gitlab.archlinux.org/archlinux/mkinitcpio/mkinitcpio/-/archive/v41/mkinitcpio-v41.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>asciidoc</Dependency>
|
||||
<Dependency>libxslt-devel</Dependency>
|
||||
<Dependency>libarchive-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">nosystemd.patch</Patch>
|
||||
<Patch level="1">gzip-default.patch</Patch>
|
||||
<Patch level="1">mount-dev-pts.patch</Patch>
|
||||
<Patch level="1">v41_pisi.patch</Patch>
|
||||
<Patch level="1">artix/0001-no-systemd.patch</Patch>
|
||||
<Patch level="1">artix/0002-no-systemd-meson.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
@@ -31,12 +31,12 @@
|
||||
<Dependency>libarchive</Dependency>
|
||||
<Dependency>busybox-mkinitcpio</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Conflicts>
|
||||
<!--Conflicts>
|
||||
<Package>mkinitramfs</Package>
|
||||
<Package>initrd</Package>
|
||||
</Conflicts>
|
||||
</Conflicts-->
|
||||
<Files>
|
||||
<Path fileType="data">/etc/initcpio</Path>
|
||||
<Path fileType="data">/etc</Path>
|
||||
<Path fileType="config">/etc/mkinitcpio.conf</Path>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib/initcpio</Path>
|
||||
@@ -48,7 +48,7 @@
|
||||
<Path fileType="data">/usr/share/zsh</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/hooks/udev">udev_hook</AdditionalFile>
|
||||
<!--AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/hooks/udev">udev_hook</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/install/udev">udev_install</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/hooks/lvm2">lvm2_hook</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/install/lvm2">lvm2_install</AdditionalFile>
|
||||
@@ -63,15 +63,22 @@
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/install/live">live_install</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/udev/11-dm-initramfs.rules">11-dm-initramfs.rules</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/usr/lib/initcpio/udev/69-dm-lvm-metad.rules">69-dm-lvm-metad.rules</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/mkinitcpio.conf">mkinitcpio.conf</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/mkinitcpio.conf">mkinitcpio.conf</AdditionalFile-->
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="package.py">System.Package</COMAR>
|
||||
<!--COMAR script="package.py">System.Package</COMAR-->
|
||||
<COMAR script="pakhandler.py">System.PackageHandler</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="14">
|
||||
<Date>2026-05-14</Date>
|
||||
<Version>41</Version>
|
||||
<Comment>Versio Bump</Comment>
|
||||
<Name>Mustafa Cinasal</Name>
|
||||
<Email>muscnslp@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="13">
|
||||
<Date>2026-05-14</Date>
|
||||
<Version>30</Version>
|
||||
|
||||
Reference in New Issue
Block a user