mirror of
https://git.busybox.net/buildroot.git
synced 2024-12-16 16:53:27 +08:00
83 lines
2.1 KiB
Bash
Executable File
83 lines
2.1 KiB
Bash
Executable File
#!/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."
|