NetBSD Problem Report #45012

From www@NetBSD.org  Wed Jun  1 04:02:49 2011
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id B7EC663C5DE
	for <gnats-bugs@gnats.NetBSD.org>; Wed,  1 Jun 2011 04:02:49 +0000 (UTC)
Message-Id: <20110601040248.BD23163BA4F@www.NetBSD.org>
Date: Wed,  1 Jun 2011 04:02:48 +0000 (UTC)
From: maw@dont.beevil.org
Reply-To: maw@dont.beevil.org
To: gnats-bugs@NetBSD.org
Subject: lang/clisp build broken on systems where /bin/sh == dash (e.g. Ubuntu)
X-Send-Pr-Version: www-1.0

>Number:         45012
>Category:       pkg
>Synopsis:       lang/clisp build broken on systems where /bin/sh == dash (e.g. Ubuntu)
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    asau
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jun 01 04:05:00 +0000 2011
>Last-Modified:  Wed Jun 01 10:47:32 +0000 2011
>Originator:     Michael Wildpaner
>Release:        pkgsrc-2011Q1 and HEAD
>Organization:
>Environment:
Linux myhostname 2.6.32-31-server #61-Ubuntu SMP Fri Apr 8 19:44:42 UTC 2011 x86_64 GNU/Linux
>Description:
Ubuntu uses dash as /bin/sh. In dash, the shell test expression -nt evaluates to 1==false if the second operand doesn't exist (as compared to bash where it evaluate to 0==true).

This breaks module building for package lang/clisp (per-module Makefile in e.g. src/i18n is never generated and recursive make invocation with target clisp-module fails).
>How-To-Repeat:
Build lang/clisp on a system with /bin/sh == dash, e.g. recent Ubuntu.


>Fix:
This is ultimately a bug in the clisp build system, but until that's fixed upstream:

-- /dev/null   2011-05-08 17:10:55.626731700 +0200
+++ lang/clisp/patches/patch-ad 2011-06-01 05:55:20.442482943 +0200
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- src/makemake.in.orig       2011-06-01 03:53:29.283733000 +0000
++++ src/makemake.in
+@@ -3301,7 +3301,7 @@ echotab "m=\`cd ${MODULESDIR_}\$@; pwd\`
+ if [ "@TEST_NT@" = no ]; then # re-making a module requires rm -rf module
+   newer(){ echo 'test -f $$m/'$1' -a '"'!'"' -f $@/'$2; }
+ else # re-making a module just works
+-  newer(){ echo 'test -f $$m/'$1' -a $$m/'$1' -nt $@/'$2; }
++  newer(){ echo 'test -f $$m/'$1' -a \( ! -f $@/'$2' -o $$m/'$1' -nt $@/'$2' \)'; }
+ fi
+ # srcdir has to be passed to ./configure because it must be able to find
+ # src/build-aux/install-sh _AND_ also its own sources, thus we must

>Release-Note:

>Audit-Trail:

Responsible-Changed-From-To: pkg-manager->asau
Responsible-Changed-By: wiz@NetBSD.org
Responsible-Changed-When: Wed, 01 Jun 2011 10:47:32 +0000
Responsible-Changed-Why:
Over to maintainer.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.