find: support -HLP
[oweals/busybox.git] / docs / new-applet-HOWTO.txt
index 2bc938f148b0993a85a9b99cb50a310528b72aa4..6a8054d0e88e412d3b54bb35c0a44fd55137020c 100644 (file)
@@ -8,8 +8,8 @@ Matt Kraai - initial writeup
 Mark Whitley - the remix
 Thomas Lundquist - Trying to keep it updated.
 
-When doing this you should consider using the latest svn trunk.
-This is a good thing if you plan to getting it commited into mainline.
+When doing this you should consider using the latest git HEAD.
+This is a good thing if you plan to getting it committed into mainline.
 
 Initial Write
 -------------
@@ -19,8 +19,7 @@ such as who you stole the code from and so forth. Also include the mini-GPL
 boilerplate. Be sure to name the main function <applet>_main instead of main.
 And be sure to put it in <applet>.c. Usage does not have to be taken care of by
 your applet.
-Make sure to #include "libbb.h" as the first include file in your applet so
-the bb_config.h and appropriate platform specific files are included properly.
+Make sure to #include "libbb.h" as the first include file in your applet.
 
 For a new applet mu, here is the code that would go in mu.c:
 
@@ -36,16 +35,17 @@ For a new applet mu, here is the code that would go in mu.c:
  *
  * Copyright (C) [YEAR] by [YOUR NAME] <YOUR EMAIL>
  *
- * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
+ * Licensed under GPLv2, see file LICENSE in this source tree.
  */
 
 #include "libbb.h"
 #include "other.h"
 
-int mu_main(int argc, char **argv);
+int mu_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
 int mu_main(int argc, char **argv)
 {
        int fd;
+       ssize_t n;
        char mu;
 
        fd = xopen("/dev/random", O_RDONLY);
@@ -97,16 +97,16 @@ int function(char *a)
 
 ----end example code------
 
-Add <function_name>.o in the right alphabetically sorted place 
-in libbb/Kbuild. You should look at the conditional part of 
-libbb/Kbuild aswell.
+Add <function_name>.o in the right alphabetically sorted place
+in libbb/Kbuild.src. You should look at the conditional part of
+libbb/Kbuild.src as well.
 
-You should also try to find a suitable place in include/libbb.h for 
+You should also try to find a suitable place in include/libbb.h for
 the function declaration. If not, add it somewhere anyway, with or without
 ifdefs to include or not.
 
-You can look at libbb/Config.in and try to find out if the function is 
-tuneable and add it there if it is.
+You can look at libbb/Config.src and try to find out if the function is
+tunable and add it there if it is.
 
 
 Placement / Directory
@@ -117,13 +117,13 @@ Find the appropriate directory for your new applet.
 Make sure you find the appropriate places in the files, the applets are
 sorted alphabetically.
 
-Add the applet to Kbuild in the chosen directory:
+Add the applet to Kbuild.src in the chosen directory:
 
 lib-$(CONFIG_MU)               += mu.o
 
-Add the applet to Config.in in the chosen directory:
+Add the applet to Config.src in the chosen directory:
 
-config CONFIG_MU
+config MU
        bool "MU"
        default n
        help
@@ -133,7 +133,7 @@ config CONFIG_MU
 Usage String(s)
 ---------------
 
-Next, add usage information for you applet to include/usage.h.
+Next, add usage information for you applet to include/usage.src.h.
 This should look like the following:
 
        #define mu_trivial_usage \
@@ -148,32 +148,33 @@ This should look like the following:
 If your program supports flags, the flags should be mentioned on the first
 line (-[abcde]) and a detailed description of each flag should go in the
 mu_full_usage section, one flag per line. (Numerous examples of this
-currently exist in usage.h.)
+currently exist in usage.src.h.)
 
 
 Header Files
 ------------
 
-Next, add an entry to include/applets.h.  Be *sure* to keep the list
+Next, add an entry to include/applets.src.h.  Be *sure* to keep the list
 in alphabetical order, or else it will break the binary-search lookup
 algorithm in busybox.c and the Gods of BusyBox smite you. Yea, verily:
 
-Be sure to read the top of applets.h before adding your applet.
+Be sure to read the top of applets.src.h before adding your applet.
 
        /* all programs above here are alphabetically "less than" 'mu' */
-       USE_MU(APPLET(mu, _BB_DIR_USR_BIN, _BB_SUID_NEVER))
+       IF_MU(APPLET(mu, BB_DIR_USR_BIN, BB_SUID_DROP))
        /* all programs below here are alphabetically "greater than" 'mu' */
 
 
 The Grand Announcement
 ----------------------
 
-Then create a diff by adding the new files with svn (remember your libbb files)
-       svn add <where you put it>/mu.c
-eventually also: 
-       svn add libbb/function.c
+Then create a diff by adding the new files to git (remember your libbb files)
+       git add <where you put it>/mu.c
+eventually also:
+       git add libbb/function.c
 then
-       svn diff 
+       git commit
+       git format-patch HEAD^
 and send it to the mailing list:
        busybox@busybox.net
        http://busybox.net/mailman/listinfo/busybox