Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Dec 1997 01:14:12 -0800 (PST)
From:      Donald Burr <dburr@POBoxes.com>
To:        FreeBSD Ports <freebsd-ports@freebsd.org>, se@freebsd.org
Subject:   About the KDE port
Message-ID:  <XFMail.971214014632.dburr@POBoxes.com>

next in thread | raw e-mail | index | archive | help
This message is in MIME format
--_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----

I finally built and installed the KDE port this weekend.  I LOVE IT! 
Thanks so much for porting it to FreeBSD.

I did notice several things that don't quite work right, so I thought I
should mention them here, so that you may be aware of them and fix them
for the next kde port, etc.

Those are:

kaudioserver dies with a signal 11 (segfault) upon startup.

KDE's "find" module (kfind) assumes that the `find' utility is from the
GNU fileutils pckage.  This is the case for Linux, but NOT the case for
FreeBSD.  (mainly, kfind calls find with the "-fprint" option, which
doesn't exist in the FreeBSD `find').  A patch written by one of the
people on the KDE mailing list is attached.

KDE has the capability for you to put icons of devices (cd-rom, jaz,
etc.) on the desktop, then mount and unmount them by clicking on the
icons.  The icons change to show whether the devices are mounted or not. 
This feature does not work on the FreeBSD port -- probably uses some
Linux-specific syscall or mount command syntax.  (Yes, I fixed the mount
adn umount binaries so that I can execute them as a normal user.)

The "memory" and "processor" control panels do not show a lot of useful
information.  Probably depends on the Linux /proc tree, so there probably
isn't much you can do about it, but I thought I should mention it just in
case.

The "su" command in /usr/local/bin/kfmsu2 does not work right as
written, so the "KFM as superuser" window dies immediately without
offering the opportunity to type in the root password.  Changing it to
read:
su root -c "kfm -sw >/dev/null"
makes it work fine.

The terminal emulator (kvt) does not put proper UTMP entries in
/var/run/utmp.  This means that commands like w. finger, etc. do not
display proper login entries for users' kvt windows, "talk" and "write" do
not work properly, etc.  There is (suppsedly) a compile time option
"UTMP_SUPPORT" in the utmp.c source file, defining this should do the
trick.  At least according to the folks on the KDE mailing list.
- ---
Donald Burr <dburr@POBoxes.com> - Ask me for my PGP key | PGP: Your
WWW HomePage: http://DonaldBurr.base.org/  ICQ #1347455 | right to
Address: P.O. Box 91212, Santa Barbara, CA 93190-1212   | 'Net privacy.
Phone: (805) 957-9666    FAX: (800) 492-5954            | USE IT.

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBNJOq9/jpixuAwagxAQHJWAQAhIGm1CtxW1FvODkggSt3D7owh5rc81HL
k9BS+4xSOrQIHyz0xWBjcmDS3OmbLxvLmZgGEeu63WAZgalbmydo8WvyzMM/gkGv
Raw64gMaa46q8kOngKYv0syLxh7eAAt9m49hHt+2SYtAfKyqaGOYsyaxOe8r06Mv
PKuyNrlUTEE=
=6PMs
-----END PGP SIGNATURE-----

--_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_
Content-Disposition: attachment; filename="kfind.diff"
Content-Transfer-Encoding: 7bit
Content-Description: kfind.diff
Content-Type: text/plain; charset=us-ascii; name=kfind.diff; SizeOnDisk=2561

diff -r -C3 kfind/kfind.cpp kfind.new/kfind.cpp
*** kfind/kfind.cpp	Sat Nov  8 01:02:46 1997
--- kfind.new/kfind.cpp	Mon Dec  8 13:54:23 1997
***************
*** 59,64 ****
--- 59,67 ----
  	    win,SLOT(openBinding()));
      connect(&findProcess,SIGNAL(processExited(KProcess *)),
  	    this,SLOT(processResults()));
+     connect(&findProcess, 
+         SIGNAL(receivedStdout(KProcess *, char *, int)), 
+         this, SLOT(handleStdout(KProcess *, char *, int))) ;
  
      emit haveResults(false);
      resize(tabDialog->sizeHint());
***************
*** 96,102 ****
          int t = time( 0L ); 
          outFile.sprintf( "/tmp/kfindout%i", t );
  
! 	buffer.append(pom.sprintf(" -fprint %s ",outFile.data()));
          buffer=buffer.simplifyWhiteSpace();
  	while( !buffer.isEmpty() )
  	  {
--- 99,105 ----
          int t = time( 0L ); 
          outFile.sprintf( "/tmp/kfindout%i", t );
  
! 	buffer.append(pom.sprintf(" -print"));
          buffer=buffer.simplifyWhiteSpace();
  	while( !buffer.isEmpty() )
  	  {
***************
*** 110,116 ****
  	    buffer = buffer.remove(0,pos+1);
  	  };
  
! 	findProcess.start();
        };
    };
  
--- 113,119 ----
  	    buffer = buffer.remove(0,pos+1);
  	  };
  
! 	findProcess.start(KProcess::NotifyOnExit, KProcess::AllOutput);
        };
    };
  
***************
*** 138,143 ****
--- 141,157 ----
       
      stopSearch();
   };
+ 
+ void Kfind::handleStdout(KProcess *proc, char *buffer, int buflen)
+ {
+ 	char tmp = buffer[buflen] ;
+ 	buffer[buflen] = '\0' ;
+ 	
+ 	FILE *f = fopen(outFile.data(),"a");
+ 	fwrite(buffer, strlen(buffer), 1, f);
+ 	fclose(f);
+ 	buffer[buflen] = tmp ;
+ }
  
  void Kfind::processResults()
    {
diff -r -C3 kfind/kfind.h kfind.new/kfind.h
*** kfind/kfind.h	Tue Aug 19 05:02:15 1997
--- kfind.new/kfind.h	Mon Dec  8 13:54:41 1997
***************
*** 28,33 ****
--- 28,34 ----
    void stopSearch();
    void newSearch();
    void processResults();
+   void handleStdout(KProcess *proc, char *buffer, int buflen);
  signals:
    void  haveResults(bool);
    void  resultSelected(bool);
diff -r -C3 kfind/kfwin.cpp kfind.new/kfwin.cpp
*** kfind/kfwin.cpp	Wed Oct  8 01:01:47 1997
--- kfind.new/kfwin.cpp	Mon Dec  8 13:35:39 1997
***************
*** 101,106 ****
--- 101,107 ----
      sprintf(str,klocale->translate("%d file(s) found"),count);
      emit statusChanged(str);
  
+     unlink(file);
      fclose(f);    
      delete filename;
      delete strl;

--_=XFMail.1.1.p0.FreeBSD:971214014632:23355=_--
End of MIME message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.971214014632.dburr>