Bug 227034 - x11/pcdm: pcdm blocks other rc.d services
Summary: x11/pcdm: pcdm blocks other rc.d services
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Mark Felder
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-28 15:21 UTC by Sascha Holzleiter
Modified: 2019-11-23 15:52 UTC (History)
5 users (show)

See Also:
bsd: maintainer-feedback? (jt)


Attachments
Hang workaround (279 bytes, patch)
2018-03-28 15:21 UTC, Sascha Holzleiter
no flags Details | Diff
pcdm fix (1.15 KB, patch)
2019-11-22 22:54 UTC, Mark Felder
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sascha Holzleiter 2018-03-28 15:21:51 UTC
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
Comment 1 Marlad 2018-06-15 19:21:50 UTC
Thank you!

I can confirm this fixes my problem with rc scripts not being started.
Comment 2 Allan Jude freebsd_committer freebsd_triage 2018-06-28 02:38:18 UTC
Also seeing this on a newly installed 11.2 machine.
Comment 3 Christopher Hall 2019-02-21 08:01:36 UTC
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"
Comment 4 Sascha Holzleiter 2019-02-21 10:38:35 UTC
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.
Comment 5 Christopher Hall 2019-02-26 08:51:25 UTC
I think it is now being developed on Project Trident: https://github.com/project-trident/pcdm
Comment 6 Mark Felder freebsd_committer freebsd_triage 2019-09-07 16:15:26 UTC
this is simple, let's fix it
Comment 7 Mark Felder freebsd_committer freebsd_triage 2019-11-22 22:54:03 UTC
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.
Comment 8 commit-hook freebsd_committer freebsd_triage 2019-11-23 15:43:03 UTC
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
Comment 9 commit-hook freebsd_committer freebsd_triage 2019-11-23 15:46:05 UTC
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/