new config display applet, from bug 46. i've changed the name
authorPaul Fox <pgf@brightstareng.com>
Mon, 1 Aug 2005 16:04:40 +0000 (16:04 -0000)
committerPaul Fox <pgf@brightstareng.com>
Mon, 1 Aug 2005 16:04:40 +0000 (16:04 -0000)
of the applet from "config" to "bbconfig", and renamed the
source filenames and symbols to match appropriately.

Makefile
include/applets.h
include/usage.h
miscutils/Config.in
miscutils/Makefile.in
miscutils/bbconfig.c [new file with mode: 0644]
scripts/config/mkconfigs [new file with mode: 0755]

index 12a4f36d0eb4d658e4f41f8e81ba3a5024bf1c7e..e6c5a35d0e2f9beb6260609433b2b8dffd223204 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -200,7 +200,7 @@ scripts/split-include: $(top_srcdir)/scripts/split-include.c
        scripts/mkdep -I include -- \
          `find $(top_srcdir) -name \*.h -print | sed -e "s,^./,,"` >> .hdepend;
 
-depend dep: .depend
+depend dep: .depend include/bbconfigopts.h
 
 include/config/MARKER: depend scripts/split-include
        scripts/split-include include/config.h include/config
@@ -219,6 +219,10 @@ include/bb_config.h: include/config.h
                < $< >> $@
        echo "#endif" >> $@
 
+include/bbconfigopts.h: .config
+       scripts/config/mkconfigs >include/bbconfigopts.h
+       
+
 finished2:
        $(SECHO)
        $(SECHO) Finished installing...
index 6bce2ee753858f8cbbcf4d6ccfb3c627fe71c3be..8ef5f460f9b974cbd461f191b893380e89f49f32 100644 (file)
@@ -76,6 +76,9 @@
 #ifdef CONFIG_BASENAME
        APPLET(basename, basename_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
 #endif
+#ifdef CONFIG_BBCONFIG
+       APPLET(bbconfig, bbconfig_main, _BB_DIR_BIN, _BB_SUID_NEVER)
+#endif
 #ifdef CONFIG_BUNZIP2
        APPLET(bunzip2, bunzip2_main, _BB_DIR_USR_BIN, _BB_SUID_NEVER)
 #endif
index 21980eebac160806fac39c9ccbe5ccb92caeed96..291ccb91a7a4ae6f2c301a5c424f2b3c2ba6d6ce 100644 (file)
        "\t-2\tSuppress lines unique to FILE2\n" \
        "\t-3\tSuppress lines common to both files"
 
+#define bbconfig_trivial_usage \
+       ""
+#define bbconfig_full_usage \
+       "Print the config file which built busybox\n"
+       
 #define cp_trivial_usage \
        "[OPTION]... SOURCE DEST"
 #define cp_full_usage \
index 57afd32ed0870ab0be361a953b0eae89ba3f8fe8..69a330058e101153f4c57b028c0a56b6f2ce5963 100644 (file)
@@ -34,6 +34,13 @@ config CONFIG_FEATURE_CROND_CALL_SENDMAIL
        help
          Support calling /usr/sbin/sendmail for send cmd outputs.
 
+config CONFIG_BBCONFIG
+       bool "bbconfig"
+       default n
+       help
+         The bbconfig applet will print the config file with which
+         busybox was built.
+
 config CONFIG_CRONTAB
        bool "crontab"
        default n
index 5cff2fe6977c567313e7a25e3e22a2f7a1c247e0..d4c5ff76b6377e2475bf3b23d9007ce62fa44eaf 100644 (file)
@@ -27,6 +27,7 @@ MISCUTILS-y:=
 MISCUTILS-$(CONFIG_ADJTIMEX)    += adjtimex.o
 MISCUTILS-$(CONFIG_CROND)       += crond.o
 MISCUTILS-$(CONFIG_CRONTAB)     += crontab.o
+MISCUTILS-$(CONFIG_BBCONFIG)    += bbconfig.o
 MISCUTILS-$(CONFIG_DC)          += dc.o
 MISCUTILS-$(CONFIG_DEVFSD)      += devfsd.o
 MISCUTILS-$(CONFIG_EJECT)       += eject.o
diff --git a/miscutils/bbconfig.c b/miscutils/bbconfig.c
new file mode 100644 (file)
index 0000000..f2c692c
--- /dev/null
@@ -0,0 +1,8 @@
+#include "busybox.h"
+#include "bbconfigopts.h"
+
+int bbconfig_main(int argc, char **argv)
+{
+       printf(bbconfig_config);
+       return 0;
+}
diff --git a/scripts/config/mkconfigs b/scripts/config/mkconfigs
new file mode 100755 (executable)
index 0000000..f09c04c
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+#
+# Copyright (C) 2002 Khalid Aziz <khalid_aziz at hp.com>
+# Copyright (C) 2002 Randy Dunlap <rddunlap at osdl.org>
+# Copyright (C) 2002 Al Stone <ahs3 at fc.hp.com>
+# Copyright (C) 2002 Hewlett-Packard Company
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program 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 for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+#
+#   Busybox version by Matteo Croce <3297627799 at wind.it>
+#
+# Rules to generate bbconfig.h from .config:
+#      - Retain lines that begin with "CONFIG_"
+#      - Retain lines that begin with "# CONFIG_"
+#      - lines that use double-quotes must \\-escape-quote them
+
+if [ $# -lt 1 ]
+then
+       config=.config
+else   config=$1
+fi
+
+echo "#ifndef _BBCONFIG_H"
+echo "#define _BBCONFIG_H"
+echo \
+"/*
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or (at
+ * your option) any later version.
+ *
+ * This program 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, GOOD TITLE or
+ * NON INFRINGEMENT.  See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ *
+ * 
+ * This file is generated automatically by scripts/config/mkconfigs. Do not edit.
+ *
+ */"
+
+echo "static char const bbconfig_config[] = "
+echo "\"CONFIG_BEGIN=n\\n\\"
+echo "`cat $config | sed 's/\"/\\\\\"/g' | grep "^#\? \?CONFIG_" | awk '{ print $0 "\\\\n\\\\" }' `"
+echo "CONFIG_END=n\\n\";"
+echo "#endif /* _BBCONFIG_H */"