Branch: master

2a88ec3c 2019-08-18 05:45:26 OBATA Akio
Revive NetBSD support

Catch up to TDE and OS changes

Signed-off-by: OBATA Akio <obache@...>
A ksysguard/ksysguardd/NetBSD/CMakeLists.txt
A ksysguard/ksysguardd/NetBSD/ConfigureChecks.cmake
M kcontrol/info/info_netbsd.cpp
M kcontrol/info/memory_netbsd.cpp
M kcontrol/tdefontinst/tdefontinst/GetPid.c
M kcontrol/usbview/usbdevices.cpp
M kcontrol/usbview/usbdevices.h
M kicker/applets/naughty/CMakeLists.txt
M kicker/applets/naughty/NaughtyProcessMonitor.cpp
M kicker/kicker/ui/k_new_mnu.cpp
M ksysguard/gui/ksgrd/SensorManager.cc
M ksysguard/ksysguardd/CMakeLists.txt
M ksysguard/ksysguardd/NetBSD/CPU.c
M ksysguard/ksysguardd/NetBSD/Memory.c
M ksysguard/ksysguardd/NetBSD/Memory.h
M ksysguard/ksysguardd/NetBSD/ProcessList.c
M ksysguard/ksysguardd/NetBSD/apm.c
M ksysguard/ksysguardd/NetBSD/diskstat.c
M ksysguard/ksysguardd/NetBSD/netdev.c
M ksysguard/ksysguardd/NetBSD/netdev.h
M ksysguard/ksysguardd/modules.h
M tdeeject/tdeeject
M tdeioslave/media/mediamanager/fstabbackend.cpp
M tdeioslave/media/mediamanager/fstabbackend.h
M tdeioslave/media/medianotifier/medianotifier.cpp
M tdesu/tdesud/tdesud.cpp
M tdm/backend/getfd.c
M tdm/backend/sessreg.c
M tdm/config.def

kcontrol/info/info_netbsd.cpp

diff --git a/kcontrol/info/info_netbsd.cpp b/kcontrol/info/info_netbsd.cpp
index c2b7b95..2fced7e 100644
--- a/kcontrol/info/info_netbsd.cpp
+++ b/kcontrol/info/info_netbsd.cpp
@@ -41,6 +41,7 @@
 #include <tqfontmetrics.h>
 #include <tqstrlist.h>
 #include <tqtextstream.h>
+#include <tqregexp.h>
 
 #include <kdebug.h>
 #include <tdeio/global.h> /* for TDEIO::convertSize() */
@@ -123,7 +124,7 @@
 	}
 
 	TQListViewItem *olditem = NULL;
-	while(!(s = t->readLine().local8Bit()).isEmpty()) {
+	while(!(s = t->readLine().local8Bit()).isNull()) {
 		if (!seencpu) {
 			if (s.contains("cpu"))
 				seencpu = true;
@@ -134,9 +135,7 @@
 			s.contains("WARNING: old BSD partition ID!"))
 			break;
 
-		if (!filter
-		    || (filter[0] == '^' && s.find(&filter[1]) == 0)
-		    || (filter[0] != '^' && s.contains(filter))) {
+		if (!filter || s.contains(TQRegExp(filter))) {
 			if (func)
 				func(lBox, s);
 			else
@@ -163,7 +162,7 @@
 	int pos, irqnum;
 	char numstr[3];
 
-	pos = s.find(" irq ");
+	pos = s.find(TQRegExp("[ (]irq "));
 	irqnum = (pos < 0) ? 0 : atoi(&s.ascii()[pos+5]);
 	if (irqnum)
 		snprintf(numstr, 3, "%02d", irqnum);
@@ -181,7 +180,7 @@
 	lBox->addColumn(i18n("Device"));
 	lBox->setSorting(0);
 	lBox->setShowSortIndicator(FALSE);
-	(void) GetDmesgInfo(lBox, " irq ", AddIRQLine);
+	(void) GetDmesgInfo(lBox, "[ (]irq ", AddIRQLine);
 	return true;
 }
 
@@ -265,9 +264,12 @@
 bool GetInfo_Partitions (TQListView *lbox)
 {
 	int num; // number of mounts
-	// FIXME: older pkgsrc patches checked ST_RDONLY for this declaration
-	// what is ST_RDONLY and how does it affect getmntinfo?
+#ifdef HAVE_STATVFS
+	struct statvfs *mnt; // mount data pointer
+#else
 	struct statfs *mnt; // mount data pointer
+#endif
+	TQString MB(i18n("MB"));	/* "MB" = "Mega-Byte" */
 
 	// get mount info
 	if (!(num=getmntinfo(&mnt, MNT_WAIT))) {
@@ -290,24 +292,31 @@
 		unsigned long long big[2];
 		TQString vv[5];
 
+#ifdef HAVE_STATVFS
+		big[0] = big[1] = mnt->f_frsize; // coerce the product
+#else
 		big[0] = big[1] = mnt->f_bsize; // coerce the product
+#endif
 		big[0] *= mnt->f_blocks;
 		big[1] *= mnt->f_bavail; // FIXME: use f_bfree if root?
 
 		// convert to strings
-		vv[0] = TDEIO::convertSize(big[0]);
-		vv[1] = TQString::fromLatin1("%1 (%2%%)")
-				.arg(TDEIO::convertSize(big[1]))
+		vv[0] = Value((int) (((big[0] / 1024) + 512) / 1024), 6) + MB;
+		vv[1] = TQString("%1 (%2%)")
+				.arg(Value((int) (((big[1] / 1024) + 512) / 1024), 6) + MB)
 				.arg(mnt->f_blocks ? mnt->f_bavail*100/mnt->f_blocks : 0);
 
-		// FIXME: these two are large enough to punctuate
-		vv[2] = TQString::number(mnt->f_files);
-		vv[3] = TQString::fromLatin1("%1 (%2%%) ")
+		vv[2] = TQString("%L1").arg(mnt->f_files);
+		vv[3] = TQString("%1 (%2%) ")
 				.arg(mnt->f_ffree)
 				.arg(mnt->f_files ? mnt->f_ffree*100/mnt->f_files : 0);
 
 		vv[4] = TQString::null;
+#ifdef HAVE_STATVFS
+#define MNTF(x) if (mnt->f_flag & ST_##x) vv[4] += TQString::fromLatin1(#x " ");
+#else
 #define MNTF(x) if (mnt->f_flags & MNT_##x) vv[4] += TQString::fromLatin1(#x " ");
+#endif
 		MNTF(ASYNC)
 		MNTF(DEFEXPORTED)
 		MNTF(EXKERB)
@@ -316,7 +325,9 @@
 		MNTF(EXPORTED)
 		MNTF(EXPUBLIC)
 		MNTF(EXRDONLY)
+#ifndef HAVE_STATVFS
 		MNTF(IGNORE)
+#endif
 		MNTF(LOCAL)
 		MNTF(NOATIME)
 		MNTF(NOCOREDUMP)

kcontrol/info/memory_netbsd.cpp

diff --git a/kcontrol/info/memory_netbsd.cpp b/kcontrol/info/memory_netbsd.cpp
index 39beeaa..015fdd0 100644
--- a/kcontrol/info/memory_netbsd.cpp
+++ b/kcontrol/info/memory_netbsd.cpp
@@ -22,7 +22,7 @@
   int mib[2];
   size_t len;
 #ifdef UVM
-#if __NetBSD_Version__ > 499000100 /* 4.99.2+ */
+#if __NetBSD_Version__ > 106000000 /* 1.6+ */
   struct  uvmexp_sysctl uvmexp;
 #else
   struct  uvmexp uvmexp;
@@ -53,7 +53,7 @@
 
 #ifdef UVM
   mib[0] = CTL_VM;
-#if __NetBSD_Version__ > 499000100 /* 4.99.2+ */
+#if __NetBSD_Version__ > 106000000 /* 1.6+ */
   mib[1] = VM_UVMEXP2;
 #else
   mib[1] = VM_UVMEXP;

kcontrol/tdefontinst/tdefontinst/GetPid.c

diff --git a/kcontrol/tdefontinst/tdefontinst/GetPid.c b/kcontrol/tdefontinst/tdefontinst/GetPid.c
index 1a633a7..e4159f4 100644
--- a/kcontrol/tdefontinst/tdefontinst/GetPid.c
+++ b/kcontrol/tdefontinst/tdefontinst/GetPid.c
@@ -28,6 +28,10 @@
 ////////////////////////////////////////////////////////////////////////////////
 */
 
+#ifdef __NetBSD__
+#define _KMEMUSER
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -173,7 +177,9 @@
 #endif
 #include <sys/sysctl.h>
 #include <sys/time.h>
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <sys/user.h>
+#endif
 #include <unistd.h>
 unsigned int kfi_getPid(const char *proc, unsigned int ppid)
 {

kcontrol/usbview/usbdevices.cpp

diff --git a/kcontrol/usbview/usbdevices.cpp b/kcontrol/usbview/usbdevices.cpp
index d832261..87f3a7e 100644
--- a/kcontrol/usbview/usbdevices.cpp
+++ b/kcontrol/usbview/usbdevices.cpp
@@ -27,7 +27,7 @@
 
 #include <math.h>
 
-#ifdef Q_OS_FREEBSD
+#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
 #include <sys/ioctl.h>
 #include <sys/param.h>
 #endif
@@ -197,7 +197,7 @@
   if (!prname.isEmpty())
     pr += "<td>(" + prname +")</td>";
   r += i18n("<tr><td><i>Protocol</i></td>%1</tr>").arg(pr);
-#ifndef Q_OS_FREEBSD
+#if !(defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD))
   r += i18n("<tr><td><i>USB Version</i></td><td>%1.%2</td></tr>")
     .arg(_verMajor,0,16)
     .arg(TQString::number(_verMinor,16).prepend('0').right(2));
@@ -221,7 +221,7 @@
 
   r += i18n("<tr><td><i>Speed</i></td><td>%1 Mbit/s</td></tr>").arg(_speed);
   r += i18n("<tr><td><i>Channels</i></td><td>%1</td></tr>").arg(_channels);
-#ifdef Q_OS_FREEBSD
+#if defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD)
 	if ( _power )
 		r += i18n("<tr><td><i>Power Consumption</i></td><td>%1 mA</td></tr>").arg(_power);
 	else
@@ -249,7 +249,7 @@
 }
 
 
-#ifndef Q_OS_FREEBSD
+#if !(defined(Q_OS_FREEBSD) || defined(Q_OS_NETBSD))
 bool USBDevice::parse(TQString fname)
 {
   _devices.clear();
@@ -325,18 +325,29 @@
  * only little modification on NetBSD.
  */
 
+#ifdef Q_OS_FREEBSD
 void USBDevice::collectData(struct libusb20_backend *pbe,
     struct libusb20_device *pdev)
+#else
+void USBDevice::collectData( int fd, int leve, usb_device_info &di, int parent)
+#endif
 {
+#ifdef Q_OS_FREEBSD
 	char tempbuf[32];
 	struct usb_device_info di;
 
 	if (libusb20_dev_get_info(pdev, &di))
 		memset(&di, 0, sizeof(di));
+#endif
 
 	// determine data for this device
+#ifdef Q_OS_FREEBSD
 	_level        = 0;
 	_parent       = 0;
+#else
+	_level        = level;
+	_parent       = parent;
+#endif
 
 	_bus          = di.udi_bus;
 	_device       = di.udi_addr;
@@ -354,15 +365,22 @@
 
 	// determine the speed
 	switch (di.udi_speed) {
+#ifdef Q_OS_FREEBSD
 		case LIBUSB20_SPEED_LOW:  _speed = 1.5;   break;
 		case LIBUSB20_SPEED_FULL: _speed = 12.0;  break;
 		case LIBUSB20_SPEED_HIGH: _speed = 480.0; break;
 		case LIBUSB20_SPEED_VARIABLE: _speed = 480.0; break;
 		case LIBUSB20_SPEED_SUPER: _speed = 4800.0; break;
 		default: _speed = 480.0; break;
+#else
+		case USB_SPEED_LOW:  _speed = 1.5;   break;
+		case USB_SPEED_FULL: _speed = 12.0;  break;
+		case USB_SPEED_HIGH: _speed = 480.0; break;
+#endif
 	}
 
 	// Get all attached devicenodes
+#ifdef Q_OS_FREEBSD
** Diff limit reached (max: 250 lines) **
60e5e374 2019-08-18 13:37:45 OBATA Akio
Fix test(1) portability

Signed-off-by: OBATA Akio <obache@...>
M kdialog/progresscanceldemo
** Diff limit reached (max: 250 lines) **
027c45db 2019-08-18 13:38:50 OBATA Akio
Change to use arc4random_buf(3) if available

Signed-off-by: OBATA Akio <obache@...>
M config.h.cmake
M tdm/ConfigureChecks.cmake
M tdm/backend/genauth.c
** Diff limit reached (max: 250 lines) **

Branch: r14.0.x

fafd412d 2019-08-18 13:38:18 OBATA Akio
Fix test(1) portability

Signed-off-by: OBATA Akio <obache@...>
(cherry picked from commit 60e5e374553ce75f2e499888c8592bbeaa6f8b1e)
M kdialog/progresscanceldemo
** Diff limit reached (max: 250 lines) **
eb6fecd5 2019-08-18 13:39:32 OBATA Akio
Change to use arc4random_buf(3) if available

Signed-off-by: OBATA Akio <obache@...>
(cherry picked from commit 027c45db6f63a04eb31eac481f9264ab9760dce1)
M config.h.cmake
M tdm/ConfigureChecks.cmake
M tdm/backend/genauth.c
** Diff limit reached (max: 250 lines) **