buildroot/scripts/add_new_package.wizard
2008-03-06 17:52:37 +00:00

95 lines
2.2 KiB
Bash
Executable File

#!/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."