head 1.7; access; symbols pkgsrc-2026Q1:1.7.0.2 pkgsrc-2026Q1-base:1.7 pkgsrc-2025Q4:1.6.0.30 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.28 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.26 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.6.0.24 pkgsrc-2025Q1-base:1.6 pkgsrc-2024Q4:1.6.0.22 pkgsrc-2024Q4-base:1.6 pkgsrc-2024Q3:1.6.0.20 pkgsrc-2024Q3-base:1.6 pkgsrc-2024Q2:1.6.0.18 pkgsrc-2024Q2-base:1.6 pkgsrc-2024Q1:1.6.0.16 pkgsrc-2024Q1-base:1.6 pkgsrc-2023Q4:1.6.0.14 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.12 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.10 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.8 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.6 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.4 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.2 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.5.0.8 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.6 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.4 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.2 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.4.0.2 pkgsrc-2021Q1-base:1.4 pkgsrc-2020Q4:1.3.0.50 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.48 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.3.0.44 pkgsrc-2020Q2-base:1.3 pkgsrc-2020Q1:1.3.0.24 pkgsrc-2020Q1-base:1.3 pkgsrc-2019Q4:1.3.0.46 pkgsrc-2019Q4-base:1.3 pkgsrc-2019Q3:1.3.0.42 pkgsrc-2019Q3-base:1.3 pkgsrc-2019Q2:1.3.0.40 pkgsrc-2019Q2-base:1.3 pkgsrc-2019Q1:1.3.0.38 pkgsrc-2019Q1-base:1.3 pkgsrc-2018Q4:1.3.0.36 pkgsrc-2018Q4-base:1.3 pkgsrc-2018Q3:1.3.0.34 pkgsrc-2018Q3-base:1.3 pkgsrc-2018Q2:1.3.0.32 pkgsrc-2018Q2-base:1.3 pkgsrc-2018Q1:1.3.0.30 pkgsrc-2018Q1-base:1.3 pkgsrc-2017Q4:1.3.0.28 pkgsrc-2017Q4-base:1.3 pkgsrc-2017Q3:1.3.0.26 pkgsrc-2017Q3-base:1.3 pkgsrc-2017Q2:1.3.0.22 pkgsrc-2017Q2-base:1.3 pkgsrc-2017Q1:1.3.0.20 pkgsrc-2017Q1-base:1.3 pkgsrc-2016Q4:1.3.0.18 pkgsrc-2016Q4-base:1.3 pkgsrc-2016Q3:1.3.0.16 pkgsrc-2016Q3-base:1.3 pkgsrc-2016Q2:1.3.0.14 pkgsrc-2016Q2-base:1.3 pkgsrc-2016Q1:1.3.0.12 pkgsrc-2016Q1-base:1.3 pkgsrc-2015Q4:1.3.0.10 pkgsrc-2015Q4-base:1.3 pkgsrc-2015Q3:1.3.0.8 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.6 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.4 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.2 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.2.0.12 pkgsrc-2014Q3-base:1.2 pkgsrc-2014Q2:1.2.0.10 pkgsrc-2014Q2-base:1.2 pkgsrc-2014Q1:1.2.0.8 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.6 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.4 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.2 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.1.1.1.0.10 pkgsrc-2013Q1-base:1.1.1.1 pkgsrc-2012Q4:1.1.1.1.0.8 pkgsrc-2012Q4-base:1.1.1.1 pkgsrc-2012Q3:1.1.1.1.0.6 pkgsrc-2012Q3-base:1.1.1.1 pkgsrc-2012Q2:1.1.1.1.0.4 pkgsrc-2012Q2-base:1.1.1.1 pkgsrc-2012Q1:1.1.1.1.0.2 pkgsrc-2012Q1-base:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @// @; 1.7 date 2025.12.21.20.19.56; author markd; state Exp; branches; next 1.6; commitid gWeEnCpYE9qBDjnG; 1.6 date 2022.05.13.15.00.04; author jperkin; state Exp; branches; next 1.5; commitid soHT30v9ZONweUDD; 1.5 date 2021.04.07.12.28.32; author markd; state Exp; branches; next 1.4; commitid tztrjjIqpl25hmOC; 1.4 date 2021.03.06.04.47.37; author markd; state Exp; branches; next 1.3; commitid A3ToF7TH2CEgLcKC; 1.3 date 2014.11.13.10.53.49; author markd; state Exp; branches; next 1.2; commitid cAGBpNg54OBrS0Yx; 1.2 date 2013.04.03.10.51.51; author markd; state Exp; branches; next 1.1; 1.1 date 2012.03.20.05.07.49; author markd; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 2012.03.20.05.07.49; author markd; state Exp; branches; next ; desc @@ 1.7 log @konsole: update to 25.08.3 Qt6/KF6 version - Two years of development. @ text @$NetBSD: patch-src_ProcessInfo.cpp,v 1.6 2022/05/13 15:00:04 jperkin Exp $ NetBSD support and QT fixes. --- src/ProcessInfo.cpp.orig 2025-10-31 21:34:06.000000000 +0000 +++ src/ProcessInfo.cpp @@@@ -889,6 +889,227 @@@@ private: } }; +#elif defined(Q_OS_NETBSD) +class NetBSDProcessInfo : public UnixProcessInfo +{ +public: + explicit NetBSDProcessInfo(int pid) + : UnixProcessInfo(pid) + { + } + +private: + bool readProcessName(int aPid) override + { + // indicies of various fields within the process status file which + // contain various information about the process + const int PROCESS_NAME_FIELD = 0; + + QString processNameString; + + // read process status file ( /proc/ 5) + uidString.clear(); + + int uid = uidString.toInt(&ok); + if (ok) + setUserId(uid); + readUserName(); + + int foregroundPid = foregroundPidString.toInt(&ok); + if (ok) + setForegroundPid(foregroundPid); + + int parentPid = parentPidString.toInt(&ok); + if (ok) + setParentPid(parentPid); + + if (!processNameString.isEmpty()) + setName(processNameString); + + // update object state + setPid(aPid); + + return ok; + } + + bool readArguments(int aPid) override + { + // read command-line arguments file found at /proc//cmdline + // the expected format is a list of strings delimited by null characters, + // and ending in a double null character pair. + + QFile argumentsFile( QStringLiteral("/proc/%1/cmdline").arg(aPid) ); + if ( argumentsFile.open(QIODevice::ReadOnly) ) + { + QTextStream stream(&argumentsFile); + const QString &data = stream.readAll(); + + const QStringList &argList = data.split( QLatin1Char('\0') ); + + for ( const QString &entry : argList ) + { + if (!entry.isEmpty()) + addArgument(entry); + } + } + else + { + setFileError( argumentsFile.error() ); + } + + return true; + } + + bool readCurrentDir(int aPid) override + { + QFileInfo info( QStringLiteral("/proc/%1/cwd").arg(aPid) ); + + const bool readable = info.isReadable(); + + if ( readable && info.isSymLink() ) + { + setCurrentDir( info.symLinkTarget() ); + return true; + } + else + { + if ( !readable ) + setError( PermissionsError ); + else + setError( UnknownError ); + + return false; + } + } +}; + #elif defined(Q_OS_OPENBSD) class OpenBSDProcessInfo : public UnixProcessInfo { @@@@ -1214,7 +1435,7 @@@@ protected: // version uses readlink. bool readCurrentDir(int pid) override { - QFileInfo info(QString("/proc/%1/path/cwd").arg(pid)); + QFileInfo info(QStringLiteral("/proc/%1/path/cwd").arg(pid)); const bool readable = info.isReadable(); if (readable && info.isSymLink()) { @@@@ -1244,7 +1465,7 @@@@ protected: private: bool readProcInfo(int pid) override { - QFile psinfo(QString("/proc/%1/psinfo").arg(pid)); + QFile psinfo(QStringLiteral("/proc/%1/psinfo").arg(pid)); if (psinfo.open(QIODevice::ReadOnly)) { struct psinfo info; if (psinfo.read((char *)&info, sizeof(info)) != sizeof(info)) { @@@@ -1253,12 +1474,13 @@@@ private: setParentPid(info.pr_ppid); setForegroundPid(info.pr_pgid); - setName(info.pr_fname); + //setName(info.pr_fname); + setName(QString::fromUtf8(info.pr_fname)); setPid(pid); // Bogus, because we're treating the arguments as one single string info.pr_psargs[PRARGSZ - 1] = 0; - addArgument(info.pr_psargs); + addArgument(QString::fromUtf8(info.pr_psargs)); } _execNameFile = std::make_unique(new QFile()); @@@@ -1283,6 +1505,8 @@@@ ProcessInfo *ProcessInfo::newInstance(in info = new MacProcessInfo(pid); #elif defined(Q_OS_FREEBSD) info = new FreeBSDProcessInfo(pid); +#elif defined(Q_OS_NETBSD) + info = new NetBSDProcessInfo(pid); #elif defined(Q_OS_OPENBSD) info = new OpenBSDProcessInfo(pid); #else @ 1.6 log @konsole: Newer QT API fixes. @ text @d1 1 a1 1 $NetBSD: patch-src_ProcessInfo.cpp,v 1.5 2021/04/07 12:28:32 markd Exp $ d5 1 a5 1 --- src/ProcessInfo.cpp.orig 2021-02-24 23:11:38.000000000 +0000 d7 1 a7 1 @@@@ -646,6 +646,164 @@@@ private: d15 2 a16 2 + NetBSDProcessInfo(int pid) : + UnixProcessInfo(pid) d21 64 a84 1 + bool readProcInfo(int aPid) Q_DECL_OVERRIDE d181 1 a181 1 + bool readArguments(int aPid) Q_DECL_OVERRIDE d209 1 a209 1 + bool readCurrentDir(int aPid) Q_DECL_OVERRIDE d235 1 a235 1 @@@@ -879,7 +1037,7 @@@@ protected: d244 1 a244 1 @@@@ -899,7 +1057,7 @@@@ protected: d253 1 a253 1 @@@@ -908,12 +1066,13 @@@@ private: d267 3 a269 3 return true; } @@@@ -937,6 +1096,8 @@@@ ProcessInfo *ProcessInfo::newInstance(in @ 1.5 log @kde applications release: update to 20.12.3 10 months worth of updates. @ text @d1 1 a1 1 $NetBSD: patch-src_ProcessInfo.cpp,v 1.4 2021/03/06 04:47:37 markd Exp $ d3 1 a3 1 NetBSD support d172 35 a206 1 @@@@ -937,6 +1095,8 @@@@ ProcessInfo *ProcessInfo::newInstance(in @ 1.4 log @konsole: update to 20.04.1 qt5/kf5 version. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 --- src/ProcessInfo.cpp.orig 2019-08-08 23:59:38.000000000 +0000 d7 1 a7 2 @@@@ -999,6 +999,163 @@@@ private: return false; d10 1 d167 6 a172 5 +} ; #endif SSHProcessInfo::SSHProcessInfo(const ProcessInfo &process) : @@@@ -1186,6 +1343,8 @@@@ ProcessInfo *ProcessInfo::newInstance(in @ 1.3 log @Update to KDE SC 4.14.3 @ text @d1 1 a1 1 $NetBSD: patch-src_ProcessInfo.cpp,v 1.2 2013/04/03 10:51:51 markd Exp $ d3 3 a5 1 --- src/ProcessInfo.cpp.orig 2014-11-01 04:17:02.000000000 +0000 d7 2 a8 2 @@@@ -1012,6 +1012,171 @@@@ private: } d15 2 a16 2 + NetBSDProcessInfo(int pid, bool env) : + UnixProcessInfo(pid,env) d21 1 a21 1 + virtual bool readProcInfo(int pid) d43 1 a43 1 + QFile processInfo( QString("/proc/%1/status").arg(pid) ); d53 1 a53 2 + while (pos < data.count()) + { d56 1 a56 1 + if ( c == '(' ) d58 1 a58 1 + else if ( c == ')' ) d60 1 a60 1 + else if ( stack == 0 && c == ' ' ) d62 1 a62 2 + else + { d113 1 a113 1 + setPid(pid); d118 1 a118 1 + virtual bool readArguments(int pid) d124 1 a124 1 + QFile argumentsFile( QString("/proc/%1/cmdline").arg(pid) ); d128 1 a128 1 + QString data = stream.readAll(); d130 1 a130 1 + QStringList argList = data.split( QChar('\0') ); d132 1 a132 1 + foreach ( const QString &entry , argList ) d146 1 a146 1 + virtual bool readCurrentDir(int pid) d148 1 a148 1 + QFileInfo info( QString("/proc/%1/cwd").arg(pid) ); a166 6 + + virtual bool readEnvironment(int pid) + { + // Not supported in NetBSD + return true; + } d170 5 a174 5 SSHProcessInfo::SSHProcessInfo(const ProcessInfo& process) @@@@ -1168,6 +1333,8 @@@@ ProcessInfo* ProcessInfo::newInstance(in return new LinuxProcessInfo(aPid, enableEnvironmentRead); #elif defined(Q_OS_SOLARIS) return new SolarisProcessInfo(aPid, enableEnvironmentRead); d176 4 a179 4 + return new NetBSDProcessInfo(aPid, enableEnvironmentRead); #elif defined(Q_OS_MAC) return new MacProcessInfo(aPid, enableEnvironmentRead); #elif defined(Q_OS_FREEBSD) @ 1.2 log @Update to KDE SC 4.10.2 bugfixes, other quality improvements, new and improved KDE Applications @ text @d1 1 a1 1 $NetBSD: patch-src_ProcessInfo.cpp,v 1.1.1.1 2012/03/20 05:07:49 markd Exp $ d3 1 a3 1 --- src/ProcessInfo.cpp.orig 2013-03-01 06:37:14.000000000 +0000 d5 2 a6 1 @@@@ -1030,6 +1030,171 @@@@ private: d9 1 a9 1 d174 2 a175 1 + d177 1 a177 3 : _process(process) { @@@@ -1184,6 +1349,8 @@@@ ProcessInfo* ProcessInfo::newInstance(in @ 1.1 log @Initial revision @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.4 2010/04/10 02:45:05 markd Exp $ d3 1 a3 1 --- src/ProcessInfo.cpp.orig 2010-03-26 17:26:32.000000000 +0000 d5 1 a5 1 @@@@ -894,6 +894,171 @@@@ private: d7 1 a7 1 } ; d175 1 a175 1 : _process(process) d177 2 a178 2 @@@@ -1039,6 +1204,8 @@@@ ProcessInfo* ProcessInfo::newInstance(in return new LinuxProcessInfo(pid,enableEnvironmentRead); d180 1 a180 1 return new SolarisProcessInfo(pid,enableEnvironmentRead); d182 1 a182 1 + return new NetBSDProcessInfo(pid,enableEnvironmentRead); d184 1 a184 1 return new MacProcessInfo(pid,enableEnvironmentRead); @ 1.1.1.1 log @Import konsole. A part of KDE SC 4.8.0 a terminal emulator for the K Desktop Environment @ text @@