From f5a99298d59998060118fc811aaad95fab6a5354 Mon Sep 17 00:00:00 2001 From: Logan Rathbone Date: Wed, 28 Jul 2021 17:03:26 +0200 Subject: desktop/weston: Cleanups to docs and SlackBuild. Signed-off-by: Matteo Bernardini --- desktop/weston/README.SBo | 203 ++++++++++++++++++--------------------- desktop/weston/slack-desc | 2 +- desktop/weston/weston.SlackBuild | 56 +++++------ 3 files changed, 114 insertions(+), 147 deletions(-) (limited to 'desktop') diff --git a/desktop/weston/README.SBo b/desktop/weston/README.SBo index b7a939af79..bfd1c71693 100644 --- a/desktop/weston/README.SBo +++ b/desktop/weston/README.SBo @@ -1,112 +1,91 @@ -Weston: reference implementation of a Wayland compositor. -========================================================== - -This README is current as of Weston 9.0.0. - -*** NOTE *** ------------- - -This is the bleeding edge version of this SlackBuild that is ONLY compatible -with Slackware Current which has been relatively newly PAM-ified as of the -time of writing (May, 2020). - -If you are running Slackware stable (14.2 at the time of writing), you are NOT -in the right place. Please utilize the Slackbuild from slackbuilds.org ( git: -https://git.slackbuilds.org/slackbuilds/ ). - -In addition to this SlackBuild not working unless your Slackware install is -PAM-ified, Weston >= 8.0.0 will not work on Slackware 14.2 as the graphics -stack is simply too old. - -Introduction ------------- - -Weston is the reference implementation of a Wayland compositor, as well -as a useful environment in and of itself. - -Out of the box, Weston provides a very basic desktop, or a full-featured -environment for non-desktop uses such as automotive, embedded, -in-flight, industrial, kiosks, set-top boxes and TVs. It also provides a -library allowing other projects to build their own full-featured -environments on top of Weston's core. - -A small suite of example or demo clients are also provided: though they -can be useful in themselves, their main purpose is to be an example or -test case for others building compositors or clients. - - -Slackware-specific Information ------------------------------- - -***************************************** -IMPORTANT: MANUAL INTERVENTION REQUIRED. -***************************************** - -This SlackBuild of Weston takes a fairly "hands off" approach, and there -are a few things users need to be aware of. - -To launch Weston, here are some required steps. - -Please note that setting weston-launch suid root is NOT required any longer -under PAM-ified Slackware Current. - -1. If you do not have another script exporting XDG_RUNTIME_DIR, you -should enable the one that comes with this SlackBuild: - - # chmod +x /etc/profile.d/weston.sh - (or .csh, depending on your shell) - -(NOTE: You may want to grep your /etc/profile.d directory for other -scripts setting XDG_RUNTIME_DIR before doing this. AlienBob's ktown Plasma5 -install, for instance, already includes a script that sets up XDG_RUNTIME_DIR, -so doubling up by doing Step 1 above may cause unwanted behaviour.) - - -2. Logout (if necessary) and re-login as root. - -Once you've logged out and back in as root, run: - - `exec weston-launch -u $USER` - -where $USER is the username of the normal user you would like to launch Weston -as. - -To launch with Xwayland support, run: - - `exec weston-launch -u $USER -- --xwayland` - -You can use the Ctrl+Alt+Backspace keyboard combination to kill Weston. - - -Optional Dependencies ---------------------- - -At the present time, the only optional dependency for this SlackBuild is -colord, which is disabled by default. That is because colord pulls in many -dependencies, while building Weston without colord requires no dependencies at -all on Slackware current, which may be more desirable for users that just want -to quickly test out Wayland by getting Weston up and running. - -If you would like to enable colord functionality in this SlackBuild, -set the USE_COLORD variable to "true" before running the SlackBuild. - - -Known Issues ------------- - -* I have not had success getting Weston to launch with the proprietary nvidia -drivers in use. YMMV. I have had the best luck with the Intel KMS drivers. - -* In testing 8.0.0 on the newly PAM-ified Slackware current, I have found that -after running Ctrl+Alt+Backspace to quit, I am brought back to a blank, -black screen. If this happens, try waiting a few seconds and then hit -Ctrl+Alt+F2 (for instance) followed by Ctrl+Alt+F1 to get back to the console. - -* I want to stress and emphasize that this is still relatively experimental -software, that talks to your hardware at a fairly low level. For the most -part, I have not had any major issues, but I have seen some odd bugs and -behaviour, including Weston hard-locking my system upon exit and having to -reboot. I have also returned to my shell to find that some keystrokes I had -inputted while using Weston had been inputted into my console with a series of -"Command not found" errors. I do not believe Weston has been widely tested on -non-systemd/logind systems such as Slackware. Use at your own risk. +Weston: reference implementation of a Wayland compositor. +========================================================== + +This README is current as of Weston 9.0.0. + +Introduction +------------ + +Weston is the reference implementation of a Wayland compositor, as well +as a useful environment in and of itself. + +Out of the box, Weston provides a very basic desktop, or a full-featured +environment for non-desktop uses such as automotive, embedded, +in-flight, industrial, kiosks, set-top boxes and TVs. It also provides a +library allowing other projects to build their own full-featured +environments on top of Weston's core. + +A small suite of example or demo clients are also provided: though they +can be useful in themselves, their main purpose is to be an example or +test case for others building compositors or clients. + + +Slackware-specific Information +------------------------------ + +***************************************** +IMPORTANT: MANUAL INTERVENTION REQUIRED. +***************************************** + +This SlackBuild of Weston takes a fairly "hands off" approach, and there +are a few things users need to be aware of. + +To launch Weston, here are some required steps. + +Please note that setting weston-launch suid root is NOT required any longer +under PAM-ified Slackware Current. + +1. If you do not have another script exporting XDG_RUNTIME_DIR, you +should enable the one that comes with this SlackBuild: + + # chmod +x /etc/profile.d/weston.sh + (or .csh, depending on your shell) + +2. Logout (if necessary) and re-login as root. + +Once you've logged out and back in as root, run: + + `exec weston-launch -u $USER` + +where $USER is the username of the normal user you would like to launch Weston +as. + +To launch with Xwayland support, run: + + `exec weston-launch -u $USER -- --xwayland` + +You can use the Ctrl+Alt+Backspace keyboard combination to kill Weston. + + +Optional Dependencies +--------------------- + +At the present time, the only optional dependency for this SlackBuild is +colord, which is disabled by default. That is because colord pulls in many +dependencies, while building Weston without colord requires no dependencies at +all on Slackware current, which may be more desirable for users that just want +to quickly test out Wayland by getting Weston up and running. + +If you would like to enable colord functionality in this SlackBuild, +set the USE_COLORD variable to "true" before running the SlackBuild. + + +Known Issues +------------ + +* I have not had success getting Weston to launch with the proprietary nvidia +drivers in use. YMMV. I have had the best luck with the Intel KMS drivers. + +* In testing 8.0.0 on the newly PAM-ified Slackware current, I have found that +after running Ctrl+Alt+Backspace to quit, I am brought back to a blank, +black screen. If this happens, try waiting a few seconds and then hit +Ctrl+Alt+F2 (for instance) followed by Ctrl+Alt+F1 to get back to the console. + +* I want to stress and emphasize that this is still relatively experimental +software, that talks to your hardware at a fairly low level. For the most +part, I have not had any major issues, but I have seen some odd bugs and +behaviour, including Weston hard-locking my system upon exit and having to +reboot. I have also returned to my shell to find that some keystrokes I had +inputted while using Weston had been inputted into my console with a series of +"Command not found" errors. I do not believe Weston has been widely tested on +non-systemd/logind systems such as Slackware. Use at your own risk. diff --git a/desktop/weston/slack-desc b/desktop/weston/slack-desc index 041f15f591..c75b5f5c7a 100644 --- a/desktop/weston/slack-desc +++ b/desktop/weston/slack-desc @@ -14,6 +14,6 @@ weston: weston: Out of the box, Weston provides a very basic desktop or a weston: full-featured environment for non-desktop users. weston: -weston: IMPORTANT: Please read README.Slackware before attempting to run. +weston: IMPORTANT: Please read README.SBo before attempting to run. weston: weston: Homepage: http://wayland.freedesktop.org/ diff --git a/desktop/weston/weston.SlackBuild b/desktop/weston/weston.SlackBuild index b67a823fd1..d1382dd8e5 100644 --- a/desktop/weston/weston.SlackBuild +++ b/desktop/weston/weston.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for Weston -# Copyright 2019-2020 Logan Rathbone +# Copyright 2019-2021 Logan Rathbone # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=weston VERSION=${VERSION:-9.0.0} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -81,28 +81,26 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# "./configure" -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -meson build/ \ - --prefix=/usr \ - --mandir=man \ - --libdir=lib${LIBDIRSUFFIX} \ - -Dlauncher-logind=false \ - -Dbackend-rdp=false \ - -Dsystemd=false \ - -Dpipewire=false \ - -Dsimple-dmabuf-drm=auto \ - -Dcolor-management-colord=${USE_COLORD:-false} - -# "make" -"${NINJA:=ninja}" -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -$NINJA -C build - -# "make install" -DESTDIR=$PKG $NINJA -C build/ install +# nb: pipewire is disabled for now as >= 0.3 not yet supported + +mkdir build +cd build + CFLAGS="$SLKCFLAGS" \ + CXXFLAGS="$SLKCFLAGS" \ + meson .. \ + --prefix=/usr \ + --mandir=man \ + --libdir=lib${LIBDIRSUFFIX} \ + -Dlauncher-logind=false \ + -Dbackend-rdp=false \ + -Dsystemd=false \ + -Dpipewire=false \ + -Dsimple-dmabuf-drm=auto \ + -Dcolor-management-colord=${USE_COLORD:-false} + + ninja + DESTDIR=$PKG ninja install +cd .. # strip find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ @@ -172,16 +170,6 @@ EOF # config-ify the profile.d stuff -# FIXME - I tried many things to try to creatively preserve the perms -# of weston-launch as well (ie, in case someone suid's it and wants to -# keep it that way upon upgrade), but this is really difficult if not -# impossible to implement with Slackware's packaging system without -# allowing for stray binaries (which would have been setuid by the -# user) lingering around, which I'd really rather avoid, for safety. -# -# At this juncture, users will simply have to manually setuid-root the -# binary upon each upgrade. - cat << EOF >> $PKG/install/doinst.sh preserve_perms etc/profile.d/${PRGNAM}.sh.new preserve_perms etc/profile.d/${PRGNAM}.csh.new -- cgit v1.2.3