3 # this script is very *alpha* so be gentle...
5 # change these lines to your arch and maintainer name
7 PACK_MAINTAINER
="John Voltz <john.voltz@gmail.com>"
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
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
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
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}`
59 if [ "${PACK_NAME}" != "" ]; then
60 echo "Creating ipkg of: ${PACKAGE}"
62 cat > ${BUILDROOT_DIR}/ipkg-temp
/CONTROL
/control
<<EOF
63 Package: ${CLEAN_NAME}
67 Maintainer: ${PACK_MAINTAINER}
69 Description: ${HELP_STR}
73 package
/ipkg
/ipkg-build
${BUILDROOT_DIR}/ipkg-temp
${BUILDROOT_DIR}/ipkg-out
82 echo "ipkg builds are finished."