H.Merijn Brand
2009-02-10 14:58:17 UTC
In perl.git, the branch blead has been updated
<http://perl5.git.perl.org/perl.git/commitdiff/38fddf8b5d4021b3807b4f9658a4689b671308a1?hp=6ed34527c34dc05915ae3caa982e733d04613a1e>
- Log -----------------------------------------------------------------
commit 38fddf8b5d4021b3807b4f9658a4689b671308a1
Author: H.Merijn Brand <***@xs4all.nl>
Date: Tue Feb 10 15:58:14 2009 +0100
Restore old behavior for perl builds with (still) unflattened ext/.
Backported assorted changes and regenerated Configure
-----------------------------------------------------------------------
Summary of changes:
Configure | 40 ++++++++++++++++++++++++++++++++++------
config_h.SH | 40 ++++++++++++++++++++--------------------
2 files changed, 54 insertions(+), 26 deletions(-)
mode change 100644 => 100755 config_h.SH
diff --git a/Configure b/Configure
index a549650..928b843 100755
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Mon Jan 19 16:46:57 CET 2009 [metaconfig 3.5 PL0]
+# Generated on Tue Feb 10 15:55:56 CET 2009 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by ***@perl.org)
cat >c1$$ <<EOF
@@ -21612,7 +21612,8 @@ nonxs_extensions=''
: some additional extensions into the source tree and expect them
: to be built.
-: Function to find available extensions, ignoring DynaLoader
+: Function to recursively find available extensions, ignoring DynaLoader
+: NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
find_extensions='
for xxx in *; do
case "$xxx" in
@@ -21620,10 +21621,27 @@ find_extensions='
*)
this_ext=`echo $xxx | $sed -e s/-/\\\//g`;
leaf=`echo $xxx | $sed -e s/.*-//`;
- if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
- known_extensions="$known_extensions $this_ext";
- elif $test -d $xxx; then
- nonxs_extensions="$nonxs_extensions $this_ext";
+ if $test -d File-Glob; then
+ : All ext/ flattened
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $this_ext";
+ elif $test -d $xxx; then
+ nonxs_extensions="$nonxs_extensions $this_ext";
+ fi
+ else
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $1$this_ext";
+ elif $test -f $xxx/Makefile.PL; then
+ nonxs_extensions="$nonxs_extensions $1$this_ext";
+ else
+ if $test -d $xxx -a $# -lt 10; then
+ set $1$xxx/ $*;
+ cd "$xxx";
+ eval $find_extensions;
+ cd ..;
+ shift;
+ fi;
+ fi;
fi
;;
esac;
@@ -21633,6 +21651,16 @@ cd "$rsrc/ext"
set X
shift
eval $find_extensions
+if $test -d File-Glob; then
+ : All ext/ flattened
+else
+ # Special case: Add in modules that nest beyond the first level.
+ # Currently threads/shared and Hash/Util/FieldHash, since they are
+ # not picked up by the recursive find above (and adding in general
+ # recursive finding breaks SDBM_File/sdbm).
+ # A.D. 20011025 (SDBM), ajgough 20071008 (FieldHash)
+ known_extensions="$known_extensions threads/shared Hash/Util/FieldHash"
+fi
set X $known_extensions
shift
known_extensions="$*"
diff --git a/config_h.SH b/config_h.SH
old mode 100644
new mode 100755
index 55292c9..11808fc
--- a/config_h.SH
+++ b/config_h.SH
@@ -140,26 +140,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$d_dlerror HAS_DLERROR /**/
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW /**/
-#$d_dosuid DOSUID /**/
-
/* HAS_DUP2:
* This symbol, if defined, indicates that the dup2 routine is
* available to duplicate file descriptors.
@@ -3301,6 +3281,26 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$ebcdic EBCDIC /**/
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW /**/
+#$d_dosuid DOSUID /**/
+
/* PERL_USE_DEVEL:
* This symbol, if defined, indicates that Perl was configured with
* -Dusedevel, to enable development features. This should not be
--
Perl5 Master Repository
<http://perl5.git.perl.org/perl.git/commitdiff/38fddf8b5d4021b3807b4f9658a4689b671308a1?hp=6ed34527c34dc05915ae3caa982e733d04613a1e>
- Log -----------------------------------------------------------------
commit 38fddf8b5d4021b3807b4f9658a4689b671308a1
Author: H.Merijn Brand <***@xs4all.nl>
Date: Tue Feb 10 15:58:14 2009 +0100
Restore old behavior for perl builds with (still) unflattened ext/.
Backported assorted changes and regenerated Configure
-----------------------------------------------------------------------
Summary of changes:
Configure | 40 ++++++++++++++++++++++++++++++++++------
config_h.SH | 40 ++++++++++++++++++++--------------------
2 files changed, 54 insertions(+), 26 deletions(-)
mode change 100644 => 100755 config_h.SH
diff --git a/Configure b/Configure
index a549650..928b843 100755
--- a/Configure
+++ b/Configure
@@ -25,7 +25,7 @@
# $Id: Head.U 6 2006-08-25 22:21:46Z rmanfredi $
#
-# Generated on Mon Jan 19 16:46:57 CET 2009 [metaconfig 3.5 PL0]
+# Generated on Tue Feb 10 15:55:56 CET 2009 [metaconfig 3.5 PL0]
# (with additional metaconfig patches by ***@perl.org)
cat >c1$$ <<EOF
@@ -21612,7 +21612,8 @@ nonxs_extensions=''
: some additional extensions into the source tree and expect them
: to be built.
-: Function to find available extensions, ignoring DynaLoader
+: Function to recursively find available extensions, ignoring DynaLoader
+: NOTE: recursion limit of 10 to prevent runaway in case of symlink madness
find_extensions='
for xxx in *; do
case "$xxx" in
@@ -21620,10 +21621,27 @@ find_extensions='
*)
this_ext=`echo $xxx | $sed -e s/-/\\\//g`;
leaf=`echo $xxx | $sed -e s/.*-//`;
- if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
- known_extensions="$known_extensions $this_ext";
- elif $test -d $xxx; then
- nonxs_extensions="$nonxs_extensions $this_ext";
+ if $test -d File-Glob; then
+ : All ext/ flattened
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $this_ext";
+ elif $test -d $xxx; then
+ nonxs_extensions="$nonxs_extensions $this_ext";
+ fi
+ else
+ if $test -f $xxx/$leaf.xs -o -f $xxx/$leaf.c; then
+ known_extensions="$known_extensions $1$this_ext";
+ elif $test -f $xxx/Makefile.PL; then
+ nonxs_extensions="$nonxs_extensions $1$this_ext";
+ else
+ if $test -d $xxx -a $# -lt 10; then
+ set $1$xxx/ $*;
+ cd "$xxx";
+ eval $find_extensions;
+ cd ..;
+ shift;
+ fi;
+ fi;
fi
;;
esac;
@@ -21633,6 +21651,16 @@ cd "$rsrc/ext"
set X
shift
eval $find_extensions
+if $test -d File-Glob; then
+ : All ext/ flattened
+else
+ # Special case: Add in modules that nest beyond the first level.
+ # Currently threads/shared and Hash/Util/FieldHash, since they are
+ # not picked up by the recursive find above (and adding in general
+ # recursive finding breaks SDBM_File/sdbm).
+ # A.D. 20011025 (SDBM), ajgough 20071008 (FieldHash)
+ known_extensions="$known_extensions threads/shared Hash/Util/FieldHash"
+fi
set X $known_extensions
shift
known_extensions="$*"
diff --git a/config_h.SH b/config_h.SH
old mode 100644
new mode 100755
index 55292c9..11808fc
--- a/config_h.SH
+++ b/config_h.SH
@@ -140,26 +140,6 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$d_dlerror HAS_DLERROR /**/
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- * This symbol, if defined, indicates that the bug that prevents
- * setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- * This symbol, if defined, indicates that the C program should
- * check the script that it is executing for setuid/setgid bits, and
- * attempt to emulate setuid/setgid on systems that have disabled
- * setuid #! scripts because the kernel can't do it securely.
- * It is up to the package designer to make sure that this emulation
- * is done securely. Among other things, it should do an fstat on
- * the script it just opened to make sure it really is a setuid/setgid
- * script, it should make sure the arguments passed correspond exactly
- * to the argument on the #! line, and it should not trust any
- * subprocesses to which it must pass the filename rather than the
- * file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW /**/
-#$d_dosuid DOSUID /**/
-
/* HAS_DUP2:
* This symbol, if defined, indicates that the dup2 routine is
* available to duplicate file descriptors.
@@ -3301,6 +3281,26 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
*/
#$ebcdic EBCDIC /**/
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ * This symbol, if defined, indicates that the bug that prevents
+ * setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ * This symbol, if defined, indicates that the C program should
+ * check the script that it is executing for setuid/setgid bits, and
+ * attempt to emulate setuid/setgid on systems that have disabled
+ * setuid #! scripts because the kernel can't do it securely.
+ * It is up to the package designer to make sure that this emulation
+ * is done securely. Among other things, it should do an fstat on
+ * the script it just opened to make sure it really is a setuid/setgid
+ * script, it should make sure the arguments passed correspond exactly
+ * to the argument on the #! line, and it should not trust any
+ * subprocesses to which it must pass the filename rather than the
+ * file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW /**/
+#$d_dosuid DOSUID /**/
+
/* PERL_USE_DEVEL:
* This symbol, if defined, indicates that Perl was configured with
* -Dusedevel, to enable development features. This should not be
--
Perl5 Master Repository