mirror of
https://gitdl.cn/https://github.com/chakralinux/core.git
synced 2025-02-03 09:57:14 +08:00
use plymouth git version to enable proprietary driver support
This commit is contained in:
parent
bf6fa76540
commit
749a388b9e
@ -1,6 +1,7 @@
|
||||
# Contributor: ahjolinna <@yahoo.com>
|
||||
|
||||
pkgname=plymouth
|
||||
pkgver=0.9.2
|
||||
pkgver=0.9.2.90.e4b7e495
|
||||
pkgrel=1
|
||||
pkgdesc="A graphical boot splash screen with kernel mode-setting support"
|
||||
url="http://www.freedesktop.org/wiki/Software/Plymouth/"
|
||||
@ -9,7 +10,7 @@ arch=('x86_64')
|
||||
license=('GPL')
|
||||
|
||||
depends=('libdrm' 'pango' 'systemd')
|
||||
makedepends=('docbook-xsl')
|
||||
makedepends=('git' 'docbook-xsl')
|
||||
optdepends=('ttf-dejavu')
|
||||
|
||||
options=('!libtool' '!emptydirs')
|
||||
@ -18,41 +19,46 @@ provides=('plymouth')
|
||||
conflicts=('plymouth-git')
|
||||
backup=('etc/plymouth/plymouthd.conf')
|
||||
|
||||
source=("http://www.freedesktop.org/software/${pkgname}/releases/${pkgname}-${pkgver}.tar.bz2"
|
||||
_gitsha='e4b7e495'
|
||||
source=("git://anongit.freedesktop.org/plymouth#commit=${_gitsha}"
|
||||
'chakra-logo.png'
|
||||
'plymouth.encrypt_hook'
|
||||
'plymouth.encrypt_install'
|
||||
'plymouth-start.service'
|
||||
'plymouth-start.path'
|
||||
'plymouth.initcpio_hook'
|
||||
'plymouth.initcpio_install'
|
||||
'plymouth-quit.service.in.patch'
|
||||
'plymouth-set-default-theme.in.patch'
|
||||
'plymouth-update-initrd.patch')
|
||||
'plymouth.encrypt_hook'
|
||||
'plymouth.encrypt_install'
|
||||
'sddm-plymouth.service'
|
||||
'plymouth.initcpio_hook'
|
||||
'plymouth.initcpio_install'
|
||||
'sd-plymouth.initcpio_install'
|
||||
'plymouth-set-default-theme.in.patch'
|
||||
'plymouth-quit.service.in.patch'
|
||||
'plymouth-update-initrd.patch'
|
||||
'plymouthd.conf')
|
||||
|
||||
md5sums=('ff420994deb7ea203df678df92e7ab7d'
|
||||
'ea55756c8ee1f38c3017043d7036c409'
|
||||
'fbdd5d04e3089a214b9056357434df86'
|
||||
'65eb269910f1b81e3f0970af456394ca'
|
||||
'78340207f7391c682601b1b36baed14d'
|
||||
'672ad913e2383483bcb4599a0a6bee48'
|
||||
'32f04fdbd1eb94ade30d1e63fdcdd9b5'
|
||||
'763785c26c6429a755d7b08798de2178'
|
||||
'165a39dbedcc6e123c8ca05d5b4b2e25'
|
||||
'f79edbbb30c71b0dbcd102c7dd31660b'
|
||||
'0357775c16b5f90f1af485e6a4c80a9e')
|
||||
sha256sums=('SKIP'
|
||||
'17ba688027bad20e888f703fef33f2460be4cd4426dd2d5291f9126c71cfceb2'
|
||||
'cbfb5bcb6897703e088eefdee9d578f75d987116becafecbb2018b283ba3865e'
|
||||
'544399d4f3454644f24ad11e504eaa7d622c73942728f52fb55bea054c756fa1'
|
||||
'62be126971068eb6138674f797dc9cfce4dc59371d31ff5388cd8de2b1cb397e'
|
||||
'd349b30832ff84ea7e4b86265efd5d08f8ff00e9153f05f41c8e8b49addf321c'
|
||||
'b0467b7c490539470f726358e5d0c72951efd58d268a2d16411dafacba68041a'
|
||||
'f434dd9cc96c3cec470aedb7734663cd3e04ffa34eff2bea92708f966132a2da'
|
||||
'b7ce99519c4ecbd582ac4b2ee873c56424c6eee4d32ba8b0074798f4c23a12df'
|
||||
'fc900a0c330b9bcbf84afaa6575d9df392c4e8c2ea699b72dc9a137f4972de49'
|
||||
'bb597e2ced7c3beca8c9e9f212bc001750746d9b41e00071697a0352ec2a2e27'
|
||||
'4e28ed8a22dd722f939f788283edde6a6310985c2060c1fd9562ed5b72f6b5ae')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir"/${pkgname}-${pkgver}
|
||||
patch -p1 -i $srcdir/plymouth-set-default-theme.in.patch
|
||||
patch -p1 -i $srcdir/plymouth-update-initrd.patch
|
||||
patch -p1 -i $srcdir/plymouth-quit.service.in.patch
|
||||
cd plymouth
|
||||
|
||||
patch -p1 -i $srcdir/plymouth-set-default-theme.in.patch
|
||||
patch -p1 -i "$srcdir"/plymouth-update-initrd.patch
|
||||
patch -p1 -i "$srcdir"/plymouth-quit.service.in.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir"/${pkgname}-${pkgver}
|
||||
|
||||
LDFLAGS="$LDFLAGS -ludev" ./configure --prefix=/usr \
|
||||
cd ${pkgname%-*}
|
||||
|
||||
LDFLAGS="$LDFLAGS -ludev" ./autogen.sh \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
@ -76,19 +82,22 @@ build() {
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$srcdir"/${pkgname}-${pkgver}
|
||||
cd plymouth
|
||||
|
||||
make DESTDIR="$pkgdir" install
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
install -Dm644 "$srcdir/chakra-logo.png" "$pkgdir/usr/share/plymouth/chakra-logo.png"
|
||||
install -Dm644 "$srcdir"/chakra-logo.png "$pkgdir"/usr/share/plymouth/arch-logo.png
|
||||
|
||||
install -Dm644 "$srcdir/plymouth.encrypt_hook" "$pkgdir/usr/lib/initcpio/hooks/plymouth-encrypt"
|
||||
install -Dm644 "$srcdir/plymouth.encrypt_install" "$pkgdir/usr/lib/initcpio/install/plymouth-encrypt"
|
||||
install -Dm644 "$srcdir/plymouth.initcpio_hook" "$pkgdir/usr/lib/initcpio/hooks/plymouth"
|
||||
install -Dm644 "$srcdir/plymouth.initcpio_install" "$pkgdir/usr/lib/initcpio/install/plymouth"
|
||||
|
||||
install -Dm644 "$srcdir/plymouth-start.service" "$pkgdir/usr/lib/systemd/system/plymouth-start.service"
|
||||
install -Dm644 "$srcdir/plymouth-start.path" "$pkgdir/usr/lib/systemd/system/plymouth-start.path"
|
||||
install -Dm644 "$pkgdir/usr/share/plymouth/plymouthd.defaults" "$pkgdir/etc/plymouth/plymouthd.conf"
|
||||
install -Dm644 "$srcdir"/plymouth.encrypt_hook "$pkgdir"/usr/lib/initcpio/hooks/plymouth-encrypt
|
||||
install -Dm644 "$srcdir"/plymouth.initcpio_hook "$pkgdir"/usr/lib/initcpio/hooks/plymouth
|
||||
install -Dm644 "$srcdir"/plymouth.encrypt_install "$pkgdir"/usr/lib/initcpio/install/plymouth-encrypt
|
||||
install -Dm644 "$srcdir"/plymouth.initcpio_install "$pkgdir"/usr/lib/initcpio/install/plymouth
|
||||
install -Dm644 "$srcdir"/sd-plymouth.initcpio_install "$pkgdir"/usr/lib/initcpio/install/sd-plymouth
|
||||
|
||||
install -dm755 "$pkgdir"/usr/lib/systemd/system
|
||||
install -m644 "$srcdir"/sddm-plymouth.service "$pkgdir"/usr/lib/systemd/system
|
||||
|
||||
ln -s '../systemd-ask-password-plymouth.path' "$pkgdir"/usr/lib/systemd/system/sysinit.target.wants/systemd-ask-password-plymouth.path
|
||||
|
||||
install -Dm644 "$srcdir"/plymouthd.conf "$pkgdir"/etc/plymouth/plymouthd.conf
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
diff -aur plymouth-0.8.8.src/systemd-units/plymouth-quit.service.in plymouth-0.8.8.patch/systemd-units/plymouth-quit.service.in
|
||||
--- plymouth-0.8.8.src/systemd-units/plymouth-quit.service.in 2012-09-27 02:50:53.000000000 +1000
|
||||
+++ plymouth-0.8.8.patch/systemd-units/plymouth-quit.service.in 2014-02-11 16:36:58.813194805 +1100
|
||||
diff -aur plymouth.src/systemd-units/plymouth-quit.service.in plymouth.patch/systemd-units/plymouth-quit.service.in
|
||||
--- plymouth.src/systemd-units/plymouth-quit.service.in 2014-02-20 19:38:13.329427597 +1100
|
||||
+++ plymouth.patch/systemd-units/plymouth-quit.service.in 2014-02-20 19:40:52.619343839 +1100
|
||||
@@ -1,8 +1,9 @@
|
||||
[Unit]
|
||||
Description=Terminate Plymouth Boot Screen
|
||||
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=Automatically Start Plymouth Boot Screen
|
||||
|
||||
[Path]
|
||||
PathExistsGlob=/sys/class/graphics/fb*/device/drm/
|
||||
Unit=plymouth-start.service
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
|
@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=Show Plymouth Boot Screen
|
||||
DefaultDependencies=no
|
||||
Wants=systemd-ask-password-plymouth.path systemd-vconsole-setup.service
|
||||
After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service
|
||||
Before=systemd-ask-password-plymouth.service
|
||||
ConditionKernelCommandLine=!plymouth.enable=0
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
|
||||
ExecStartPost=-/usr/bin/plymouth show-splash
|
||||
Type=forking
|
||||
KillMode=none
|
||||
SendSIGKILL=no
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
@ -1,6 +1,6 @@
|
||||
diff -aur plymouth-0.9.0.src/scripts/plymouth-update-initrd plymouth-0.9.0.patch/scripts/plymouth-update-initrd
|
||||
--- plymouth-0.9.0.src/scripts/plymouth-update-initrd 2014-01-16 08:14:47.000000000 +1100
|
||||
+++ plymouth-0.9.0.patch/scripts/plymouth-update-initrd 2014-05-21 19:04:16.802594001 +1000
|
||||
diff -aur plymouth.src/scripts/plymouth-update-initrd plymouth.patch/scripts/plymouth-update-initrd
|
||||
--- plymouth.src/scripts/plymouth-update-initrd 2014-02-20 19:38:13.319427393 +1100
|
||||
+++ plymouth.patch/scripts/plymouth-update-initrd 2014-02-20 19:54:13.035553244 +1100
|
||||
@@ -1,2 +1,4 @@
|
||||
#!/bin/bash
|
||||
-dracut -f
|
||||
|
@ -1,12 +1,29 @@
|
||||
|
||||
### former 'plymouth-git'
|
||||
|
||||
#run_hook() {
|
||||
# msg -n ":: Loading plymouth..."
|
||||
#
|
||||
# /bin/mknod /dev/fb c 29 0 &>/dev/null
|
||||
# #/bin/mount devpts /dev/pts -t devpts
|
||||
#
|
||||
# # plymouth deamon
|
||||
# #/bin/mkdir -p /run/plymouth
|
||||
# /usr/sbin/plymouthd --mode=boot --pid-file=/var/run/plymouth/pid --attach-to-session
|
||||
#
|
||||
# # plymouth frontend
|
||||
# /usr/bin/plymouth --show-splash
|
||||
# msg "done."
|
||||
#}
|
||||
|
||||
### from stable 'plymouth'
|
||||
|
||||
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
|
||||
|
||||
/usr/bin/mknod /dev/fb c 29 &>/dev/null
|
||||
|
||||
/usr/bin/mknod /dev/fb c 29 &>/dev/null
|
||||
/usr/bin/mkdir -p /dev/pts
|
||||
/usr/bin/mount -t devpts -o noexec,nosuid,gid=5,mode=0620 devpts /dev/pts || true
|
||||
/usr/bin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session
|
||||
|
@ -1,10 +1,10 @@
|
||||
build() {
|
||||
add_dir /dev/pts
|
||||
add_dir /usr/share/plymouth/themes
|
||||
add_dir /var/run/plymouth
|
||||
add_dir /var/run/plymouth # <- needed?
|
||||
|
||||
DATADIR="/usr/share"
|
||||
PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/chakra-logo.png"
|
||||
PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png"
|
||||
PLYMOUTH_THEME_NAME="$(/usr/bin/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)"
|
||||
@ -38,7 +38,7 @@ build() {
|
||||
add_file $x
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
add_file /usr/lib/udev/rules.d/70-uaccess.rules
|
||||
add_file /usr/lib/udev/rules.d/71-seat.rules
|
||||
|
||||
|
6
plymouth/plymouthd.conf
Normal file
6
plymouth/plymouthd.conf
Normal file
@ -0,0 +1,6 @@
|
||||
# Distribution defaults. Changes to this file will get overwritten during
|
||||
# upgrades.
|
||||
[Daemon]
|
||||
Theme=breeze
|
||||
ShowDelay=5
|
||||
DeviceTimeout=5
|
66
plymouth/sd-plymouth.initcpio_install
Normal file
66
plymouth/sd-plymouth.initcpio_install
Normal file
@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
# /etc/initcpio/install/sd-plymouth — mkinitcpio/systemd hook for plymouth
|
||||
|
||||
build() {
|
||||
add_dir /dev/pts
|
||||
add_dir /usr/share/plymouth/themes
|
||||
add_dir /run/plymouth
|
||||
|
||||
DATADIR="/usr/share"
|
||||
PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png"
|
||||
PLYMOUTH_THEME_NAME="$(/usr/bin/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 /usr/bin/plymouthd
|
||||
add_binary /usr/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/os-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
|
||||
|
||||
add_udev_rule 70-uaccess.rules
|
||||
add_udev_rule 71-seat.rules
|
||||
|
||||
map add_systemd_unit \
|
||||
systemd-ask-password-plymouth.path \
|
||||
systemd-ask-password-plymouth.service \
|
||||
plymouth-halt.service \
|
||||
plymouth-kexec.service \
|
||||
plymouth-poweroff.service \
|
||||
plymouth-quit-wait.service \
|
||||
plymouth-quit.service \
|
||||
plymouth-read-write.service \
|
||||
plymouth-reboot.service \
|
||||
plymouth-start.service \
|
||||
plymouth-switch-root.service
|
||||
}
|
||||
|
||||
help() {
|
||||
cat <<HELPEOF
|
||||
This hook includes plymouth in a systemd-based initramfs image.
|
||||
HELPEOF
|
||||
}
|
13
plymouth/sddm-plymouth.service
Normal file
13
plymouth/sddm-plymouth.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=Simple Desktop Display Manager
|
||||
Documentation=man:sddm(1) man:sddm.conf(5)
|
||||
Conflicts=getty@tty1.service
|
||||
Wants=plymouth-deactivate.service
|
||||
After=systemd-user-sessions.service getty@tty1.service plymouth-deactivate.service plymouth-quit.service
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/sddm
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
Alias=display-manager.service
|
Loading…
Reference in New Issue
Block a user