-#!/bin/sh
+#!/bin/bash
-LFS_STAGE="stage4"
USE_LFS_PATCHES=1
USE_BLFS_PATCHES=1
USE_HV_PATCHES=1
# Reading system configuration informations, functions and package versions.
-source ../sysinfos
+source ../config/sysinfos
source ../functions
-source ../functions-update
-source ../packages-list
-
-# Execute a return statement instead of exit, to be able to continue with
-# downloading other packages
-export RCMD_NO_EXIT=1
+source ../functions-fpkg
+source ../config/packages-list
update_packages_init
-XORG_MODULES_LIST="${XORG_APP} ${XORG_DATA} ${XORG_DRIVER} ${XORG_FONT} ${XORG_LIB} ${XORG_PROTO} ${XORG_UTIL}"
+if [ ${#} -eq 1 -a "x${1}" = "xtest" ]; then
+ export TEST_INTEGRITY=1
+fi
+
+lpkg 3 ${PYTHON}
-BLFS_XORG_URL=http://anduin.linuxfromscratch.org/files/BLFS/svn/xorg
-XORG_URL=http://xorg.freedesktop.org/releases/individual
+XORG_MODULES_LIST="${XORG_APP} ${XORG_DRIVER} ${XORG_FONT} ${XORG_LIB} ${XORG_PROTO} ${XORG_UTIL}"
for module in ${XORG_MODULES_LIST}; do
MOD_NAME=$(get_pkg_name ${module})
- DEST=${LFS_PKG_DIR}/${MOD_NAME}
+ DEST_DIR=${LFS_PKG_DIR}/${MOD_NAME}
- ARCH_EXT=wget fpkg ${module} ${BLFS_XORG_URL}
- ARCH_EXT=md5 fpkg ${module} ${BLFS_XORG_URL}
- unset ARCH_EXT
+ fpkg -d ${DEST_DIR} -e wget ${module} ${BLFS_XORG_URL}
+ fpkg -d ${DEST_DIR} -e md5 ${module} ${BLFS_XORG_URL}
if [ "${MOD_NAME}" = "driver" ]; then
- # Remove unwanted drivers
- for ext in wget md5; do
- sed -i -e '/.*xf86-video-vmware.*/d' ${LFS_PKG_DIR}/${module}.${ext}
- sed -i -e '/.*xf86-video-newport.*/d' ${LFS_PKG_DIR}/${module}.${ext}
- sed -i -e '/.*xf86-video-xgixp.*/d' ${LFS_PKG_DIR}/${module}.${ext}
- done
+ if [ -n "${XORG_VIDEO_DRIVER}" ]; then
+ # Install only specific driver
+ for ext in wget md5; do
+ sed -i -e "/xf86-video-${XORG_VIDEO_DRIVER}/!d" ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext}
+ done
+ else
+ # Remove unwanted drivers
+ for ext in wget md5; do
+ for excldrv in vmware newport xgixp geode; do
+ sed -i -e "/.*xf86-video-${excldrv}.*/d" ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext}
+ done
+ done
+ fi
fi
if [ "${MOD_NAME}" = "app" ]; then
# Remove unneeded apps
for ext in wget md5; do
- sed -i -e '/.*twm-.*/d' ${LFS_PKG_DIR}/${module}.${ext}
- sed -i -e '/.*xclock-.*/d' ${LFS_PKG_DIR}/${module}.${ext}
+ sed -i -e '/.*twm-.*/d' ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext}
+ sed -i -e '/.*xclock-.*/d' ${LFS_PKG_DIR}/${MOD_NAME}/${module}.${ext}
done
fi
- SUBMODS="$(grep -v '^#' ${LFS_PKG_DIR}/${module}.wget | sed 's!\.tar\.bz2$!!')"
-
- mkdir -v -p ${DEST} >> ${LFS_LOG_FILE} 2>&1
+ SUBMODS="$(grep -v '^#' ${LFS_PKG_DIR}/${MOD_NAME}/${module}.wget | sed 's!\.tar\.bz2$!!')"
- export FETCH_DIR=${DEST}
for submod in ${SUBMODS}; do
- fpkg ${submod} ${XORG_URL}/${MOD_NAME}
+ fpkg_xorg ${submod} ${MOD_NAME}
done
- unset FETCH_DIR
- pushd ${DEST} >> ${LFS_LOG_FILE}
- md5sum -c ${LFS_PKG_DIR}/${module}.md5 >> ${LFS_LOG_FILE}
- if [ $? -ne 0 ]; then
- echo " md5sum error for ${module}"
+ pushd ${DEST_DIR} >> ${LFS_LOG_FILE}
+ # The "driver" md5 file maybe empty if the nouveau driver was selected
+ if cat ${LFS_PKG_DIR}/${MOD_NAME}/${module}.md5 | grep "[0-9]" 1> /dev/null 2>&1; then
+ md5sum -c ${LFS_PKG_DIR}/${MOD_NAME}/${module}.md5 >> ${LFS_LOG_FILE}
+ if [ $? -ne 0 ]; then
+ echo " md5sum error for ${module}"
+ fi
fi
popd >> ${LFS_LOG_FILE}
done
-fpkg ${LIBXAU} ${XORG_URL}/lib
-fpkg ${LIBXDMCP} ${XORG_URL}/lib
-fpkg_sf ${LESSTIF}
-fpkg ${XBITMAPS} ${XORG_URL}/data
-fpkg ${LIBPTHREAD_STUBS} http://xcb.freedesktop.org/dist
-fpkg ${LIBDRM} http://dri.freedesktop.org/libdrm
-fpkg ${MESALIB} ftp://ftp.freedesktop.org/pub/mesa/$(get_pkg_ver ${MESALIB})
-fpkg ${XCURSOR_THEMES} ${XORG_URL}/data
-fpkg ${XKEYBOARD_CONFIG} http://xlibs.freedesktop.org/xkbdesc
-fpkg ${LUIT} ${XORG_URL}/app
-fpkg ${PIXMAN} "http://cairographics.org/releases"
-
-fpkg ${LIBFFI} "ftp://sourceware.org/pub/libffi"
+fpkg_xorg ${LIBXAU} lib
+fpkg_xorg ${LIBXDMCP} lib
+fpkg_sf ${LESSTIF}
+fpkg_xorg ${XBITMAPS} data
+fpkg ${LIBPTHREAD_STUBS} "http://xcb.freedesktop.org/dist"
+fpkg ${XCB_PROTO} "http://xcb.freedesktop.org/dist"
+fpkg_gnu ${GPERF}
+fpkg ${XCB_UTIL} "http://xcb.freedesktop.org/dist"
+
+fpkg_hv ${LIBDRM}
+fpkg -e "tar.gz" ${TALLOC} "http://samba.org/ftp/talloc"
+fpkg -s "$(get_pkg_ver ${MESALIB})" ${MESALIB} ftp://ftp.freedesktop.org/pub/mesa
+fpkg_xorg ${XCURSOR_THEMES} data
+fpkg ${XKEYBOARD_CONFIG} "http://xlibs.freedesktop.org/xkbdesc"
+fpkg_xorg ${LUIT} app
+fpkg -e "tar.gz" ${PIXMAN} "http://cairographics.org/releases"
+fpkg -e "tar.gz" ${LIBFFI} "ftp://sourceware.org/pub/libffi"
fpkg ${DBUS} "http://dbus.freedesktop.org/releases/dbus"
fpkg_gnome ${GLIB}
fpkg_gnome ${GOBJECT_INSTROSPECTION}
-fpkg ${DBUS_GLIB} "http://dbus.freedesktop.org/releases/dbus-glib"
-fpkg ${EGGDBUS} "http://hal.freedesktop.org/releases"
-fpkg ${POLKIT} "http://hal.freedesktop.org/releases"
+fpkg -e "tar.gz" ${DBUS_GLIB} "http://dbus.freedesktop.org/releases/dbus-glib"
+fpkg -e "tar.gz" ${EGGDBUS} "http://hal.freedesktop.org/releases"
+fpkg -e "tar.gz" ${POLKIT} "http://hal.freedesktop.org/releases"
fpkg ${CONSOLEKIT} "http://www.freedesktop.org/software/ConsoleKit/dist"
-fpkg ${POLICYKIT} "http://hal.freedesktop.org/releases"
-fpkg ${HAL} http://hal.freedesktop.org/releases
-fpkg ${HAL_INFO} http://hal.freedesktop.org/releases
+fpkg -e "tar.gz" ${POLICYKIT} "http://hal.freedesktop.org/releases"
+fpkg ${HAL} "http://hal.freedesktop.org/releases"
+fpkg ${HAL_INFO} "http://hal.freedesktop.org/releases"
+
+fpkg_hv ${XORG_VIDEO_NOUVEAU}
+fpkg_xorg ${XORG_SERVER} xserver
+fpkg_xorg ${XDM} app
+
+fpkg -e "tgz" ${XTERM} "ftp://invisible-island.net/xterm"
-fpkg ${XORG_SERVER} ${XORG_URL}/xserver
+fpkg -e "tar.gz" ${T1LIB} "http://www.ibiblio.org/pub/Linux/libs/graphics"
-ARCH_EXT=tgz fpkg ${XTERM} ftp://invisible-island.net/xterm
-unset ARCH_EXT
+fpkg_sf ${TK} tcl
+fpkg_gnu ${EMACS}
+fpkg ${WINDOWMAKER} "http://windowmaker.info/pub/source/release"
+fpkg -e "tar.gz" ${WINDOWMAKER_EXTRA} "http://windowmaker.info/pub/source/release"
exit $?