Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 685812 Details for
Bug 768729
gui-libs/display-manager-init improvements
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
display-manager-init.patch
display-manager-init.patch (text/plain), 7.00 KB, created by
William Hubbs
on 2021-02-04 23:12:17 UTC
(
hide
)
Description:
display-manager-init.patch
Filename:
MIME Type:
Creator:
William Hubbs
Created:
2021-02-04 23:12:17 UTC
Size:
7.00 KB
patch
obsolete
>diff --git a/gui-libs/display-manager-init/files/display-manager.initd b/gui-libs/display-manager-init/files/display-manager.initd >index e650df9600e..092754d234a 100644 >--- a/gui-libs/display-manager-init/files/display-manager.initd >+++ b/gui-libs/display-manager-init/files/display-manager.initd >@@ -2,6 +2,7 @@ > # Copyright 1999-2020 Gentoo Authors > # Distributed under the terms of the GNU General Public License, v2 > >+retry="TERM/5/TERM/5" > # This is here to serve as a note to myself, and future developers. > # > # Any Display manager (gdm,kdm,xdm) has the following problem: if >@@ -59,83 +60,77 @@ setup_dm() { > local MY_XDM > > MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]') >- >- NAME= > case "${MY_XDM}" in > kdm|kde) >- # Load our root path from profile.env >- # Needed for kdm >- PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}") >- EXE=/usr/bin/kdm >- PIDFILE=/run/kdm.pid >+ command=/usr/bin/kdm >+ pidfile=/run/kdm.pid > ;; > entrance*) >- EXE=/usr/sbin/entrance >- PIDFILE=/run/entrance.pid >+ command=/usr/sbin/entrance >+ pidfile=/run/entrance.pid > ;; > gdm|gnome) > # gdm-3 and above has different paths > if [ -f /usr/sbin/gdm ]; then >- EXE=/usr/sbin/gdm >- PIDFILE=/run/gdm/gdm.pid >- START_STOP_ARGS="--background" >- AUTOCLEAN_CGROUP="yes" >+ command=/usr/sbin/gdm >+ pidfile=/run/gdm/gdm.pid >+ start_stop_daemon_args="--background" > else >- EXE=/usr/bin/gdm >- PIDFILE=/run/gdm.pid >+ command=/usr/bin/gdm >+ pidfile=/run/gdm.pid > fi >- [ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary >+ [ "${RC_UNAME}" != "Linux" ] && name=gdm-binary > ;; > greetd) >- EXE=/usr/bin/greetd >- PIDFILE=/run/greetd.pid >- START_STOP_ARGS="-m --background" >+ command=/usr/bin/greetd >+ command_background=yes >+ pidfile=/run/greetd.pid > ;; > wdm) >- EXE=/usr/bin/wdm >- PIDFILE= >+ command=/usr/bin/wdm > ;; > gpe) >- EXE=/usr/bin/gpe-dm >- PIDFILE=/run/gpe-dm.pid >+ command=/usr/bin/gpe-dm >+ pidfile=/run/gpe-dm.pid > ;; > lxdm) >- EXE=/usr/sbin/lxdm-binary >- PIDFILE=/run/lxdm.pid >- START_STOP_ARGS="--background" >+ command=/usr/sbin/lxdm-binary >+ pidfile=/run/lxdm.pid >+ start_stop_daemon_args="--background" > ;; > lightdm) >- EXE=/usr/sbin/lightdm >- PIDFILE=/run/lightdm.pid >- START_STOP_ARGS="--background" >+ command=/usr/sbin/lightdm >+ pidfile=/run/lightdm.pid >+ start_stop_daemon_args="--background" > ;; > sddm) >- EXE="/usr/bin/sddm" >- START_STOP_ARGS="-m --background" >- PIDFILE=/run/sddm.pid >+ command="/usr/bin/sddm" >+ command_background=yes >+ pidfile=/run/sddm.pid > ;; > *) > # first find out if there is such executable >- EXE="$(command -v ${MY_XDM} 2>/dev/null)" >- PIDFILE="/run/${MY_XDM}.pid" >+ command="$(command -v ${MY_XDM} 2>/dev/null)" >+ pidfile="/run/${MY_XDM}.pid" > > # warn user that they are doing sick things if the exe was not found > if [ -z "${EXE}" ]; then >- echo "ERROR: Your XDM value is invalid." >- echo " No ${MY_XDM} executable could be found on your system." >+ eerror "ERROR: Your XDM value is invalid." >+ eerror " No ${MY_XDM} executable could be found on your system." > fi > ;; > esac > >- if ! [ -x "${EXE}" ]; then >- EXE=/usr/bin/xdm >- PIDFILE=/run/xdm.pid >+ if ! [ -x "${command}" ]; then >+ command=/usr/bin/xdm >+ pidfile=/run/xdm.pid > if ! [ -x "/usr/bin/xdm" ]; then >- echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," >- echo " or install x11-apps/xdm package" >- eend 255 >+ eerror "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm," >+ eerror " or install the x11-apps/xdm package" >+ return 1 > fi > fi >+ return 0 > } > > # Check to see if something is defined on our VT >@@ -147,48 +142,33 @@ vtstatic() { > else > return 1 > fi >+ return > } > >-start() { >- local EXE NAME PIDFILE AUTOCLEAN_CGROUP >- setup_dm >+start_pre() { >+ setup_dm || return > > if [ -f /run/.nogui ]; then >- einfo "Skipping ${EXE##*/}, /run/.nogui found or 'nogui' bootparam passed." >+ einfo "Skipping ${command##*/}, /run/.nogui found or 'nogui' bootparam passed." > rm /run/.nogui >- return 0 >+ return 1 > fi > >- ebegin "Setting up ${EXE##*/}" >- >- # save the prefered DM >- save_options "service" "${EXE}" >- save_options "name" "${NAME}" >- save_options "pidfile" "${PIDFILE}" >- save_options "start_stop_args" "${START_STOP_ARGS}" >- save_options "autoclean_cgroup" "${AUTOCLEAN_CGROUP:-no}" >- >- if [ -n "${CHECKVT-y}" ] ; then >- if vtstatic "${CHECKVT:-7}" ; then >- if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then >- ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" >- telinit a >/dev/null 2>&1 >- return 0 >- else >- eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" >- return 1 >- fi >+ if vtstatic "${CHECKVT:-7}" ; then >+ if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then >+ ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later" >+ telinit a >/dev/null 2>&1 >+ return 0 >+ else >+ eerror "Something is already defined on VT ${CHECKVT:-7}, not starting" >+ return 1 > fi > fi > >- /usr/bin/startDM >- eend 0 >+ return 0 > } > >-stop() { >- local curvt retval >- >- retval=0 >+stop_pre() { > if [ -t 0 ]; then > if type fgconsole >/dev/null 2>&1; then > curvt=$(fgconsole 2>/dev/null) >@@ -200,24 +180,10 @@ stop() { > esac > fi > fi >- local myexe myname mypidfile myservice >- myexe=$(get_options "service") >- myname=$(get_options "name") >- mypidfile=$(get_options "pidfile") >- myservice=${myexe##*/} >- yesno "${rc_cgroup_cleanup:-no}" || rc_cgroup_cleanup=$(get_options "autoclean_cgroup") >- >- [ -z "${myexe}" ] && return 0 >- >- ebegin "Stopping ${myservice}" >- >- if start-stop-daemon --quiet --test --stop --exec "${myexe}" 2>/dev/null; then >- start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \ >- "${mypidfile:+--pidfile}" "${mypidfile}" \ >- "${myname:+--name}" "${myname}" >- retval=${?} >- fi >+ return >+} > >+stop_post() { > # switch back to original vt > if [ -n "${curvt}" ]; then > if type chvt >/dev/null 2>&1; then >@@ -226,9 +192,7 @@ stop() { > vidcontrol -s "$((curvt + 1))" > fi > fi >- >- eend ${retval} "Error stopping ${myservice}" >- return ${retval} >+ return > } > > # vim: set ts=4 : >diff --git a/gui-libs/display-manager-init/files/startDM b/gui-libs/display-manager-init/files/startDM >index 976d1dd2d56..43dcf3c84b3 100644 >--- a/gui-libs/display-manager-init/files/startDM >+++ b/gui-libs/display-manager-init/files/startDM >@@ -14,16 +14,6 @@ if [ ! -d /run/openrc ]; then > eerror "$0 should only be used on OpenRC systems" > fi > >-. /lib/rc/sh/functions.sh >- >-export RC_SVCNAME=display-manager >-EXEC="$(get_options service)" >-NAME="$(get_options name)" >-PIDFILE="$(get_options pidfile)" >-START_STOP_ARGS="$(get_options start_stop_args)" >- >-start-stop-daemon --start --exec "${EXEC}" \ >-"${NAME:+--name}" "${NAME}" "${PIDFILE:+--pidfile}" "${PIDFILE}" ${START_STOP_ARGS} || \ >-eerror "ERROR: could not start the Display Manager" >+rc-service display-manager start > > # vim:ts=4
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 768729
: 685812