x11-wm/lxqt-session: Update to 1.0.0

This commit is contained in:
Jesper Schmitz Mouridsen 2021-11-10 18:07:23 +01:00
parent 08c781e158
commit c27b74cc28
5 changed files with 9 additions and 90 deletions

View File

@ -1,7 +1,7 @@
# Created by: Olivier Duchateau
PORTNAME= lxqt-session
PORTVERSION= 0.17.1
PORTVERSION= 1.0.0
CATEGORIES= x11-wm
MASTER_SITES= LXQT

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1618785099
SHA256 (lxqt/lxqt-session-0.17.1.tar.xz) = d9058ceedb355a43ea2ef070292fc30b0fb740640cf0b579131aaefbac779c47
SIZE (lxqt/lxqt-session-0.17.1.tar.xz) = 178976
TIMESTAMP = 1636467598
SHA256 (lxqt/lxqt-session-1.0.0.tar.xz) = 5ad5f810907db7ecfc98f3c562d6df1b04d1d532fc7f8fa953e7b057bc442ac5
SIZE (lxqt/lxqt-session-1.0.0.tar.xz) = 182600

View File

@ -1,13 +0,0 @@
--- 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)

View File

@ -1,73 +0,0 @@
--- 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};

View File

@ -28,6 +28,7 @@ share/kdm/sessions/lxqt.desktop
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es_UY.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_es_VE.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_et.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_eu.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_fi.qm
%%LXQT_TRANSLATIONS%%/lxqt-config-session/lxqt-config-session_fr.qm
@ -70,6 +71,7 @@ share/kdm/sessions/lxqt.desktop
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_de.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_el.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_es.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_et.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_fi.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_fr.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_gl.qm
@ -88,9 +90,11 @@ share/kdm/sessions/lxqt.desktop
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_pt_BR.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_ru.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_si.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_sk.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
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_vi.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_zh_CN.qm
%%LXQT_TRANSLATIONS%%/lxqt-leave/lxqt-leave_zh_TW.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_ar.qm
@ -107,6 +111,7 @@ share/kdm/sessions/lxqt.desktop
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es_UY.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_es_VE.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_et.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_eu.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_fi.qm
%%LXQT_TRANSLATIONS%%/lxqt-session/lxqt-session_fr.qm