-Modifié lpkg pour créér un lien vers n'importe quel type dárchive supportée par HV Linux
BABL="babl-0.1.2"
BASH="bash-4.1"
BC="bc-1.06"
-BISON="bison-2.4.2"
+BISON="bison-2.4.3"
BIND="bind-9.6.1-P3"
BINUTILS="binutils-2.20.1"
ARM_BINUTILS=${BINUTILS}
CLAMAV="clamav-0.93.3"
CLOOG_PPL="cloog-ppl-0.15.10"
CONSOLEKIT="ConsoleKit-0.4.1"
-COREUTILS="coreutils-8.5"
+COREUTILS="coreutils-8.9"
CPIO="cpio-2.11"
CUPS="cups-1.4.5"
CUPS_PDF="cups-pdf-2.5.0"
DVDFS="dvdfs-0.2"
DVDRWTOOLS="dvd+rw-tools-7.1"
-E2FSPROGS="e2fsprogs-1.41.12"
+E2FSPROGS="e2fsprogs-1.41.14"
EASYTAG="easytag-2.1"
ED="ed-1.4"
EGGDBUS="eggdbus-0.6"
FETCHMAIL="fetchmail-6.3.12"
FFMPEG="ffmpeg-git-20110310"
FIREFOX="firefox-3.6.13"
-FILE_PKG="file-5.04"
+FILE_PKG="file-5.05"
FINDUTILS="findutils-4.4.2"
FIRMWARE_B43_LPPHY="broadcom-wl-4.178.10.4"
FLAC="flac-1.2.1"
KBD="kbd-1.15.2"
KERBEROS5="krb5-1.4.1"
-KERNEL="linux-2.6.37.1"
+KERNEL="linux-2.6.37.3"
NOUVEAU_NVIDIA_KERNEL="linux-2.6.38-rc7-g3d3d123-nouveau-git"
KVM="kvm-84"
MUTT="mutt-1.5.20"
MYSQL="mysql-5.1.52"
-NANO="nano-2.2.1"
+NANO="nano-2.2.6"
NCURSES="ncurses-5.7"
NEON="neon-0.29.1"
NEWLIB="newlib-1.16.0"
PANGO="pango-1.28.2"
PANGOMM="pangomm-2.26.2"
PARTED="parted-1.9.0"
-PATCH_PACKAGE="patch-2.6"
+PATCH_PACKAGE="patch-2.6.1"
PCIUTILS="pciutils-3.1.4"
PCMANFM="pcmanfm-0.5"
PCRE="pcre-8.00"
TALLOC="talloc-2.0.1"
TANGO_ICON_THEME="tango-icon-theme-0.8.90"
TANGO_ICON_THEME_EXTRAS="tango-icon-theme-extras-0.1.0"
-TAR_PACKAGE="tar-1.23"
+TAR_PACKAGE="tar-1.25"
TCPDUMP="tcpdump-4.0.0"
TCL="tcl8.5.8-src"
TCPWRAPPERS="tcp_wrappers_7.6"
UNZIP="unzip-5.52"
UPSTART="upstart-0.6.3"
USBUTILS="usbutils-0.86"
-UTIL_LINUX_NG="util-linux-ng-2.18"
+UTIL_LINUX="util-linux-2.19"
UW_IMAP="imap-2007e"
VORBIS_TOOLS="vorbis-tools-1.1.1"
XMLTOMAN="xmltoman-0.4"
XTERM="xterm-267"
XVIDCORE="xvidcore-1.2.2"
-XZ_UTILS="xz-4.999.9beta"
+XZ_UTILS="xz-5.0.0"
YELP="yelp-2.28.0"
USE_SAMBA="no"
# Override some packages
-KERNEL="${NOUVEAU_NVIDIA_KERNEL}"
+#KERNEL="${NOUVEAU_NVIDIA_KERNEL}"
detect_file_not_found()
{
# HTTP: will return "ERROR 404: Not Found"
- # FTP: will say "File not found"
- if grep --ignore-case "not found" ${WGET_LOG_FILE} \
+ # FTP: will say "File not found" or "No such file"
+ if grep --ignore-case -e "not found" -e "no such file" ${WGET_LOG_FILE} \
1> /dev/null 2>&1; then
#echo "404 NOTFOUND"
return 0
# Failure: if it was a connection timeout, don't try for other file
# extensions.
- if grep "failed: Connection timed out" ${WGET_LOG_FILE} 1> /dev/null 2>&1; then
+ if grep "failed: Connection timed out" ${WGET_LOG_FILE} \
+ 1> /dev/null 2>&1; then
echo "Error, wget reported: Connection timed out"
return 1
fi
fi
fi
}
-
-# Create a symbolic link to a package that is located in another stage
-# repository (to not have the same file twice).
-# Arg. #1: Source stage number (1, 2, 3, etc)
-# Arg. #2: Package name
-lpkg()
-{
- SRCSTAGE="stage${1}"
- FILE="${2}.tar.bz2"
- PACKAGE_NAME="${2}"
-
- # Checking for correct number of arguments
- if [ $# -ne 2 ]; then
- echo "${FUNCNAME}(), wrong number of arguments: ${*}"
- return 1
- fi
-
- if [ ! -h ${LFS_PKG_DIR}/${FILE} ]; then
- # Issue a warning if source file doesn't exist.
- if [ ! -f ${LFS_PKG_BASE}/${SRCSTAGE}/${FILE} ]; then
- source_link_status=" (missing source file)"
- else
- source_link_status=""
- fi
-
- # Create link if it doesn't exist
- rcmd "Linking ${PACKAGE_NAME}${source_link_status}" ln -s ../${SRCSTAGE}/${FILE} ${LFS_PKG_DIR}/${FILE}
- fi
-
- # Create link for patches corresponding to that package:
- if ls ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch 1> /dev/null 2>&1; then
- for patch in ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch; do
- PATCHFILE=$(basename ${patch})
- if [ ! -h ${LFS_PKG_DIR}/${PATCHFILE} ]; then
- # Create link if it doesn't exist
- rcmd "Linking ${PATCHFILE}" ln -s ../${SRCSTAGE}/${PATCHFILE} ${LFS_PKG_DIR}/${PATCHFILE}
- fi
- done
- fi
-}
--- /dev/null
+#!/bin/bash
+
+# Create a symbolic link to a package that is located in another stage
+# repository (to not have the same file twice).
+# Arg. #1: Source stage number (1, 2, 3, etc)
+# Arg. #2: Package name
+lpkg()
+{
+ SRCSTAGE="stage${1}"
+ PACKAGE_NAME="${2}"
+
+ # Checking for correct number of arguments
+ if [ $# -ne 2 ]; then
+ echo "${FUNCNAME}(), wrong number of arguments: ${*}"
+ return 1
+ fi
+
+ # Check first if the package exists in the source directory, and what is
+ # its extension.
+ unset LPKG_EXT
+ for arch_ext in ${DEFAULT_ARCH_EXT_LIST}; do
+ if [ -f ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}.${arch_ext} ]; then
+ LPKG_EXT=${arch_ext}
+ fi
+ done
+
+ MSG="Linking ${PACKAGE_NAME}"
+
+ if [ -z "${LPKG_EXT}" ]; then
+ MSGSTRING="${MSG}" print_status warning
+ else
+ FILE="${PACKAGE_NAME}.${LPKG_EXT}"
+
+ if [ ! -h ${LFS_PKG_DIR}/${FILE} ]; then
+
+ # Create link if it doesn't exist
+ rcmd "${MSG}" ln -s ../${SRCSTAGE}/${FILE} ${LFS_PKG_DIR}/${FILE}
+ fi
+ fi
+
+ # Create link for patches corresponding to that package:
+ if ls ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch \
+ 1> /dev/null 2>&1; then
+ for patch in ${LFS_PKG_BASE}/${SRCSTAGE}/${PACKAGE_NAME}-*.patch; do
+ PATCHFILE=$(basename ${patch})
+ if [ ! -h ${LFS_PKG_DIR}/${PATCHFILE} ]; then
+ # Create link if it doesn't exist
+ rcmd "Linking ${PATCHFILE}" ln -s ../${SRCSTAGE}/${PATCHFILE} \
+ ${LFS_PKG_DIR}/${PATCHFILE}
+ fi
+ done
+ fi
+}
# Load functions
source ../functions/fpkg
+source ../functions/lpkg
# Constants for return codes
EXIT_SUCCESS=0
if [ $# -ne 1 ]; then
# If no parameters are given to the print_status function, print usage
# information.
- echo "Usage: ${FUNCNAME}() {success|warning|failure} [STRING] [TIME]"
+ echo "Usage: ${FUNCNAME}() {success|warning|failure}"
+ echo " got: \"${*}\""
return ${EXIT_FAILURE}
fi
fpkg -s "linux/kernel/v2.6" ${KERNEL} ${KERNEL_URL}
fi
-fpkg ${FILE_PKG} "ftp://ftp.astron.com/pub/file"
+fpkg -e "tar.gz" ${FILE_PKG} "ftp://ftp.astron.com/pub/file"
fpkg -m gnu ${NCURSES}
fpkg -m gnu ${GMP}
fpkg -m gnu ${MPFR}
fpkg -e "tar.gz" ${MPC} "http://www.multiprecision.org/mpc/download"
fpkg -s "$(get_pkg_ver ${PPL})" ${PPL} \
"http://www.cs.unipr.it/ppl/Download/ftp/releases"
-fpkg ${CLOOG_PPL} "ftp://gcc.gnu.org/pub/gcc/infrastructure"
+fpkg -e "tar.gz" ${CLOOG_PPL} "ftp://gcc.gnu.org/pub/gcc/infrastructure"
fpkg -m gnu ${BINUTILS}
fpkg -m gnu -s "gcc/${GCC}" ${GCC}
-fpkg ${EGLIBC} "http://cross-lfs.org/files/packages/svn"
-fpkg ${EGLIBC_PORTS} "http://cross-lfs.org/files/packages/svn"
+fpkg -m hv ${EGLIBC} # "http://cross-lfs.org/files/packages/svn"
+fpkg -m hv ${EGLIBC_PORTS} # "http://cross-lfs.org/files/packages/svn"
exit $?
rscr once "Creating symbolic links" create-symlinks
ipkg ${NANO} "--enable-color --enable-multibuffer"
-ipkg ${UTIL_LINUX_NG}
+ipkg ${UTIL_LINUX}
ipkg ${E2FSPROGS}
ipkg -m noac ${SYSVINIT}
ipkg ${MODULE_INIT_TOOLS}
fpkg ${ZLIB} "http://www.zlib.net"
fpkg -m gnu ${BASH}
fpkg -m gnu ${BISON}
-fpkg ${BZIP2} "http://www.bzip.org/$(get_pkg_ver ${BZIP2})"
+fpkg -e "tar.gz" ${BZIP2} "http://www.bzip.org/$(get_pkg_ver ${BZIP2})"
fpkg -m gnu ${COREUTILS}
fpkg -m gnu ${DIFFUTILS}
fpkg -m gnu ${FINDUTILS}
fpkg ${XZ_UTILS} "http://tukaani.org/xz"
# Chapter 7
-fpkg -s "linux/utils/util-linux-ng/v$(get_pkg_ver_base ${UTIL_LINUX_NG})" \
- ${UTIL_LINUX_NG} ${KERNEL_URL}
+fpkg -s "linux/utils/util-linux/v$(get_pkg_ver_base ${UTIL_LINUX})" \
+ ${UTIL_LINUX} ${KERNEL_URL}
fpkg -m sf ${E2FSPROGS}
-fpkg ${SYSVINIT} "ftp://ftp.cistron.nl/pub/people/miquels/sysvinit"
+fpkg ${SYSVINIT} "http://download.savannah.gnu.org/releases/sysvinit"
fpkg -s "linux/utils/kernel/module-init-tools" ${MODULE_INIT_TOOLS} \
${KERNEL_URL}
fpkg -s "linux/utils/kernel/hotplug" ${UDEV} ${KERNEL_URL}
--- /dev/null
+#!/bin/bash
+
+hvconfig_pre()
+{
+ CONFIGURE_OPTS="\
+ --build=${CLFS_HOST} \
+ --host=${CLFS_TARGET} \
+ --enable-login-utils \
+ --disable-makeinstall-chown"
+}
+
+hvbuild()
+{
+ ${HVMAKE}
+ ${HVMAKE} DESTDIR=${LFS} install
+}
+
+hvbuild_post()
+{
+ # Copy Libraries and includes to /tools:
+ rm -fv ${LFS}/usr/lib/lib{blkid,uuid}.la
+ cp -v ${LFS}/usr/lib/lib{blkid,uuid}* /tools/lib
+ cp -v ${LFS}/lib/lib{blkid,uuid}* /tools/lib
+ ln -sfvT libblkid.so.1.1.0 /tools/lib/libblkid.so
+ ln -sfvT libuuid.so.1.3.0 /tools/lib/libuuid.so
+ install -dv /tools/include/{blkid,uuid}
+ cp -av ${LFS}/usr/include/blkid/* /tools/include/blkid/
+ cp -av ${LFS}/usr/include/uuid/* /tools/include/uuid/
+}
+++ /dev/null
-#!/bin/bash
-
-hvconfig_pre()
-{
- CONFIGURE_OPTS="\
- --build=${CLFS_HOST} \
- --host=${CLFS_TARGET} \
- --enable-login-utils \
- --disable-makeinstall-chown"
-}
-
-hvbuild()
-{
- ${HVMAKE}
- ${HVMAKE} DESTDIR=${LFS} install
-}
-
-hvbuild_post()
-{
- # Copy Libraries and includes to /tools:
- rm -fv ${LFS}/usr/lib/lib{blkid,uuid}.la
- cp -v ${LFS}/usr/lib/lib{blkid,uuid}* /tools/lib
- cp -v ${LFS}/lib/lib{blkid,uuid}* /tools/lib
- ln -sfvT libblkid.so.1.1.0 /tools/lib/libblkid.so
- ln -sfvT libuuid.so.1.3.0 /tools/lib/libuuid.so
- install -dv /tools/include/{blkid,uuid}
- cp -av ${LFS}/usr/include/blkid/* /tools/include/blkid/
- cp -av ${LFS}/usr/include/uuid/* /tools/include/uuid/
-}
ipkg ${SED} "--bindir=/bin"
ipkg ${PKG_CONFIG}
ipkg ${NCURSES}
-ipkg ${UTIL_LINUX_NG}
+ipkg ${UTIL_LINUX}
ipkg ${E2FSPROGS}
ipkg ${COREUTILS}
ipkg -m noac ${IANA}
lpkg 0 ${CLOOG_PPL}
lpkg 0 ${BINUTILS}
lpkg 0 ${GCC}
+lpkg 0 ${NCURSES}
+lpkg 0 ${FILE_PKG}
# These packages were already downloaded for stage1:
lpkg 1 ${NANO}
-
-# These packages were already downloaded for stage1:
lpkg 1 ${ZLIB}
lpkg 1 ${SED}
-lpkg 1 ${NCURSES}
-lpkg 1 ${UTIL_LINUX_NG}
+lpkg 1 ${UTIL_LINUX}
lpkg 1 ${E2FSPROGS}
lpkg 1 ${COREUTILS}
lpkg 1 ${MFOUR}
lpkg 1 ${BASH}
lpkg 1 ${BZIP2}
lpkg 1 ${DIFFUTILS}
-lpkg 1 ${FILE_PKG}
lpkg 1 ${FINDUTILS}
lpkg 1 ${GAWK}
lpkg 1 ${GETTEXT}
--- /dev/null
+#!/bin/bash
+
+hvconfig_pre()
+{
+ CONFIGURE_OPTS="\
+ --enable-arch \
+ --enable-partx \
+ --enable-write \
+ --disable-wall"
+
+ # The FHS recommends that we use /var/lib/hwclock, instead of the usual
+ # /etc, as the location for the adjtime file. To make the hwclock program
+ # FHS-compliant, run the following:
+ sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' -i \
+ $(grep -rl '/etc/adjtime' .)
+ mkdir -pv /var/lib/hwclock
+}
+
+hvbuild_post()
+{
+ # Move the logger binary to /bin as it may be needed by some bootscript.
+ mv -v /usr/bin/logger /bin
+}
+++ /dev/null
-#!/bin/bash
-
-hvconfig_pre()
-{
- CONFIGURE_OPTS="\
- --enable-arch \
- --enable-partx \
- --enable-write \
- --disable-wall"
-
- # The FHS recommends that we use /var/lib/hwclock, instead of the usual
- # /etc, as the location for the adjtime file. To make the hwclock program
- # FHS-compliant, run the following:
- sed -e 's@etc/adjtime@var/lib/hwclock/adjtime@g' -i $(grep -rl '/etc/adjtime' .)
- mkdir -pv /var/lib/hwclock
-}
-
-hvbuild_post()
-{
- # Move the logger binary to /bin as it is needed by the CLFS-Bootscripts package:
- mv -v /usr/bin/logger /bin
-}
# These packages are only for stage3
fpkg -m gnu ${WHICH}
-fpkg -s "utils/pciutils" ${PCIUTILS} ${KERNEL_URL}
+fpkg -s "software/utils/pciutils" ${PCIUTILS} ${KERNEL_URL}
fpkg -m sf -e "tar.bz2" ${LIBUSB}
fpkg -m sf -e "tar.bz2" -s "libusb" ${LIBUSB_COMPAT}
fpkg -m sf -s "linux-usb/usbutils" ${USBUTILS}
fpkg -m sf -s "tcl" ${TCL}
fpkg -e "tar.gz" ${SQLITE} "http://www.sqlite.org"
fpkg ${SUBVERSION} "http://subversion.tigris.org/downloads"
-fpkg ${SUDO} "http://www.sudo.ws/sudo/dist"
+fpkg -e "tar.gz" ${SUDO} "http://www.sudo.ws/sudo/dist"
fpkg -m sf -e "tar.bz2" ${STRACE}
fpkg -m sf ${PCRE}
fpkg -m gnu ${WGET}
-fpkg ${TCPWRAPPERS} "ftp://ftp.porcupine.org/pub/security"
-fpkg ${PORTMAP} "http://neil.brown.name/portmap"
+fpkg -e "tar.gz" ${TCPWRAPPERS} "ftp://ftp.porcupine.org/pub/security"
+fpkg -e "tar.gz" ${PORTMAP} "http://neil.brown.name/portmap"
fpkg -s "linux/utils/nfs" ${NFS_UTILS} ${KERNEL_URL}
fpkg -e "tar.gz" ${XINETD} "http://www.xinetd.org"
fpkg -m sf ${DDCLIENT}
"http://gd.tuwien.ac.at/infosys/servers/isc/bind9"
fpkg ${IPTABLES} "http://www.netfilter.org/projects/iptables/files"
fpkg ${CURL} "http://curl.haxx.se/download"
-fpkg ${RSYNC} "http://samba.org/ftp/rsync/src"
+fpkg -e "tar.gz" ${RSYNC} "http://samba.org/ftp/rsync/src"
fpkg -m hv ${GETDATE}
fpkg -e "tar.gz" ${MYSQL} \
"http://anduin.linuxfromscratch.org/sources/BLFS/svn/m"
-fpkg -f "zip$(get_pkg_ver ${ZIP} | sed 's!\.!!g')" -s "infozip" ${ZIP} \
- ${SOURCEFORGE_URL}
-fpkg -f "unzip$(get_pkg_ver ${UNZIP} | sed 's!\.!!g')" -s "infozip" ${UNZIP} \
- ${SOURCEFORGE_URL}
-fpkg -f "unrarsrc-$(get_pkg_ver ${UNRAR})" ${UNRAR} "http://www.rarlab.com/rar"
+fpkg -f "zip$(get_pkg_ver ${ZIP} | sed 's!\.!!g')" -s "infozip" \
+ -e "tar.gz" ${ZIP} ${SOURCEFORGE_URL}
+fpkg -f "unzip$(get_pkg_ver ${UNZIP} | sed 's!\.!!g')" -s "infozip" \
+ -e "tar.gz" ${UNZIP} ${SOURCEFORGE_URL}
+fpkg -f "unrarsrc-$(get_pkg_ver ${UNRAR})" -e "tar.gz" ${UNRAR} \
+ "http://www.rarlab.com/rar"
fpkg -m gnu ${CPIO}
fpkg -m gnu ${PARTED}
fpkg -m gnu ${BC}
fpkg -m sf ${FUSE}
fpkg ${DOSFSTOOLS} "http://www.daniel-baumann.ch/software/dosfstools"
-fpkg -s "pub/software/scm/git" ${GIT} ${KERNEL_URL}
+fpkg -s "software/scm/git" ${GIT} ${KERNEL_URL}
fpkg -s "software/scm/git" ${GIT_MANPAGES} ${KERNEL_URL}
# Perl modules
fpkg -f "jpegsrc.v$(get_pkg_ver ${LIBJPEG})" -e "tar.gz" ${LIBJPEG} \
"http://www.ijg.org/files"
fpkg -f "openjpeg_v$(get_pkg_ver ${LIBOPENJPEG} | sed 's!\.!_!g')" \
- ${LIBOPENJPEG} "http://www.openjpeg.org"
+ -e "tar.gz" ${LIBOPENJPEG} "http://www.openjpeg.org"
fpkg -m sf ${LIBPNG}
fpkg -m gnome ${LIBART}
fpkg -m sf ${LIBEXIF}
fpkg -e "tar.gz" ${FRIBIDI} "http://fribidi.org/download"
fpkg -m fd -o "icon-theme" ${HICOLOR_ICON_THEME}
-fpkg ${TIFF} "http://download.osgeo.org/libtiff"
+fpkg -e "tar.gz" ${TIFF} "http://download.osgeo.org/libtiff"
fpkg -m sf ${GIFLIB}
fpkg -m sf ${LCMS}
fpkg -m sf -s "ghostscript" ${GHOSTSCRIPT_FONTS_STD}
fpkg -m sf -s "ghostscript" ${GHOSTSCRIPT_FONTS_OTHER}
-fpkg -m sf -s "imagemagick" ${IMAGE_MAGICK}
+fpkg ${IMAGE_MAGICK} "ftp://ftp.imagemagick.org/pub/ImageMagick"
fpkg -m fd -s "none" ${POPPLER}
fpkg -m gnome ${LIBRSVG}
fpkg ${BABL} "ftp://ftp.gtk.org/pub/babl/$(get_pkg_ver_base ${BABL})"
fpkg -f "${FIREFOX}.source" ${FIREFOX} \
"http://releases.mozilla.org/pub/mozilla.org/firefox/releases/$(get_pkg_ver ${FIREFOX})/source"
-fpkg -m hv ${AGG} "http://www.antigrain.com"
+fpkg ${AGG} "http://www.antigrain.com"
fpkg ${GNASH} "http://ftp.gnu.org/pub/gnu/gnash/$(get_pkg_ver ${GNASH})"
fpkg -e "tar.gz" ${SASL2} "ftp://ftp.andrew.cmu.edu/pub/cyrus-mail"