From 229d992d63f42e0817ed95ae6b4f0c84ac9be632 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Tue, 1 Dec 2020 23:04:48 +0100 Subject: trinity-base/tdm: Fix 14.0.8 install script, add missing || die ...in various places. Also: - sort IUSE, DEPEND - double brackets - sync pkg_postinst message in live ebuild Package-Manager: Portage-3.0.11, Repoman-3.0.2 Signed-off-by: Andreas Sturmlechner --- trinity-base/tdm/files/tdm-14.0.8-xsession.script | 66 +++++++++++++ trinity-base/tdm/files/tdm-9999-xsession.script | 66 ------------- trinity-base/tdm/tdm-14.0.8-r1.ebuild | 108 ++++++++++++++++++++++ trinity-base/tdm/tdm-14.0.8.ebuild | 107 --------------------- trinity-base/tdm/tdm-9999.ebuild | 39 ++++---- 5 files changed, 194 insertions(+), 192 deletions(-) create mode 100644 trinity-base/tdm/files/tdm-14.0.8-xsession.script delete mode 100644 trinity-base/tdm/files/tdm-9999-xsession.script create mode 100644 trinity-base/tdm/tdm-14.0.8-r1.ebuild delete mode 100644 trinity-base/tdm/tdm-14.0.8.ebuild diff --git a/trinity-base/tdm/files/tdm-14.0.8-xsession.script b/trinity-base/tdm/files/tdm-14.0.8-xsession.script new file mode 100644 index 00000000..a131c29c --- /dev/null +++ b/trinity-base/tdm/files/tdm-14.0.8-xsession.script @@ -0,0 +1,66 @@ +#! /bin/sh +# Xsession - run as user + +session=$1 + +# Note that the respective logout scripts are not sourced. +case $SHELL in + */bash) + [ -z "$BASH" ] && exec $SHELL $0 "$@" + set +o posix + [ -f /etc/profile ] && . /etc/profile + if [ -f $HOME/.bash_profile ]; then + . $HOME/.bash_profile + elif [ -f $HOME/.bash_login ]; then + . $HOME/.bash_login + elif [ -f $HOME/.profile ]; then + . $HOME/.profile + fi + ;; + */zsh) + [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@" + emulate -R zsh + [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc + zhome=${ZDOTDIR:-$HOME} + # zshenv is always sourced automatically. + [ -f $zdir/zprofile ] && . $zdir/zprofile + [ -f $zhome/.zprofile ] && . $zhome/.zprofile + [ -f $zdir/zlogin ] && . $zdir/zlogin + [ -f $zhome/.zlogin ] && . $zhome/.zlogin + setopt shwordsplit noextendedglob + ;; + */csh|*/tcsh) + # [t]cshrc is always sourced automatically. + # Note that sourcing csh.login after .cshrc is non-standard. + xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX` + $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $xsess_tmp" + . $xsess_tmp + rm -f $xsess_tmp + ;; + *) # Plain sh, ksh, and anything we don't know. + [ -f /etc/profile ] && . /etc/profile + [ -f $HOME/.profile ] && . $HOME/.profile + ;; +esac + +[ -f /etc/xprofile ] && . /etc/xprofile +[ -f $HOME/.xprofile ] && . $HOME/.xprofile + +case $session in + "") + exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." + ;; + failsafe) + exec xterm -geometry 80x24-0-0 + ;; + custom) + exec /bin/sh $HOME/.xsession + ;; + default) + exec @TRINITY_INSTALL_PATH@/bin/starttde + ;; + *) + eval exec "$session" + ;; +esac +exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." diff --git a/trinity-base/tdm/files/tdm-9999-xsession.script b/trinity-base/tdm/files/tdm-9999-xsession.script deleted file mode 100644 index a131c29c..00000000 --- a/trinity-base/tdm/files/tdm-9999-xsession.script +++ /dev/null @@ -1,66 +0,0 @@ -#! /bin/sh -# Xsession - run as user - -session=$1 - -# Note that the respective logout scripts are not sourced. -case $SHELL in - */bash) - [ -z "$BASH" ] && exec $SHELL $0 "$@" - set +o posix - [ -f /etc/profile ] && . /etc/profile - if [ -f $HOME/.bash_profile ]; then - . $HOME/.bash_profile - elif [ -f $HOME/.bash_login ]; then - . $HOME/.bash_login - elif [ -f $HOME/.profile ]; then - . $HOME/.profile - fi - ;; - */zsh) - [ -z "$ZSH_NAME" ] && exec $SHELL $0 "$@" - emulate -R zsh - [ -d /etc/zsh ] && zdir=/etc/zsh || zdir=/etc - zhome=${ZDOTDIR:-$HOME} - # zshenv is always sourced automatically. - [ -f $zdir/zprofile ] && . $zdir/zprofile - [ -f $zhome/.zprofile ] && . $zhome/.zprofile - [ -f $zdir/zlogin ] && . $zdir/zlogin - [ -f $zhome/.zlogin ] && . $zhome/.zlogin - setopt shwordsplit noextendedglob - ;; - */csh|*/tcsh) - # [t]cshrc is always sourced automatically. - # Note that sourcing csh.login after .cshrc is non-standard. - xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX` - $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f ~/.login) source ~/.login; /bin/sh -c export -p >! $xsess_tmp" - . $xsess_tmp - rm -f $xsess_tmp - ;; - *) # Plain sh, ksh, and anything we don't know. - [ -f /etc/profile ] && . /etc/profile - [ -f $HOME/.profile ] && . $HOME/.profile - ;; -esac - -[ -f /etc/xprofile ] && . /etc/xprofile -[ -f $HOME/.xprofile ] && . $HOME/.xprofile - -case $session in - "") - exec xmessage -center -buttons OK:0 -default OK "Sorry, $DESKTOP_SESSION is no valid session." - ;; - failsafe) - exec xterm -geometry 80x24-0-0 - ;; - custom) - exec /bin/sh $HOME/.xsession - ;; - default) - exec @TRINITY_INSTALL_PATH@/bin/starttde - ;; - *) - eval exec "$session" - ;; -esac -exec xmessage -center -buttons OK:0 -default OK "Sorry, cannot execute $session. Check $DESKTOP_SESSION.desktop." diff --git a/trinity-base/tdm/tdm-14.0.8-r1.ebuild b/trinity-base/tdm/tdm-14.0.8-r1.ebuild new file mode 100644 index 00000000..50b3b9a8 --- /dev/null +++ b/trinity-base/tdm/tdm-14.0.8-r1.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2020 Gentoo Authors +# Copyright 2020 The Trinity Desktop Project +# Distributed under the terms of the GNU General Public License v2 + +EAPI="7" + +TRINITY_MODULE_NAME="tdebase" +inherit trinity-meta-2 + +DESCRIPTION="Trinity login manager, similar to XDM and GDM" + +KEYWORDS="~amd64 ~x86" +IUSE="+hwlib pam sak +svg xcomposite xdmcp +xrandr" + +DEPEND=" + sys-apps/dbus + ~trinity-base/kcontrol-${PV} + ~trinity-base/tdelibs-${PV}[xrandr?] + x11-libs/libXtst + pam? ( trinity-base/tdebase-pam ) + svg? ( media-libs/libart_lgpl ) + xcomposite? ( x11-libs/libXcomposite ) + xdmcp? ( x11-libs/libXdmcp ) +" +RDEPEND="${DEPEND} + ~trinity-base/tdepasswd-${PV} + x11-apps/xinit + x11-apps/xmessage" + +pkg_setup() { + trinity-meta-2_pkg_setup + use sak && TRINITY_SUBMODULE+=" tsak" +} + +src_configure() { + local mycmakeargs=( + -DWITH_XTEST=ON + -DWITH_SHADOW=ON + -DWITH_LIBART="$(usex svg)" + -DWITH_XCOMPOSITE="$(usex xcomposite)" + -DWITH_XDMCP="$(usex xdmcp)" + -DWITH_XRANDR="$(usex xrandr)" + -DWITH_TDEHWLIB="$(usex hwlib)" + -DWITH_PAM="$(usex pam)" + -DTDM_PAM_SERVICE=tde + ) + + trinity-meta-2_src_configure +} + +src_install() { + cmake-utils_src_install + + # Customize the tdmrc configuration + sed -i -e "s:#SessionsDirs=:SessionsDirs=/usr/share/xsessions\n#SessionsDirs=:" \ + "${D}/${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" + + # Install XSession upstream script seems to be debian-cpecific + cp "${FILESDIR}/${PN}-14.0.8-xsession.script" "${D}/${TDEDIR}/share/config/tdm/Xsession" || die + sed -i -e "s!@TRINITY_INSTALL_PATH@!${TDEDIR}!" "${D}/${TDEDIR}/share/config/tdm/Xsession" \ + || die "sed tdmrc failed" +} + +pkg_postinst() { + # Set the default TDM face icon if it's not already set by the system admin + # because this is user-overrideable in that way, it's not in src_install + if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" ]]; then + mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die + cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/default1.png" \ + "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" || die + fi + if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" ]]; then + mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die + cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/root1.png" \ + "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" || die + fi + + if use sak; then + sak_ok=yes + if ! linux_config_exists; then + ewarn "Can't check the linux kernel configuration." + ewarn "You might have some incompatible options enabled." + sak_ok=no + else + if ! linux_chkconfig_present INPUT_UINPUT; then + eerror "You have built tdm with the Secure Attention Key (SAK) feature enabled." + eerror "It requires INPUT_UINPUT support to be enabled in the kernel." + eerror "Please enable it:" + eerror " CONFIG_INPUT_UINPUT=y" + eerror "in /usr/src/linux/.config or" + eerror " Device Drivers --->" + eerror " Input device support --->" + eerror " [*] Miscellaneous devices --->" + eerror " <*> User level driver support" + sak_ok=no + fi + fi + if [[ "$sak_ok" != yes ]]; then + sed -i -e 's:#\?\s*UseSAK=\(true\|false\)\?:UseSak=false:' \ + "${D}${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" + ewarn "SAK feature is disabled. You can enable it yourself by setting UseSAK=true" + ewarn "in ${TDEDIR}/share/config/tdm/tdmrc " + else + ewarn "SAK feature is enabled. You can disable it yourself by setting UseSAK=false" + ewarn "in ${TDEDIR}/share/config/tdm/tdmrc " + fi + fi +} diff --git a/trinity-base/tdm/tdm-14.0.8.ebuild b/trinity-base/tdm/tdm-14.0.8.ebuild deleted file mode 100644 index a63acdca..00000000 --- a/trinity-base/tdm/tdm-14.0.8.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Copyright 2020 The Trinity Desktop Project -# Distributed under the terms of the GNU General Public License v2 - -EAPI="7" -TRINITY_MODULE_NAME="tdebase" - -inherit trinity-meta-2 - -DESCRIPTION="Trinity login manager, similar to XDM and GDM" -KEYWORDS="~amd64 ~x86" - -IUSE="pam xdmcp xcomposite sak +xrandr +hwlib +svg" - -DEPEND="pam? ( trinity-base/tdebase-pam ) - xdmcp? ( x11-libs/libXdmcp ) - xcomposite? ( x11-libs/libXcomposite ) - svg? ( media-libs/libart_lgpl ) - ~trinity-base/tdelibs-${PV}[xrandr?] - sys-apps/dbus - x11-libs/libXtst - ~trinity-base/kcontrol-${PV}" - -RDEPEND="${DEPEND} - ~trinity-base/tdepasswd-${PV} - x11-apps/xinit - x11-apps/xmessage" - -pkg_setup() { - trinity-meta-2_pkg_setup; - use sak && TRINITY_SUBMODULE+=" tsak" -} - -src_configure() { - local mycmakeargs=( - -DWITH_XTEST=ON - -DWITH_SHADOW=ON - -DWITH_LIBART="$(usex svg)" - -DWITH_XCOMPOSITE="$(usex xcomposite)" - -DWITH_XDMCP="$(usex xdmcp)" - -DWITH_XRANDR="$(usex xrandr)" - -DWITH_TDEHWLIB="$(usex hwlib)" - -DWITH_PAM="$(usex pam)" - -DTDM_PAM_SERVICE=tde - ) - - trinity-meta-2_src_configure -} - -src_install() { - cmake-utils_src_install - - # Customize the tdmrc configuration - sed -i -e "s:#SessionsDirs=:SessionsDirs=/usr/share/xsessions\n#SessionsDirs=:" \ - "${D}/${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" - - # Install XSession upstream script seems to be debian-cpecific - cp "${FILESDIR}/${P}-xsession.script" "${D}/${TDEDIR}/share/config/tdm/Xsession" - sed -i -e "s!@TRINITY_INSTALL_PATH@!${TDEDIR}!" "${D}/${TDEDIR}/share/config/tdm/Xsession" \ - || die "sed tdmrc failed" -} - -pkg_postinst() { - # Set the default TDM face icon if it's not already set by the system admin - # because this is user-overrideable in that way, it's not in src_install - if [ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" ]; then - mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" - cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/default1.png" \ - "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" - fi - if [ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" ]; then - mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" - cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/root1.png" \ - "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" - fi - - if use sak; then - sak_ok=yes - if ! linux_config_exists; then - ewarn "Can't check the linux kernel configuration." - ewarn "You might have some incompatible options enabled." - sak_ok=no - else - if ! linux_chkconfig_present INPUT_UINPUT; then - eerror "You have built tdm with the Secure Attention Key (SAK) feature enabled." - eerror "It requires INPUT_UINPUT support to be enabled in the kernel." - eerror "Please enable it:" - eerror " CONFIG_INPUT_UINPUT=y" - eerror "in /usr/src/linux/.config or" - eerror " Device Drivers --->" - eerror " Input device support --->" - eerror " [*] Miscellaneous devices --->" - eerror " <*> User level driver support" - sak_ok=no - fi - fi - if [[ "$sak_ok" != yes ]]; then - sed -i -e 's:#\?\s*UseSAK=\(true\|false\)\?:UseSak=false:' \ - "${D}${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" - ewarn "SAK feature is disabled. You can enable it yourself by setting UseSAK=true " - ewarn "in ${TDEDIR}/share/config/tdm/tdmrc " - else - ewarn "SAK feature is enabled. You can disable it yourself by setting UseSAK=false" - ewarn "in ${TDEDIR}/share/config/tdm/tdmrc " - fi - fi -} diff --git a/trinity-base/tdm/tdm-9999.ebuild b/trinity-base/tdm/tdm-9999.ebuild index 3dec9137..43eb45df 100644 --- a/trinity-base/tdm/tdm-9999.ebuild +++ b/trinity-base/tdm/tdm-9999.ebuild @@ -9,17 +9,18 @@ inherit trinity-meta-2 DESCRIPTION="Trinity login manager, similar to XDM and GDM" -IUSE="pam xdmcp xcomposite sak +xrandr +hwlib +svg" +IUSE="+hwlib pam sak +svg xcomposite xdmcp +xrandr" -DEPEND="pam? ( trinity-base/tdebase-pam ) - xdmcp? ( x11-libs/libXdmcp ) - xcomposite? ( x11-libs/libXcomposite ) - svg? ( media-libs/libart_lgpl ) - ~trinity-base/tdelibs-${PV}[xrandr?] +DEPEND=" sys-apps/dbus + ~trinity-base/kcontrol-${PV} + ~trinity-base/tdelibs-${PV}[xrandr?] x11-libs/libXtst - ~trinity-base/kcontrol-${PV}" - + pam? ( trinity-base/tdebase-pam ) + svg? ( media-libs/libart_lgpl ) + xcomposite? ( x11-libs/libXcomposite ) + xdmcp? ( x11-libs/libXdmcp ) +" RDEPEND="${DEPEND} ~trinity-base/tdepasswd-${PV} x11-apps/xinit @@ -28,7 +29,7 @@ RDEPEND="${DEPEND} TSM_EXTRACT_ALSO="translations/" pkg_setup() { - trinity-meta-2_pkg_setup; + trinity-meta-2_pkg_setup use sak && TRINITY_SUBMODULE+=" tsak" } @@ -56,7 +57,7 @@ src_install() { "${D}/${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" # Install XSession upstream script seems to be debian-cpecific - cp "${FILESDIR}/${P}-xsession.script" "${D}/${TDEDIR}/share/config/tdm/Xsession" + cp "${FILESDIR}/${PN}-14.0.8-xsession.script" "${D}/${TDEDIR}/share/config/tdm/Xsession" || die sed -i -e "s!@TRINITY_INSTALL_PATH@!${TDEDIR}!" "${D}/${TDEDIR}/share/config/tdm/Xsession" \ || die "sed tdmrc failed" } @@ -64,15 +65,15 @@ src_install() { pkg_postinst() { # Set the default TDM face icon if it's not already set by the system admin # because this is user-overrideable in that way, it's not in src_install - if [ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" ]; then - mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" + if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" ]]; then + mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/default1.png" \ - "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" + "${ROOT}${TDEDIR}/share/apps/tdm/faces/.default.face.icon" || die fi - if [ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" ]; then - mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" + if [[ ! -e "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" ]]; then + mkdir -p "${ROOT}${TDEDIR}/share/apps/tdm/faces" || die cp "${ROOT}${TDEDIR}/share/apps/tdm/pics/users/root1.png" \ - "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" + "${ROOT}${TDEDIR}/share/apps/tdm/faces/root.face.icon" || die fi if use sak; then @@ -83,8 +84,8 @@ pkg_postinst() { sak_ok=no else if ! linux_chkconfig_present INPUT_UINPUT; then - eerror "You build TDM with SAK feature enabled. " - eerror "It requires the INPUT_UINPUT support enabled." + eerror "You have built tdm with the Secure Attention Key (SAK) feature enabled." + eerror "It requires INPUT_UINPUT support to be enabled in the kernel." eerror "Please enable it:" eerror " CONFIG_INPUT_UINPUT=y" eerror "in /usr/src/linux/.config or" @@ -98,7 +99,7 @@ pkg_postinst() { if [[ "$sak_ok" != yes ]]; then sed -i -e 's:#\?\s*UseSAK=\(true\|false\)\?:UseSak=false:' \ "${D}${TDEDIR}/share/config/tdm/tdmrc" || die "sed tdmrc failed" - ewarn "SAK feature is disabled. You can enable it yourself by setting UseSAK=true " + ewarn "SAK feature is disabled. You can enable it yourself by setting UseSAK=true" ewarn "in ${TDEDIR}/share/config/tdm/tdmrc " else ewarn "SAK feature is enabled. You can disable it yourself by setting UseSAK=false" -- cgit v1.2.1