Remove ppl
[hvlinux.git] / functions / ipkg
index 77f51c4..9de1728 100644 (file)
@@ -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