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