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