nutcracker 0.4.0.16 → 0.4.1.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Rakefile +3 -3
- data/ext/nutcracker/ChangeLog +33 -8
- data/ext/nutcracker/Makefile.in +34 -21
- data/ext/nutcracker/README.md +61 -26
- data/ext/nutcracker/aclocal.m4 +34 -31
- data/ext/nutcracker/autom4te.cache/output.0 +1875 -1330
- data/ext/nutcracker/autom4te.cache/output.1 +1875 -1330
- data/ext/nutcracker/autom4te.cache/requests +232 -451
- data/ext/nutcracker/autom4te.cache/traces.0 +2256 -2129
- data/ext/nutcracker/autom4te.cache/traces.1 +73 -59
- data/ext/nutcracker/config.h.in +1 -2
- data/ext/nutcracker/config.h.in~ +333 -0
- data/ext/nutcracker/config/compile +1 -1
- data/ext/nutcracker/config/config.guess +13 -160
- data/ext/nutcracker/config/config.sub +25 -11
- data/ext/nutcracker/config/depcomp +1 -1
- data/ext/nutcracker/config/install-sh +170 -196
- data/ext/nutcracker/config/ltmain.sh +3509 -2018
- data/ext/nutcracker/config/missing +1 -1
- data/ext/nutcracker/configure +1874 -1329
- data/ext/nutcracker/configure.ac +3 -2
- data/ext/nutcracker/contrib/Makefile.in +18 -5
- data/ext/nutcracker/contrib/yaml-0.1.4/LICENSE +19 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.am +20 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/Makefile.in +832 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/README +27 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/aclocal.m4 +1157 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.0 +13342 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/output.1 +14611 -0
- data/ext/nutcracker/{autom4te.cache → contrib/yaml-0.1.4/autom4te.cache}/output.2 +3465 -8761
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/requests +516 -0
- data/ext/nutcracker/{autom4te.cache/traces.2 → contrib/yaml-0.1.4/autom4te.cache/traces.0} +662 -698
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.1 +577 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/autom4te.cache/traces.2 +2721 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in +79 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config.h.in~ +80 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/compile +347 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/config.guess +1421 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/config.sub +1807 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/depcomp +791 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/install-sh +501 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/ltmain.sh +11147 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/missing +215 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/config/test-driver +148 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/configure +14611 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/configure.ac +75 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/doc/doxygen.cfg +222 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/include/yaml.h +1971 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/libtool.m4 +8369 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltoptions.m4 +437 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltsugar.m4 +124 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/ltversion.m4 +23 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/m4/lt~obsolete.m4 +99 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.am +4 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/Makefile.in +600 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/api.c +1392 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/dumper.c +394 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/emitter.c +2329 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/loader.c +432 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/parser.c +1374 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/reader.c +465 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/scanner.c +3570 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/writer.c +141 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/src/yaml_private.h +640 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.am +8 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/Makefile.in +1083 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor-alt.c +800 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-deconstructor.c +1130 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter-alt.c +217 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/example-reformatter.c +202 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-dumper.c +311 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-emitter.c +327 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-loader.c +63 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-parser.c +63 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/run-scanner.c +63 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-reader.c +354 -0
- data/ext/nutcracker/contrib/yaml-0.1.4/tests/test-version.c +29 -0
- data/ext/nutcracker/m4/libtool.m4 +1474 -1087
- data/ext/nutcracker/m4/ltoptions.m4 +90 -37
- data/ext/nutcracker/m4/ltsugar.m4 +4 -3
- data/ext/nutcracker/m4/ltversion.m4 +6 -6
- data/ext/nutcracker/m4/lt~obsolete.m4 +4 -3
- data/ext/nutcracker/man/nutcracker.8 +1 -1
- data/ext/nutcracker/notes/memcache.md +162 -0
- data/ext/nutcracker/notes/recommendation.md +10 -5
- data/ext/nutcracker/notes/redis.md +23 -9
- data/ext/nutcracker/scripts/nutcracker.init +10 -0
- data/ext/nutcracker/scripts/nutcracker.init.debian +83 -0
- data/ext/nutcracker/scripts/nutcracker.spec +36 -2
- data/ext/nutcracker/scripts/redis-check.sh +4 -0
- data/ext/nutcracker/src/Makefile.am +6 -1
- data/ext/nutcracker/src/Makefile.in +26 -12
- data/ext/nutcracker/src/event/Makefile.in +19 -6
- data/ext/nutcracker/src/hashkit/Makefile.in +19 -6
- data/ext/nutcracker/src/hashkit/nc_jenkins.c +1 -1
- data/ext/nutcracker/src/hashkit/nc_ketama.c +3 -3
- data/ext/nutcracker/src/nc.c +1 -1
- data/ext/nutcracker/src/nc_conf.c +67 -19
- data/ext/nutcracker/src/nc_conf.h +9 -4
- data/ext/nutcracker/src/nc_connection.c +35 -2
- data/ext/nutcracker/src/nc_connection.h +53 -47
- data/ext/nutcracker/src/nc_core.c +8 -1
- data/ext/nutcracker/src/nc_message.c +23 -7
- data/ext/nutcracker/src/nc_message.h +24 -1
- data/ext/nutcracker/src/nc_proxy.c +14 -3
- data/ext/nutcracker/src/nc_rbtree.c +1 -5
- data/ext/nutcracker/src/nc_request.c +58 -10
- data/ext/nutcracker/src/nc_response.c +27 -4
- data/ext/nutcracker/src/nc_server.c +33 -5
- data/ext/nutcracker/src/nc_server.h +10 -9
- data/ext/nutcracker/src/nc_string.h +17 -0
- data/ext/nutcracker/src/nc_util.c +5 -1
- data/ext/nutcracker/src/proto/Makefile.in +19 -6
- data/ext/nutcracker/src/proto/nc_memcache.c +76 -12
- data/ext/nutcracker/src/proto/nc_proto.h +9 -0
- data/ext/nutcracker/src/proto/nc_redis.c +400 -18
- data/lib/nutcracker.rb +1 -1
- data/lib/nutcracker/version.rb +1 -1
- metadata +61 -6
- data/ext/nutcracker/notes/memcache.txt +0 -123
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
scriptversion=2012-10-14.11; # UTC
|
|
5
5
|
|
|
6
|
-
# Copyright (C) 1999-
|
|
6
|
+
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
|
7
7
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
|
8
8
|
#
|
|
9
9
|
# This program is free software; you can redistribute it and/or modify
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#! /bin/sh
|
|
2
2
|
# Attempt to guess a canonical system name.
|
|
3
|
-
# Copyright 1992-
|
|
3
|
+
# Copyright 1992-2014 Free Software Foundation, Inc.
|
|
4
4
|
|
|
5
|
-
timestamp='
|
|
5
|
+
timestamp='2014-11-04'
|
|
6
6
|
|
|
7
7
|
# This file is free software; you can redistribute it and/or modify it
|
|
8
8
|
# under the terms of the GNU General Public License as published by
|
|
@@ -24,12 +24,12 @@ timestamp='2013-11-29'
|
|
|
24
24
|
# program. This Exception is an additional permission under section 7
|
|
25
25
|
# of the GNU General Public License, version 3 ("GPLv3").
|
|
26
26
|
#
|
|
27
|
-
# Originally written by Per Bothner.
|
|
27
|
+
# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
|
|
28
28
|
#
|
|
29
29
|
# You can get the latest version of this script from:
|
|
30
30
|
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
|
31
31
|
#
|
|
32
|
-
# Please send patches
|
|
32
|
+
# Please send patches to <config-patches@gnu.org>.
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
|
@@ -50,7 +50,7 @@ version="\
|
|
|
50
50
|
GNU config.guess ($timestamp)
|
|
51
51
|
|
|
52
52
|
Originally written by Per Bothner.
|
|
53
|
-
Copyright 1992-
|
|
53
|
+
Copyright 1992-2014 Free Software Foundation, Inc.
|
|
54
54
|
|
|
55
55
|
This is free software; see the source for copying conditions. There is NO
|
|
56
56
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
|
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
|
|
|
149
149
|
LIBC=gnu
|
|
150
150
|
#endif
|
|
151
151
|
EOF
|
|
152
|
-
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
|
152
|
+
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
|
153
153
|
;;
|
|
154
154
|
esac
|
|
155
155
|
|
|
@@ -579,8 +579,9 @@ EOF
|
|
|
579
579
|
else
|
|
580
580
|
IBM_ARCH=powerpc
|
|
581
581
|
fi
|
|
582
|
-
if [ -x /usr/bin/
|
|
583
|
-
IBM_REV=`/usr/bin/
|
|
582
|
+
if [ -x /usr/bin/lslpp ] ; then
|
|
583
|
+
IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
|
|
584
|
+
awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
|
|
584
585
|
else
|
|
585
586
|
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
|
|
586
587
|
fi
|
|
@@ -826,7 +827,7 @@ EOF
|
|
|
826
827
|
*:MINGW*:*)
|
|
827
828
|
echo ${UNAME_MACHINE}-pc-mingw32
|
|
828
829
|
exit ;;
|
|
829
|
-
|
|
830
|
+
*:MSYS*:*)
|
|
830
831
|
echo ${UNAME_MACHINE}-pc-msys
|
|
831
832
|
exit ;;
|
|
832
833
|
i*:windows32*:*)
|
|
@@ -969,10 +970,10 @@ EOF
|
|
|
969
970
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
|
970
971
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
|
971
972
|
;;
|
|
972
|
-
|
|
973
|
-
echo
|
|
973
|
+
openrisc*:Linux:*:*)
|
|
974
|
+
echo or1k-unknown-linux-${LIBC}
|
|
974
975
|
exit ;;
|
|
975
|
-
or32:Linux:*:*)
|
|
976
|
+
or32:Linux:*:* | or1k*:Linux:*:*)
|
|
976
977
|
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
|
977
978
|
exit ;;
|
|
978
979
|
padre:Linux:*:*)
|
|
@@ -1371,154 +1372,6 @@ EOF
|
|
|
1371
1372
|
exit ;;
|
|
1372
1373
|
esac
|
|
1373
1374
|
|
|
1374
|
-
eval $set_cc_for_build
|
|
1375
|
-
cat >$dummy.c <<EOF
|
|
1376
|
-
#ifdef _SEQUENT_
|
|
1377
|
-
# include <sys/types.h>
|
|
1378
|
-
# include <sys/utsname.h>
|
|
1379
|
-
#endif
|
|
1380
|
-
main ()
|
|
1381
|
-
{
|
|
1382
|
-
#if defined (sony)
|
|
1383
|
-
#if defined (MIPSEB)
|
|
1384
|
-
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
|
1385
|
-
I don't know.... */
|
|
1386
|
-
printf ("mips-sony-bsd\n"); exit (0);
|
|
1387
|
-
#else
|
|
1388
|
-
#include <sys/param.h>
|
|
1389
|
-
printf ("m68k-sony-newsos%s\n",
|
|
1390
|
-
#ifdef NEWSOS4
|
|
1391
|
-
"4"
|
|
1392
|
-
#else
|
|
1393
|
-
""
|
|
1394
|
-
#endif
|
|
1395
|
-
); exit (0);
|
|
1396
|
-
#endif
|
|
1397
|
-
#endif
|
|
1398
|
-
|
|
1399
|
-
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
|
1400
|
-
printf ("arm-acorn-riscix\n"); exit (0);
|
|
1401
|
-
#endif
|
|
1402
|
-
|
|
1403
|
-
#if defined (hp300) && !defined (hpux)
|
|
1404
|
-
printf ("m68k-hp-bsd\n"); exit (0);
|
|
1405
|
-
#endif
|
|
1406
|
-
|
|
1407
|
-
#if defined (NeXT)
|
|
1408
|
-
#if !defined (__ARCHITECTURE__)
|
|
1409
|
-
#define __ARCHITECTURE__ "m68k"
|
|
1410
|
-
#endif
|
|
1411
|
-
int version;
|
|
1412
|
-
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
|
1413
|
-
if (version < 4)
|
|
1414
|
-
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
|
1415
|
-
else
|
|
1416
|
-
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
|
|
1417
|
-
exit (0);
|
|
1418
|
-
#endif
|
|
1419
|
-
|
|
1420
|
-
#if defined (MULTIMAX) || defined (n16)
|
|
1421
|
-
#if defined (UMAXV)
|
|
1422
|
-
printf ("ns32k-encore-sysv\n"); exit (0);
|
|
1423
|
-
#else
|
|
1424
|
-
#if defined (CMU)
|
|
1425
|
-
printf ("ns32k-encore-mach\n"); exit (0);
|
|
1426
|
-
#else
|
|
1427
|
-
printf ("ns32k-encore-bsd\n"); exit (0);
|
|
1428
|
-
#endif
|
|
1429
|
-
#endif
|
|
1430
|
-
#endif
|
|
1431
|
-
|
|
1432
|
-
#if defined (__386BSD__)
|
|
1433
|
-
printf ("i386-pc-bsd\n"); exit (0);
|
|
1434
|
-
#endif
|
|
1435
|
-
|
|
1436
|
-
#if defined (sequent)
|
|
1437
|
-
#if defined (i386)
|
|
1438
|
-
printf ("i386-sequent-dynix\n"); exit (0);
|
|
1439
|
-
#endif
|
|
1440
|
-
#if defined (ns32000)
|
|
1441
|
-
printf ("ns32k-sequent-dynix\n"); exit (0);
|
|
1442
|
-
#endif
|
|
1443
|
-
#endif
|
|
1444
|
-
|
|
1445
|
-
#if defined (_SEQUENT_)
|
|
1446
|
-
struct utsname un;
|
|
1447
|
-
|
|
1448
|
-
uname(&un);
|
|
1449
|
-
|
|
1450
|
-
if (strncmp(un.version, "V2", 2) == 0) {
|
|
1451
|
-
printf ("i386-sequent-ptx2\n"); exit (0);
|
|
1452
|
-
}
|
|
1453
|
-
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
|
1454
|
-
printf ("i386-sequent-ptx1\n"); exit (0);
|
|
1455
|
-
}
|
|
1456
|
-
printf ("i386-sequent-ptx\n"); exit (0);
|
|
1457
|
-
|
|
1458
|
-
#endif
|
|
1459
|
-
|
|
1460
|
-
#if defined (vax)
|
|
1461
|
-
# if !defined (ultrix)
|
|
1462
|
-
# include <sys/param.h>
|
|
1463
|
-
# if defined (BSD)
|
|
1464
|
-
# if BSD == 43
|
|
1465
|
-
printf ("vax-dec-bsd4.3\n"); exit (0);
|
|
1466
|
-
# else
|
|
1467
|
-
# if BSD == 199006
|
|
1468
|
-
printf ("vax-dec-bsd4.3reno\n"); exit (0);
|
|
1469
|
-
# else
|
|
1470
|
-
printf ("vax-dec-bsd\n"); exit (0);
|
|
1471
|
-
# endif
|
|
1472
|
-
# endif
|
|
1473
|
-
# else
|
|
1474
|
-
printf ("vax-dec-bsd\n"); exit (0);
|
|
1475
|
-
# endif
|
|
1476
|
-
# else
|
|
1477
|
-
printf ("vax-dec-ultrix\n"); exit (0);
|
|
1478
|
-
# endif
|
|
1479
|
-
#endif
|
|
1480
|
-
|
|
1481
|
-
#if defined (alliant) && defined (i860)
|
|
1482
|
-
printf ("i860-alliant-bsd\n"); exit (0);
|
|
1483
|
-
#endif
|
|
1484
|
-
|
|
1485
|
-
exit (1);
|
|
1486
|
-
}
|
|
1487
|
-
EOF
|
|
1488
|
-
|
|
1489
|
-
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
|
|
1490
|
-
{ echo "$SYSTEM_NAME"; exit; }
|
|
1491
|
-
|
|
1492
|
-
# Apollos put the system type in the environment.
|
|
1493
|
-
|
|
1494
|
-
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
|
|
1495
|
-
|
|
1496
|
-
# Convex versions that predate uname can use getsysinfo(1)
|
|
1497
|
-
|
|
1498
|
-
if [ -x /usr/convex/getsysinfo ]
|
|
1499
|
-
then
|
|
1500
|
-
case `getsysinfo -f cpu_type` in
|
|
1501
|
-
c1*)
|
|
1502
|
-
echo c1-convex-bsd
|
|
1503
|
-
exit ;;
|
|
1504
|
-
c2*)
|
|
1505
|
-
if getsysinfo -f scalar_acc
|
|
1506
|
-
then echo c32-convex-bsd
|
|
1507
|
-
else echo c2-convex-bsd
|
|
1508
|
-
fi
|
|
1509
|
-
exit ;;
|
|
1510
|
-
c34*)
|
|
1511
|
-
echo c34-convex-bsd
|
|
1512
|
-
exit ;;
|
|
1513
|
-
c38*)
|
|
1514
|
-
echo c38-convex-bsd
|
|
1515
|
-
exit ;;
|
|
1516
|
-
c4*)
|
|
1517
|
-
echo c4-convex-bsd
|
|
1518
|
-
exit ;;
|
|
1519
|
-
esac
|
|
1520
|
-
fi
|
|
1521
|
-
|
|
1522
1375
|
cat >&2 <<EOF
|
|
1523
1376
|
$0: unable to guess system type
|
|
1524
1377
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#! /bin/sh
|
|
2
2
|
# Configuration validation subroutine script.
|
|
3
|
-
# Copyright 1992-
|
|
3
|
+
# Copyright 1992-2014 Free Software Foundation, Inc.
|
|
4
4
|
|
|
5
|
-
timestamp='
|
|
5
|
+
timestamp='2014-12-03'
|
|
6
6
|
|
|
7
7
|
# This file is free software; you can redistribute it and/or modify it
|
|
8
8
|
# under the terms of the GNU General Public License as published by
|
|
@@ -25,7 +25,7 @@ timestamp='2013-10-01'
|
|
|
25
25
|
# of the GNU General Public License, version 3 ("GPLv3").
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
# Please send patches
|
|
28
|
+
# Please send patches to <config-patches@gnu.org>.
|
|
29
29
|
#
|
|
30
30
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
|
31
31
|
# Supply the specified configuration type as an argument.
|
|
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|
|
68
68
|
version="\
|
|
69
69
|
GNU config.sub ($timestamp)
|
|
70
70
|
|
|
71
|
-
Copyright 1992-
|
|
71
|
+
Copyright 1992-2014 Free Software Foundation, Inc.
|
|
72
72
|
|
|
73
73
|
This is free software; see the source for copying conditions. There is NO
|
|
74
74
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
|
@@ -283,8 +283,10 @@ case $basic_machine in
|
|
|
283
283
|
| mips64vr5900 | mips64vr5900el \
|
|
284
284
|
| mipsisa32 | mipsisa32el \
|
|
285
285
|
| mipsisa32r2 | mipsisa32r2el \
|
|
286
|
+
| mipsisa32r6 | mipsisa32r6el \
|
|
286
287
|
| mipsisa64 | mipsisa64el \
|
|
287
288
|
| mipsisa64r2 | mipsisa64r2el \
|
|
289
|
+
| mipsisa64r6 | mipsisa64r6el \
|
|
288
290
|
| mipsisa64sb1 | mipsisa64sb1el \
|
|
289
291
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
|
290
292
|
| mipsr5900 | mipsr5900el \
|
|
@@ -296,11 +298,11 @@ case $basic_machine in
|
|
|
296
298
|
| nds32 | nds32le | nds32be \
|
|
297
299
|
| nios | nios2 | nios2eb | nios2el \
|
|
298
300
|
| ns16k | ns32k \
|
|
299
|
-
| open8 \
|
|
300
|
-
| or1k | or32 \
|
|
301
|
+
| open8 | or1k | or1knd | or32 \
|
|
301
302
|
| pdp10 | pdp11 | pj | pjl \
|
|
302
303
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
|
303
304
|
| pyramid \
|
|
305
|
+
| riscv32 | riscv64 \
|
|
304
306
|
| rl78 | rx \
|
|
305
307
|
| score \
|
|
306
308
|
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
|
@@ -311,6 +313,7 @@ case $basic_machine in
|
|
|
311
313
|
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
|
312
314
|
| ubicom32 \
|
|
313
315
|
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
|
316
|
+
| visium \
|
|
314
317
|
| we32k \
|
|
315
318
|
| x86 | xc16x | xstormy16 | xtensa \
|
|
316
319
|
| z8k | z80)
|
|
@@ -325,6 +328,9 @@ case $basic_machine in
|
|
|
325
328
|
c6x)
|
|
326
329
|
basic_machine=tic6x-unknown
|
|
327
330
|
;;
|
|
331
|
+
leon|leon[3-9])
|
|
332
|
+
basic_machine=sparc-$basic_machine
|
|
333
|
+
;;
|
|
328
334
|
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
|
329
335
|
basic_machine=$basic_machine-unknown
|
|
330
336
|
os=-none
|
|
@@ -402,8 +408,10 @@ case $basic_machine in
|
|
|
402
408
|
| mips64vr5900-* | mips64vr5900el-* \
|
|
403
409
|
| mipsisa32-* | mipsisa32el-* \
|
|
404
410
|
| mipsisa32r2-* | mipsisa32r2el-* \
|
|
411
|
+
| mipsisa32r6-* | mipsisa32r6el-* \
|
|
405
412
|
| mipsisa64-* | mipsisa64el-* \
|
|
406
413
|
| mipsisa64r2-* | mipsisa64r2el-* \
|
|
414
|
+
| mipsisa64r6-* | mipsisa64r6el-* \
|
|
407
415
|
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
|
408
416
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
|
409
417
|
| mipsr5900-* | mipsr5900el-* \
|
|
@@ -415,6 +423,7 @@ case $basic_machine in
|
|
|
415
423
|
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
|
416
424
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
|
417
425
|
| open8-* \
|
|
426
|
+
| or1k*-* \
|
|
418
427
|
| orion-* \
|
|
419
428
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
|
420
429
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
|
@@ -432,6 +441,7 @@ case $basic_machine in
|
|
|
432
441
|
| ubicom32-* \
|
|
433
442
|
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
|
434
443
|
| vax-* \
|
|
444
|
+
| visium-* \
|
|
435
445
|
| we32k-* \
|
|
436
446
|
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
|
437
447
|
| xstormy16-* | xtensa*-* \
|
|
@@ -769,6 +779,9 @@ case $basic_machine in
|
|
|
769
779
|
basic_machine=m68k-isi
|
|
770
780
|
os=-sysv
|
|
771
781
|
;;
|
|
782
|
+
leon-*|leon[3-9]-*)
|
|
783
|
+
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
|
784
|
+
;;
|
|
772
785
|
m68knommu)
|
|
773
786
|
basic_machine=m68k-unknown
|
|
774
787
|
os=-linux
|
|
@@ -824,6 +837,10 @@ case $basic_machine in
|
|
|
824
837
|
basic_machine=powerpc-unknown
|
|
825
838
|
os=-morphos
|
|
826
839
|
;;
|
|
840
|
+
moxiebox)
|
|
841
|
+
basic_machine=moxie-unknown
|
|
842
|
+
os=-moxiebox
|
|
843
|
+
;;
|
|
827
844
|
msdos)
|
|
828
845
|
basic_machine=i386-pc
|
|
829
846
|
os=-msdos
|
|
@@ -1369,14 +1386,14 @@ case $os in
|
|
|
1369
1386
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
|
1370
1387
|
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
|
1371
1388
|
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
|
1372
|
-
| -uxpv* | -beos* | -mpeix* | -udk* \
|
|
1389
|
+
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
|
1373
1390
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
|
1374
1391
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
|
1375
1392
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
|
1376
1393
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
|
1377
1394
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
|
1378
1395
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
|
1379
|
-
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
|
1396
|
+
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
|
|
1380
1397
|
# Remember, each alternative MUST END IN *, to match a version number.
|
|
1381
1398
|
;;
|
|
1382
1399
|
-qnx*)
|
|
@@ -1594,9 +1611,6 @@ case $basic_machine in
|
|
|
1594
1611
|
mips*-*)
|
|
1595
1612
|
os=-elf
|
|
1596
1613
|
;;
|
|
1597
|
-
or1k-*)
|
|
1598
|
-
os=-elf
|
|
1599
|
-
;;
|
|
1600
1614
|
or32-*)
|
|
1601
1615
|
os=-coff
|
|
1602
1616
|
;;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
scriptversion=2013-05-30.07; # UTC
|
|
5
5
|
|
|
6
|
-
# Copyright (C) 1999-
|
|
6
|
+
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
|
7
7
|
|
|
8
8
|
# This program is free software; you can redistribute it and/or modify
|
|
9
9
|
# it under the terms of the GNU General Public License as published by
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
# install - install a program, script, or datafile
|
|
3
3
|
|
|
4
|
-
scriptversion=
|
|
4
|
+
scriptversion=2013-12-25.23; # UTC
|
|
5
5
|
|
|
6
6
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
|
7
7
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
|
@@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
|
|
|
41
41
|
# This script is compatible with the BSD install script, but was written
|
|
42
42
|
# from scratch.
|
|
43
43
|
|
|
44
|
+
tab=' '
|
|
44
45
|
nl='
|
|
45
46
|
'
|
|
46
|
-
IFS="
|
|
47
|
+
IFS=" $tab$nl"
|
|
47
48
|
|
|
48
|
-
#
|
|
49
|
+
# Set DOITPROG to "echo" to test this script.
|
|
49
50
|
|
|
50
|
-
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
|
51
51
|
doit=${DOITPROG-}
|
|
52
|
-
|
|
53
|
-
doit_exec=exec
|
|
54
|
-
else
|
|
55
|
-
doit_exec=$doit
|
|
56
|
-
fi
|
|
52
|
+
doit_exec=${doit:-exec}
|
|
57
53
|
|
|
58
54
|
# Put in absolute file names if you don't have them in your path;
|
|
59
55
|
# or use environment vars.
|
|
@@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
|
|
|
68
64
|
rmprog=${RMPROG-rm}
|
|
69
65
|
stripprog=${STRIPPROG-strip}
|
|
70
66
|
|
|
71
|
-
posix_glob='?'
|
|
72
|
-
initialize_posix_glob='
|
|
73
|
-
test "$posix_glob" != "?" || {
|
|
74
|
-
if (set -f) 2>/dev/null; then
|
|
75
|
-
posix_glob=
|
|
76
|
-
else
|
|
77
|
-
posix_glob=:
|
|
78
|
-
fi
|
|
79
|
-
}
|
|
80
|
-
'
|
|
81
|
-
|
|
82
67
|
posix_mkdir=
|
|
83
68
|
|
|
84
69
|
# Desired mode of installed file.
|
|
@@ -97,7 +82,7 @@ dir_arg=
|
|
|
97
82
|
dst_arg=
|
|
98
83
|
|
|
99
84
|
copy_on_change=false
|
|
100
|
-
|
|
85
|
+
is_target_a_directory=possibly
|
|
101
86
|
|
|
102
87
|
usage="\
|
|
103
88
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
|
@@ -137,46 +122,57 @@ while test $# -ne 0; do
|
|
|
137
122
|
-d) dir_arg=true;;
|
|
138
123
|
|
|
139
124
|
-g) chgrpcmd="$chgrpprog $2"
|
|
140
|
-
|
|
125
|
+
shift;;
|
|
141
126
|
|
|
142
127
|
--help) echo "$usage"; exit $?;;
|
|
143
128
|
|
|
144
129
|
-m) mode=$2
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
shift;;
|
|
130
|
+
case $mode in
|
|
131
|
+
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
|
132
|
+
echo "$0: invalid mode: $mode" >&2
|
|
133
|
+
exit 1;;
|
|
134
|
+
esac
|
|
135
|
+
shift;;
|
|
152
136
|
|
|
153
137
|
-o) chowncmd="$chownprog $2"
|
|
154
|
-
|
|
138
|
+
shift;;
|
|
155
139
|
|
|
156
140
|
-s) stripcmd=$stripprog;;
|
|
157
141
|
|
|
158
|
-
-t)
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
142
|
+
-t)
|
|
143
|
+
is_target_a_directory=always
|
|
144
|
+
dst_arg=$2
|
|
145
|
+
# Protect names problematic for 'test' and other utilities.
|
|
146
|
+
case $dst_arg in
|
|
147
|
+
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
|
148
|
+
esac
|
|
149
|
+
shift;;
|
|
164
150
|
|
|
165
|
-
-T)
|
|
151
|
+
-T) is_target_a_directory=never;;
|
|
166
152
|
|
|
167
153
|
--version) echo "$0 $scriptversion"; exit $?;;
|
|
168
154
|
|
|
169
|
-
--)
|
|
170
|
-
|
|
155
|
+
--) shift
|
|
156
|
+
break;;
|
|
171
157
|
|
|
172
|
-
-*)
|
|
173
|
-
|
|
158
|
+
-*) echo "$0: invalid option: $1" >&2
|
|
159
|
+
exit 1;;
|
|
174
160
|
|
|
175
161
|
*) break;;
|
|
176
162
|
esac
|
|
177
163
|
shift
|
|
178
164
|
done
|
|
179
165
|
|
|
166
|
+
# We allow the use of options -d and -T together, by making -d
|
|
167
|
+
# take the precedence; this is for compatibility with GNU install.
|
|
168
|
+
|
|
169
|
+
if test -n "$dir_arg"; then
|
|
170
|
+
if test -n "$dst_arg"; then
|
|
171
|
+
echo "$0: target directory not allowed when installing a directory." >&2
|
|
172
|
+
exit 1
|
|
173
|
+
fi
|
|
174
|
+
fi
|
|
175
|
+
|
|
180
176
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
|
181
177
|
# When -d is used, all remaining arguments are directories to create.
|
|
182
178
|
# When -t is used, the destination is already specified.
|
|
@@ -207,6 +203,15 @@ if test $# -eq 0; then
|
|
|
207
203
|
exit 0
|
|
208
204
|
fi
|
|
209
205
|
|
|
206
|
+
if test -z "$dir_arg"; then
|
|
207
|
+
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
|
208
|
+
if test ! -d "$dst_arg"; then
|
|
209
|
+
echo "$0: $dst_arg: Is not a directory." >&2
|
|
210
|
+
exit 1
|
|
211
|
+
fi
|
|
212
|
+
fi
|
|
213
|
+
fi
|
|
214
|
+
|
|
210
215
|
if test -z "$dir_arg"; then
|
|
211
216
|
do_exit='(exit $ret); exit $ret'
|
|
212
217
|
trap "ret=129; $do_exit" 1
|
|
@@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
|
|
|
223
228
|
|
|
224
229
|
*[0-7])
|
|
225
230
|
if test -z "$stripcmd"; then
|
|
226
|
-
|
|
231
|
+
u_plus_rw=
|
|
227
232
|
else
|
|
228
|
-
|
|
233
|
+
u_plus_rw='% 200'
|
|
229
234
|
fi
|
|
230
235
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
|
231
236
|
*)
|
|
232
237
|
if test -z "$stripcmd"; then
|
|
233
|
-
|
|
238
|
+
u_plus_rw=
|
|
234
239
|
else
|
|
235
|
-
|
|
240
|
+
u_plus_rw=,u+rw
|
|
236
241
|
fi
|
|
237
242
|
cp_umask=$mode$u_plus_rw;;
|
|
238
243
|
esac
|
|
@@ -269,41 +274,15 @@ do
|
|
|
269
274
|
# If destination is a directory, append the input filename; won't work
|
|
270
275
|
# if double slashes aren't ignored.
|
|
271
276
|
if test -d "$dst"; then
|
|
272
|
-
if test
|
|
273
|
-
|
|
274
|
-
|
|
277
|
+
if test "$is_target_a_directory" = never; then
|
|
278
|
+
echo "$0: $dst_arg: Is a directory" >&2
|
|
279
|
+
exit 1
|
|
275
280
|
fi
|
|
276
281
|
dstdir=$dst
|
|
277
282
|
dst=$dstdir/`basename "$src"`
|
|
278
283
|
dstdir_status=0
|
|
279
284
|
else
|
|
280
|
-
|
|
281
|
-
dstdir=`
|
|
282
|
-
(dirname "$dst") 2>/dev/null ||
|
|
283
|
-
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
|
284
|
-
X"$dst" : 'X\(//\)[^/]' \| \
|
|
285
|
-
X"$dst" : 'X\(//\)$' \| \
|
|
286
|
-
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
|
287
|
-
echo X"$dst" |
|
|
288
|
-
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
|
289
|
-
s//\1/
|
|
290
|
-
q
|
|
291
|
-
}
|
|
292
|
-
/^X\(\/\/\)[^/].*/{
|
|
293
|
-
s//\1/
|
|
294
|
-
q
|
|
295
|
-
}
|
|
296
|
-
/^X\(\/\/\)$/{
|
|
297
|
-
s//\1/
|
|
298
|
-
q
|
|
299
|
-
}
|
|
300
|
-
/^X\(\/\).*/{
|
|
301
|
-
s//\1/
|
|
302
|
-
q
|
|
303
|
-
}
|
|
304
|
-
s/.*/./; q'
|
|
305
|
-
`
|
|
306
|
-
|
|
285
|
+
dstdir=`dirname "$dst"`
|
|
307
286
|
test -d "$dstdir"
|
|
308
287
|
dstdir_status=$?
|
|
309
288
|
fi
|
|
@@ -314,74 +293,74 @@ do
|
|
|
314
293
|
if test $dstdir_status != 0; then
|
|
315
294
|
case $posix_mkdir in
|
|
316
295
|
'')
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
296
|
+
# Create intermediate dirs using mode 755 as modified by the umask.
|
|
297
|
+
# This is like FreeBSD 'install' as of 1997-10-28.
|
|
298
|
+
umask=`umask`
|
|
299
|
+
case $stripcmd.$umask in
|
|
300
|
+
# Optimize common cases.
|
|
301
|
+
*[2367][2367]) mkdir_umask=$umask;;
|
|
302
|
+
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
|
303
|
+
|
|
304
|
+
*[0-7])
|
|
305
|
+
mkdir_umask=`expr $umask + 22 \
|
|
306
|
+
- $umask % 100 % 40 + $umask % 20 \
|
|
307
|
+
- $umask % 10 % 4 + $umask % 2
|
|
308
|
+
`;;
|
|
309
|
+
*) mkdir_umask=$umask,go-w;;
|
|
310
|
+
esac
|
|
311
|
+
|
|
312
|
+
# With -d, create the new directory with the user-specified mode.
|
|
313
|
+
# Otherwise, rely on $mkdir_umask.
|
|
314
|
+
if test -n "$dir_arg"; then
|
|
315
|
+
mkdir_mode=-m$mode
|
|
316
|
+
else
|
|
317
|
+
mkdir_mode=
|
|
318
|
+
fi
|
|
319
|
+
|
|
320
|
+
posix_mkdir=false
|
|
321
|
+
case $umask in
|
|
322
|
+
*[123567][0-7][0-7])
|
|
323
|
+
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
|
324
|
+
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
|
325
|
+
;;
|
|
326
|
+
*)
|
|
327
|
+
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
|
328
|
+
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|
329
|
+
|
|
330
|
+
if (umask $mkdir_umask &&
|
|
331
|
+
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
|
332
|
+
then
|
|
333
|
+
if test -z "$dir_arg" || {
|
|
334
|
+
# Check for POSIX incompatibilities with -m.
|
|
335
|
+
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
|
336
|
+
# other-writable bit of parent directory when it shouldn't.
|
|
337
|
+
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
|
338
|
+
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
|
339
|
+
case $ls_ld_tmpdir in
|
|
340
|
+
d????-?r-*) different_mode=700;;
|
|
341
|
+
d????-?--*) different_mode=755;;
|
|
342
|
+
*) false;;
|
|
343
|
+
esac &&
|
|
344
|
+
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
|
345
|
+
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
|
346
|
+
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
then posix_mkdir=:
|
|
350
|
+
fi
|
|
351
|
+
rmdir "$tmpdir/d" "$tmpdir"
|
|
352
|
+
else
|
|
353
|
+
# Remove any dirs left behind by ancient mkdir implementations.
|
|
354
|
+
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
|
355
|
+
fi
|
|
356
|
+
trap '' 0;;
|
|
357
|
+
esac;;
|
|
379
358
|
esac
|
|
380
359
|
|
|
381
360
|
if
|
|
382
361
|
$posix_mkdir && (
|
|
383
|
-
|
|
384
|
-
|
|
362
|
+
umask $mkdir_umask &&
|
|
363
|
+
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
|
385
364
|
)
|
|
386
365
|
then :
|
|
387
366
|
else
|
|
@@ -391,53 +370,51 @@ do
|
|
|
391
370
|
# directory the slow way, step by step, checking for races as we go.
|
|
392
371
|
|
|
393
372
|
case $dstdir in
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
373
|
+
/*) prefix='/';;
|
|
374
|
+
[-=\(\)!]*) prefix='./';;
|
|
375
|
+
*) prefix='';;
|
|
397
376
|
esac
|
|
398
377
|
|
|
399
|
-
eval "$initialize_posix_glob"
|
|
400
|
-
|
|
401
378
|
oIFS=$IFS
|
|
402
379
|
IFS=/
|
|
403
|
-
|
|
380
|
+
set -f
|
|
404
381
|
set fnord $dstdir
|
|
405
382
|
shift
|
|
406
|
-
|
|
383
|
+
set +f
|
|
407
384
|
IFS=$oIFS
|
|
408
385
|
|
|
409
386
|
prefixes=
|
|
410
387
|
|
|
411
388
|
for d
|
|
412
389
|
do
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
390
|
+
test X"$d" = X && continue
|
|
391
|
+
|
|
392
|
+
prefix=$prefix$d
|
|
393
|
+
if test -d "$prefix"; then
|
|
394
|
+
prefixes=
|
|
395
|
+
else
|
|
396
|
+
if $posix_mkdir; then
|
|
397
|
+
(umask=$mkdir_umask &&
|
|
398
|
+
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
|
399
|
+
# Don't fail if two instances are running concurrently.
|
|
400
|
+
test -d "$prefix" || exit 1
|
|
401
|
+
else
|
|
402
|
+
case $prefix in
|
|
403
|
+
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
|
404
|
+
*) qprefix=$prefix;;
|
|
405
|
+
esac
|
|
406
|
+
prefixes="$prefixes '$qprefix'"
|
|
407
|
+
fi
|
|
408
|
+
fi
|
|
409
|
+
prefix=$prefix/
|
|
433
410
|
done
|
|
434
411
|
|
|
435
412
|
if test -n "$prefixes"; then
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
413
|
+
# Don't fail if two instances are running concurrently.
|
|
414
|
+
(umask $mkdir_umask &&
|
|
415
|
+
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
|
416
|
+
test -d "$dstdir" || exit 1
|
|
417
|
+
obsolete_mkdir_used=true
|
|
441
418
|
fi
|
|
442
419
|
fi
|
|
443
420
|
fi
|
|
@@ -472,15 +449,12 @@ do
|
|
|
472
449
|
|
|
473
450
|
# If -C, don't bother to copy if it wouldn't change the file.
|
|
474
451
|
if $copy_on_change &&
|
|
475
|
-
old=`LC_ALL=C ls -dlL "$dst"
|
|
476
|
-
new=`LC_ALL=C ls -dlL "$dsttmp"
|
|
477
|
-
|
|
478
|
-
eval "$initialize_posix_glob" &&
|
|
479
|
-
$posix_glob set -f &&
|
|
452
|
+
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
|
453
|
+
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
|
454
|
+
set -f &&
|
|
480
455
|
set X $old && old=:$2:$4:$5:$6 &&
|
|
481
456
|
set X $new && new=:$2:$4:$5:$6 &&
|
|
482
|
-
|
|
483
|
-
|
|
457
|
+
set +f &&
|
|
484
458
|
test "$old" = "$new" &&
|
|
485
459
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
|
486
460
|
then
|
|
@@ -493,24 +467,24 @@ do
|
|
|
493
467
|
# to itself, or perhaps because mv is so ancient that it does not
|
|
494
468
|
# support -f.
|
|
495
469
|
{
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
470
|
+
# Now remove or move aside any old file at destination location.
|
|
471
|
+
# We try this two ways since rm can't unlink itself on some
|
|
472
|
+
# systems and the destination file might be busy for other
|
|
473
|
+
# reasons. In this case, the final cleanup might fail but the new
|
|
474
|
+
# file should still install successfully.
|
|
475
|
+
{
|
|
476
|
+
test ! -f "$dst" ||
|
|
477
|
+
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
|
478
|
+
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
|
479
|
+
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
|
480
|
+
} ||
|
|
481
|
+
{ echo "$0: cannot unlink or rename $dst" >&2
|
|
482
|
+
(exit 1); exit 1
|
|
483
|
+
}
|
|
484
|
+
} &&
|
|
485
|
+
|
|
486
|
+
# Now rename the file to the real destination.
|
|
487
|
+
$doit $mvcmd "$dsttmp" "$dst"
|
|
514
488
|
}
|
|
515
489
|
fi || exit 1
|
|
516
490
|
|