Check-in [f781dc0560]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Add preliminary support for cross building mips64 and armv6 This consider you have qemu-mips64 or qemu-arm installed in static version on your system This is also considering you have Stacey Son patches and binmisctl on your system: see: http://people.freebsd.org/~sson/imgact_binmisc/ and https://wiki.freebsd.org/QemuUserModeHowTo This patch consider you condigure binmisc expecting qemu-mips64 or qemu-arm being launch from the following path: /usr/bin/qemu-*
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: f781dc056073a54a7c839e80f237897b65d7a278
User & Date: bapt 2013-06-25 21:07:40
Context
2013-06-25
21:42
if no packages were built and digests.txz does not exists then rebuild the repository catalog Requested by: rpaulo Ticker: [d0eae39481] Leaf check-in: 3aa09e9f82 user: bapt tags: trunk
21:07
Add preliminary support for cross building mips64 and armv6 This consider you have qemu-mips64 or qemu-arm installed in static version on your system This is also considering you have Stacey Son patches and binmisctl on your system: see: http://people.freebsd.org/~sson/imgact_binmisc/ and https://wiki.freebsd.org/QemuUserModeHowTo This patch consider you condigure binmisc expecting qemu-mips64 or qemu-arm being launch from the following path: /usr/bin/qemu-* check-in: f781dc0560 user: bapt tags: trunk
20:53
If host is recent current and building stable/9 or stable/8 then use fmake to build check-in: c7c8cee859 user: bapt tags: trunk
Changes

Changes to src/share/poudriere/jail.sh.

   175    175   		err 1 "Unsupported method"
   176    176   		;;
   177    177   	esac
   178    178   
   179    179   }
   180    180   
   181    181   build_and_install_world() {
          182  +	case "${ARCH}" in
          183  +	mips64)
          184  +		export TARGET=mips
          185  +		;;
          186  +	armv6)
          187  +		export TARGET=arm
          188  +		;;
          189  +	esac
   182    190   	export TARGET_ARCH=${ARCH}
   183    191   	export SRC_BASE=${JAILMNT}/usr/src
   184    192   	mkdir -p ${JAILMNT}/etc
   185    193   	[ -f ${JAILMNT}/etc/src.conf ] && rm -f ${JAILMNT}/etc/src.conf
   186    194   	touch ${JAILMNT}/etc/src.conf
   187    195   	[ -f ${POUDRIERED}/src.conf ] && cat ${POUDRIERED}/src.conf > ${JAILMNT}/etc/src.conf
   188    196   	[ -f ${POUDRIERED}/${JAILNAME}-src.conf ] && cat ${POUDRIERED}/${JAILNAME}-src.conf >> ${JAILMNT}/etc/src.conf
................................................................................
   208    216   	fi
   209    217   	msg "Starting make buildworld with ${PARALLEL_JOBS} jobs"
   210    218   	${make_cmd} -C ${JAILMNT}/usr/src buildworld ${MAKE_JOBS} ${MAKEWORLDARGS} || err 1 "Fail to build world"
   211    219   	msg "Starting make installworld"
   212    220   	${make_cmd} -C ${JAILMNT}/usr/src installworld DESTDIR=${JAILMNT} DB_FROM_SRC=1 || err 1 "Fail to install world"
   213    221   	${make_cmd} -C ${JAILMNT}/usr/src DESTDIR=${JAILMNT} distrib-dirs &&
   214    222   	${make_cmd} -C ${JAILMNT}/usr/src DESTDIR=${JAILMNT} distribution
          223  +
          224  +	case "${ARCH}" in
          225  +	mips64)
          226  +		cp `which qemu-mips64` ${JAILMNT}/usr/bin/qemu-mips64
          227  +		;;
          228  +	armv6)
          229  +		cp `which qemu-arm` ${JAILMNT}/usr/bin/qemu-arm
          230  +		;;
          231  +	esac
   215    232   }
   216    233   
   217    234   install_from_svn() {
   218    235   	local UPDATE=0
   219    236   	local proto
   220    237   	[ -d ${JAILMNT}/usr/src ] && UPDATE=1
   221    238   	mkdir -p ${JAILMNT}/usr/src
................................................................................
   515    532   		v)
   516    533   			VERSION=${OPTARG}
   517    534   			;;
   518    535   		a)
   519    536   			[ "${REALARCH}" != "amd64" -a "${REALARCH}" != ${OPTARG} ] &&
   520    537   				err 1 "Only amd64 host can choose another architecture"
   521    538   			ARCH=${OPTARG}
          539  +			case "${ARCH}" in
          540  +			mips64)
          541  +				[ -x `which qemu-mips64` ] || err 1 "You need qemu-mips64 installed on the host"
          542  +				;;
          543  +			armv6)
          544  +				[ -x `which qemu-arm` ] || err 1 "You need qemu-arm installed on the host"
          545  +				;;
          546  +			esac
   522    547   			;;
   523    548   		m)
   524    549   			METHOD=${OPTARG}
   525    550   			;;
   526    551   		f)
   527    552   			JAILFS=${OPTARG}
   528    553   			;;