summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--applets/Makefile.in2
-rw-r--r--include/busybox.h6
-rw-r--r--libbb/messages.c7
-rw-r--r--scripts/bb_mkdep.c17
-rw-r--r--shell/ash.c5
-rw-r--r--shell/hush.c5
-rw-r--r--shell/lash.c2
-rw-r--r--shell/msh.c4
-rw-r--r--sysklogd/klogd.c2
-rw-r--r--sysklogd/syslogd.c2
10 files changed, 33 insertions, 19 deletions
diff --git a/applets/Makefile.in b/applets/Makefile.in
index a4890c2..02bcda9 100644
--- a/applets/Makefile.in
+++ b/applets/Makefile.in
@@ -10,7 +10,7 @@ APPLETS_DIR:=$(top_builddir)/applets/
endif
srcdir=$(top_srcdir)/applets
-APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c)
+APPLET_SRC:= $(patsubst %,$(srcdir)/%,applets.c busybox.c version.c)
APPLET_OBJ:= $(patsubst $(srcdir)/%.c,$(APPLETS_DIR)%.o, $(APPLET_SRC))
APPLET_SRC-y+=$(APPLET_SRC)
diff --git a/include/busybox.h b/include/busybox.h
index 9fb9503..18f9dd5 100644
--- a/include/busybox.h
+++ b/include/busybox.h
@@ -21,11 +21,7 @@
#error "Sorry, this libc version is not supported :("
#endif
-#ifndef BB_EXTRA_VERSION
-#define BB_BANNER "BusyBox v" BB_VER " (" BB_BT ")"
-#else
-#define BB_BANNER "BusyBox v" BB_VER " (" BB_EXTRA_VERSION ")"
-#endif
+extern const char BB_BANNER[];
#include <features.h>
diff --git a/libbb/messages.c b/libbb/messages.c
index e11dddc..23f0ea2 100644
--- a/libbb/messages.c
+++ b/libbb/messages.c
@@ -22,7 +22,12 @@
#include "libbb.h"
#ifdef L_full_version
- const char * const bb_msg_full_version = BB_BANNER " multi-call binary";
+#ifndef BB_EXTRA_VERSION
+#define LIBBB_BANNER "BusyBox's library v" BB_VER " (" BB_BT ")"
+#else
+#define LIBBB_BANNER "BusyBox's library v" BB_VER " (" BB_EXTRA_VERSION ")"
+#endif
+ const char * const libbb_msg_full_version = LIBBB_BANNER;
#endif
#ifdef L_memory_exhausted
const char * const bb_msg_memory_exhausted = "memory exhausted";
diff --git a/scripts/bb_mkdep.c b/scripts/bb_mkdep.c
index a4f97c2..943745e 100644
--- a/scripts/bb_mkdep.c
+++ b/scripts/bb_mkdep.c
@@ -1,5 +1,5 @@
/*
- * Another fast dependencies generator for Makefiles, Version 4.1
+ * Another fast dependencies generator for Makefiles, Version 4.2
*
* Copyright (C) 2005,2006 by Vladimir Oleynik <dzo@simtreas.ru>
*
@@ -1261,6 +1261,7 @@ static void parse_inc(const char *include, const char *fname)
llist_t *lo;
char *ap;
size_t key_sz;
+ struct stat st;
if(*include == '/') {
lo = NULL;
@@ -1284,8 +1285,18 @@ static void parse_inc(const char *include, const char *fname)
free(ap);
return;
}
- if(access(ap, F_OK) == 0) {
+ if(stat(ap, &st) == 0) {
/* found */
+ llist_t *cfl;
+
+ for(cfl = configs; cfl; cfl = cfl->link) {
+ struct stat *config = (struct stat *)cfl->data;
+
+ if (st.st_dev == config->st_dev && st.st_ino == config->st_ino) {
+ /* skip depend with bb_configs.h */
+ return NULL;
+ }
+ }
p_i = ap;
break;
} else if(lo == NULL) {
@@ -1501,7 +1512,7 @@ parse_chd(const char *fe, const char *p, size_t dirlen)
struct stat *config = (struct stat *)cfl->data;
if (st.st_dev == config->st_dev && st.st_ino == config->st_ino) {
- /* skip already parsed configs.h */
+ /* skip already parsed bb_configs.h */
return NULL;
}
}
diff --git a/shell/ash.c b/shell/ash.c
index e9e6def..9eb395f 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -11833,8 +11833,9 @@ setinteractive(int on)
if(!do_banner) {
out1fmt(
- "\n\n" BB_BANNER " Built-in shell (ash)\n"
- "Enter 'help' for a list of built-in commands.\n\n");
+ "\n\n%s Built-in shell (ash)\n"
+ "Enter 'help' for a list of built-in commands.\n\n",
+ BB_BANNER);
do_banner++;
}
}
diff --git a/shell/hush.c b/shell/hush.c
index 8b6cbe7..387b6cd 100644
--- a/shell/hush.c
+++ b/shell/hush.c
@@ -104,7 +104,7 @@
#include "standalone.h"
#define hush_main main
#undef CONFIG_FEATURE_SH_FANCY_PROMPT
-#define BB_BANNER
+#define BB_BANNER ""
#endif
#define SPECIAL_VAR_SYMBOL 03
#define FLAG_EXIT_FROM_LOOP 1
@@ -2812,7 +2812,8 @@ int hush_main(int argc, char **argv)
if (interactive) {
/* Looks like they want an interactive shell */
#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET
- printf( "\n\n" BB_BANNER " hush - the humble shell v0.01 (testing)\n");
+ printf( "\n\n%s hush - the humble shell v0.01 (testing)\n",
+ BB_BANNER);
printf( "Enter 'help' for a list of built-in commands.\n\n");
#endif
setup_job_control();
diff --git a/shell/lash.c b/shell/lash.c
index 1b8aca5..968396e 100644
--- a/shell/lash.c
+++ b/shell/lash.c
@@ -1661,7 +1661,7 @@ int lash_main(int argc_l, char **argv_l)
//printf( "optind=%d argv[optind]='%s'\n", optind, argv[optind]);
/* Looks like they want an interactive shell */
#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET
- printf( "\n\n" BB_BANNER " Built-in shell (lash)\n");
+ printf( "\n\n%s Built-in shell (lash)\n", BB_BANNER);
printf( "Enter 'help' for a list of built-in commands.\n\n");
#endif
} else if (local_pending_command==NULL) {
diff --git a/shell/msh.c b/shell/msh.c
index d56db57..375b126 100644
--- a/shell/msh.c
+++ b/shell/msh.c
@@ -956,9 +956,9 @@ extern int msh_main(int argc, char **argv)
interactive++;
#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET
#ifdef MSHDEBUG
- printf("\n\n" BB_BANNER " Built-in shell (msh with debug)\n");
+ printf("\n\n%s Built-in shell (msh with debug)\n", BB_BANNER);
#else
- printf("\n\n" BB_BANNER " Built-in shell (msh)\n");
+ printf("\n\n%s Built-in shell (msh)\n", BB_BANNER);
#endif
printf("Enter 'help' for a list of built-in commands.\n\n");
#endif
diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c
index b8d69c4..5be833f 100644
--- a/sysklogd/klogd.c
+++ b/sysklogd/klogd.c
@@ -61,7 +61,7 @@ static void doKlogd(const int console_log_level)
if (console_log_level != -1)
klogctl(8, NULL, console_log_level);
- syslog(LOG_NOTICE, "klogd started: " BB_BANNER);
+ syslog(LOG_NOTICE, "klogd started: %s", BB_BANNER);
while (1) {
/* Use kernel syscalls */
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index c827fd8..447d891 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -568,7 +568,7 @@ static void doSyslogd(void)
}
#endif
- logMessage(LOG_SYSLOG | LOG_INFO, "syslogd started: " BB_BANNER);
+ logMessage(LOG_SYSLOG | LOG_INFO, "syslogd started: " "BusyBox v" BB_VER );
for (;;) {