Summary: | x11/pcdm: pcdm blocks other rc.d services | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Sascha Holzleiter <sascha> | ||||||
Component: | Individual Port(s) | Assignee: | Mark Felder <feld> | ||||||
Status: | Closed FIXED | ||||||||
Severity: | Affects Only Me | CC: | allanjude, bsd, feld, hsw, jt | ||||||
Priority: | --- | Flags: | bsd:
maintainer-feedback?
(jt) |
||||||
Version: | Latest | ||||||||
Hardware: | Any | ||||||||
OS: | Any | ||||||||
Attachments: |
|
Thank you! I can confirm this fixes my problem with rc scripts not being started. Also seeing this on a newly installed 11.2 machine. There is also a missing space in /usr/local/sbin/PCDMd --- /usr/local/sbin/PCDMd 2019-02-18 05:12:20.000000000 +0800 +++ PCDMd 2019-02-21 15:57:09.990645000 +0800 @@ -85,7 +85,7 @@ if [ -e "/var/tmp/.pcdm-x-started" ] ; then rm /var/tmp/.pcdm-x-started; fi # echo " [PCDM] Starting PCDM-session" xinit /usr/local/bin/PCDM-session -once -- :0 -auth ${PCDMAUTHFILE} $XOPTS vt9 2>/dev/null - if [ $? != 0 -a ! -e "/var/tmp/.pcdm-x-started"] ; then + if [ $? != 0 -a ! -e "/var/tmp/.pcdm-x-started" ] ; then # Looks like X failed to start... if [ ! -e "/var/tmp/.pcdm-x-failed" ] ; then echo " [PCDM] xinit failure 1 - set the failed flag and try again" According to Google's mailserver the maintainer email address is dead: 550-5.2.1 The email account that you tried to reach is disabled. Learn more at 550 5.2.1 https://support.google.com/mail/?p=DisabledUser k7si1131359wrv.15 - gsmtp I've moved on to use sddm and have no further interest in fixing this. Maybe a maintainer reset and/or port deprecation is in order here. I think it is now being developed on Project Trident: https://github.com/project-trident/pcdm this is simple, let's fix it Created attachment 209350 [details]
pcdm fix
This patch should fix it. PCDM doesn't daemonize/fork, so we need to handle this by using daemon(8). That's what's blocking the rest of the services from starting.
A commit references this bug: Author: feld Date: Sat Nov 23 15:42:25 UTC 2019 New revision: 518248 URL: https://svnweb.freebsd.org/changeset/ports/518248 Log: x11/pcdm: Fix rc script for FreeBSD PCDM doesn't daemonize/fork, so we need to handle this by using daemon(8). It seems this port has only been used/tested on TrueOS with OpenRC, so it has been broken in FreeBSD ports for the last two years. PR: 227034 Reported by: VulcanRider Approved by: just fix it MFH: 2019Q4 Sponsored by: vBSDcon 2019 Changes: head/x11/pcdm/Makefile head/x11/pcdm/files/ head/x11/pcdm/files/patch-rc.d_pcdm A commit references this bug: Author: feld Date: Sat Nov 23 15:45:23 UTC 2019 New revision: 518249 URL: https://svnweb.freebsd.org/changeset/ports/518249 Log: MFH: r518248 x11/pcdm: Fix rc script for FreeBSD PCDM doesn't daemonize/fork, so we need to handle this by using daemon(8). It seems this port has only been used/tested on TrueOS with OpenRC, so it has been broken in FreeBSD ports for the last two years. PR: 227034 Reported by: VulcanRider Approved by: just fix it Sponsored by: vBSDcon 2019 Approved by: ports-secteam (blanket, runtime fix) Changes: _U branches/2019Q4/ branches/2019Q4/x11/pcdm/Makefile branches/2019Q4/x11/pcdm/files/ |
Created attachment 191906 [details] Hang workaround The PCDM-session binary does not daemonize when being started with xinit in $PREFIX/sbin/PCMd which in turn is called from the rc.d script. This results in the rc.d script hanging when called and all services after this rc file not being started. (In my case: cron, ssh and the automounter family). The patch works around that but i think that's not the right fix. The fix should be done in the PCDM scripts themselves. Affected system: $ freebsd-version -ku 11.1-STABLE 11.1-STABLE