| #!/bin/sh |
| |
| # this script is very *alpha* so be gentle... |
| |
| # change these lines to your arch and maintainer name |
| ARCH="avr32" |
| PACK_MAINTAINER="John Voltz <john.voltz@gmail.com>" |
| |
| BUILDROOT_DIR=`pwd` |
| |
| echo "Creating ipkgs from your build directory..." |
| echo "Please be patient, as this can take a long time. |
| " |
| |
| # create the ipkg directories |
| mkdir -p ${BUILDROOT_DIR}/ipkg-temp |
| mkdir -p ${BUILDROOT_DIR}/ipkg-out |
| |
| for PACKAGE in `ls -d ./build_*/*`; do |
| |
| # extract some info |
| NAME_WITHOUT_VER=${PACKAGE%-*} |
| VERSION=${PACKAGE#${NAME_WITHOUT_VER}-} |
| NAME_WITHOUT_DIR=${NAME_WITHOUT_VER#*/*/} |
| CLEAN_NAME=${NAME_WITHOUT_DIR//_/-} |
| |
| # clean out the temp directory |
| rm -rf ${BUILDROOT_DIR}/ipkg-temp/* |
| |
| # install the package to temp directory |
| cd ${PACKAGE} |
| echo "Installing ${NAME_WITHOUT_DIR} to ./ipkg-temp" |
| make DESTDIR=${BUILDROOT_DIR}/ipkg-temp DSTROOT=${BUILDROOT_DIR}/ipkg-temp install &> /dev/null |
| |
| # create the control file |
| cd ${BUILDROOT_DIR} |
| mkdir ${BUILDROOT_DIR}/ipkg-temp/CONTROL |
| |
| # find it's corresponding buildroot package directory |
| PACK_NAME=`find ./package -path './package/config' -prune -o -name ${NAME_WITHOUT_DIR}` |
| PACK_NAME=${PACK_NAME%./package/config} |
| PACK_NAME=${PACK_NAME#./package/config} |
| PACK_NAME=`echo -n ${PACK_NAME}` |
| |
| # there must be an better way to extract the description and |
| # dependencies from the Config.in and *.mk file. |
| # Haven't figured it out just yet. |
| CONF_FILE=`cat ${PACK_NAME}/Config.in` |
| #MAKE_FILE=`cat ${PACK_NAME}/*.mk` |
| HELP_STR=${CONF_FILE#*help} |
| HELP_STR=${HELP_STR%%comment*} |
| HELP_STR=${HELP_STR%%choice*} |
| HELP_STR=${HELP_STR%%depends*} |
| HELP_STR=${HELP_STR%%http*} |
| HELP_STR=`echo -n ${HELP_STR}` |
| |
| echo ${HELP_STR} |
| |
| if [ "${PACK_NAME}" != "" ]; then |
| echo "Creating ipkg of: ${PACKAGE}" |
| |
| cat > ${BUILDROOT_DIR}/ipkg-temp/CONTROL/control <<EOF |
| Package: ${CLEAN_NAME} |
| Priority: optional |
| Version: ${VERSION} |
| Architecture: ${ARCH} |
| Maintainer: ${PACK_MAINTAINER} |
| Depends: uclibc |
| Description: ${HELP_STR} |
| EOF |
| |
| # build the package |
| package/ipkg/ipkg-build ${BUILDROOT_DIR}/ipkg-temp ${BUILDROOT_DIR}/ipkg-out |
| |
| fi |
| |
| echo "Complete. |
| " |
| |
| done |
| |
| echo "ipkg builds are finished." |