Mark Whitley - the remix
Thomas Lundquist - Trying to keep it updated.
-When doing this you should consider using the latest svn trunk.
+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
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:
*
* 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"
----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.
+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
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
+You can look at libbb/Config.src and try to find out if the function is
tunable and add it there if it is.
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 MU
bool "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 \
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' */
- IF_MU(APPLET(mu, _BB_DIR_USR_BIN, _BB_SUID_DROP))
+ 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
+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:
- svn add libbb/function.c
+ 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