Subject: [patch] DragonFly support in kdebase3 updated
To: None <pkgsrc-users@netbsd.org>
From: Rumko <rumcic@gmail.com>
List: pkgsrc-users
Date: 04/02/2007 01:11:43
--nextPart4557156.EC9UK0b2Bq
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8Bit
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Since the work on 1:1 threading in DragonFly-HEAD, kdebase3 was not compilable.
I tried making the patch backwards compatible (on the 1.8.x release kdebase3
should remain compilable) so there should not be any regressions.
Instructions for usage:
cd /usr/pkgsrc/x11/kdebase3 && patch < /path/to/kdebase3.patch
Thank you
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (DragonFly)
iD8DBQFGEDwvxV3ce2RZW70RAp5CAKC3y/J9OpOHYKhEklAve0L+KoTPUwCfUumd
62BHP4aDexkefe10TtBas+I=
=mKKJ
-----END PGP SIGNATURE-----
--nextPart4557156.EC9UK0b2Bq
Content-Type: text/x-diff; name="kdebase3.patch"
Content-Transfer-Encoding: 8Bit
Content-Disposition: attachment; filename="kdebase3.patch"
diff -ur kdebase3/distinfo kdebase3.orig/distinfo
--- kdebase3/distinfo 2007-04-02 01:05:11.000000000 +0200
+++ kdebase3.orig/distinfo 2007-04-02 01:04:39.000000000 +0200
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.95 2007/03/08 14:38:31 rillig Exp $
+$NetBSD$
SHA1 (Daemon.README) = eb1e6af52adc02ded77af17e8953134b7e60d23b
RMD160 (Daemon.README) = 39edd92ed4314397080f32a8caff0ac3f716ecf4
@@ -38,7 +38,7 @@
SHA1 (patch-dc) = dd44652ad806d49d45ef86cbff58a01e506deeee
SHA1 (patch-dd) = 4c98e62275ce9a632f79f99110e8fb4995e3f017
SHA1 (patch-de) = 94d7f083784b8b56c2b23c320772a80a27df19d1
-SHA1 (patch-df) = ee6f6967d77d13217055d69dcf8be98b48d40598
+SHA1 (patch-df) = 9040bb55f2df4703eefd68d635f0275ff12199a9
SHA1 (patch-ep) = 745f03daf088afdef4d5eff486311a49291eb947
SHA1 (patch-er) = ead52469004abbb4e04278e038fad8f850d79701
SHA1 (patch-ev) = 551dc4d79b637e15a580eb1dcd2f0930ff1e3dbc
diff -ur kdebase3/patches/patch-df kdebase3.orig/patches/patch-df
--- kdebase3/patches/patch-df 2005-11-08 19:25:44.000000000 +0100
+++ kdebase3.orig/patches/patch-df 2007-04-02 00:56:11.000000000 +0200
@@ -1,18 +1,28 @@
-$NetBSD: patch-df,v 1.9 2005/11/08 18:25:44 joerg Exp $
-
---- ksysguard/ksysguardd/FreeBSD/ProcessList.c.orig 2005-08-18 00:27:47.000000000 +0000
-+++ ksysguard/ksysguardd/FreeBSD/ProcessList.c
-@@ -217,23 +217,25 @@ updateProcess(int pid)
+--- ksysguard/ksysguardd/FreeBSD/ProcessList.c.orig 2007-04-01 22:58:20.000000000 +0200
++++ ksysguard/ksysguardd/FreeBSD/ProcessList.c 2007-04-02 00:22:42.000000000 +0200
+@@ -213,27 +213,41 @@
+ ps->priority = p.ki_pri.pri_user;
+ ps->niceLevel = p.ki_nice;
+ #else
++#if defined(__DragonFly__) && __DragonFly_version >= 190000
++ ps->pid = p.kp_pid;
++ ps->ppid = p.kp_ppid;
++ ps->uid = p.kp_uid;
++ ps->gid = p.kp_pgid;
++ ps->priority = p.kp_lwp.kl_tdprio;
++#else
+ ps->pid = p.kp_proc.p_pid;
ps->ppid = p.kp_eproc.e_ppid;
ps->uid = p.kp_eproc.e_ucred.cr_uid;
ps->gid = p.kp_eproc.e_pgid;
+#if defined(__DragonFly__)
-+ ps->priority = p.kp_thread.td_pri;
++ ps->priority = p.kp_thread.td_pri;
+#else
ps->priority = p.kp_proc.p_priority;
+#endif
ps->niceLevel = p.kp_proc.p_nice;
#endif
++#endif
/* this isn't usertime -- it's total time (??) */
#if __FreeBSD_version >= 500015
@@ -20,7 +30,11 @@
-#elif __FreeBSD_version >= 300000
-#if defined(__DragonFly__)
+#elif defined(__DragonFly__)
++#if __DragonFly_version >= 190000
++ if (!getrusage(p.kp_pid, &pru))
++#else
if (!getrusage(p.kp_proc.p_pid, &pru))
++#endif
{
errx(1, "failed to get rusage info");
}
@@ -32,3 +46,44 @@
#else
ps->userTime = p.kp_proc.p_rtime.tv_sec*100+p.kp_proc.p_rtime.tv_usec/100;
#endif
+@@ -256,16 +270,24 @@
+ strlcpy(ps->name,p.ki_comm? p.ki_comm:"????",sizeof(ps->name));
+ strcpy(ps->status,(p.ki_stat>=1)&&(p.ki_stat<=5)? statuses[p.ki_stat-1]:"????");
+ #else
+- ps->userLoad = 100.0 * (double) p.kp_proc.p_pctcpu / fscale;
++#if defined (__DragonFly__) && __DragonFly_version >= 190000
++ ps->userLoad = 100.0 * (double) p.kp_lwp.kl_pctcpu / fscale;
++ ps->vmSize = p.kp_vm_map_size;
++ ps->vmRss = p.kp_vm_rssize * getpagesize();
++ strlcpy(ps->name,p.kp_comm ? p.kp_comm : "????",
++ sizeof(ps->name));
++ strcpy(ps->status,(p.kp_stat>=1)&&(p.kp_stat<=5)? statuses[p.kp_stat-1]:"????");
++#else
++ ps->userLoad = 100.0 * (double) p.kp_proc.p_pctcpu / fscale;
+ ps->vmSize = p.kp_eproc.e_vm.vm_map.size;
+ ps->vmRss = p.kp_eproc.e_vm.vm_rssize * getpagesize();
+ #if defined (__DragonFly__)
+- strlcpy(ps->name,p.kp_thread.td_comm ? p.kp_thread.td_comm : "????",
++ strlcpy(ps->name,p.kp_thread.td_comm ? p.kp_thread.td_comm : "????",
+ sizeof(ps->name));
+ #else
+ strlcpy(ps->name,p.kp_proc.p_comm ? p.kp_proc.p_comm : "????", sizeof(ps->name));
+ #endif
+- strcpy(ps->status,(p.kp_proc.p_stat>=1)&&(p.kp_proc.p_stat<=5)? statuses[p.kp_proc.p_stat-1]:"????");
++#endif
+ #endif
+
+ /* process command line */
+@@ -366,8 +388,12 @@
+ #if __FreeBSD_version >= 500015
+ updateProcess(p[num].ki_pid);
+ #else
++#if __DragonFly_version >= 190000
++ updateProcess(p[num].kp_pid);
++#else
+ updateProcess(p[num].kp_proc.p_pid);
+ #endif
++#endif
+ free(p);
+ cleanupProcessList();
+
--nextPart4557156.EC9UK0b2Bq--