case "${HVL_TARGET}" in
arm*)
- CLFS_BUILDFLAGS="-mabi=apcs-gnu"
- CLFS_TARGET="${HVL_TARGET}-unknown-linux-gnueabi"
+ CLFS_BUILDFLAGS="-mabi=aapcs-linux -mfloat-abi=soft"
+ CLFS_TARGET="arm-linux-gnueabi"
CLFS_ARCH=$(echo ${CLFS_TARGET} | sed -e 's/-.*//' -e 's/arm.*/arm/g')
CLFS_ENDIAN=$(echo ${CLFS_ARCH} | sed -e 's/armeb/BIG/' -e 's/arm/LITTLE/')
if [ "${CLFS_ENDIAN}" = "LITTLE" ]; then
{
local PACKAGE=${1}
- # Remove optional "./" leading component with sed
- # and extract base directory name with awk.
- local DIRNAME=$(tar ${TAR_OPTS} -tf ${LFS_PKG_DIR}/${PACKAGE}.tar.bz2 | head -n1 | sed 's!^\./!!' | awk -F \/ '{print $1}')
+ # List of default archive extensions to try
+ local MY_ARCH_EXT="tar.bz2 tar.gz tgz tar.Z zip"
- echo ${DIRNAME}
+ for arch_ext in ${MY_ARCH_EXT}; do
+ if [ ! -f ${LFS_PKG_DIR}/${PACKAGE}.${arch_ext} ]; then
+ # Try next archive extension.
+ continue;
+ fi
+
+ case ${arch_ext} in
+ tar.bz2|tar.gz|tgz|tar.Z)
+ # Remove optional "./" leading component with sed
+ # and extract base directory name with awk.
+ local DIRNAME=$(tar ${TAR_OPTS} -tf ${LFS_PKG_DIR}/${PACKAGE}.tar.bz2 | head -n1 | sed 's!^\./!!' | awk -F \/ '{print $1}')
+ echo ${DIRNAME}
+ ;;
+ zip)
+ # TODO
+ echo ${PACKAGE}
+ ;;
+ esac
+
+ return $?
+ done
+
+ # Failure or file not found
+ echo "${FUNCNAME}(): Missing source package for \"${PACKAGE}\"" > /dev/stderr
+ return ${EXIT_FAILURE}
}
# Applying patch
local PACKAGE=${1}
- if [ ! -f ${LFS_PKG_DIR}/${PACKAGE}.tar.bz2 ]; then
- echo "${FUNCNAME}(): Missing source package: \"${PACKAGE}.tar.bz2\"" > /dev/stderr
- return ${EXIT_FAILURE}
- fi
-
- if [ -d ${TOPDIR}/${PACKAGE} ]; then
- # Removing old source directory (if any)
- rm -v -rf ${TOPDIR}/${PACKAGE} || exit 1
- fi
+ # List of default archive extensions to try
+ local MY_ARCH_EXT="tar.bz2 tar.gz tgz tar.Z zip"
+
+ for arch_ext in ${MY_ARCH_EXT}; do
+ if [ ! -f ${LFS_PKG_DIR}/${PACKAGE}.${arch_ext} ]; then
+ # Try next archive extension.
+ continue;
+ fi
+
+ if [ -d ${TOPDIR}/${PACKAGE} ]; then
+ # Removing old source directory (if any)
+ rm -v -rf ${TOPDIR}/${PACKAGE} || exit 1
+ fi
+
+ cd ${TOPDIR}
+
+ # Decompressing package
+ case ${arch_ext} in
+ tar.bz2)
+ tar ${TAR_OPTS} -jxvf ${LFS_PKG_DIR}/${PACKAGE}.${arch_ext} || return 1
+ ;;
+ tar.gz|tgz|tar.Z)
+ tar ${TAR_OPTS} -zxvf ${LFS_PKG_DIR}/${PACKAGE}.${arch_ext} || return 1
+ ;;
+ zip)
+ echo ZIPZIPZIP
+ unzip ${LFS_PKG_DIR}/${PACKAGE}.${arch_ext} || return 1
+ ;;
+ esac
+
+ cd - 1> /dev/null 2>&1
+
+ return $?
+ done
- # Decompressing package
- # Option 'U' of tar is to remove each file prior to extracting over it
- cd ${TOPDIR} &&
- tar ${TAR_OPTS} -jxvf ${LFS_PKG_DIR}/${PACKAGE}.tar.bz2 &&
- cd - 1> /dev/null 2>&1
+ # Failure or file not found
+ echo "${FUNCNAME}(): Missing source package for \"${PACKAGE}\"" > /dev/stderr
+ return ${EXIT_FAILURE}
}
# Installation of a package