[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#93337: Do you still intend to adopt acm?



retitle 93337 O: acm -- A multi-player aerial combat simulation.
thanks

On Sun, 03 Jun 2001 at 01:26:36 +0200, Adrian Bunk wrote:
> Hi Colin,
> 
> 1,5 months ago you retitled this WNPP bug to show that you intend to adopt
> acm. Is this still valid?
> 
> If yes, please upload a new package that fixes #95137.
> 
> If no, plese retitle the WNPP bug back to "O:".

It's become obvious that I don't have time to adopt acm, and to be
honest my interest has waned, so with this message I'm marking it
orphaned again (when master is fixed, that is).

I did get some work done on an NMU to get the RC bug fixed, but never
got it finished (the result of this compiles, but I couldn't get it to
run). I'm including the diff below so that somebody else can use it if
they want, although you might find that I'd just got myself into a
hideously twisted mess. You need to run autoconf after applying this.

Thanks for the timely reminder.

--- acm-4.7.orig/V/lib/Vlib.h
+++ acm-4.7/V/lib/Vlib.h
@@ -354,10 +354,8 @@
 #define DEGtoRAD(a)	((a) * (double)M_PI / 180.0)
 #define RADtoDEG(a)	((a) * 180.0 / (double)M_PI)
 
-#ifndef SYSV
-/*
+#if !(defined(SYSV)) && !(defined(__GNUC__))
 extern char *strdup();
-*/
 #endif
 
 #if (defined(_AIX) && defined(_IBMR2)) && !(defined(__GNUC__) \
--- acm-4.7.orig/configure.in
+++ acm-4.7/configure.in
@@ -15,59 +15,58 @@
 fi
 
 AC_PROG_CC
-# test "$CC" = "gcc" && DEFS="$DEFS -Wall -g"
-test "$CC" = "gcc" && DEFS="$DEFS -g"
+# test "$CC" = "gcc" && CFLAGS="$CFLAGS -Wall -g"
+test "$CC" = "gcc" && CFLAGS="$CFLAGS -g"
 AC_PROG_INSTALL
 AC_PROG_RANLIB
-AC_STDC_HEADERS
-AC_HAVE_HEADERS(stdlib.h malloc.h unistd.h)
-AC_RETSIGTYPE
+AC_HEADER_STDC
+AC_CHECK_HEADERS(stdlib.h malloc.h unistd.h)
+AC_TYPE_SIGNAL
 
-if test -z "$x_includes" ; then
-  AC_FIND_X
+if test "$x_includes" = NONE; then
+  AC_PATH_X
 fi
 
 # if we can't find xmkmf (OpenWin 2 and HP have this feature), then see if we
 # can guess about where X lives ...
-test -z "$x_includes" && test -d $ow && x_includes=${ow}/include
-test -z "$x_libraries" && test -d $ow && x_libraries=${ow}/lib
+test "$x_includes" = NONE && test -d $ow && x_includes=${ow}/include
+test "$x_libraries" = NONE && test -d $ow && x_libraries=${ow}/lib
 
-test -z "$x_includes" && test -d /usr/include/X11R5 && x_includes=/usr/include/X11R5
-test -z "$x_libraries" && test -d /usr/lib/X11R5 && x_libraries=/usr/lib/X11R5
+test "$x_includes" = NONE && test -d /usr/include/X11R5 && x_includes=/usr/include/X11R5
+test "$x_libraries" = NONE && test -d /usr/lib/X11R5 && x_libraries=/usr/lib/X11R5
 
-test -n "$x_includes" && DEFS="$DEFS -I${x_includes}"
-test -n "$x_libraries" && LIBS="$LIBS -L${x_libraries}"
-AC_HAVE_LIBRARY(audio, [LIBS="$LIBS -laudio"])
+test "$x_includes" != NONE && CPPFLAGS="$CPPFLAGS -I${x_includes}"
+test "$x_libraries" != NONE && LIBS="$LIBS -L${x_libraries}"
 
-LIBS="$LIBS -lX11"
+LIBS="$LIBS -lX11 -lXt"
 
-AC_FUNC_CHECK(AuCloseServer, [DEFS="$DEFS -DNETAUDIO"])
-AC_FUNC_CHECK(ACloseAudio, [DEFS="$DEFS -DHPAUDIO"])
+AC_CHECK_LIB(audio, AuCloseServer, [LIBS="$LIBS -laudio"; AC_DEFINE(NETAUDIO)])
+AC_CHECK_LIB(audio, ACloseAudio, [LIBS="$LIBS -laudio"; AC_DEFINE(HPAUDIO)])
 
-AC_HAVE_LIBRARY(nsl, [LIBS="$LIBS -lnsl"])
-AC_HAVE_LIBRARY(socket, [LIBS="$LIBS -lsocket"])
-AC_HAVE_LIBRARY(dnet_stub, [LIBS="$LIBS -ldnet_stub"])
+AC_CHECK_LIB(nsl, gethostbyname)
+AC_CHECK_LIB(socket, connect)
+AC_HAVE_LIBRARY(dnet_stub)
 
 if uname -srv | grep '^AIX 2 3' >/dev/null ; then
     :
 else
-    AC_HAVE_LIBRARY(bsd, [LIBS="$LIBS -lbsd"])
+    AC_HAVE_LIBRARY(bsd)
 fi
 
-AC_HAVE_LIBRARY(m, [LIBS="$LIBS -lm"])
+AC_CHECK_LIB(m, sqrt)
 AC_REPLACE_FUNCS(strdup)
 if test "$REAL_DELTA_T" != "no" ; then
-	AC_FUNC_CHECK(gettimeofday, [DEFS="$DEFS -DREAL_DELTA_T"])
+	AC_CHECK_FUNC(gettimeofday, AC_DEFINE(REAL_DELTA_T))
 fi
-AC_FUNC_CHECK(setsid, [DEFS="$DEFS -DHAVE_SETSID"])
-AC_FUNC_CHECK(rand, [rand=1])
+AC_CHECK_FUNCS(setsid)
+AC_CHECK_FUNC(rand, [rand=1])
 
 if test "$rand" = "1" ; then
-	DEFS="$DEFS -DHAVE_RAND"
+	AC_DEFINE(HAVE_RAND)
 else
-	AC_FUNC_CHECK(random, [random=1])
+	AC_CHECK_FUNC(random, [random=1])
 	if test "$random" = "1" ; then
-		DEFS="$DEFS -DHAVE_RANDOM"
+		AC_DEFINE(HAVE_RANDOM)
 	else
 		echo "Hmm. Your system does not support either random() or rand()."
 		echo "ACM needs one of the random number generators to operate."
@@ -75,5 +74,8 @@
 	fi
 fi
 
-AC_FUNC_CHECK(copysign, [DEFS="$DEFS -DHAVE_COPYSIGN"])
+AC_CHECK_FUNCS(copysign)
+
+AC_SUBST(CPPFLAGS)
+
 AC_OUTPUT(Makefile src/Makefile V/Makefile V/lib/Makefile V/test/Makefile objects/Makefile)
--- acm-4.7.orig/src/kill-acms
+++ acm-4.7/src/kill-acms
@@ -1,8 +1,8 @@
 #! /bin/sh
 if [ "`uname`" = "SunOS" ]; then
   pscmd="ps -aux"
-elif [ "`uname`" = "Linux" ]; then
-  pscmd="ps -aux"
+elif [ "`uname`" = "Linux" -o "`uname`" = "GNU" ]; then
+  pscmd="ps aux"
 else
   pscmd="ps -ef"
 fi
--- acm-4.7.orig/src/Makefile.in
+++ acm-4.7/src/Makefile.in
@@ -76,11 +76,11 @@
 	rm -f TAGS
 
 install: $(PROGRAMS) kill-acms
-	$(INSTALL_PROGRAM) -s acm $(bindir)/acm
-	$(INSTALL_PROGRAM) -s acms $(bindir)/acms
-	$(INSTALL_PROGRAM) -s kill-acms $(bindir)/kill-acms
+	$(INSTALL_PROGRAM) acm $(bindir)/acm
+	$(INSTALL_PROGRAM) acms $(bindir)/acms
+	$(INSTALL_PROGRAM) kill-acms $(bindir)/kill-acms
 	$(INSTALL_DATA) $(srcdir)/acm.man \
-		$(prefix)/man/man$(manext)/acm.$(manext)
+		$(prefix)/share/man/man$(manext)/acm.$(manext)
 
 uninstall:
 	rm -f $(bindir)/acm $(bindir)/acms
--- acm-4.7.orig/debian/changelog
+++ acm-4.7/debian/changelog
@@ -1,3 +1,30 @@
+acm (4.7-7) unstable; urgency=low
+
+  * The maintainer has orphaned this package (see bug #93337); set
+    maintainer to Debian QA Group.
+  * Updated to policy version 3.1.1:
+    - Converted to debhelper, hence /usr/share/doc (closes: #91371, #91382).
+    - Hacked upstream makefiles to use /usr/share/man (closes: #91106).
+    - Added build dependencies; no longer needs debmake (closes: #95137).
+  * Raised priority to optional, to match the override file.
+  * Updated GPL pointer and FSF address in copyright file.
+
+  * Don't try to redefine strdup() for glibc.
+  * Build with nas; should help sound problems mentioned in part of #12759.
+  * Use dh_strip instead of 'install -s' to avoid problems with scripts.
+  * Ran autoupdate and did some other manual hacks to update configure.in
+    with non-prehistoric autoconf. (Wow. I'd never seen anything built with
+    version 1.9 before ... the build system really needs rewritten.)
+  * configure.in and configure are both patched, so touch configure to avoid
+    autoconf build-dependency.
+  * Modern Linux (and indeed Hurd) ps uses 'ps aux', not 'ps -aux'.
+  * Better depend on procps while I'm at it, as it's not essential.
+  * Add a little more robustness to the main Makefile.
+  * Add undocumented(7) links for acms(1) and kill-acms(1). (These should
+    probably be section 6, but acm(1) is already there ...)
+
+ -- Colin Watson <cjwatson@debian.org>  Wed, 30 May 2001 01:14:25 +0100
+
 acm (4.7-6.1) unstable; urgency=low
 
   * NMU
--- acm-4.7.orig/debian/control
+++ acm-4.7/debian/control
@@ -1,12 +1,13 @@
 Source: acm
 Section: games
-Priority: extra
-Maintainer: Enrique Zanardi <ezanard@debian.org>
-Standards-Version: 2.1.1.0
+Priority: optional
+Maintainer: Debian QA Group <packages@qa.debian.org>
+Standards-Version: 3.1.1
+Build-Depends: debhelper (>= 2.0.40), nas-dev, xlibs-dev, xutils
 
 Package: acm
 Architecture: any
-Depends: ${shlibs:Depends}
+Depends: ${shlibs:Depends}, procps
 Description: A multi-player aerial combat simulation.
  acm is an air combat simulator that runs under the X window system.  
  Up to eight players can engage in simultaneous air combat. 
--- acm-4.7.orig/debian/copyright
+++ acm-4.7/debian/copyright
@@ -18,7 +18,8 @@
 
    You should have received a copy of the GNU General Public License
    along with this program;  if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave., Cambridge, MA 02139, USA.
+   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+   USA.
 
 On Debian GNU/Linux systems, the complete text of the GNU General
-Public License can be found in `/usr/doc/copyright/GPL'.
+Public License can be found in `/usr/share/common-licenses/GPL'.
--- acm-4.7.orig/debian/postrm
+++ acm-4.7/debian/postrm
@@ -1,5 +1,9 @@
-#! /bin/sh
+#! /bin/sh -e
 if [ -d /usr/games/acm.old ]
 then
   mv /usr/games/acm.old /usr/games/acm
 fi
+
+#DEBHELPER#
+
+exit 0
--- acm-4.7.orig/debian/preinst
+++ acm-4.7/debian/preinst
@@ -1,5 +1,9 @@
-#! /bin/sh
+#! /bin/sh -e
 if [ -d /usr/games/acm ]
 then
   mv /usr/games/acm /usr/games/acm.old
 fi
+
+#DEBHELPER#
+
+exit 0
--- acm-4.7.orig/debian/postinst
+++ acm-4.7/debian/postinst
@@ -1,5 +1,9 @@
-#! /bin/sh
+#! /bin/sh -e
 if [ -d /usr/games/acm.old ]
 then
   rm -rf /usr/games/acm.old
 fi
+
+#DEBHELPER#
+
+exit 0
--- acm-4.7.orig/debian/rules
+++ acm-4.7/debian/rules
@@ -10,47 +10,48 @@
 # Modified to be a prototype for debmake by Christoph Lameter <clameter@debian.org>
 
 package=acm
+dtmp=debian/$(package)
+
+export DH_COMPAT=2
 
 build:
-	$(checkdir)
+	dh_testdir
+	touch configure		# avoid autoconf build-dependency
 	./configure --prefix=/usr
-	make
+	$(MAKE) ACM_OBJECT_LIBRARY=/usr/share/games/acm
 	touch build
 
 clean:
-	$(checkdir)
+	dh_testdir
 	-rm -f build
-	-make clean
-	-make distclean
-	-rm `find . -name "*~"` `find . -name Makefile` config.*
-	-rm -rf debian/tmp debian/files* core debian/substvars
+	-$(MAKE) clean
+	-$(MAKE) distclean
+	-rm `find . -name Makefile` config.*
+	dh_clean
 
-binary-indep:	checkroot build
-	$(checkdir)
+binary-indep:	build
 # There are no architecture-independent files to be uploaded
 # generated by this package.  If there were any they would be
 # made here.
 
-binary-arch:	checkroot build
-	$(checkdir)
-	-rm -rf debian/tmp
-	install -d -g root -m 755 -o root debian/tmp
-	install -d -g root -m 755 -o root debian/tmp/DEBIAN
-	install -d -g root -m 755 -o root debian/tmp/usr/games
-	install -d -g root -m 755 -o root debian/tmp/usr/lib/games/acm
-	install -d -g root -m 755 -o root debian/tmp/usr/man/man1
-	make install prefix=`pwd`/debian/tmp/usr
-# Must have debmake installed for this to work. Otherwise please copy
-# /usr/bin/debstd into the debian directory and change debstd to debian/debstd
-	debstd $(package) ACM-Bibliography acmdoc.ps Keyboard.ps README
-	dpkg-gencontrol
-	chown -R root.root debian/tmp
-	chmod -R go=rX debian/tmp
-	dpkg --build debian/tmp ..
-
-define checkdir
-	test -f debian/rules
-endef
+binary-arch:	build
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs usr/games usr/share/games/acm usr/share/man/man1
+	make install prefix=$(CURDIR)/$(dtmp)/usr \
+		     ACM_OBJECT_LIBRARY=$(CURDIR)/$(dtmp)/usr/share/games/acm
+	dh_installdocs ACM-Bibliography acmdoc.ps Keyboard.ps README
+	dh_installchangelogs
+	dh_undocumented acms.1 kill-acms.1
+	dh_strip
+	dh_compress
+	dh_fixperms
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
 
 # Below here is fairly generic really
 
@@ -58,9 +59,5 @@
 
 source diff:
 	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
-
-checkroot:
-	$(checkdir)
-	test root = "`whoami`"
 
 .PHONY: binary binary-arch binary-indep clean checkroot
--- acm-4.7.orig/mkinstalldirs
+++ acm-4.7/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $
+
+errstatus=0
+
+for file
+do
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+   shift
+
+   pathcomp=
+   for d
+   do
+     pathcomp="$pathcomp$d"
+     case "$pathcomp" in
+       -* ) pathcomp=./$pathcomp ;;
+     esac
+
+     if test ! -d "$pathcomp"; then
+        echo "mkdir $pathcomp"
+
+        mkdir "$pathcomp" || lasterr=$?
+
+        if test ! -d "$pathcomp"; then
+  	  errstatus=$lasterr
+        fi
+     fi
+
+     pathcomp="$pathcomp/"
+   done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
--- acm-4.7.orig/missing
+++ acm-4.7/missing
@@ -0,0 +1,190 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+case "$1" in
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]"
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing - GNU libit 0.0"
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+  aclocal)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acinclude.m4' or \`configure.in'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`configure.in'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`acconfig.h' or \`configure.in'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case "$f" in
+      *:*) touch_files="$touch_files "`echo "$f" |
+				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+	   sed 's/\.am$/.in/' |
+	   while read f; do touch "$f"; done
+    ;;
+
+  bison|yacc)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.y)
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.c
+	    fi
+	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" y.tab.h
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f y.tab.h ]; then
+	echo >y.tab.h
+    fi
+    if [ ! -f y.tab.c ]; then
+	echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex|flex)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if [ $# -ne 1 ]; then
+        eval LASTARG="\${$#}"
+	case "$LASTARG" in
+	*.l)
+	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+	    if [ -f "$SRCFILE" ]; then
+	         cp "$SRCFILE" lex.yy.c
+	    fi
+	  ;;
+	esac
+    fi
+    if [ ! -f lex.yy.c ]; then
+	echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  makeinfo)
+    echo 1>&2 "\
+WARNING: \`$1' is missing on your system.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+    if test -z "$file"; then
+      file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+    fi
+    touch $file
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+         system.  You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequirements for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
--- acm-4.7.orig/install-sh
+++ acm-4.7/install-sh
@@ -0,0 +1,251 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission.  M.I.T. makes no representations about the
+# suitability of this software for any purpose.  It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.  It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+    case $1 in
+	-c) instcmd="$cpprog"
+	    shift
+	    continue;;
+
+	-d) dir_arg=true
+	    shift
+	    continue;;
+
+	-m) chmodcmd="$chmodprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-o) chowncmd="$chownprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-g) chgrpcmd="$chgrpprog $2"
+	    shift
+	    shift
+	    continue;;
+
+	-s) stripcmd="$stripprog"
+	    shift
+	    continue;;
+
+	-t=*) transformarg=`echo $1 | sed 's/-t=//'`
+	    shift
+	    continue;;
+
+	-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+	    shift
+	    continue;;
+
+	*)  if [ x"$src" = x ]
+	    then
+		src=$1
+	    else
+		# this colon is to work around a 386BSD /bin/sh bug
+		:
+		dst=$1
+	    fi
+	    shift
+	    continue;;
+    esac
+done
+
+if [ x"$src" = x ]
+then
+	echo "install:	no input file specified"
+	exit 1
+else
+	true
+fi
+
+if [ x"$dir_arg" != x ]; then
+	dst=$src
+	src=""
+	
+	if [ -d $dst ]; then
+		instcmd=:
+		chmodcmd=""
+	else
+		instcmd=mkdir
+	fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad 
+# if $src (and thus $dsttmp) contains '*'.
+
+	if [ -f $src -o -d $src ]
+	then
+		true
+	else
+		echo "install:  $src does not exist"
+		exit 1
+	fi
+	
+	if [ x"$dst" = x ]
+	then
+		echo "install:	no destination specified"
+		exit 1
+	else
+		true
+	fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+	if [ -d $dst ]
+	then
+		dst="$dst"/`basename $src`
+	else
+		true
+	fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+#  this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='	
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+	pathcomp="${pathcomp}${1}"
+	shift
+
+	if [ ! -d "${pathcomp}" ] ;
+        then
+		$mkdirprog "${pathcomp}"
+	else
+		true
+	fi
+
+	pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+	$doit $instcmd $dst &&
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+	if [ x"$transformarg" = x ] 
+	then
+		dstfile=`basename $dst`
+	else
+		dstfile=`basename $dst $transformbasename | 
+			sed $transformarg`$transformbasename
+	fi
+
+# don't allow the sed command to completely eliminate the filename
+
+	if [ x"$dstfile" = x ] 
+	then
+		dstfile=`basename $dst`
+	else
+		true
+	fi
+
+# Make a temp file name in the proper directory.
+
+	dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+	$doit $instcmd $src $dsttmp &&
+
+	trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing.  If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+	if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+	if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+	if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+	if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+	$doit $rmcmd -f $dstdir/$dstfile &&
+	$doit $mvcmd $dsttmp $dstdir/$dstfile 
+
+fi &&
+
+
+exit 0
--- acm-4.7.orig/Makefile.in
+++ acm-4.7/Makefile.in
@@ -8,9 +8,10 @@
 defaulttarget: all
 
 all install uninstall clean mostlyclean realclean tags info dvi dist check depend:
-	@for i in $(SUBDIRS) ; do \
+	@set -e; \
+	for i in $(SUBDIRS) ; do \
 		echo Making $@ in ./$${i} ... ; \
-		( cd $$i ; $(MAKE) $(MFLAGS) $@ ) ; \
+		$(MAKE) -C $$i $(MFLAGS) $@ ; \
 	done
 
 Makefile: Makefile.in config.status
@@ -23,8 +24,9 @@
 	cd $(srcdir); autoconf
 
 distclean:
-	@for i in $(SUBDIRS) ; do \
+	@set -e; \
+	for i in $(SUBDIRS) ; do \
 		echo Making $@ in ./$${i} ... ; \
-		( cd $$i ; $(MAKE) $(MFLAGS) $@ ) ; \
+		$(MAKE) -C $$i $(MFLAGS) $@ ; \
 	done
 	rm -f Makefile config.status

Cheers,

-- 
Colin Watson                                     [cjw44@flatline.org.uk]



Reply to: