Marco d'Itri <md@linux.it> (2016-01-08):
> +# Find out where the runtime dynamic linker and the shared libraries
> +# can be installed on each architecture: native, multilib and multiarch.
> +# This data can be verified by checking the files in the debian/sysdeps/
> +# directory of the glibc package.
> +#
> +# This function must be updated to support any new architecture which
> +# either installs the RTLD in a directory different from /lib or builds
> +# multilib library packages.
> +setup_merged_usr() {
> + if [ "$MERGED_USR" = "no" ]; then return 0; fi
> +
> + local link_dir
> + case $ARCH in
> + hurd-*) return 0 ;;
> + amd64) link_dir="lib32 lib64 libx32" ;;
> + i386) link_dir="lib64 libx32" ;;
> + mips|mipsel)
> + link_dir="lib32 lib64" ;;
> + mips64*|mipsn32*)
> + link_dir="lib32 lib64 libo32" ;;
> + powerpc) link_dir="lib64" ;;
> + ppc64) link_dir="lib32 lib64" ;;
> + ppc64el) link_dir="lib64" ;;
> + s390x) link_dir="lib32" ;;
> + sparc) link_dir="lib64" ;;
> + sparc64) link_dir="lib32 lib64" ;;
> + x32) link_dir="lib32 lib64 libx32" ;;
> + esac
> + link_dir="bin sbin lib $link_dir"
> +
> + local dir
> + for dir in $link_dir; do
> + ln -s usr/$dir $TARGET/$dir
> + mkdir -p $TARGET/usr/$dir
> + done
> +}
> +
I don't think having to play catch up with src:glibc is a good idea.
Can't that be determined automatically instead of hardcoding this
mapping?
Besides, this code means an unknown architecture doesn't get merged
/usr support. Is that intended/reasonable?
> first_stage_install () {
> + case $SUITE in
> + etch|etch-m68k|jessie|lenny|squeeze|wheezy) ;;
> + oldstable|stable) ;;
> + *) setup_merged_usr ;;
This means “debootstrap stable” on stretch once it's released is going
to lead to different results compared to “debootstrap stretch”.
KiBi.
Attachment:
signature.asc
Description: Digital signature