X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=functions%2Fipkg;h=9de17281c347bdb6239c9e02fab47b97db25ae18;hb=eab0363888c361ccd0dd37de76f0634239f12ffa;hp=77f51c4d92e050f050213ef7713f532ec8822430;hpb=2b86b5b69df77007ae7fd31fc1ae39361a1a9019;p=hvlinux.git diff --git a/functions/ipkg b/functions/ipkg index 77f51c4..9de1728 100644 --- a/functions/ipkg +++ b/functions/ipkg @@ -66,6 +66,14 @@ hvconfig() # accept the default configuration. perl Makefile.PL -n ${CONFIGURE_OPTS} else + if [ ! -f ${LFS_TMP}/${PACKAGE}/configure ]; then + if [ -f ${LFS_TMP}/${PACKAGE}/configure.in -o \ + -f ${LFS_TMP}/${PACKAGE}/configure.ac ]; then + # Try to automatically generate missing configure script. + autoreconf -vi + fi + fi + # Standard configure script ${LFS_TMP}/${PACKAGE}/configure ${CONFIGURE_OPTS} fi @@ -97,20 +105,24 @@ ipkg_finish() # Make sure to return to scripts directory cd ${SCRDIR} - # Saving package build size in global variable - BUILD_SIZE=$(du -h -s -c ${LFS_TMP}/${PACKAGE} ${LFS_TMP}/${PACKAGE}-build | grep total | awk '{ print $1 }') + if [ "x${DECOMPRESS}" = "x1" ]; then + # Saving package build size in global variable + BUILD_SIZE=$(du -h -s -c ${LFS_TMP}/${PACKAGE} ${LFS_TMP}/${PACKAGE}-build | grep total | awk '{ print $1 }') - # Some scripts need to preserve the source or build directory. They can - # do so by renaming them. - if [ -d ${LFS_TMP}/${PACKAGE} ]; then - # Removing source directory - echo "Removing source directory" - rm -rf ${LFS_TMP}/${PACKAGE} - fi - if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then - # Removing build directory - echo "Removing build directory" - rm -rf ${LFS_TMP}/${PACKAGE}-build + # Some scripts need to preserve the source or build directory. They can + # do so by renaming them. + if [ -d ${LFS_TMP}/${PACKAGE} ]; then + # Removing source directory + echo "Removing source directory" + rm -rf ${LFS_TMP}/${PACKAGE} + fi + if [ -d ${LFS_TMP}/${PACKAGE}-build ]; then + # Removing build directory + echo "Removing build directory" + rm -rf ${LFS_TMP}/${PACKAGE}-build + fi + else + BUILD_SIZE="Unknown" fi } @@ -121,16 +133,25 @@ ipkg_script() if [ $# -eq 1 ]; then # Use supplied script name PACKAGE_DEF=${SCRDIR}/pkg/${1} + CUSTOM_PACKAGE_DEF=yes else # Use default script name PACKAGE_DEF=${SCRDIR}/pkg/$(get_pkg_name ${PACKAGE}) + CUSTOM_PACKAGE_DEF=no fi - ipkg_decompress_package + if [ "x${DECOMPRESS}" = "x1" ]; then + ipkg_decompress_package + else + SOURCE_SIZE="Unknown" + fi if [ -f ${PACKAGE_DEF} ]; then echo "Load custom package functions and definitions from ${PACKAGE_DEF}" source ${PACKAGE_DEF} + elif [ "x${CUSTOM_PACKAGE_DEF}" = "xyes" ]; then + echo "Missing custom package definition file ${PACKAGE_DEF}" + return 1 fi # Execute pre-patch function if applicable @@ -139,7 +160,9 @@ ipkg_script() hvpatch_pre fi - hvpatch + if [ "x${DECOMPRESS}" = "x1" ]; then + hvpatch + fi # Execute pre-configure function if applicable if function_exists hvconfig_pre ; then @@ -157,12 +180,28 @@ ipkg_script() fi if [ -x ${LFS_TMP}/${PACKAGE}/configure ]; then - # Add option --disable-dependency-tracking if supported - if cat ${LFS_TMP}/${PACKAGE}/configure | \ - grep -q "disable-dependency-tracking"; then - CONFIGURE_OPTS="\ + if [ "x${ENABLE_DEPENDENCY_TRACKING}" = "x0" ]; then + # Add option --disable-dependency-tracking if supported + if cat ${LFS_TMP}/${PACKAGE}/configure | \ + grep -q "disable-dependency-tracking"; then + CONFIGURE_OPTS="\ ${CONFIGURE_OPTS} \ - --disable-dependency-tracking" + --disable-dependency-tracking" + fi + fi + + # Remove option --sysconfdir=... if not supported + if ! cat ${LFS_TMP}/${PACKAGE}/configure | \ + grep -q "sysconfdir"; then + # Split on space, one per line. + # Remove line --sysconfdir=... + # Join separate lines on one line + # Remove trailing space + CONFIGURE_OPTS=$(echo ${CONFIGURE_OPTS} | \ + tr -s " " "\n" | \ + grep -v "\-\-sysconfdir=" | \ + tr -s "\n" " " | \ + sed "s/ $//") fi fi