mirror of
https://git.busybox.net/buildroot.git
synced 2024-11-23 21:43:30 +08:00
7d369f837f
Signed-off-by: Markus Heidelberg <markus.heidelberg@web.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
121 lines
2.9 KiB
Bash
Executable File
121 lines
2.9 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 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}\"."
|