Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Aug 2020 09:35:20 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r544555 - in head: sysutils sysutils/seatd sysutils/seatd/files x11-toolkits/wlroots
Message-ID:  <202008090935.0799ZKiH072729@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Sun Aug  9 09:35:20 2020
New Revision: 544555
URL: https://svnweb.freebsd.org/changeset/ports/544555

Log:
  sysutils/seatd: add new port
  
  seatd is a seat management deamon, that does everything it needs to
  do. Nothing more, nothing less. Depends only on libc.
  
  libseat is a seat management library allowing applications to use
  whatever seat management is available.
  
  Supports:
  - seatd
  - (e)logind
  - embedded seatd for standalone operation
  
  Each backend can be compile-time included and is runtime auto-detected
  or manually selected with the `LIBSEAT_BACKEND` environment variable.
  
  Which backend is in use is transparent to the application, providing a
  simple common interface.
  
  WWW: https://git.sr.ht/~kennylevinsen/seatd

Added:
  head/sysutils/seatd/
  head/sysutils/seatd/Makefile   (contents, props changed)
  head/sysutils/seatd/distinfo   (contents, props changed)
  head/sysutils/seatd/files/
  head/sysutils/seatd/files/patch-pid   (contents, props changed)
  head/sysutils/seatd/files/seatd.in   (contents, props changed)
  head/sysutils/seatd/pkg-descr   (contents, props changed)
Modified:
  head/sysutils/Makefile   (contents, props changed)
  head/x11-toolkits/wlroots/Makefile   (contents, props changed)
  head/x11-toolkits/wlroots/distinfo   (contents, props changed)

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Sun Aug  9 09:31:24 2020	(r544554)
+++ head/sysutils/Makefile	Sun Aug  9 09:35:20 2020	(r544555)
@@ -1205,6 +1205,7 @@
     SUBDIR += scterc
     SUBDIR += sd-agent
     SUBDIR += sdparm
+    SUBDIR += seatd
     SUBDIR += seatools
     SUBDIR += sec
     SUBDIR += sensu-go

Added: head/sysutils/seatd/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/seatd/Makefile	Sun Aug  9 09:35:20 2020	(r544555)
@@ -0,0 +1,42 @@
+# $FreeBSD$
+
+PORTNAME=	seatd
+PORTVERSION=	s20200808
+DISTVERSIONSUFFIX=	-0-gf5bc8ab
+CATEGORIES=	sysutils
+MASTER_SITES=	https://git.sr.ht/~kennylevinsen/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Minimal seat management daemon and universal library
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		compiler:c11 meson pkgconfig
+USE_LDCONFIG=	yes
+USE_RC_SUBR=	${PORTNAME}
+PLIST_FILES=	bin/${PORTNAME} \
+		include/libseat.h \
+		lib/libseat.so \
+		libdata/pkgconfig/libseat.pc
+MESON_ARGS=	-Dbuiltin=enabled # SUID fallback
+
+OPTIONS_DEFINE=	MANPAGES
+OPTIONS_DEFAULT=MANPAGES
+
+MANPAGES_BUILD_DEPENDS=	scdoc:textproc/scdoc
+MANPAGES_MESON_ENABLED=	man-pages
+MANPAGES_PLIST_FILES=	man/man1/${PORTNAME}.1.gz
+
+post-patch:
+# hier(7) doesn't define /run, so use /var/run
+	@${REINPLACE_CMD} -e 's,/run,/var&,' \
+		${WRKSRC}/libseat/backend/seatd.c \
+		${WRKSRC}/man/seatd.1.scd \
+		${WRKSRC}/seatd/seatd.c
+# realpath(3) expands /dev/dri/ to /dev/drm/
+	@${REINPLACE_CMD} -e 's,/dev/dri,/dev/drm,' \
+		-e '/prefix/ { s/card//; s/renderD//; }' \
+		${WRKSRC}/common/drm.c
+
+.include <bsd.port.mk>

Added: head/sysutils/seatd/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/seatd/distinfo	Sun Aug  9 09:35:20 2020	(r544555)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1596893263
+SHA256 (seatd-s20200808-0-gf5bc8ab.tar.gz) = a43eb7b91c5926463753ccddfe42a277dc40c279c63d5970c87153a462ab9816
+SIZE (seatd-s20200808-0-gf5bc8ab.tar.gz) = 30863

Added: head/sysutils/seatd/files/patch-pid
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/seatd/files/patch-pid	Sun Aug  9 09:35:20 2020	(r544555)
@@ -0,0 +1,20 @@
+Similar to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=246189
+
+--- seatd/client.c.orig	2020-08-08 13:27:43 UTC
++++ seatd/client.c
+@@ -37,10 +37,14 @@ static int get_peer(int fd, pid_t *pid, uid_t *uid, gi
+ #elif defined(__FreeBSD__)
+ 	struct xucred cred;
+ 	socklen_t len = sizeof cred;
+-	if (getsockopt(fd, SOL_SOCKET, LOCAL_PEERCRED, &cred, &len) == -1) {
++	if (getsockopt(fd, 0, LOCAL_PEERCRED, &cred, &len) == -1) {
+ 		return -1;
+ 	}
++#if __FreeBSD__ < 13
+ 	*pid = -1;
++#else
++	*pid = cred.cr_pid;
++#endif
+ 	*uid = cred.cr_uid;
+ 	*gid = cred.cr_ngroups > 0 ? cred.cr_groups[0] : -1;
+ 	return 0;

Added: head/sysutils/seatd/files/seatd.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/seatd/files/seatd.in	Sun Aug  9 09:35:20 2020	(r544555)
@@ -0,0 +1,31 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+# PROVIDE: seatd
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable this service:
+#
+# seatd_enable (bool):	Set it to YES to run seatd on startup.
+#			Default: NO
+# seatd_args (string):	Options to pass to seatd.
+#			Default: -g video
+
+. /etc/rc.subr
+
+name="seatd"
+rcvar="${name}_enable"
+
+load_rc_config "$name"
+
+: ${seatd_enable="NO"}
+: ${seatd_args="-g video"}
+
+command="/usr/sbin/daemon"
+procname="%%PREFIX%%/bin/${name}"
+pidfile="/var/run/${name}.pid"
+command_args="-s err -T ${name} -p ${pidfile} ${procname} ${seatd_args}"
+
+run_rc_command "$1"

Added: head/sysutils/seatd/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/seatd/pkg-descr	Sun Aug  9 09:35:20 2020	(r544555)
@@ -0,0 +1,18 @@
+seatd is a seat management deamon, that does everything it needs to
+do. Nothing more, nothing less. Depends only on libc.
+
+libseat is a seat management library allowing applications to use
+whatever seat management is available.
+
+Supports:
+- seatd
+- (e)logind
+- embedded seatd for standalone operation
+
+Each backend can be compile-time included and is runtime auto-detected
+or manually selected with the `LIBSEAT_BACKEND` environment variable.
+
+Which backend is in use is transparent to the application, providing a
+simple common interface.
+
+WWW: https://git.sr.ht/~kennylevinsen/seatd

Modified: head/x11-toolkits/wlroots/Makefile
==============================================================================
--- head/x11-toolkits/wlroots/Makefile	Sun Aug  9 09:31:24 2020	(r544554)
+++ head/x11-toolkits/wlroots/Makefile	Sun Aug  9 09:35:20 2020	(r544555)
@@ -39,7 +39,7 @@ MESON_ARGS=	-Dexamples=false
 LLD_UNSAFE=	yes
 .endif
 
-OPTIONS_DEFINE=	CONSOLEKIT X11
+OPTIONS_DEFINE=	CONSOLEKIT LIBSEAT X11
 OPTIONS_DEFAULT=X11
 OPTIONS_SUB=	yes
 
@@ -51,6 +51,16 @@ CONSOLEKIT_LIB_DEPENDS=	libdbus-1.so:devel/dbus \
 CONSOLEKIT_MESON_ENABLED=	consolekit2
 .if make(makesum)
 .MAKEFLAGS:		WITH+=CONSOLEKIT
+.endif
+
+LIBSEAT_DESC=		DRM sessions with/without root via libseat (experimental)
+LIBSEAT_PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/:libseat
+LIBSEAT_PATCHFILES=	be3753a4774f.patch:-p1:libseat # https://github.com/swaywm/wlroots/pull/2364
+LIBSEAT_PATCHFILES+=	c1955ad1ab05.patch:-p1:libseat # FreeBSD build fix
+LIBSEAT_LIB_DEPENDS=	libseat.so:sysutils/seatd
+#LIBSEAT_MESON_ENABLED=	libseat
+.if make(makesum)
+.MAKEFLAGS:		WITH+=LIBSEAT
 .endif
 
 X11_LIB_DEPENDS=libxcb-errors.so:x11/xcb-util-errors \

Modified: head/x11-toolkits/wlroots/distinfo
==============================================================================
--- head/x11-toolkits/wlroots/distinfo	Sun Aug  9 09:31:24 2020	(r544554)
+++ head/x11-toolkits/wlroots/distinfo	Sun Aug  9 09:35:20 2020	(r544555)
@@ -7,3 +7,7 @@ SHA256 (90cb6d26877b.patch) = 4c3a87dca481a637457d7409
 SIZE (90cb6d26877b.patch) = 3965
 SHA256 (b59460944208.patch) = 8b15ed54dcec76adf231db454ece78427eeabd5466ffd180b57ec785eeb4c507
 SIZE (b59460944208.patch) = 27381
+SHA256 (be3753a4774f.patch) = 7097190a74ce45db51c6651c7780f1eb8c3fec1fcc8a2252999a28cad15a092d
+SIZE (be3753a4774f.patch) = 12350
+SHA256 (c1955ad1ab05.patch) = f32e1dfddac74b08cfbc806aac4ce9b9eecbfe3d75b4ebbb5f714fa587e85f05
+SIZE (c1955ad1ab05.patch) = 2699



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008090935.0799ZKiH072729>