Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8
提交
9ff6c960
D
dragonwell8
项目概览
openanolis
/
dragonwell8
通知
5
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
9ff6c960
编写于
12月 19, 2012
作者:
K
katleman
浏览文件
操作
浏览文件
下载
差异文件
Merge
上级
c9dc7bcb
7f6bdcb5
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
1092 addition
and
546 deletion
+1092
-546
common/autoconf/basics.m4
common/autoconf/basics.m4
+27
-16
common/autoconf/generated-configure.sh
common/autoconf/generated-configure.sh
+869
-528
common/bin/hgforest.sh
common/bin/hgforest.sh
+194
-0
get_source.sh
get_source.sh
+2
-2
未找到文件。
common/autoconf/basics.m4
浏览文件 @
9ff6c960
...
...
@@ -90,13 +90,25 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
tmp="$complete EOL"
arguments="${tmp#* }"
new_path=`$WHICH $path 2> /dev/null`
# Cannot rely on the command "which" here since it doesn't always work.
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test -z "$is_absolute_path"; then
# Path to executable is not absolute. Find it.
IFS_save="$IFS"
IFS=:
for p in $PATH; do
if test -f "$p/$path" && test -x "$p/$path"; then
new_path="$p/$path"
break
fi
done
IFS="$IFS_save"
else
AC_MSG_NOTICE([Resolving $1 (as $path) failed, using $path directly.])
new_path="$path"
fi
if test "x$new_path" = x; then
is_absolute_path=`$ECHO "$path" | $GREP ^/`
if test "x$is_absolute_path" != x; then
AC_MSG_NOTICE([Resolving $1 (as $path) with 'which' failed, using $path directly.])
new_path="$path"
else
AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.])
has_space=`$ECHO "$complete" | $GREP " "`
if test "x$has_space" != x; then
...
...
@@ -104,20 +116,19 @@ AC_DEFUN([BASIC_FIXUP_EXECUTABLE],
fi
AC_MSG_ERROR([Cannot locate the the path of $1])
fi
fi
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
# Now join together the path and the arguments once again
if test "x$arguments" != xEOL; then
new_complete="$new_path ${arguments% *}"
else
new_complete="$new_path"
fi
if test "x$complete" != "x$new_complete"; then
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
$1="$new_complete"
AC_MSG_NOTICE([Rewriting $1 to "$new_complete"])
fi
])
AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],
...
...
common/autoconf/generated-configure.sh
浏览文件 @
9ff6c960
此差异已折叠。
点击以展开。
common/bin/hgforest.sh
0 → 100644
浏览文件 @
9ff6c960
#!/bin/sh
#
# Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code 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
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
# Shell script for a fast parallel forest command
command
=
"
$1
"
pull_extra_base
=
"
$2
"
# Python always buffers stdout significantly, thus we will not see any output from hg clone jdk,
# until a lot of time has passed! By passing -u to python, we get incremental updates
# on stdout. Much nicer.
whichhg
=
"
`
which hg
`
"
if
[
"
${
whichhg
}
"
=
""
]
;
then
echo
Cannot find hg!
exit
1
fi
if
[
""
=
"
$command
"
]
;
then
echo
No
command
to hg supplied!
exit
1
fi
has_hash_bang
=
"
`
head
-n
1
"
${
whichhg
}
"
|
cut
-b
1-2
`
"
python
=
""
bpython
=
""
if
[
"#!"
=
"
$has_hash_bang
"
]
;
then
python
=
"
`
head
-n
1
${
whichhg
}
|
cut
-b
3-
`
"
bpython
=
"
`
basename
"
$python
"
`
"
fi
if
[
"python"
=
"
$bpython
"
-a
-x
"
$python
"
]
;
then
hg
=
"
${
python
}
-u
${
whichhg
}
"
else
echo
Cannot find python from hg launcher. Running plain hg, which probably has buffered stdout.
hg
=
"hg"
fi
# Clean out the temporary directory that stores the pid files.
tmp
=
/tmp/forest.
$$
rm
-f
-r
${
tmp
}
mkdir
-p
${
tmp
}
safe_interrupt
()
{
if
[
-d
${
tmp
}
]
;
then
if
[
"
`
ls
${
tmp
}
`
"
!=
""
]
;
then
echo
"Waiting for processes (
`
cat
${
tmp
}
/
*
|
tr
'\n'
' '
`
) to terminate nicely!"
sleep
1
# Pipe stderr to dev/null to silence kill, that complains when trying to kill
# a subprocess that has already exited.
kill
-TERM
`
cat
${
tmp
}
/
*
|
tr
'\n'
' '
`
2> /dev/null
wait
echo
Interrupt
complete
!
fi
fi
rm
-f
-r
${
tmp
}
exit
1
}
nice_exit
()
{
if
[
-d
${
tmp
}
]
;
then
if
[
"
`
ls
${
tmp
}
`
"
!=
""
]
;
then
wait
fi
fi
rm
-f
-r
${
tmp
}
}
trap
'safe_interrupt'
INT QUIT
trap
'nice_exit'
EXIT
# Only look in specific locations for possible forests (avoids long searches)
pull_default
=
""
repos
=
""
repos_extra
=
""
if
[
"
${
command
}
"
=
"clone"
-o
"
${
command
}
"
=
"fclone"
]
;
then
subrepos
=
"corba jaxp jaxws langtools jdk hotspot"
if
[
-f
.hg/hgrc
]
;
then
pull_default
=
`
hg paths default
`
if
[
"
${
pull_default
}
"
=
""
]
;
then
echo
"ERROR: Need initial clone with 'hg paths default' defined"
exit
1
fi
fi
if
[
"
${
pull_default
}
"
=
""
]
;
then
echo
"ERROR: Need initial repository to use this script"
exit
1
fi
for
i
in
${
subrepos
}
;
do
if
[
!
-f
${
i
}
/.hg/hgrc
]
;
then
repos
=
"
${
repos
}
${
i
}
"
fi
done
if
[
"
${
pull_extra_base
}
"
!=
""
]
;
then
subrepos_extra
=
"jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs"
pull_default_tail
=
`
echo
${
pull_default
}
|
sed
-e
's@^.*://[^/]*/\(.*\)@\1@'
`
pull_extra
=
"
${
pull_extra_base
}
/
${
pull_default_tail
}
"
for
i
in
${
subrepos_extra
}
;
do
if
[
!
-f
${
i
}
/.hg/hgrc
]
;
then
repos_extra
=
"
${
repos_extra
}
${
i
}
"
fi
done
fi
at_a_time
=
2
# Any repos to deal with?
if
[
"
${
repos
}
"
=
""
-a
"
${
repos_extra
}
"
=
""
]
;
then
exit
fi
else
hgdirs
=
`
ls
-d
./.hg ./
*
/.hg ./
*
/
*
/.hg ./
*
/
*
/
*
/.hg ./
*
/
*
/
*
/
*
/.hg 2>/dev/null
`
# Derive repository names from the .hg directory locations
for
i
in
${
hgdirs
}
;
do
repos
=
"
${
repos
}
`
echo
${
i
}
|
sed
-e
's@/.hg$@@'
`
"
done
for
i
in
${
repos
}
;
do
if
[
-h
${
i
}
/.hg/store/lock
-o
-f
${
i
}
/.hg/store/lock
]
;
then
locked
=
"
${
i
}
${
locked
}
"
fi
done
at_a_time
=
8
# Any repos to deal with?
if
[
"
${
repos
}
"
=
""
]
;
then
echo
"No repositories to process."
exit
fi
if
[
"
${
locked
}
"
!=
""
]
;
then
echo
"These repositories are locked:
${
locked
}
"
exit
fi
fi
# Echo out what repositories we do a command on.
echo
"# Repositories:
${
repos
}
${
repos_extra
}
"
echo
# Run the supplied command on all repos in parallel.
n
=
0
for
i
in
${
repos
}
${
repos_extra
}
;
do
n
=
`
expr
${
n
}
'+'
1
`
repopidfile
=
`
echo
${
i
}
|
sed
-e
's@./@@'
-e
's@/@_@g'
`
reponame
=
`
echo
${
i
}
|
sed
-e
:a
-e
's/^.\{1,20\}$/ &/;ta'
`
pull_base
=
"
${
pull_default
}
"
for
j
in
$repos_extra
;
do
if
[
"
$i
"
=
"
$j
"
]
;
then
pull_base
=
"
${
pull_extra
}
"
fi
done
(
(
if
[
"
${
command
}
"
=
"clone"
-o
"
${
command
}
"
=
"fclone"
]
;
then
pull_newrepo
=
"
`
echo
${
pull_base
}
/
${
i
}
|
sed
-e
's@\([^:]/\)//*@\1@g'
`
"
echo
${
hg
}
clone
${
pull_newrepo
}
${
i
}
${
hg
}
clone
${
pull_newrepo
}
${
i
}
&
else
echo
"cd
${
i
}
&&
${
hg
}
$*
"
cd
${
i
}
&&
${
hg
}
"
$@
"
&
fi
echo
$!
>
${
tmp
}
/
${
repopidfile
}
.pid
)
2>&1 |
sed
-e
"s@^@
${
reponame
}
: @"
)
&
if
[
`
expr
${
n
}
'%'
${
at_a_time
}
`
-eq
0
]
;
then
sleep
2
echo
Waiting 5 secs before spawning next background command.
sleep
3
fi
done
# Wait for all hg commands to complete
wait
# Terminate with exit 0 all the time (hard to know when to say "failed")
exit
0
get_source.sh
浏览文件 @
9ff6c960
...
...
@@ -26,8 +26,8 @@
#
# Get clones of all nested repositories
sh ./
make/scripts/hgforest.sh clone
$*
sh ./
common/bin/hgforest.sh clone
"
$@
"
# Update all existing repositories to the latest sources
sh ./
make/scripts
/hgforest.sh pull
-u
sh ./
common/bin
/hgforest.sh pull
-u
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录