CLFS LiveCD

Alexander E. Patrakov patrakov at ums.usu.ru
Fri Jun 2 03:17:39 PDT 2006


Hello,

as you probably know, the x86_64 CD is unmaintained, and there were even "don't 
use, it's broken" notes in IRC logs (that I can't confirm or disprove due to 
lack of hardware). Since I cannot maintain this myself, I propose to invite Matt 
Darcy to the LiveCD team as a developer from CLFS (we already discussed this on 
IRC with Matt, the only issue to solve is with SVN permissions, but AFAIK that's 
Archaic's territory).

The suggested change:

  * Since CLFS and LFS LiveCDs are too different, Matt should primarily work in 
a branch, not in trunk. The branch that reflects the state of the repository 
before removal of the unmaintained CLFS instructions is at:

svn://svn.linuxfromscratch.org/livecd/branches/cross/

  * This branch will not be merged to trunk (because it is based on a completely 
different book), but useful fixes can be easily ported.

The branch needs some cleanup:

  * the x86 non-cross CD builds fine, but it is a wrong branch to build this CD from
  * the cross-x86 arch was never functional
  * the instructions for x86_64 don't match any available book (they are an 
attempt to UTFize CLFS)
  * Sparc64 was never buildable because the boot loader is not in SVN
  * there are many BLFS packages that were never built on non-x86
  * the book on CLFS CDs is still the regular LFS book, which is wrong

The config.site file is not used (because rejected by Ryan Oliver), but it would 
be a good idea, because it allows one to write BLFS Makefiles without care about 
/lib{,64} differences and thus port packages between the branch and trunk 
easily. The config.site example in the tree is old, there is a better attempt 
attached.

-- 
Alexander E. Patrakov
-------------- next part --------------
#!/bin/sh

test "$prefix" = NONE && prefix=/usr

if test -n "${LFS_USE_32_BITS}"
then
	LFS_TARGET_MAYBE32="${LFS_TARGET32}"
	LIB_MAYBE64=lib
	CC=${CC_32:-gcc}
	CXX=${CXX_32:-g++}
else
	LFS_TARGET_MAYBE32="${LFS_TARGET}"
	CC=${CC:-gcc}
	CXX=${CXX:-g++}
fi

if test -n "${LFS_HOST}"
then
    case "$prefix" in
	/cross-tools)
		host=${LFS_HOST}
		target=${LFS_TARGET_MAYBE32}
		host_alias=${LFS_HOST}
		target_alias=${LFS_TARGET_MAYBE32}
		;;
	/tools)
		# On IRC, Jim confirmed that always adding --build is harmless
		build=${LFS_HOST}
		host=${LFS_TARGET_MAYBE32}
		target=${LFS_TARGET}
		build_alias=${LFS_HOST}
		host_alias=${LFS_TARGET_MAYBE32}
		target_alias=${LFS_TARGET}
		cross_compiling=yes
		;;
    esac
fi


test "$mandir" = '${prefix}/man' && mandir='${prefix}/share/man'
test "$infodir" = '${prefix}/info' && infodir='${prefix}/share/info'
if test "$prefix" != /cross-tools
then
        test "$libdir" = '${prefix}/lib' && libdir='${prefix}'/${LIB_MAYBE64}
	test "$libdir" = '${exec_prefix}/lib' && libdir='${exec_prefix}'/${LIB_MAYBE64}
        test "$libexecdir" = '${exec_prefix}/libexec' && libexecdir='${exec_prefix}'/${LIB_MAYBE64}
	test "$libexecdir" = '${exec_prefix}/lib' && libexecdir='${exec_prefix}'/${LIB_MAYBE64}
fi
test -z "$CFLAGS" && CFLAGS="-Os -s -pipe"
test -z "$CXXFLAGS" && CXXFLAGS=${CFLAGS}

if test -n "$LFS_TARGET" && test "$prefix" = /tools
then
        ac_cv_func_setvbuf_reversed=no
	am_cv_func_working_getline=yes
        libc_cv_c_cleanup=yes
	libc_cv_forced_unwind=yes
        libc_cv_initfini_array=yes
	utils_cv_sys_open_max=1024
        if test "$LFS_TARGET" = "sparc64"
	then
		libc_cv_sparc64_tls=yes
        fi
fi

# For debugging only
cat <<EOF
Build: $build
Host: $host
Target: $target
Prefix: $prefix
Libdir: $libdir
Libexecdir: $libexecdir
CC: $CC
CXX: $CXX
EOF


More information about the cross-lfs mailing list