From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Nov 28 06:50:23 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5423016A4CE for ; Fri, 28 Nov 2003 06:50:23 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id B473E43FDD for ; Fri, 28 Nov 2003 06:50:20 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id hASEoKFY070236 for ; Fri, 28 Nov 2003 06:50:20 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id hASEoK6g070235; Fri, 28 Nov 2003 06:50:20 -0800 (PST) (envelope-from gnats) Resent-Date: Fri, 28 Nov 2003 06:50:20 -0800 (PST) Resent-Message-Id: <200311281450.hASEoK6g070235@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Sten Poldma Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 951BA16A4CE for ; Fri, 28 Nov 2003 06:42:31 -0800 (PST) Received: from vault.chamber.ee (vault.chamber.ee [195.50.209.91]) by mx1.FreeBSD.org (Postfix) with ESMTP id 52AAD44028 for ; Fri, 28 Nov 2003 06:41:37 -0800 (PST) (envelope-from exile@vault.chamber.ee) Received: from vault.chamber.ee (vault [195.50.209.91]) by vault.chamber.ee (8.12.9p2/8.12.5) with ESMTP id hASEeuM4016579 for ; Fri, 28 Nov 2003 16:40:56 +0200 (EET) (envelope-from exile@vault.chamber.ee) Received: (from exile@localhost) by vault.chamber.ee (8.12.9p2/8.12.5/Submit) id hASEetRQ016578; Fri, 28 Nov 2003 16:40:55 +0200 (EET) Message-Id: <200311281440.hASEetRQ016578@vault.chamber.ee> Date: Fri, 28 Nov 2003 16:40:55 +0200 (EET) From: Sten Poldma To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: ports/59760: [maintainer update] Port change: zed X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Sten Poldma List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Nov 2003 14:50:23 -0000 >Number: 59760 >Category: ports >Synopsis: [maintainer update] Port change: zed >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Fri Nov 28 06:50:19 PST 2003 >Closed-Date: >Last-Modified: >Originator: Sten Poldma >Release: FreeBSD 4.9-STABLE i386 >Organization: >Environment: System: FreeBSD vault.chamber.ee 4.9-STABLE FreeBSD 4.9-STABLE #2: Tue Nov 25 19:28:26 EET 2003 exile@vault.chamber.ee:/usr/obj/usr/src/sys/VAULT i386 >Description: Change in port: zed console text editor, highly configurable. Current version of the port has problem of applying patch-zed.h possible change in the original packet. Additionally FreeBSD specific fix was done to main.cc which remedies the problem of Zombie childs upon using the built in shell/make utility which uses fork(). o Pumped the portrevision. o Added last modification time to Makefile Tested under FreeBSD-4.x branch, no idea about 5.x >How-To-Repeat: Current port refused to cleanly apply patches >Fix: # Enclosed is the diff file against the old port --- zed.diff-1.0.5_1 begins here --- diff -ruN zed.bak/Makefile zed/Makefile --- zed.bak/Makefile Tue Feb 25 22:34:23 2003 +++ zed/Makefile Fri Nov 28 12:30:31 2003 @@ -1,5 +1,6 @@ # New ports collection makefile for: zed # Date created: 4 June 2002 +# Last modified: 28 November 2003 # Whom: Sten Poldma # # $FreeBSD: ports/editors/zed/Makefile,v 1.4 2003/02/21 11:38:28 knu Exp $ @@ -7,6 +8,7 @@ PORTNAME= zed PORTVERSION= 1.0.5 +PORTREVISION= 1 CATEGORIES= editors MASTER_SITES= http://zed.c3po.it/ diff -ruN zed.bak/files/patch-main.cc zed/files/patch-main.cc --- zed.bak/files/patch-main.cc Thu Jan 1 03:00:00 1970 +++ zed/files/patch-main.cc Fri Nov 28 16:18:33 2003 @@ -0,0 +1,61 @@ +--- main.cc.orig Fri Nov 28 16:17:58 2003 ++++ main.cc Fri Nov 28 14:44:27 2003 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #ifdef X11 + #include + #endif +@@ -91,6 +92,8 @@ + + /***************************************************************************/ + ++int fork2(); ++ + void resetcfg(int flag,char *str) + { + if (config.keys==(unsigned int *)0xffffffff) config.keys=0; +@@ -554,7 +557,7 @@ + + if (piped) pipe(pp); else deinit(); // ripristino i settaggi del terminale + +- if ((pid=fork())==0) ++ if ((pid=fork2())==0) + { // figlio + char *argv[100]; + int argc=0; +@@ -1352,6 +1355,32 @@ + deinit(); + + return(0); ++} ++ ++int fork2() { ++ pid_t pid; ++ int status; ++ ++ if (!(pid = fork())) { ++ switch (fork()) { ++ case 0: return 0; ++ case -1: _exit(errno); /* assumes all errnos are <256 */ ++ default: _exit(0); ++ } ++ } ++ ++ if (pid < 0 || waitpid(pid,&status,0) < 0) ++ return -1; ++ ++ if (WIFEXITED(status)) ++ if (WEXITSTATUS(status) == 0) ++ return 1; ++ else ++ errno = WEXITSTATUS(status); ++ else ++ errno = EINTR; /* well, sort of :-) */ ++ ++ return -1; + } + + /***************************************************************************/ diff -ruN zed.bak/files/patch-zed.h zed/files/patch-zed.h --- zed.bak/files/patch-zed.h Fri Nov 28 10:27:09 2003 +++ zed/files/patch-zed.h Fri Nov 28 10:37:14 2003 @@ -1,13 +1,11 @@ ---- zed.h.orig Sun Nov 17 22:35:46 2002 -+++ zed.h Sun Nov 17 22:35:09 2002 -@@ -123,8 +123,8 @@ +--- zed.h Fri Nov 28 10:31:49 2003 ++++ zed.h.new Fri Nov 28 10:32:57 2003 +@@ -123,7 +123,7 @@ int lung; char dati[0]; // puntatore ai dati - friend editor; // solo pero' all'interno di ZED.H -- friend list; + friend class editor; // solo pero' all'interno di ZED.H -+ friend class list; + friend class list; }; - protected: --- zed.diff-1.0.5_1 ends here --- >Release-Note: >Audit-Trail: >Unformatted: