94 lines
2.1 KiB
Plaintext
94 lines
2.1 KiB
Plaintext
|
#!/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}"
|
||
|
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."
|
||
|
|