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: