Update dmxproto to 2.3
This commit is contained in:
parent
b882a268ee
commit
60452d3893
@ -1,4 +1,139 @@
|
||||
2005-12-14 Kevin E. Martin <kem-at-freedesktop-dot-org>
|
||||
commit a71c838e1130be28e1639a606b0a7cb56f44a3a8
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Oct 1 19:34:15 2009 +1000
|
||||
|
||||
* configure.ac:
|
||||
Update package version number for final X11R7 release candidate.
|
||||
dmxproto 2.3
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit cfcd1d8985a8a1049ee2e9f9b80e835d33a23419
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Thu Oct 1 19:31:04 2009 +1000
|
||||
|
||||
Require macros 1.3 for XORG_DEFAULT_OPTIONS
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 7d2c367d67e236a93f7f73ca661caa3e167833c9
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Aug 25 16:08:21 2009 +1000
|
||||
|
||||
dmxproto 2.2.99.1
|
||||
|
||||
commit 593829475d400b5ae02fe772a38c1a5667dd1fb3
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Aug 25 16:01:46 2009 +1000
|
||||
|
||||
Remove Xlib parts from dmxext.h, rename to dmx.h
|
||||
|
||||
commit c7dc24d7cdad70235bd2dadd9e7be03ecd4ae62a
|
||||
Author: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
Date: Tue Aug 25 15:45:10 2009 +1000
|
||||
|
||||
Remove RCS tags.
|
||||
|
||||
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||
|
||||
commit 98cc93cce22fb9b796dd78fba3df3724d48637e3
|
||||
Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br>
|
||||
Date: Tue Jan 27 20:06:28 2009 -0200
|
||||
|
||||
Janitor: Correct make distcheck and dont distribute autogen.sh
|
||||
|
||||
commit af9bdeb642e218500a682311f046b5a27db737e2
|
||||
Author: James Cloos <cloos@jhcloos.com>
|
||||
Date: Thu Dec 6 16:38:57 2007 -0500
|
||||
|
||||
Replace static ChangeLog with dist-hook to generate from git log
|
||||
|
||||
commit 63fa6c1e1a859dcf0d3849b8d6b361563ef52af1
|
||||
Author: James Cloos <cloos@jhcloos.com>
|
||||
Date: Mon Sep 3 05:54:01 2007 -0400
|
||||
|
||||
Add *~ to .gitignore to skip patch/emacs droppings
|
||||
|
||||
commit a1bbb97f81830dfb71b555ce281edbf79d82ff94
|
||||
Author: Alan Coopersmith <alan.coopersmith@sun.com>
|
||||
Date: Fri Jul 14 18:56:08 2006 -0700
|
||||
|
||||
renamed: .cvsignore -> .gitignore
|
||||
|
||||
commit c5ab159290d949f2e9dcae4be23e4f7ea90b9d19
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Thu Dec 15 00:24:37 2005 +0000
|
||||
|
||||
Update package version number for final X11R7 release candidate.
|
||||
|
||||
commit d8dde2e8a40c9ace276890efd4519aece86f3e38
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Wed Oct 19 02:48:13 2005 +0000
|
||||
|
||||
Update package version number for RC1 release.
|
||||
|
||||
commit fcab331fde54c6520ead9cb8796e16545400103f
|
||||
Author: Eric Anholt <anholt@freebsd.org>
|
||||
Date: Tue Aug 2 19:19:38 2005 +0000
|
||||
|
||||
Add basic .cvsignore files for proto modules.
|
||||
|
||||
commit 3f32ad116e4e855aa6cdac3b30bef3a70d01ef9f
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Fri Jul 29 21:22:54 2005 +0000
|
||||
|
||||
Various changes preparing packages for RC0:
|
||||
- Verify and update package version numbers as needed
|
||||
- Implement versioning scheme
|
||||
- Change bug address to point to bugzilla bug entry form
|
||||
- Disable loadable i18n in libX11 by default (use --enable-loadable-i18n to
|
||||
reenable it)
|
||||
- Fix makedepend to use pkgconfig and pass distcheck
|
||||
- Update build script to build macros first
|
||||
- Update modular Xorg version
|
||||
|
||||
commit f62289e0950f778535c855e13b7bdced29c1f8f2
|
||||
Author: Daniel Stone <daniel@fooishbar.org>
|
||||
Date: Sat May 21 03:48:19 2005 +0000
|
||||
|
||||
Change version to 2.2.
|
||||
|
||||
commit 6f696172b30487d9c442c2658ff165116d3da2c6
|
||||
Author: Adam Jackson <ajax@nwnk.net>
|
||||
Date: Thu May 19 00:22:38 2005 +0000
|
||||
|
||||
revert last change, didn't do right thing at all, sorry for the noise
|
||||
|
||||
commit 0293b29a30337df4d2252dc0b0412fd84185ea53
|
||||
Author: Adam Jackson <ajax@nwnk.net>
|
||||
Date: Thu May 19 00:10:12 2005 +0000
|
||||
|
||||
Require automake 1.7 in AM_INIT_AUTOMAKE
|
||||
|
||||
commit 96d46f2bec5c48b1cf0994f8c93ba8383e610973
|
||||
Author: Josh Triplett <josh@speakeasy.net>
|
||||
Date: Sat May 14 07:55:10 2005 +0000
|
||||
|
||||
Add some COPYING files.
|
||||
|
||||
commit fd693183812adc0ec06ac71ef43189d12111b15e
|
||||
Author: Daniel Stone <daniel@fooishbar.org>
|
||||
Date: Sat May 14 03:22:59 2005 +0000
|
||||
|
||||
Fix typo; change first dmxproto.h to dmxext.h.
|
||||
|
||||
commit b9a4ff2cc361fefbc3fa5c7aabde0ee7ad55f8e5
|
||||
Author: Søren Sandmann Pedersen <sandmann@daimi.au.dk>
|
||||
Date: Mon May 9 18:20:04 2005 +0000
|
||||
|
||||
Change all the protonames from <extension>Ext to <extension>Proto.
|
||||
|
||||
commit 03f5e334c5292a3cc588295a3ce1320baa42150f
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Fri May 6 01:46:29 2005 +0000
|
||||
|
||||
Initial build system files for proto module.
|
||||
|
||||
commit 58343d9425a6f710a902e7e1500b57e4a1ac6aa3
|
||||
Author: Kevin E Martin <kem@kem.org>
|
||||
Date: Wed Jun 30 20:06:52 2004 +0000
|
||||
|
||||
Add Distributed Multihead X (DMX) support
|
||||
|
@ -1,7 +1,7 @@
|
||||
# $OpenBSD: Makefile,v 1.1 2008/03/25 23:28:19 matthieu Exp $
|
||||
# $OpenBSD: Makefile,v 1.2 2010/04/25 19:54:08 matthieu Exp $
|
||||
|
||||
HEADERS_SUBDIR= X11/extensions/
|
||||
HEADERS= dmxext.h dmxproto.h
|
||||
HEADERS= dmx.h dmxproto.h
|
||||
PKGCONFIG= dmxproto.pc
|
||||
|
||||
.include <bsd.xorg.mk>
|
||||
|
@ -1,9 +1,19 @@
|
||||
dmxdir = $(includedir)/X11/extensions
|
||||
dmx_HEADERS = \
|
||||
dmxext.h \
|
||||
dmx.h \
|
||||
dmxproto.h
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = dmxproto.pc
|
||||
|
||||
EXTRA_DIST = autogen.sh dmxproto.pc.in
|
||||
EXTRA_DIST = dmxproto.pc.in
|
||||
|
||||
EXTRA_DIST += ChangeLog
|
||||
MAINTAINERCLEANFILES = ChangeLog
|
||||
|
||||
.PHONY: ChangeLog
|
||||
|
||||
ChangeLog:
|
||||
$(CHANGELOG_CMD)
|
||||
|
||||
dist-hook: ChangeLog
|
||||
|
@ -1,12 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
ORIGDIR=`pwd`
|
||||
cd $srcdir
|
||||
|
||||
autoreconf -v --install || exit 1
|
||||
cd $ORIGDIR || exit $?
|
||||
|
||||
$srcdir/configure --enable-maintainer-mode "$@"
|
@ -1,8 +1,12 @@
|
||||
AC_PREREQ([2.57])
|
||||
AC_INIT([DMXProto], [2.2.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AC_INIT([DMXProto], [2.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
|
||||
AM_INIT_AUTOMAKE([foreign dist-bzip2])
|
||||
|
||||
XORG_RELEASE_VERSION
|
||||
# Require xorg-macros: XORG_DEFAULT_OPTIONS
|
||||
m4_ifndef([XORG_MACROS_VERSION], [AC_FATAL([must install xorg-macros 1.3 or later before running autoconf/autogen])])
|
||||
XORG_MACROS_VERSION(1.3)
|
||||
|
||||
XORG_DEFAULT_OPTIONS
|
||||
|
||||
AC_OUTPUT([Makefile
|
||||
dmxproto.pc])
|
||||
|
68
proto/dmxproto/dmx.h
Normal file
68
proto/dmxproto/dmx.h
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
* Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation on the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* Rickard E. (Rik) Faith <faith@redhat.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file
|
||||
* This file describes the interface to the client-side libdmx.a
|
||||
* library. All DMX-aware client-side applications should include this
|
||||
* file. */
|
||||
|
||||
#ifndef _DMX_H_
|
||||
#define _DMX_H_
|
||||
|
||||
/* These values must be larger than LastExtensionError.
|
||||
The values in dmxext.h and dmxproto.h *MUST* match. */
|
||||
#define DmxBadXinerama 1001
|
||||
#define DmxBadValue 1002
|
||||
#define DmxBadReply 1003
|
||||
|
||||
#define DMXScreenWindowWidth (1L<<0)
|
||||
#define DMXScreenWindowHeight (1L<<1)
|
||||
#define DMXScreenWindowXoffset (1L<<2)
|
||||
#define DMXScreenWindowYoffset (1L<<3)
|
||||
#define DMXRootWindowWidth (1L<<4)
|
||||
#define DMXRootWindowHeight (1L<<5)
|
||||
#define DMXRootWindowXoffset (1L<<6)
|
||||
#define DMXRootWindowYoffset (1L<<7)
|
||||
#define DMXRootWindowXorigin (1L<<8)
|
||||
#define DMXRootWindowYorigin (1L<<9)
|
||||
|
||||
#define DMXDesktopWidth (1L<<0)
|
||||
#define DMXDesktopHeight (1L<<1)
|
||||
#define DMXDesktopShiftX (1L<<2)
|
||||
#define DMXDesktopShiftY (1L<<3)
|
||||
|
||||
#define DMXInputType (1L<<0)
|
||||
#define DMXInputPhysicalScreen (1L<<1)
|
||||
#define DMXInputSendsCore (1L<<2)
|
||||
|
||||
#endif
|
@ -1,190 +0,0 @@
|
||||
/* $XFree86$ */
|
||||
/*
|
||||
* Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining
|
||||
* a copy of this software and associated documentation files (the
|
||||
* "Software"), to deal in the Software without restriction, including
|
||||
* without limitation on the rights to use, copy, modify, merge,
|
||||
* publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
* and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice (including the
|
||||
* next paragraph) shall be included in all copies or substantial
|
||||
* portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NON-INFRINGEMENT. IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
|
||||
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Authors:
|
||||
* Rickard E. (Rik) Faith <faith@redhat.com>
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file
|
||||
* This file describes the interface to the client-side libdmx.a
|
||||
* library. All DMX-aware client-side applications should include this
|
||||
* file. */
|
||||
|
||||
#ifndef _DMXEXT_H_
|
||||
#define _DMXEXT_H_
|
||||
|
||||
/* These values must be larger than LastExtensionError.
|
||||
The values in dmxext.h and dmxproto.h *MUST* match. */
|
||||
#define DmxBadXinerama 1001
|
||||
#define DmxBadValue 1002
|
||||
#define DmxBadReply 1003
|
||||
|
||||
#define DMXScreenWindowWidth (1L<<0)
|
||||
#define DMXScreenWindowHeight (1L<<1)
|
||||
#define DMXScreenWindowXoffset (1L<<2)
|
||||
#define DMXScreenWindowYoffset (1L<<3)
|
||||
#define DMXRootWindowWidth (1L<<4)
|
||||
#define DMXRootWindowHeight (1L<<5)
|
||||
#define DMXRootWindowXoffset (1L<<6)
|
||||
#define DMXRootWindowYoffset (1L<<7)
|
||||
#define DMXRootWindowXorigin (1L<<8)
|
||||
#define DMXRootWindowYorigin (1L<<9)
|
||||
|
||||
#define DMXDesktopWidth (1L<<0)
|
||||
#define DMXDesktopHeight (1L<<1)
|
||||
#define DMXDesktopShiftX (1L<<2)
|
||||
#define DMXDesktopShiftY (1L<<3)
|
||||
|
||||
#define DMXInputType (1L<<0)
|
||||
#define DMXInputPhysicalScreen (1L<<1)
|
||||
#define DMXInputSendsCore (1L<<2)
|
||||
|
||||
#ifndef _DMX_SERVER_
|
||||
|
||||
/** Client-library screen information structure, returned by
|
||||
* #DMXGetScreenAttributes. */
|
||||
typedef struct {
|
||||
char *displayName;
|
||||
int logicalScreen;
|
||||
|
||||
unsigned int screenWindowWidth; /* displayName's coordinate system */
|
||||
unsigned int screenWindowHeight; /* displayName's coordinate system */
|
||||
int screenWindowXoffset; /* displayName's coordinate system */
|
||||
int screenWindowYoffset; /* displayName's coordinate system */
|
||||
|
||||
unsigned int rootWindowWidth; /* screenWindow's coordinate system */
|
||||
unsigned int rootWindowHeight; /* screenWindow's coordinate system */
|
||||
int rootWindowXoffset; /* screenWindow's coordinate system */
|
||||
int rootWindowYoffset; /* screenWindow's coordinate system */
|
||||
|
||||
int rootWindowXorigin; /* global coordinate system */
|
||||
int rootWindowYorigin; /* global coordinate system */
|
||||
} DMXScreenAttributes;
|
||||
|
||||
/** Client-library window information structure, returned by
|
||||
* #DMXGetWindowAttributes. */
|
||||
typedef struct {
|
||||
int screen;
|
||||
Window window;
|
||||
XRectangle pos, vis;
|
||||
} DMXWindowAttributes;
|
||||
|
||||
/** Client-library desktop information structure, returned by
|
||||
* #DMXGetDesktopAttributes. */
|
||||
typedef struct {
|
||||
unsigned int width; /* global coordinate system */
|
||||
unsigned int height; /* global coordinate system */
|
||||
int shiftX; /* global coordinate system */
|
||||
int shiftY; /* global coordinate system */
|
||||
} DMXDesktopAttributes;
|
||||
|
||||
/** Enumeration for the #inputType field in the #DMXInputAttributes
|
||||
* structure. */
|
||||
typedef enum {
|
||||
DMXLocalInputType,
|
||||
DMXConsoleInputType,
|
||||
DMXBackendInputType
|
||||
} DMXInputEnum;
|
||||
|
||||
/** Client-library input information structure, returned by
|
||||
* #DMXGetInputAttributes. */
|
||||
typedef struct {
|
||||
DMXInputEnum inputType;
|
||||
int physicalScreen;
|
||||
int physicalId;
|
||||
Bool isCore;
|
||||
Bool sendsCore;
|
||||
const char *name;
|
||||
Bool detached;
|
||||
} DMXInputAttributes;
|
||||
|
||||
_XFUNCPROTOBEGIN
|
||||
|
||||
extern Bool DMXQueryExtension(Display *dpy,
|
||||
int *event_basep, int *error_basep);
|
||||
extern Bool DMXQueryVersion(Display *dpy, int *major_version,
|
||||
int *minor_version, int *patch_version);
|
||||
extern Bool DMXSync(Display *dpy);
|
||||
extern Bool DMXForceWindowCreation(Display *dpy, Window window);
|
||||
|
||||
|
||||
extern Bool DMXGetScreenCount(Display *dpy, int *screen_count);
|
||||
extern Bool DMXGetScreenAttributes(Display *dpy,
|
||||
int screen,
|
||||
DMXScreenAttributes *attr);
|
||||
extern int DMXChangeScreensAttributes(Display *dpy,
|
||||
int screen_count,
|
||||
int *screens,
|
||||
int mask_count,
|
||||
unsigned int *masks,
|
||||
DMXScreenAttributes *attr, /* vector */
|
||||
int *error_screen);
|
||||
|
||||
extern Bool DMXAddScreen(Display *dpy,
|
||||
const char *displayName,
|
||||
unsigned int mask,
|
||||
DMXScreenAttributes *attr,
|
||||
int *screen);
|
||||
extern Bool DMXRemoveScreen(Display *dpy, int screen);
|
||||
|
||||
/* Call DMXGetScreenWindowCount and allocate info to that size. Pass
|
||||
* the size in available_count. This call can generate a large amount
|
||||
* of wire traffic and should not be used called with available_count=0
|
||||
* just to determine the screen_count value -- use DMXGetScreenCount
|
||||
* instead. NOTE: Also see DMX protocol specification (DMXSpec.txt) for
|
||||
* usage of DMXSync to flush pending commands. */
|
||||
extern Bool DMXGetWindowAttributes(Display *dpy, Window window,
|
||||
int *screen_count, int available_count,
|
||||
DMXWindowAttributes *attr);
|
||||
|
||||
extern Bool DMXGetDesktopAttributes(Display *dpy, DMXDesktopAttributes *attr);
|
||||
extern int DMXChangeDesktopAttributes(Display *dpy,
|
||||
unsigned int mask,
|
||||
DMXDesktopAttributes *attr);
|
||||
|
||||
extern Bool DMXGetInputCount(Display *dpy, int *input_count);
|
||||
extern Bool DMXGetInputAttributes(Display *dpy, int id,
|
||||
DMXInputAttributes *attr);
|
||||
|
||||
extern Bool DMXAddInput(Display *dpy,
|
||||
unsigned int mask,
|
||||
DMXInputAttributes *attr,
|
||||
int *id);
|
||||
extern Bool DMXRemoveInput(Display *dpy, int id);
|
||||
|
||||
/* These are helper functions that call DMXAddInput. */
|
||||
extern Bool DMXAddBackendInput(Display *dpy, int screen, int sendsCore,
|
||||
int *newId);
|
||||
extern Bool DMXAddConsoleInput(Display *dpy, const char *name, int sendsCore,
|
||||
int *newId);
|
||||
|
||||
_XFUNCPROTOEND
|
||||
#endif
|
||||
#endif
|
@ -1,4 +1,3 @@
|
||||
/* $XFree86$ */
|
||||
/*
|
||||
* Copyright 2002-2004 Red Hat Inc., Durham, North Carolina.
|
||||
*
|
||||
|
@ -1,158 +0,0 @@
|
||||
#! /bin/sh
|
||||
# mkinstalldirs --- make directory hierarchy
|
||||
|
||||
scriptversion=2005-06-29.22
|
||||
|
||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
|
||||
# Created: 1993-05-16
|
||||
# Public domain.
|
||||
#
|
||||
# This file is maintained in Automake, please report
|
||||
# bugs to <bug-automake@gnu.org> or send patches to
|
||||
# <automake-patches@gnu.org>.
|
||||
|
||||
errstatus=0
|
||||
dirmode=
|
||||
|
||||
usage="\
|
||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
|
||||
|
||||
Create each directory DIR (with mode MODE, if specified), including all
|
||||
leading file name components.
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>."
|
||||
|
||||
# process command line arguments
|
||||
while test $# -gt 0 ; do
|
||||
case $1 in
|
||||
-h | --help | --h*) # -h for help
|
||||
echo "$usage"
|
||||
exit $?
|
||||
;;
|
||||
-m) # -m PERM arg
|
||||
shift
|
||||
test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
|
||||
dirmode=$1
|
||||
shift
|
||||
;;
|
||||
--version)
|
||||
echo "$0 $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
--) # stop option processing
|
||||
shift
|
||||
break
|
||||
;;
|
||||
-*) # unknown option
|
||||
echo "$usage" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
*) # first non-opt arg
|
||||
break
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
for file
|
||||
do
|
||||
if test -d "$file"; then
|
||||
shift
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
case $# in
|
||||
0) exit 0 ;;
|
||||
esac
|
||||
|
||||
# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and
|
||||
# mkdir -p a/c at the same time, both will detect that a is missing,
|
||||
# one will create a, then the other will try to create a and die with
|
||||
# a "File exists" error. This is a problem when calling mkinstalldirs
|
||||
# from a parallel make. We use --version in the probe to restrict
|
||||
# ourselves to GNU mkdir, which is thread-safe.
|
||||
case $dirmode in
|
||||
'')
|
||||
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
|
||||
echo "mkdir -p -- $*"
|
||||
exec mkdir -p -- "$@"
|
||||
else
|
||||
# On NextStep and OpenStep, the `mkdir' command does not
|
||||
# recognize any option. It will interpret all options as
|
||||
# directories to create, and then abort because `.' already
|
||||
# exists.
|
||||
test -d ./-p && rmdir ./-p
|
||||
test -d ./--version && rmdir ./--version
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
|
||||
test ! -d ./--version; then
|
||||
echo "mkdir -m $dirmode -p -- $*"
|
||||
exec mkdir -m "$dirmode" -p -- "$@"
|
||||
else
|
||||
# Clean up after NextStep and OpenStep mkdir.
|
||||
for d in ./-m ./-p ./--version "./$dirmode";
|
||||
do
|
||||
test -d $d && rmdir $d
|
||||
done
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
for file
|
||||
do
|
||||
case $file in
|
||||
/*) pathcomp=/ ;;
|
||||
*) pathcomp= ;;
|
||||
esac
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
set fnord $file
|
||||
shift
|
||||
IFS=$oIFS
|
||||
|
||||
for d
|
||||
do
|
||||
test "x$d" = x && continue
|
||||
|
||||
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
|
||||
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
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
Loading…
Reference in New Issue
Block a user