123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/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 an additional subdirectory below package/"
- echo "as category, or just press enter."
- read SUB_DIR
- if [ -z "$SUB_DIR" ]; then
- CATEGORY_DIR=package
- else
- CATEGORY_DIR=package/${SUB_DIR}
- 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_`
- PACKAGE_DIR=`dirname $0`/../${CATEGORY_DIR}/${PACKAGE_NAME}
- mkdir -p ${PACKAGE_DIR}
- sed -e 's/ *$//g' > ${PACKAGE_DIR}/${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,${CATEGORY_DIR},${PACKAGE_NAME}))
- EOF
- cat > ${PACKAGE_DIR}/Config.in <<EOF
- config BR2_PACKAGE_${NAME_UPPER}
- bool "${PACKAGE_NAME}"
- help
- ${DESCRIPTION}
- ${URL}
- EOF
- echo
- echo "**** Manual steps to integrate your new package ****"
- echo
- echo "Add the following line to ${CATEGORY_DIR}/Config.in"
- echo "in an appropriate location:"
- echo "source \"${CATEGORY_DIR}/${PACKAGE_NAME}/Config.in\""
- if [ -n "$SUB_DIR" ]; then
- echo
- echo "Additionally add the following line to package/Config.in"
- echo "in an appropriate location:"
- echo "source \"${CATEGORY_DIR}/Config.in\""
- fi
- if [ -n "$EXTRA_DEPS" ]; then
- echo
- echo "You need to add \"depends on\" and/or \"select\" lines"
- echo "to ${CATEGORY_DIR}/${PACKAGE_NAME}/Config.in"
- echo "corresponding to the \"${NAME_UPPER}_DEPENDENCIES\" line"
- echo "in ${CATEGORY_DIR}/${PACKAGE_NAME}/${PACKAGE_NAME}.mk"
- fi
- echo
- echo "After that run \"make menuconfig\", select your new package"
- echo "and run \"make\" to build \"${PACKAGE_NAME}\"."
|