diff --git a/system/boot/plymouth/actions.py b/system/boot/plymouth/actions.py index ebec4a3ae1..c595b92350 100644 --- a/system/boot/plymouth/actions.py +++ b/system/boot/plymouth/actions.py @@ -7,6 +7,7 @@ from pisi.actionsapi import get from pisi.actionsapi import autotools from pisi.actionsapi import pisitools +from pisi.actionsapi import mesontools from pisi.actionsapi import shelltools LOGO_FILE = "/usr/share/pixmaps/plymouth-pisilinux.png" @@ -15,35 +16,43 @@ THEMEPATH = "/usr/share/plymouth/themes" def setup(): pisitools.ldflags.add(" -ludev ") # /var/run => /run - pisitools.dosed("configure.ac", "^(\s+plymouthruntimedir=)\$localstatedir(\/run\/plymouth)", r"\1\2") - pisitools.dosed("src/Makefile.am", "^(plymouthdrundir\s=\s)\$\(localstatedir\)(\/run\/plymouth)", r"\1\2") + # pisitools.dosed("configure.ac", "^(\s+plymouthruntimedir=)\$localstatedir(\/run\/plymouth)", r"\1\2") + # pisitools.dosed("src/Makefile.am", "^(plymouthdrundir\s=\s)\$\(localstatedir\)(\/run\/plymouth)", r"\1\2") - autotools.autoreconf("-fis") + # autotools.autoreconf("-fis") # The end-start colors seems to be used by the two-step plugin # Disable nouveau drm renderer as it causes hangs when starting X server - autotools.configure("--enable-tracing \ - --with-logo=%s \ - --with-release-file=/etc/pisilinux-release \ - --with-background-color=0x000000 \ - --with-background-end-color-stop=0x000000 \ - --with-background-start-color-stop=0x000000 \ - --with-system-root-install \ - --with-boot-tty=/dev/tty7 \ - --with-shutdown-tty=/dev/tty1 \ - --with-log-viewer \ - --disable-libdrm_nouveau \ - --disable-systemd-integration \ - --disable-tests \ - --disable-static \ - --enable-gdm-transition \ - --without-rhgb-compat-link" % LOGO_FILE) + mesontools.configure("-Dtracing=true \ + -Dlogo=%s \ + --bindir=/bin \ + --sbindir=/sbin \ + -Drelease-file=/etc/pisilinux-release \ + -Dbackground-color=0x000000 \ + -Dbackground-end-color-stop=0x000000 \ + -Dbackground-start-color-stop=0x000000 \ + -Dboot-tty=/dev/tty7 \ + -Dshutdown-tty=/dev/tty1 \ + -Dsystemd-integration=false \ + " % LOGO_FILE) + + # --with-system-root-install \ + # --with-log-viewer \ + # --disable-libdrm_nouveau \ + # --disable-tests \ + # --disable-static \ + # --enable-gdm-transition \ + # --without-rhgb-compat-link def build(): - autotools.make() + mesontools.build() + # autotools.make() + def install(): - autotools.rawInstall("DESTDIR='%s'" % get.installDIR()) + pisitools.insinto("/usr/share/pixmaps", "plymouth-pisilinux.png") + mesontools.install() + # autotools.rawInstall("DESTDIR='%s'" % get.installDIR()) # Copy necessary files for Charge theme pisitools.dodir("%s/charge" % THEMEPATH) @@ -56,4 +65,4 @@ def install(): # Generate initramfs filelist #shelltools.system("./generate-flist %s" % get.installDIR()) - pisitools.dodoc("TODO", "COPYING", "README", "ChangeLog") + pisitools.dodoc("COPYING", "README*", "AUTHORS") diff --git a/system/boot/plymouth/files/pisilinux/initramfs.files b/system/boot/plymouth/files/pisilinux/initramfs.files index 22c92fad0b..c8f7407c0d 100644 --- a/system/boot/plymouth/files/pisilinux/initramfs.files +++ b/system/boot/plymouth/files/pisilinux/initramfs.files @@ -5,11 +5,13 @@ /lib/libc.so.6 /lib/libdl.so.2 /lib/libm.so.6 -/lib/libply-splash-core.so.5 -/lib/libply.so.5 +/usr/lib/libply-splash-core.so.5 +/usr/lib/libply.so.5 /lib/libpthread.so.0 /lib/librt.so.1 /lib/libz.so.1 +/usr/lib/libevdev.so.2 +/usr/lib/libxkbcommon.so.0 /lib/libudev.so.1 /lib/libudev.so.1.6.3 /sbin/plymouthd diff --git a/system/boot/plymouth/files/pisilinux/pisilinux-meson.patch b/system/boot/plymouth/files/pisilinux/pisilinux-meson.patch new file mode 100644 index 0000000000..7c781f8f08 --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/pisilinux-meson.patch @@ -0,0 +1,132 @@ +diff -Nuar a/scripts/plymouth-set-default-theme.in b/scripts/plymouth-set-default-theme.in +--- a/scripts/plymouth-set-default-theme.in 2020-06-15 17:16:47.000000000 +0300 ++++ b/scripts/plymouth-set-default-theme.in 2021-01-25 16:17:31.757910545 +0300 +@@ -192,5 +192,5 @@ + sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf + sed -i -e "s/^\([[]Daemon[]]\)\n*/\1\nTheme=${THEME_NAME}/" ${PLYMOUTH_CONFDIR}/plymouthd.conf + +-[ $DO_INITRD_REBUILD -ne 0 ] && (${PLYMOUTH_LIBEXECDIR}/plymouth/plymouth-update-initrd) ++[ $DO_INITRD_REBUILD -ne 0 ] && /sbin/mkinitramfs + exit 0 +diff -Nuar a/scripts/plymouth-update-initrd b/scripts/plymouth-update-initrd +--- a/scripts/plymouth-update-initrd 2018-09-20 20:53:38.000000000 +0300 ++++ b/scripts/plymouth-update-initrd 2021-01-25 16:12:45.499931200 +0300 +@@ -1,2 +1,6 @@ + #!/bin/bash + dracut -f ++mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r) ++find /etc/mkinitcpio.d/ -name \*.preset -a \! -name example.preset | while read p; do ++ mkinitcpio -p $p ++done +diff -Nuar a/src/libply/ply-logger.h b/src/libply/ply-logger.h +--- a/src/libply/ply-logger.h 2020-06-15 17:16:47.000000000 +0300 ++++ b/src/libply/ply-logger.h 2021-01-25 16:15:33.191919100 +0300 +@@ -102,8 +102,8 @@ + __FILE__, __LINE__, __func__); \ + errno = _old_errno; \ + ply_logger_inject (logger, \ +- "%-75.75s: " format "\n", \ +- buf, ## args); \ ++ "" format "\n", \ ++ ## args); \ + ply_logger_flush (logger); \ + errno = _old_errno; \ + } \ +diff -Nuar a/src/libply-splash-core/ply-boot-splash-plugin.h b/src/libply-splash-core/ply-boot-splash-plugin.h +--- a/src/libply-splash-core/ply-boot-splash-plugin.h 2020-06-15 17:16:47.000000000 +0300 ++++ b/src/libply-splash-core/ply-boot-splash-plugin.h 2021-01-25 16:41:40.361806021 +0300 +@@ -38,6 +38,8 @@ + { + PLY_BOOT_SPLASH_MODE_BOOT_UP, + PLY_BOOT_SPLASH_MODE_SHUTDOWN, ++ PLY_BOOT_SPLASH_MODE_SUSPEND, ++ PLY_BOOT_SPLASH_MODE_RESUME, + PLY_BOOT_SPLASH_MODE_REBOOT, + PLY_BOOT_SPLASH_MODE_UPDATES, + PLY_BOOT_SPLASH_MODE_SYSTEM_UPGRADE, +diff -Nuar a/src/plugins/splash/script/script-lib-plymouth.c b/src/plugins/splash/script/script-lib-plymouth.c +--- a/src/plugins/splash/script/script-lib-plymouth.c 2020-06-15 17:16:47.000000000 +0300 ++++ b/src/plugins/splash/script/script-lib-plymouth.c 2021-01-25 13:43:12.694848568 +0300 +@@ -70,6 +70,12 @@ + case PLY_BOOT_SPLASH_MODE_SHUTDOWN: + obj = script_obj_new_string ("shutdown"); + break; ++ case PLY_BOOT_SPLASH_MODE_SUSPEND: ++ obj = script_obj_new_string ("suspend"); ++ break; ++ case PLY_BOOT_SPLASH_MODE_RESUME: ++ obj = script_obj_new_string ("resume"); ++ break; + case PLY_BOOT_SPLASH_MODE_REBOOT: + obj = script_obj_new_string ("reboot"); + break; +diff -Nuar a/src/plymouthd.conf b/src/plymouthd.conf +--- a/src/plymouthd.conf 2018-09-20 20:53:38.000000000 +0300 ++++ b/src/plymouthd.conf 2021-01-25 16:38:32.074819607 +0300 +@@ -1,3 +1,4 @@ + # Administrator customizations go in this file + #[Daemon] +-#Theme=fade-in ++#Theme=pisilinux ++#ShowDelay=0 +diff -Nuar a/src/plymouthd.defaults b/src/plymouthd.defaults +--- a/src/plymouthd.defaults 2021-10-27 23:22:15.000000000 +0300 ++++ b/src/plymouthd.defaults 2022-03-25 16:09:14.706976931 +0300 +@@ -1,6 +1,6 @@ + # Distribution defaults. Changes to this file will get overwritten during + # upgrades. + [Daemon] +-Theme=spinner ++Theme=pisilinux + ShowDelay=0 + DeviceTimeout=8 +diff -Nuar a/themes/meson.build b/themes/meson.build +--- a/themes/meson.build 2024-01-05 00:08:14.000000000 +0300 ++++ b/themes/meson.build 2024-07-07 22:03:09.966290140 +0300 +@@ -8,3 +8,4 @@ + subdir('spinner') + subdir('tribar') + subdir('bgrt') ++subdir('pisilinux') +diff -Nuar a/themes/pisilinux/Makefile.am b/themes/pisilinux/Makefile.am +--- a/themes/pisilinux/Makefile.am 2016-08-25 22:20:07.000000000 +0300 ++++ b/themes/pisilinux/Makefile.am 1970-01-01 02:00:00.000000000 +0200 +@@ -1,18 +0,0 @@ +-themedir = $(datadir)/plymouth/themes/pisilinux +-nodist_theme_DATA = \ +- pisilinux.plymouth +- +-dist_theme_DATA = \ +- pisilinux.script \ +- logo_blurred.png \ +- logo.png +- +- +-MAINTAINERCLEANFILES = Makefile.in pisilinux.plymouth +-CLEANFILES = pisilinux.plymouth +- +-pisilinux.plymouth: $(srcdir)/pisilinux.plymouth.in +- sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \ +- $(srcdir)/pisilinux.plymouth.in > pisilinux.plymouth +- +-EXTRA_DIST = pisilinux.plymouth.in +diff -Nuar a/themes/pisilinux/meson.build b/themes/pisilinux/meson.build +--- a/themes/pisilinux/meson.build 1970-01-01 02:00:00.000000000 +0200 ++++ b/themes/pisilinux/meson.build 2024-07-07 21:43:01.321400280 +0300 +@@ -0,0 +1,16 @@ ++solar_plymouth = configure_file( ++ input: 'pisilinux.plymouth.in', ++ output: '@BASENAME@', ++ configuration: { ++ 'PLYMOUTH_THEME_PATH': plymouth_theme_path, ++ }, ++ install: true, ++ install_dir: plymouth_theme_path / 'pisilinux', ++) ++ ++install_data( ++ 'logo.png', ++ 'logo_blurred.png', ++ 'pisilinux.script', ++ install_dir: plymouth_theme_path / 'pisilinux', ++) diff --git a/system/boot/plymouth/pspec.xml b/system/boot/plymouth/pspec.xml index 4e4acf3fa5..1e1ecee44c 100644 --- a/system/boot/plymouth/pspec.xml +++ b/system/boot/plymouth/pspec.xml @@ -13,12 +13,15 @@ library Graphical Boot Animation and Logger plymouth provides an attractive graphical boot animation in place of the text messages that normally get shown. Text messages are instead redirected to a log file for viewing after boot. - http://freedesktop.org/software/plymouth/releases/plymouth-22.02.122.tar.xz - https://sourceforge.net/projects/pisilinux/files/source/plymouth-theme-pisilinux-0.4.tar.xz + https://freedesktop.org/software/plymouth/releases/plymouth-24.004.60.tar.xz + https://sourceforge.net/projects/pisilinux/files/source/plymouth-theme-pisilinux-0.4.tar.xz pisilinux/generate-flist.py + pisilinux/images/white-head.png + meson + xkeyboard-config docbook-xsl kernel-headers libdrm-devel @@ -32,6 +35,7 @@ gtk3-devel eudev-devel libxslt-devel + libevdev-devel @@ -47,7 +51,7 @@ mageia/1002-main-allow-the-device-timeout-to-be-overridden-on-th.patch - pisilinux/pisilinux.patch + pisilinux/pisilinux-meson.patch @@ -56,7 +60,7 @@ eudev libdrm - plymouth-core-libs + plymouth-core-libs plymouth-theme-pisilinux @@ -102,9 +106,14 @@ plymouth-core-libs Plymouth core libraries plymouth-core-libs contains the libply and libply-splash-core libraries used by Plymouth. + + eudev + libevdev + libxkbcommon + - /lib/libply-splash-core.so* - /lib/libply.so* + /usr/lib/libply-splash-core.so* + /usr/lib/libply.so* @@ -115,6 +124,7 @@ zlib libpng + plymouth-core-libs /usr/lib/libply-splash-graphics.so* @@ -125,6 +135,11 @@ plymouth-devel Development headers and files for plymouth + eudev-devel + libpng-devel + libevdev-devel + xkeyboard-config + libxkbcommon-devel plymouth @@ -138,12 +153,14 @@ An X11 renderer for debugging purposes cairo - gtk2 + gtk3 + glib2 atk cairo pango gdk-pixbuf fontconfig + plymouth-core-libs /usr/lib/plymouth/renderers/x11* @@ -173,10 +190,13 @@ pango glib2 harfbuzz + freetype plymouth-graphics-libs + plymouth-core-libs - /usr/lib/plymouth/label.so + /usr/lib/plymouth/label-pango.so + /usr/lib/plymouth/label-freetype.so @@ -186,7 +206,7 @@ plymouth-plugin-fade-throbber contains the "Fade-In" boot splash plugin for Plymouth. It features a centered image that fades in and out while other images pulsate around during system boot up. plymouth-graphics-libs - + plymouth-core-libs /usr/lib/plymouth/fade-throbber.so @@ -249,7 +269,7 @@ plymouth-plugin-label plymouth-graphics-libs - + plymouth-core-libs /usr/lib/plymouth/space-flares.so @@ -273,9 +293,9 @@ Plymouth Two-Step plugin plymouth-plugin-two-step contains the "two-step" boot splash plugin for Plymouth. It features a two phased boot process that starts with a progressing animation synced to boot time and finishes with a short, fast one-shot animation. - plymouth-plugin-label + plymouth-graphics-libs - + plymouth-core-libs /usr/lib/plymouth/two-step.so @@ -300,7 +320,7 @@ plymouth-plugin-script contains "script" boot splash plugin for Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. plymouth-graphics-libs - + plymouth-core-libs /usr/lib/plymouth/script.so @@ -332,6 +352,13 @@ + + 2024-07-07 + 24.004.60 + Version bump. + Pisi Linux Community + admin@pisilinux.org + 2022-08-07 22.02.122