ports/71438: Update ports: misc/gman add dependency & fix netbrowse option

Serge Gagnon ser_gagnon at sympatico.ca
Tue Sep 7 00:40:25 UTC 2004


The following reply was made to PR ports/71438; it has been noted by GNATS.

From: Serge Gagnon <ser_gagnon at sympatico.ca>
To: Adam Weinberger <adamw at FreeBSD.org>
Cc: FreeBSD-gnats-submit at FreeBSD.org
Subject: Re: ports/71438: Update ports: misc/gman add dependency & fix netbrowse option 
Date: Mon, 06 Sep 2004 20:39:51 -0400

 This is a multipart MIME message.
 
 --==_Exmh_15586771310
 Content-Type: text/plain; charset=us-ascii
 
 Ok.
 
 This one remove the RUN_DEPEND to dillo and use your favorite browser. 
 The one you put in your BROWSER variable.
 
 Additional file: pkg-message
 
 
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="patch-mandata.c"; charset=us-ascii
 Content-Description: patch-mandata.c
 Content-Disposition: attachment; filename="patch-mandata.c"
 
 --- mandata.c.orig	Sun Aug 29 09:29:38 2004
 +++ mandata.c	Sun Aug 29 09:33:45 2004
 @@ -241,11 +241,11 @@
  	char buffer2[BUFFER_SIZE];
  	switch ((int)context->get_value("show_mode")) {
  	case 0:
 -		sprintf(buffer,"%s -T '%s manual page' -n GMan -e man ",
 +		sprintf(buffer,"%s -T '%s manual page' -n GMan -e man %s",
  				(char*)context->get_value("xterm_command"),
 -				get_display_name(buffer1));
 -		len = strlen(buffer);
 -		attach(buffer+len,man_path->GetPath(),file_name);
 +				get_display_name(buffer1), get_display_name(buffer1));
 +/*		len = strlen(buffer);
 +		attach(buffer+len,man_path->GetPath(),file_name); */
  		//g_warning(buffer);
  		if(!fork())
  		{
 @@ -256,9 +256,9 @@
  		break;
  	case 1:
  		sprintf(loc_name," ~/.gman.%s.ps ",get_display_name(buffer1));
 -		sprintf(buffer,"man -t ");
 -		len = strlen(buffer);
 -		attach(buffer+len,man_path->GetPath(),file_name);
 +		sprintf(buffer,"man -t %s", get_display_name(buffer1));
 +/*		len = strlen(buffer);
 +		attach(buffer+len,man_path->GetPath(),file_name); */
  		strcat(buffer," >> ");
  		strcat(buffer,loc_name);
  		strcat(buffer," ; ");
 @@ -306,7 +306,7 @@
  	case 2:
  		sprintf(loc_name," ~/.gman.%s.html ",get_display_name(buffer1));
  		//g_warning(loc_name);
 -		strcpy(buffer,"/usr/lib/cgi-bin/gman.pl ");
 +		strcpy(buffer,"/usr/local/www/cgi-bin/gman.pl ");
  		strcat(buffer," ");
  		strcat(buffer,get_section_name(buffer2));
  		strcat(buffer," ");
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="patch-gman.pl"; charset=us-ascii
 Content-Description: patch-gman.pl
 Content-Disposition: attachment; filename="patch-gman.pl"
 
 --- gman.pl.orig	Mon Sep  6 16:55:42 2004
 +++ gman.pl	Mon Sep  6 16:55:45 2004
 @@ -1,10 +1,10 @@
  #!/usr/bin/perl -w
 -use strict;
  
  if (@ARGV != 2) {
    print <<_EOF_;
  Content-type: text/html
  
 +<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
  <html><head><title>gman.pl: invalid use</title></head>
  <body>
  <h1>gman.pl cannot be used without arguments.</h1>
 @@ -14,35 +14,43 @@
  }
  
  my $section = $ARGV[0]; # should also have some sanity check
 +my $cut = "/usr/bin/cut -f 1 -d \" \" ";
  my $name = $ARGV[1];
 -my $man2html = "/usr/lib/cgi-bin/man2html";
 -my $path = `man -w $section $name`; chomp $path; $path =~ s/\s*$//;
 +my $man = "/usr/bin/man";
 +my $man2html = "/usr/local/bin/man2html -nodepage ";
 +my $path = `$man -w $section $name |$cut`; chomp $path; $path =~ s/\s*$//;
  
  unless (-s "$path") {
    warn "not -s $path\n";
    $name = lc $name;
 -  $path = `man -w $section $name`; chomp $path; $path =~ s/\s*$//;
 +  $path = `$man -w $section $name |$cut`; chomp $path; $path =~ s/\s*$//;
  }
  unless (-s "$path") {
    warn "not -s $path\n";
  	print <<end_of_line;
  Content-type: text/html
  
 -<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 -<HTML><HEAD>
 -<TITLE>404 Not Found</TITLE>
 -</HEAD><BODY>
 +<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
 +<html><head>
 +<title>404 Not Found</title>
 +</head><body>
  <H1>Not Found</H1>
  The requested man page $name($section) was not found on this server.
 -</BODY></HTML>
 +</body></html>
  end_of_line
 -	die;
 +;
  }
  
 -my $page = `$man2html $path`;
 +my $page = `$man $section $name |$man2html`;
  
  # $page =~ s/^Content-type: text\/html\n\n// if (not run as cgi...);
  
 -$page =~ s/(This document was created by\n<a HREF=\".*\">man2html<\/a>)(,\nusing the manual pages.<br>)/$1 for <a href=\"\/cgi-bin\/gman.pl?1+gman\">gman<\/a>$2/io;
 +print <<eof;
 +Content-type: text/html
 +
 +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
 +eof
 +;
  
  print $page;
 +
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="patch-gman.c"; charset=us-ascii
 Content-Description: patch-gman.c
 Content-Disposition: attachment; filename="patch-gman.c"
 
 --- gman.c.orig	Mon Sep  6 20:13:04 2004
 +++ gman.c	Mon Sep  6 20:13:04 2004
 @@ -62,6 +62,8 @@
  
  	//gtk_main();
  	
 +
 +	
  	while(1){
  		pthread_mutex_lock(&gtk_lock);
  		while(gtk_events_pending()) {
 @@ -77,6 +79,14 @@
  /******************* init_context() *****************/
  void init_context()
  {
 +	static char *browser;
 +	if ((browser = getenv("BROWSER")) == NULL)
 +	{
 +		fprintf(stderr,"A BROWSER variable that contains the name of your\n
 +favorite browser's executable file must be created\n
 +in order to use gman with localbrowse/netbrowse.\n");
 +			exit(1);
 +	}
  	FILE * fd;
  	char buffer[256];
  	context = new AppContext();
 @@ -89,9 +99,9 @@
  	context->set_default_value("show_status_bar","int",(void*)0);
  	context->set_default_value("show_warning","int",(void*)0);
  	context->set_default_value("show_mode","int",(void*)0); // 0 = xterm, 1 = ghostview
 -	context->set_default_value("xterm_command","char*",(void*)"x-terminal-emulator");
 -	context->set_default_value("gv_command","char*",(void*)"gv");
 -	context->set_default_value("browser_command","char*",(void*)"mozilla"); // kfm also works
 +	context->set_default_value("xterm_command","char*",(void*)"xterm");
 +	context->set_default_value("gv_command","char*",(void*)"ghostview");
 +	context->set_default_value("browser_command","char*",(void*)browser); // kfm also works
  	context->set_default_value("cgi_host","char*",(void*)"localhost");
  	context->set_default_value("cgi_location","char*",(void*)"/cgi-bin/gman.pl");
  	context->set_default_value("print_command","char*",(void*)"lpr"); // not in use
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="pkg-message"; charset=us-ascii
 Content-Description: pkg-message
 Content-Disposition: attachment; filename="pkg-message"
 
 
 --------------------------------------------------------------------------------
 You must have a BROWSER  variable that contains the name of your favorite
 browser's executable file in order to use gman with localbrowse/netbrowse.
 --------------------------------------------------------------------------------
 
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="patch-pkg-plist.diff"; charset=us-ascii
 Content-Description: patch-pkg-plist.diff
 Content-Disposition: attachment; filename="patch-pkg-plist.diff"
 
 --- pkg-plist.orig	Mon Sep  6 20:28:02 2004
 +++ pkg-plist	Mon Sep  6 20:28:10 2004
 @@ -1,4 +1,4 @@
  bin/gman
  bin/gman.cgi
  www/cgi-bin/gman.pl
 - at unexec rmdir %D/www/cgi-bin 2>/dev/null || true
 \ No newline at end of file
 + at unexec rmdir %D/www/cgi-bin 2>/dev/null || true
 
 --==_Exmh_15586771310
 Content-Type: text/plain ; name="patch-Makefile.diff"; charset=us-ascii
 Content-Description: patch-Makefile.diff
 Content-Disposition: attachment; filename="patch-Makefile.diff"
 
 --- Makefile.orig	Sun Aug 29 09:01:44 2004
 +++ Makefile	Mon Sep  6 20:29:07 2004
 @@ -47,5 +47,5 @@
  	@${MKDIR} ${PREFIX}/www/cgi-bin
  	${INSTALL_SCRIPT} ${WRKSRC}/gman.pl ${PREFIX}/www/cgi-bin
  	${INSTALL_MAN} ${WRKSRC}/gman.1x ${MANPREFIX}/man/man1
 -
 +	@${CAT} ${PKGMESSAGE}
  .include <bsd.port.mk>
 
 --==_Exmh_15586771310--
 
 



More information about the freebsd-ports-bugs mailing list