mesa: needs C++ support
[avatt.git] / scripts / create_ipkgs
blob3b9b8af39362c30e0973b43a81167047a4f79819
1 #!/bin/sh
3 # this script is very *alpha* so be gentle...
5 # change these lines to your arch and maintainer name
6 ARCH="avr32"
7 PACK_MAINTAINER="John Voltz <john.voltz@gmail.com>"
9 BUILDROOT_DIR=`pwd`
11 echo "Creating ipkgs from your build directory..."
12 echo "Please be patient, as this can take a long time.
15 # create the ipkg directories
16 mkdir -p ${BUILDROOT_DIR}/ipkg-temp
17 mkdir -p ${BUILDROOT_DIR}/ipkg-out
19 for PACKAGE in `ls -d ./build_*/*`; do
21 # extract some info
22 NAME_WITHOUT_VER=${PACKAGE%-*}
23 VERSION=${PACKAGE#${NAME_WITHOUT_VER}-}
24 NAME_WITHOUT_DIR=${NAME_WITHOUT_VER#*/*/}
25 CLEAN_NAME=${NAME_WITHOUT_DIR//_/-}
27 # clean out the temp directory
28 rm -rf ${BUILDROOT_DIR}/ipkg-temp/*
30 # install the package to temp directory
31 cd ${PACKAGE}
32 echo "Installing ${NAME_WITHOUT_DIR} to ./ipkg-temp"
33 make DESTDIR=${BUILDROOT_DIR}/ipkg-temp DSTROOT=${BUILDROOT_DIR}/ipkg-temp install &> /dev/null
35 # create the control file
36 cd ${BUILDROOT_DIR}
37 mkdir ${BUILDROOT_DIR}/ipkg-temp/CONTROL
39 # find it's corresponding buildroot package directory
40 PACK_NAME=`find ./package -path './package/config' -prune -o -name ${NAME_WITHOUT_DIR}`
41 PACK_NAME=${PACK_NAME%./package/config}
42 PACK_NAME=${PACK_NAME#./package/config}
43 PACK_NAME=`echo -n ${PACK_NAME}`
45 # there must be an better way to extract the description and
46 # dependencies from the Config.in and *.mk file.
47 # Haven't figured it out just yet.
48 CONF_FILE=`cat ${PACK_NAME}/Config.in`
49 #MAKE_FILE=`cat ${PACK_NAME}/*.mk`
50 HELP_STR=${CONF_FILE#*help}
51 HELP_STR=${HELP_STR%%comment*}
52 HELP_STR=${HELP_STR%%choice*}
53 HELP_STR=${HELP_STR%%depends*}
54 HELP_STR=${HELP_STR%%http*}
55 HELP_STR=`echo -n ${HELP_STR}`
57 echo ${HELP_STR}
59 if [ "${PACK_NAME}" != "" ]; then
60 echo "Creating ipkg of: ${PACKAGE}"
62 cat > ${BUILDROOT_DIR}/ipkg-temp/CONTROL/control <<EOF
63 Package: ${CLEAN_NAME}
64 Priority: optional
65 Version: ${VERSION}
66 Architecture: ${ARCH}
67 Maintainer: ${PACK_MAINTAINER}
68 Depends: uclibc
69 Description: ${HELP_STR}
70 EOF
72 # build the package
73 package/ipkg/ipkg-build ${BUILDROOT_DIR}/ipkg-temp ${BUILDROOT_DIR}/ipkg-out
77 echo "Complete.
80 done
82 echo "ipkg builds are finished."