git: 8f82c71ac6b5 - main - x11-wm/lxqt-session: Update to 0.17.1

Jesper Schmitz Mouridsen jsm at FreeBSD.org
Sat May 8 16:59:16 UTC 2021


The branch main has been updated by jsm:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8f82c71ac6b55717709d88c2cdf44419b6394aae

commit 8f82c71ac6b55717709d88c2cdf44419b6394aae
Author:     Jesper Schmitz Mouridsen <jsm at FreeBSD.org>
AuthorDate: 2021-05-08 16:31:51 +0000
Commit:     Jesper Schmitz Mouridsen <jsm at FreeBSD.org>
CommitDate: 2021-05-08 16:52:00 +0000

    x11-wm/lxqt-session: Update to 0.17.1
    
    Add FreeBSD reaper logic implementation from upstream
    by added patches.
---
 x11-wm/lxqt-session/Makefile                       |  2 +-
 x11-wm/lxqt-session/distinfo                       |  6 +-
 .../files/patch-lxqt-session_CMakeLists.txt        | 13 ++++
 .../files/patch-lxqt-session_src_procreaper.cpp    | 73 ++++++++++++++++++++++
 x11-wm/lxqt-session/pkg-plist                      |  9 ++-
 5 files changed, 97 insertions(+), 6 deletions(-)

diff --git a/x11-wm/lxqt-session/Makefile b/x11-wm/lxqt-session/Makefile
index 3e0a1b6495a2..4be1879679a5 100644
--- a/x11-wm/lxqt-session/Makefile
+++ b/x11-wm/lxqt-session/Makefile
@@ -1,7 +1,7 @@
 # Created by: Olivier Duchateau
 
 PORTNAME=	lxqt-session
-PORTVERSION=	0.16.0
+PORTVERSION=	0.17.1
 CATEGORIES=	x11-wm
 MASTER_SITES=	LXQT
 
diff --git a/x11-wm/lxqt-session/distinfo b/x11-wm/lxqt-session/distinfo
index 1bfa52db8cac..186fddb236c9 100644
--- a/x11-wm/lxqt-session/distinfo
+++ b/x11-wm/lxqt-session/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1605365870
-SHA256 (lxqt/lxqt-session-0.16.0.tar.xz) = 547e01e173921357245fb938718bd2401b38e73245cdcbecf195130e856d4959
-SIZE (lxqt/lxqt-session-0.16.0.tar.xz) = 180084
+TIMESTAMP = 1618785099
+SHA256 (lxqt/lxqt-session-0.17.1.tar.xz) = d9058ceedb355a43ea2ef070292fc30b0fb740640cf0b579131aaefbac779c47
+SIZE (lxqt/lxqt-session-0.17.1.tar.xz) = 178976
diff --git a/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt b/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt
new file mode 100644
index 000000000000..8e559e29049c
--- /dev/null
+++ b/x11-wm/lxqt-session/files/patch-lxqt-session_CMakeLists.txt
@@ -0,0 +1,13 @@
+--- lxqt-session/CMakeLists.txt.orig	2021-04-16 16:36:14 UTC
++++ lxqt-session/CMakeLists.txt
+@@ -71,6 +71,10 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+     target_link_libraries(lxqt-session
+         ${PROCPS_LIBRARIES}
+     )
++elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++    target_link_libraries(lxqt-session
++        -lutil
++    )
+ endif()
+ 
+ if (WITH_LIBUDEV)
diff --git a/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp b/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp
new file mode 100644
index 000000000000..ed12c507f10f
--- /dev/null
+++ b/x11-wm/lxqt-session/files/patch-lxqt-session_src_procreaper.cpp
@@ -0,0 +1,73 @@
+--- lxqt-session/src/procreaper.cpp.orig	2021-04-16 16:36:14 UTC
++++ lxqt-session/src/procreaper.cpp
+@@ -30,7 +30,13 @@
+ #if defined(Q_OS_LINUX)
+ #include <sys/prctl.h>
+ #include <proc/readproc.h>
++#elif defined(Q_OS_FREEBSD)
++#include <sys/procctl.h>
++#include <libutil.h>
++#include <sys/user.h>
++#include <signal.h>
+ #endif
++#include <unistd.h>
+ #include <cstring>
+ #include <cerrno>
+ #include <sys/wait.h>
+@@ -42,6 +48,10 @@ ProcReaper::ProcReaper()
+     int result = prctl(PR_SET_CHILD_SUBREAPER, 1);
+     if (result != 0)
+         qCWarning(SESSION) << "Unable to to set PR_SET_CHILD_SUBREAPER, " << result << " - " << strerror(errno);
++#elif defined(Q_OS_FREEBSD)
++    int result = procctl(P_PID, ::getpid(), PROC_REAP_ACQUIRE, nullptr);
++    if (result != 0)
++        qCWarning(SESSION) << "Unable to to set PROC_REAP_ACQUIRE, " << result << " - " << strerror(errno);
+ #endif
+ }
+ 
+@@ -92,20 +102,41 @@ void ProcReaper::stop(const std::set<int64_t> & exclud
+             return;
+     }
+     // send term to all children
+-#if defined(Q_OS_LINUX)
+     const pid_t my_pid = ::getpid();
++    std::vector<pid_t> children;
++#if defined(Q_OS_LINUX)
+     PROCTAB * proc_dir = ::openproc(PROC_FILLSTAT);
+     while (proc_t * proc = ::readproc(proc_dir, nullptr))
+     {
+-        if (proc->ppid == my_pid && excludedPids.count(proc->ppid) == 0)
++        if (proc->ppid == my_pid)
+         {
+-            qCDebug(SESSION) << "Seding TERM to child " << proc->tgid;
+-            ::kill(proc->tgid, SIGTERM);
++            children.push_back(proc->tgid);
+         }
+         ::freeproc(proc);
+     }
+     ::closeproc(proc_dir);
++#elif defined(Q_OS_FREEBSD)
++    int cnt = 0;
++    if (kinfo_proc *proc_info = kinfo_getallproc(&cnt))
++    {
++        for (int i = 0; i < cnt; ++i)
++        {
++            if (proc_info[i].ki_ppid == my_pid)
++            {
++                children.push_back(proc_info[i].ki_pid);
++            }
++        }
++        free(proc_info);
++    }
+ #endif
++    for (auto const & child : children)
++    {
++        if (excludedPids.count(child) == 0)
++        {
++            qCDebug(SESSION) << "Seding TERM to child " << child;
++            ::kill(child, SIGTERM);
++        }
++    }
+     mWait.wakeAll();
+     {
+         QMutexLocker guard{&mMutex};
diff --git a/x11-wm/lxqt-session/pkg-plist b/x11-wm/lxqt-session/pkg-plist
index 3bd1add4a48b..ba6af4a330f8 100644
--- a/x11-wm/lxqt-session/pkg-plist
+++ b/x11-wm/lxqt-session/pkg-plist
@@ -3,7 +3,6 @@ bin/lxqt-leave
 bin/lxqt-session
 bin/startlxqt
 etc/xdg/autostart/lxqt-xscreensaver-autostart.desktop
-etc/xdg/openbox/lxqt-rc.xml
 share/applications/lxqt-config-session.desktop
 share/applications/lxqt-hibernate.desktop
 share/applications/lxqt-leave.desktop
@@ -18,6 +17,7 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ar.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_arn.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ast.qm
+%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_bg.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ca.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_cs.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_cy.qm
@@ -43,11 +43,13 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_lt.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_nb_NO.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_nl.qm
+%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_oc.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pl.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pt.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_pt_BR.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ro_RO.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_ru.qm
+%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_si.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sk_SK.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sl.qm
 %%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_sr at latin.qm
@@ -60,6 +62,7 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ar.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_arn.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ast.qm
+%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_bg.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ca.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_cs.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_cy.qm
@@ -83,8 +86,8 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pl.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt_BR.qm
-%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt_PT.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ru.qm
+%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_si.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_sl.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_tr.qm
 %%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_uk.qm
@@ -93,6 +96,7 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ar.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_arn.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ast.qm
+%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_bg.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ca.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_cs.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_cy.qm
@@ -124,6 +128,7 @@ share/kdm/sessions/lxqt.desktop
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_pt_BR.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ro_RO.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ru.qm
+%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_si.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sk_SK.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sl.qm
 %%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_sr at latin.qm


More information about the dev-commits-ports-all mailing list