]> git.pld-linux.org Git - packages/bash.git/commitdiff
- outdated.
authorkloczek <kloczek@pld-linux.org>
Thu, 23 Mar 2000 09:39:18 +0000 (09:39 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    bash-requires.patch -> 1.3

bash-requires.patch [deleted file]

diff --git a/bash-requires.patch b/bash-requires.patch
deleted file mode 100644 (file)
index dabb364..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-
-Jeff Johnson writes:
-> For background, Ken Estes has a hack to bash2 that will print out the
-> commands that will be executed by a shell script. The hack is included
-> in the distributed Red Hat 6.x bash2 package if you are interested.
-
-
-Here is the latest patch file.
-
-Notice that I changed the output from "bash()" to "executable()"
-Since the dependencies work for both bash and sh and really we depend
-on their being an executable not that this executable is in anyway
-related to bash.
-
-Ken
-
-
-
-diff -u -r bash-2.03.orig/builtins/mkbuiltins.c bash-2.03/builtins/mkbuiltins.c
---- bash-2.03.orig/builtins/mkbuiltins.c       Tue Sep 15 12:57:16 1998
-+++ bash-2.03/builtins/mkbuiltins.c    Fri Jul 16 10:45:54 1999
-@@ -51,8 +51,13 @@
- #define whitespace(c) (((c) == ' ') || ((c) == '\t'))
- /* Flag values that builtins can have. */
-+/*  These flags are for the C code generator, 
-+    the C which is produced (./builtin.c)
-+    includes the flags definitions found 
-+    in ../builtins.h */
- #define BUILTIN_FLAG_SPECIAL  0x01
- #define BUILTIN_FLAG_ASSIGNMENT 0x02
-+#define BUILTIN_FLAG_REQUIRES 0x04
- /* If this stream descriptor is non-zero, then write
-    texinfo documentation to it. */
-@@ -126,9 +131,17 @@
-   (char *)NULL
- };
-+/* The builtin commands that cause requirements on other files. */
-+char *requires_builtins[] =
-+{
-+  ".", "command", "exec", "source", "inlib",
-+  (char *)NULL
-+};
-+
- /* Forward declarations. */
- static int is_special_builtin ();
- static int is_assignment_builtin ();
-+static int is_requires_builtin ();
- #if !defined (HAVE_RENAME)
- static int rename ();
-@@ -759,6 +772,8 @@
-     new->flags |= BUILTIN_FLAG_SPECIAL;
-   if (is_assignment_builtin (name))
-     new->flags |= BUILTIN_FLAG_ASSIGNMENT;
-+  if (is_requires_builtin (name))
-+    new->flags |= BUILTIN_FLAG_REQUIRES;
-   array_add ((char *)new, defs->builtins);
-   building_builtin = 1;
-@@ -1164,10 +1179,11 @@
-                 else
-                   fprintf (structfile, "(Function *)0x0, ");
--                fprintf (structfile, "%s%s%s, %s_doc,\n",
-+                fprintf (structfile, "%s%s%s%s, %s_doc,\n",
-                   "BUILTIN_ENABLED | STATIC_BUILTIN",
-                   (builtin->flags & BUILTIN_FLAG_SPECIAL) ? " | SPECIAL_BUILTIN" : "",
-                   (builtin->flags & BUILTIN_FLAG_ASSIGNMENT) ? " | ASSIGNMENT_BUILTIN" : "",
-+                  (builtin->flags & BUILTIN_FLAG_REQUIRES) ? " | REQUIRES_BUILTIN" : "",
-                   builtin->docname ? builtin->docname : builtin->name);
-                 fprintf
-@@ -1401,6 +1417,13 @@
-      char *name;
- {
-   return (_find_in_table (name, assignment_builtins));
-+}
-+
-+static int
-+is_requires_builtin (name)
-+     char *name;
-+{
-+  return (_find_in_table (name, requires_builtins));
- }
- #if !defined (HAVE_RENAME)
-diff -u -r bash-2.03.orig/builtins.h bash-2.03/builtins.h
---- bash-2.03.orig/builtins.h  Fri Jul 18 16:46:36 1997
-+++ bash-2.03/builtins.h       Thu Jul 15 16:59:03 1999
-@@ -40,6 +40,7 @@
- #define STATIC_BUILTIN  0x4   /* This builtin is not dynamically loaded. */
- #define SPECIAL_BUILTIN 0x8   /* This is a Posix `special' builtin. */
- #define ASSIGNMENT_BUILTIN 0x10       /* This builtin takes assignment statements. */
-+#define REQUIRES_BUILTIN 0x20 /* This builtin requires other files. */
- /* The thing that we build the array of builtins out of. */
- struct builtin {
-diff -u -r bash-2.03.orig/doc/bash.1 bash-2.03/doc/bash.1
---- bash-2.03.orig/doc/bash.1  Wed Jan 20 16:48:04 1999
-+++ bash-2.03/doc/bash.1       Fri Jul 16 11:20:00 1999
-@@ -195,6 +195,12 @@
- .B "RESTRICTED SHELL"
- below).
- .TP
-+.B \-\-rpm-requires
-+Produce the list of files that are required for the 
-+shell script to run.  This implies '-n' and is subject
-+to the same limitations as compile time error checking checking;
-+Backticks, [] tests,  and evals are not parsed so some 
-+dependencies may be missed.
- .B \-\-verbose
- Equivalent to  \fB\-v\fP.
- .TP
-diff -u -r bash-2.03.orig/doc/bashref.texi bash-2.03/doc/bashref.texi
---- bash-2.03.orig/doc/bashref.texi    Wed Jan 20 16:47:01 1999
-+++ bash-2.03/doc/bashref.texi Fri Jul 16 11:21:30 1999
-@@ -3178,6 +3178,13 @@
- @item --restricted
- Make the shell a restricted shell (@pxref{The Restricted Shell}).
-+@item --rpm-requires
-+Produce the list of files that are required for the 
-+shell script to run.  This implies '-n' and is subject
-+to the same limitations as compile time error checking checking;
-+Backticks, [] tests,  and evals are not parsed so some 
-+dependencies may be missed.
-+
- @item --verbose
- Equivalent to @samp{-v}.
-diff -u -r bash-2.03.orig/make_cmd.c bash-2.03/make_cmd.c
---- bash-2.03.orig/make_cmd.c  Tue Jan 12 12:45:36 1999
-+++ bash-2.03/make_cmd.c       Thu Dec  2 16:08:19 1999
-@@ -41,6 +41,9 @@
- #include "subst.h"
- #include "input.h"
- #include "externs.h"
-+#include "builtins.h"
-+
-+#include "builtins/common.h"
- #if defined (JOB_CONTROL)
- #include "jobs.h"
-@@ -48,6 +51,10 @@
- extern int line_number, current_command_line_count;
- extern int disallow_filename_globbing;
-+extern int rpm_requires;
-+
-+char *alphabet_set = "abcdefghijklmnopqrstuvwxyz"
-+                     "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
- WORD_DESC *
- make_bare_word (string)
-@@ -588,6 +595,36 @@
-   return (make_command (cm_function_def, (SIMPLE_COM *)temp));
- }
-+void
-+output_requirement (file)
-+char *file;
-+{
-+  if ( (file[0] != '/') || strchr(file, '$')) {
-+    /* if we are not given a full path name we require the basename
-+       otherwise we require the full path.  This does not work in the
-+       Win/Dos world but I don't know what to do there.*/
-+    char *basename;
-+    basename = strrchr(file, '/');
-+    if (basename) {    
-+      basename++;
-+      file=basename;
-+    }
-+  }  
-+
-+    /* 
-+       if the executable is called via variable substitution we can
-+       not dermine what it is at compile time.  
-+
-+       if the executable consists only of characters not in the
-+       alphabet we do not consider it a dependency just an artifact of
-+       shell parsing (ex "exec < ${infile}").
-+    */
-+
-+  if ( !strchr(file, '$') && strpbrk(file, alphabet_set) ) {
-+    printf ("executable(%s)\n", file);
-+  }
-+}
-+
- /* Reverse the word list and redirection list in the simple command
-    has just been parsed.  It seems simpler to do this here the one
-    time then by any other method that I can think of. */
-@@ -604,6 +641,35 @@
-       command->value.Simple->redirects =
-       REVERSE_LIST (command->value.Simple->redirects, REDIRECT *);
-     }
-+
-+  if (rpm_requires && command->value.Simple->words)
-+    {
-+      char *cmd0;
-+      char *cmd1;
-+      struct builtin *b;
-+
-+      cmd0 = command->value.Simple->words->word->word;
-+      b = builtin_address_internal (cmd0, 0);
-+      cmd1 = 0;
-+      if (command->value.Simple->words->next) {
-+      cmd1 = command->value.Simple->words->next->word->word;
-+      }
-+      if (b) {
-+      if ( (b->flags & REQUIRES_BUILTIN) && cmd1){
-+        output_requirement(cmd1);
-+      }
-+      } else {
-+      if (!assignment(cmd0)) {
-+        output_requirement(cmd0);
-+      } else {
-+
-+        /* This will not work, the subshell that this runs in does
-+             not get the "requires" commandline argument. */
-+
-+        execute_command(command);
-+      }
-+      }
-+    } /*rpm_requires*/
-   return (command);
- }
-diff -u -r bash-2.03.orig/shell.c bash-2.03/shell.c
---- bash-2.03.orig/shell.c     Thu Feb 18 11:42:27 1999
-+++ bash-2.03/shell.c  Fri Jul 16 11:30:57 1999
-@@ -170,6 +170,9 @@
- /* The name of the .(shell)rc file. */
- static char *bashrc_file = "~/.bashrc";
-+/* Non-zero if we are finding the scripts requirements. */
-+int rpm_requires;
-+
- /* Non-zero means to act more like the Bourne shell on startup. */
- static int act_like_sh;
-@@ -215,6 +218,7 @@
-   { "norc", Int, &no_rc, (char **)0x0 },
-   { "posix", Int, &posixly_correct, (char **)0x0 },
-   { "rcfile", Charp, (int *)0x0, &bashrc_file },
-+  { "rpm-requires", Int, &rpm_requires, (char **)0x0 },
- #if defined (RESTRICTED_SHELL)
-   { "restricted", Int, &restricted, (char **)0x0 },
- #endif
-@@ -398,6 +402,12 @@
-   if (dump_translatable_strings)
-     read_but_dont_execute = 1;
-+
-+  if (rpm_requires)
-+    {
-+      read_but_dont_execute = 1;
-+      initialize_shell_builtins ();
-+    }
-   if (running_setuid && privileged_mode == 0)
-     disable_priv_mode ();
-
--- 
-To unsubscribe: mail -s unsubscribe rpm-list-request@redhat.com < /dev/null
-
This page took 0.089564 seconds and 4 git commands to generate.