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