pingus-cvs
[Top][All Lists]
Advanced

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

[Pingus-CVS] CVS: Games/Pingus AUTHORS,1.26,1.27 INSTALL,1.6,1.7 Makefil


From: grumbel
Subject: [Pingus-CVS] CVS: Games/Pingus AUTHORS,1.26,1.27 INSTALL,1.6,1.7 Makefile.am,1.12,1.13 TODO,1.55,1.56 install-sh,1.1.1.1,1.2 mkinstalldirs,1.2,1.3
Date: 17 Feb 2003 18:00:30 -0000

Update of /usr/local/cvsroot/Games/Pingus
In directory dark:/tmp/cvs-serv23782

Modified Files:
        AUTHORS INSTALL Makefile.am TODO install-sh mkinstalldirs 
Log Message:
misc updates, don't remember


Index: AUTHORS
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/AUTHORS,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- AUTHORS     24 Oct 2002 13:01:49 -0000      1.26
+++ AUTHORS     17 Feb 2003 18:00:27 -0000      1.27
@@ -17,7 +17,7 @@
 Michael Mestre <address@hidden> - http://www.teaser.fr/~mmestre/
        * some gfx (rock tile, weed, traps)
 
-Craig Timpany <address@hidden>
+Craig Timpany <address@hidden>
        * some pingu gfx(digger, tumbler, bridger2)
        * traps
        * lots of levels

Index: INSTALL
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/INSTALL,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- INSTALL     2 Jun 2002 15:42:56 -0000       1.6
+++ INSTALL     17 Feb 2003 18:00:27 -0000      1.7
@@ -1,165 +1,9 @@
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
+Foundation, Inc.
 
-Pingus Installation Guide
-     _________________________________________________________________
-   
-Introduction
-
-   To be able to compile pingus you need a working version of ClanLib, it
-   should always work with current version of ClanLib, but if you are
-   using the CVS version of pingus it may be that it will only work with 
-   the current CVS version of ClanLib.
-     _________________________________________________________________
-   
-Preparing compilation
-
-   First you have to make sure that you have all required libaries
-   installed, these are:
-   
-     * Hermes   (http://clanlib.org/hermes)
-                Hermes is a library whose only purpose is to convert 
-                graphic data from one pixel format to another in the 
-                fastest possible way.
-
-     * ClanLib  (http://clanlib.org/)
-                ClanLib is a multi-platform game development library.
-
-     * libxml   (http://rpmfind.net/veillard/XML/)
-                Libxml is the XML C library developed for the Gnome project.
-
-       
-   If you are trying to compile the CVS version of Pingus, you first have
-   run:
-        $ ./autogen.sh
-
-   (This will  generate the `Makefile.in's' and the `configure' script. If you 
are
-   compiling a normal pingus release then you can go to the next step).
-     _________________________________________________________________
-   
-Configuration and Compilation
-
-   To configure pingus:
-        $ ./configure 
-
-   Look at the messages this script generates, if you are missing any
-   libraries 'configure' will let you know.
-
-   To compile pingus:
-        $ make
-
-   Then you can also install it with:
-        # make install
-  
-   (to be able to perform an install you need to be 'root'!)
-
-
-   The installation should be complete and working, however,  it 
-   might not be tested enough, so bug reports are always very welcome.
-   (you should contact the pingus-devel list for bug reports)
-   
-   If pingus fails to build or something else goes wrong, make first sure
-   that you have followed the steps correctly.
-
-   You can find further help in the "Trouble Shooting" section of this 
-   document.
-     _________________________________________________________________
-   
-Running Pingus for the First Time
-
-   To run pingus without installing it, 'cd' to the Pingus data 
-   directory 'data/' and type:
-        $ ../src/pingus
-
-   (note that the locale support 'i18n' will not work)
-
-   If you have installed (make install) Pingus you can just type:
-        $ pingus
-   
-   When the game starts you will be faced with the Main Menu.
-   
-     _________________________________________________________________
-   
-Running another level
-
-   To do so, type:
-        $ ./pingus level1.xml
-
-
-   There are some levels provided at the moment, you can find them under
-   your source directory in 
-       ./Pingus/data/levels/
-
-   or if installed
-
-       /usr/local/share/games/pingus/levels/
-     _________________________________________________________________
-   
-Speeding things up
-
-   Pingus is to slow for you? Than you have different choices, you can
-   set another speed with: (0 is the fastest, greater values are slower)
-            $ ./pingus --speed 1
-        
-   You can also set the resolution to a lower value:
-            $ ./pingus -g 320x240
-     _________________________________________________________________
-   
-Playing Sound
-
-   Pingus has some basically buggy sound support, but it is not activated
-   by default. Why? Because I haven't anyone at the moment for creating
-   sound effects. But you can use the orginal lemmings sound effects, if
-   you find them on the net. Please read the file `data/sounds/README'
-   for more information and the URL were you can grab them.
-     _________________________________________________________________
-   
-Playing Music
-
-   Pingus also has music, but you first need to download the soundpack
-   from the pingus webpage.
-          $ ./pingus --enable-music
-
-
-   It causes a significant slowdown, therefore it isn't enabled at
-   default.
-     _________________________________________________________________
-   
-Trouble Shooting
-    
-   * Problems compiling with some Distributions
-    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-    - Hermes will complain 
-            "But automake >= 1.5b is required"
-      if you have a more decent distribution you can ignore this
-      and use the following commands
-            $ aclocal
-            $ automake --add-missing
-            $ autoconf
-
-    - Clanlib will complain if you do not have autoconf greater
-      then 2.5.  If you have a RPM based system, you can find
-      the lates rpm at 
-            "http://www.rpmfind.net";
-      Otherwise go to 
-            "ftp://ftp.gnu.org/gnu/autoconf/";
-
-    - If you are using a RedHat/Mandrake based system with gcc 2.96 
-      you might want to downgrade your gcc to 2.95
-   
-
-   if still all you got was a boring error message? Read the file 
-   'FAQ' in this directory, it contains some information about what 
-   could went wrong.
-   
-   Thats all for now, Have fun! Ingo Ruhnke <address@hidden>
-     _________________________________________________________________
- 
- Last update ... gd 2002-06-02
-     _________________________________________________________________
-   
-Generic Installation Instructions
+   This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
 
-   The following text is the default INSTALL file generated by
-   `automake'.
 Basic Installation
 ==================
 
@@ -170,20 +14,27 @@
 those values to create a `Makefile' in each directory of the package.
 It may also create one or more `.h' files containing system-dependent
 definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
 
    If you need to do unusual things to compile the package, please try
 to figure out how `configure' could check whether to do them, and mail
 diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
 
-   The file `configure.in' is used to create `configure' by a program
-called `autoconf'.  You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
 
 The simplest way to compile this package is:
 
@@ -217,14 +68,16 @@
 =====================
 
    Some systems require unusual options for compilation or linking that
-the `configure' script does not know about.  You can give `configure'
-initial values for variables by setting them in the environment.  Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
-     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+the `configure' script does not know about.  Run `./configure --help'
+for details on some of the pertinent environment variables.
 
-Or on systems that have the `env' program, you can do it like this:
-     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
 
 Compiling For Multiple Architectures
 ====================================
@@ -237,11 +90,11 @@
 the `configure' script.  `configure' automatically checks for the
 source code in the directory that `configure' is in and in `..'.
 
-   If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory.  After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
 
 Installation Names
 ==================
@@ -284,22 +137,32 @@
 Specifying the System Type
 ==========================
 
-   There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on.  Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
+   There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on.  Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
      CPU-COMPANY-SYSTEM
 
-See the file `config.sub' for the possible values of each field.  If
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
 `config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
+need to know the machine type.
 
-   If you are building compiler tools for cross-compiling, you can also
+   If you are _building_ compiler tools for cross-compiling, you should
 use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
 
 Sharing Defaults
 ================
@@ -312,20 +175,44 @@
 `CONFIG_SITE' environment variable to the location of the site script.
 A warning: not all `configure' scripts look for a site script.
 
-Operation Controls
+Defining Variables
 ==================
 
+   Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+will cause the specified gcc to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+`configure' Invocation
+======================
+
    `configure' recognizes the following options to control how it
 operates.
 
-`--cache-file=FILE'
-     Use and save the results of the tests in FILE instead of
-     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
-     debugging `configure'.
-
 `--help'
+`-h'
      Print a summary of the options to `configure', and exit.
 
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
 `--quiet'
 `--silent'
 `-q'
@@ -337,8 +224,6 @@
      Look for the package's source code in directory DIR.  Usually
      `configure' can determine that directory automatically.
 
-`--version'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
 
-`configure' also accepts some other, not widely useful, options.

Index: Makefile.am
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/Makefile.am,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- Makefile.am 20 Jan 2002 15:49:54 -0000      1.12
+++ Makefile.am 17 Feb 2003 18:00:27 -0000      1.13
@@ -17,6 +17,6 @@
 
 SUBDIRS = src data doc intl po
 
-EXTRA_DIST = ABOUT-NLS BUGS FAQ CREDITS autogen.sh pingus.dsp pingus.dsw 
vcfix.reg INSTALL.Win32 
+EXTRA_DIST = ABOUT-NLS BUGS FAQ CREDITS autogen.sh pingus.dsp pingus.dsw 
INSTALL.Win32 
 
 # EOF #

Index: TODO
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/TODO,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- TODO        27 Nov 2002 20:05:41 -0000      1.55
+++ TODO        17 Feb 2003 18:00:27 -0000      1.56
@@ -735,6 +735,9 @@
 #9  0x401a8d5b in main (argc=2, argv=0xbffffac4) at 
Sources/Application/Unix/clanapp.cpp:32
 (gdb) 
 
+Generic Property Frame for objects
+==================================
+
 
 
 # EOF #

Index: install-sh
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/install-sh,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- install-sh  4 Feb 2000 23:45:09 -0000       1.1.1.1
+++ install-sh  17 Feb 2003 18:00:27 -0000      1.2
@@ -1 +1,276 @@
- 
+#!/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 "$0: no input file specified" >&2
+       exit 1
+else
+       :
+fi
+
+if [ x"$dir_arg" != x ]; then
+       dst=$src
+       src=""
+
+       if [ -d "$dst" ]; then
+               instcmd=:
+               chmodcmd=""
+       else
+               instcmd=$mkdirprog
+       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" ] || [ -d "$src" ]
+       then
+               :
+       else
+               echo "$0: $src does not exist" >&2
+               exit 1
+       fi
+
+       if [ x"$dst" = x ]
+       then
+               echo "$0: no destination specified" >&2
+               exit 1
+       else
+               :
+       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
+               :
+       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@/@address@hidden' -e 'address@hidden@/@'`
+IFS=$oIFS
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+       pathcomp=$pathcomp$1
+       shift
+
+       if [ ! -d "$pathcomp" ] ;
+        then
+               $mkdirprog "$pathcomp"
+       else
+               :
+       fi
+
+       pathcomp=$pathcomp/
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+       $doit $instcmd "$dst" &&
+
+       if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; 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
+               :
+       fi
+
+# Make a couple of temp file names in the proper directory.
+
+       dsttmp=$dstdir/#inst.$$#
+       rmtmp=$dstdir/#rm.$$#
+
+# Trap to clean up temp files at exit.
+
+       trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
+       trap '(exit $?); exit' 1 2 13 15
+
+# Move or copy the file name to the temp name
+
+       $doit $instcmd "$src" "$dsttmp" &&
+
+# 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 :;fi &&
+       if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
+       if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
+       if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
+
+# Now remove or move aside any old file at destination location.  We try this
+# two ways since rm can't unlink itself on some systems and the destination
+# file might be busy for other reasons.  In this case, the final cleanup
+# might fail but the new file should still install successfully.
+
+{
+       if [ -f "$dstdir/$dstfile" ]
+       then
+               $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
+               $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
+               {
+                 echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
+                 (exit 1); exit
+               }
+       else
+               :
+       fi
+} &&
+
+# Now rename the file to the real destination.
+
+       $doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
+
+fi &&
+
+# The final little trick to "correctly" pass the exit status to the exit trap.
+
+{
+       (exit 0); exit
+}

Index: mkinstalldirs
===================================================================
RCS file: /usr/local/cvsroot/Games/Pingus/mkinstalldirs,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- mkinstalldirs       9 Feb 2000 22:13:18 -0000       1.2
+++ mkinstalldirs       17 Feb 2003 18:00:27 -0000      1.3
@@ -4,37 +4,108 @@
 # Created: 1993-05-16
 # Public domain
 
-# $Id$
-
 errstatus=0
+dirmode=""
+
+usage="\
+Usage: mkinstalldirs [-h] [--help] [-m mode] dir ..."
+
+# process command line arguments
+while test $# -gt 0 ; do
+  case $1 in
+    -h | --help | --h*)         # -h for help
+      echo "$usage" 1>&2
+      exit 0
+      ;;
+    -m)                         # -m PERM arg
+      shift
+      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
+      dirmode=$1
+      shift
+      ;;
+    --)                         # stop option processing
+      shift
+      break
+      ;;
+    -*)                         # unknown option
+      echo "$usage" 1>&2
+      exit 1
+      ;;
+    *)                          # first non-opt arg
+      break
+      ;;
+  esac
+done
 
 for file
 do
-   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
-   shift
+  if test -d "$file"; then
+    shift
+  else
+    break
+  fi
+done
 
-   pathcomp=
-   for d
-   do
-     pathcomp="$pathcomp$d"
-     case "$pathcomp" in
-       -* ) pathcomp=./$pathcomp ;;
-     esac
+case $# in
+  0) exit 0 ;;
+esac
 
-     if test ! -d "$pathcomp"; then
-        echo "mkdir $pathcomp" 1>&2
+case $dirmode in
+  '')
+    if mkdir -p -- . 2>/dev/null; then
+      echo "mkdir -p -- $*"
+      exec mkdir -p -- "$@"
+    fi
+    ;;
+  *)
+    if mkdir -m "$dirmode" -p -- . 2>/dev/null; then
+      echo "mkdir -m $dirmode -p -- $*"
+      exec mkdir -m "$dirmode" -p -- "$@"
+    fi
+    ;;
+esac
 
-        mkdir "$pathcomp" || lasterr=$?
+for file
+do
+  set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+  shift
 
-        if test ! -d "$pathcomp"; then
-         errstatus=$lasterr
-        fi
-     fi
+  pathcomp=
+  for d
+  do
+    pathcomp="$pathcomp$d"
+    case $pathcomp in
+      -*) pathcomp=./$pathcomp ;;
+    esac
 
-     pathcomp="$pathcomp/"
-   done
+    if test ! -d "$pathcomp"; then
+      echo "mkdir $pathcomp"
+
+      mkdir "$pathcomp" || lasterr=$?
+
+      if test ! -d "$pathcomp"; then
+       errstatus=$lasterr
+      else
+       if test ! -z "$dirmode"; then
+         echo "chmod $dirmode $pathcomp"
+         lasterr=""
+         chmod "$dirmode" "$pathcomp" || lasterr=$?
+
+         if test ! -z "$lasterr"; then
+           errstatus=$lasterr
+         fi
+       fi
+      fi
+    fi
+
+    pathcomp="$pathcomp/"
+  done
 done
 
 exit $errstatus
 
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# End:
 # mkinstalldirs ends here





reply via email to

[Prev in Thread] Current Thread [Next in Thread]