summaryrefslogtreecommitdiffstats
path: root/scripts/add_new_package.wizard
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/add_new_package.wizard')
-rwxr-xr-xscripts/add_new_package.wizard94
1 files changed, 94 insertions, 0 deletions
diff --git a/scripts/add_new_package.wizard b/scripts/add_new_package.wizard
new file mode 100755
index 000000000..773343d3f
--- /dev/null
+++ b/scripts/add_new_package.wizard
@@ -0,0 +1,94 @@
+#!/bin/sh
+
+echo "**** Autotools Add New Package Wizard ****"
+echo " This script will generate files to add a"
+echo " new package to buildroot."
+echo
+
+echo "What is the name of the package?"
+read PACKAGE_NAME
+
+echo "What is the version number?"
+read VERSION_NUM
+
+echo "What is the web address of the tarball?"
+read DOWNLOAD_LOC
+
+echo "Enter any known dependencies, separated"
+echo "by spaces, or just press enter."
+read EXTRA_DEPS
+
+echo "Enter a description of the package."
+read DESCRIPTION
+
+echo "Does autoreconf need to be run first? (y/n)"
+read ANSWER
+
+if [ "$ANSWER" = "y" ]; then
+ RECONF="YES"
+else
+ RECONF="NO"
+fi
+
+echo "Does it need to be installed to the staging dir?"
+echo "Say yes, if other packages depend on it."
+echo "(If not sure, just say yes. It will only use more"
+echo "space on your hard drive.)"
+read ANSWER
+
+if [ "$ANSWER" = "y" ]; then
+ STAGING="YES"
+else
+ STAGING="NO"
+fi
+
+echo "Enter any configure script options."
+read CONFIG_OPTIONS
+
+URL=${DOWNLOAD_LOC%/*}
+TARBALL=${DOWNLOAD_LOC##*/}
+EXTENSION=${TARBALL##*.tar.}
+NAME_UPPER=`echo ${PACKAGE_NAME} | tr [a-z] [A-Z]`
+NAME_UPPER=${NAME_UPPER//-/_}
+
+mkdir ../package/${PACKAGE_NAME}
+
+cat > ../package/${PACKAGE_NAME}/${PACKAGE_NAME}.mk <<EOF
+#############################################################
+#
+# ${PACKAGE_NAME}
+#
+#############################################################
+${NAME_UPPER}_VERSION = ${VERSION_NUM}
+${NAME_UPPER}_SOURCE = ${PACKAGE_NAME}-\$(${NAME_UPPER}_VERSION).tar.${EXTENSION}
+${NAME_UPPER}_SITE = ${URL}
+${NAME_UPPER}_AUTORECONF = ${RECONF}
+${NAME_UPPER}_INSTALL_STAGING = ${STAGING}
+${NAME_UPPER}_INSTALL_TARGET = YES
+
+${NAME_UPPER}_CONF_OPT = ${CONFIG_OPTIONS}
+
+${NAME_UPPER}_DEPENDENCIES = uclibc ${EXTRA_DEPS}
+
+\$(eval \$(call AUTOTARGETS,package,${PACKAGE_NAME}))
+
+EOF
+
+cat > ../package/${PACKAGE_NAME}/Config.in <<EOF
+config BR2_PACKAGE_${NAME_UPPER}
+ bool "${PACKAGE_NAME}"
+ default n
+ help
+ ${DESCRIPTION}
+
+ ${URL}
+EOF
+
+echo "Just add: source \"package/${PACKAGE_NAME}/Config.in\""
+echo "to the file package/Config.in in an appropriate"
+echo "location."
+echo
+echo "You are now ready to build ${PACKAGE_NAME}"
+echo "Just run make menuconfig and select your new"
+echo "package, then run make."
+