diff --git a/pkg.info b/pkg.info index 4a64b55..5823ddc 100644 --- a/pkg.info +++ b/pkg.info @@ -1,10 +1,39 @@ name: plymouth description: Early boot process providing a graphical boot animation version: 24.004.60 +revision: 2 url: https://gitlab.freedesktop.org/plymouth/plymouth/ license: GPL2-or-later architecture: any -depends: ["cairo","filesystem","freetype2","glibc","gtk3","libdrm","libevdev","libpng","pango","libxkbcommon","xkeyboard-config"] -make_depends: ["git","meson"] -keep: ["etc/plymouth/plymouthd.conf"] type: source +keep: + - etc/logrotate.d/bootlog + - etc/plymouth/plymouthd.conf +depends: + - bash + - cairo + - filesystem + - fontconfig + - freetype2 + - glib + - glibc + - libdrm + - libevdev + - libpng + - libx11 + - libxkbcommon + - pango + - xkeyboard-config +optional_depends: + - gtk3 +make_depends: + - docbook-xsl-nons + - git + - gtk3 + - meson +downloads: + - url: https://gitlab.freedesktop.org/plymouth/plymouth.git + type: git + clone_to: ${BPM_SOURCE} + git_branch: ${BPM_PKG_VERSION} + checksum: d6e6366d622962dce02d8c7e4ab814f54a202509 diff --git a/source-files/71-plymouth-seat.rules b/source-files/71-plymouth-seat.rules new file mode 100644 index 0000000..a49d446 --- /dev/null +++ b/source-files/71-plymouth-seat.rules @@ -0,0 +1,9 @@ +ACTION=="remove", GOTO="seat_end" + +SUBSYSTEM=="graphics", KERNEL=="fb[0-9]*", TAG+="seat", TAG+="master-of-seat" +SUBSYSTEM=="drm", KERNEL=="card[0-9]*", TAG+="seat", TAG+="master-of-seat" + +TAG=="seat", ENV{ID_PATH}=="", IMPORT{builtin}="path_id" +TAG=="seat", ENV{ID_FOR_SEAT}=="", ENV{ID_PATH_TAG}!="", ENV{ID_FOR_SEAT}="$env{SUBSYSTEM}-$env{ID_PATH_TAG}" + +LABEL="seat_end" diff --git a/source-files/plymouthd-quit.esv b/source-files/plymouthd-quit.esv new file mode 100644 index 0000000..aec2b28 --- /dev/null +++ b/source-files/plymouthd-quit.esv @@ -0,0 +1,6 @@ +name: plymouthd-quit +description: Quit plymouth after booting +type: simple +start_cmd: plymouth --quit +exit_method: kill +restart: false diff --git a/source.sh b/source.sh index 9faa632..1d23777 100644 --- a/source.sh +++ b/source.sh @@ -2,34 +2,31 @@ # BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE # BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT -REPO="https://gitlab.freedesktop.org/plymouth/plymouth.git" -FILENAME="${DOWNLOAD##*/}" - # The prepare function is executed in the root of the temp directory -# This function is used for downloading files and putting them into the correct location +# This function is used for putting downloaded files to the correct location or applying patches prepare() { - git clone --depth=1 --branch="$BPM_PKG_VERSION" "$REPO" "$BPM_SOURCE" - + cd "$BPM_SOURCE" # Change default plymouth theme - sed -i 's/^Theme=spinner$/Theme=bgrt/' "$BPM_SOURCE"/src/plymouthd.defaults + sed -i 's/^Theme=spinner$/Theme=bgrt/' src/plymouthd.defaults } # The build function is executed in the source directory # This function is used to compile the source code build() { - mkdir build - cd build - - meson setup --prefix=/usr -Dsystemd-integration=false -Dlogo=/usr/share/pixmaps/tidelinux-logo.png .. - meson compile + meson setup --prefix=/usr -Dsystemd-integration=false -Dlogo=/usr/share/pixmaps/tidelinux-logo.png build + meson compile -C build } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory package() { - cd build - - meson install --destdir="$BPM_OUTPUT" + meson install -C build --destdir="$BPM_OUTPUT" + + # Install seat rules + install -Dm64 "$BPM_WORKDIR"/71-plymouth-seat.rules "$BPM_OUTPUT"/usr/lib/udev/rules.d/71-plymouth-seat.rules + + # Install esvm service + install -Dm644 "$BPM_WORKDIR"/plymouthd-quit.esv "$BPM_OUTPUT"/etc/esvm/services/plymouthd-quit.esv # Remove run directory from BPM output directory rm -r "$BPM_OUTPUT"/run