Check-in [80f2d8c237]

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

Overview
Comment:Mount CCACHE_DIR in /root/.ccache as not all ports pass MAKE_ENV into the build. I am testing various patches for bsd.port.mk to fix this and other WITH_CCACHE_BUILD issues, but for now workaround this in poudriere
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 80f2d8c237364c0f76fabfdb5f36928dfe57b136
User & Date: bdrewery 2013-05-25 14:29:30
Context
2013-05-25
14:42
Use proper ${HOME}/.ccache for CCACHE_DIR and fix usage of it check-in: 330b125360 user: bdrewery tags: trunk
14:29
Mount CCACHE_DIR in /root/.ccache as not all ports pass MAKE_ENV into the build. I am testing various patches for bsd.port.mk to fix this and other WITH_CCACHE_BUILD issues, but for now workaround this in poudriere check-in: 80f2d8c237 user: bdrewery tags: trunk
14:05
Injail pkg invocations related to cachedir. This makes it possible to build pkgng packages from a host without pkg installed. Also, this makes possible to use custom LOCALBASE (/usr/sbin/pkg from the host was using the LOCALBASE environment variable which led to interesting problems when LOCALBASE of the host was different from LOCALBASE in the jails) check-in: ab76c62e9c user: antoine tags: trunk
Changes

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

788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
...
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884

	[ "$(realpath ${DISTFILES_CACHE})" != \
		"$(realpath -q ${portsdir}/distfiles)" ] || err 1 \
		"DISTFILES_CACHE cannot be in the portsdir as the portsdir will be mounted read-only"

	mkdir -p ${POUDRIERE_DATA}/packages/${MASTERNAME}/All
	[ -d "${CCACHE_DIR:-/nonexistent}" ] &&
		mount -t nullfs ${CCACHE_DIR} ${mnt}/ccache
	[ -n "${MFSSIZE}" ] && mdmfs -M -S -o async -s ${MFSSIZE} md ${mnt}/wrkdirs
	[ ${TMPFS_WRKDIR} -eq 1 ] && mount -t tmpfs tmpfs ${mnt}/wrkdirs
	# Only show mounting messages once, not for every builder
	if [ ${mnt##*/} = "ref" ]; then
		[ -d "${CCACHE_DIR:-/nonexistent}" ] &&
			msg "Mounting ccache from: ${CCACHE_DIR}"
		msg "Mounting packages from: ${POUDRIERE_DATA}/packages/${MASTERNAME}"
................................................................................

	if [ -n "${POUDRIERE_BUILD_TYPE}" ]; then
		show_log_info
	fi

	if [ -d "${CCACHE_DIR:-/nonexistent}" ]; then
		echo "WITH_CCACHE_BUILD=yes" >> ${tomnt}/etc/make.conf
		echo "CCACHE_DIR=/ccache" >> ${tomnt}/etc/make.conf
	fi
	echo "PACKAGES=/packages" >> ${tomnt}/etc/make.conf
	echo "DISTDIR=/distfiles" >> ${tomnt}/etc/make.conf

	setup_makeconf ${tomnt}/etc/make.conf ${name} ${ptname} ${setname}

	test -n "${RESOLV_CONF}" && cp -v "${RESOLV_CONF}" "${tomnt}/etc/"







|







 







|







788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
...
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884

	[ "$(realpath ${DISTFILES_CACHE})" != \
		"$(realpath -q ${portsdir}/distfiles)" ] || err 1 \
		"DISTFILES_CACHE cannot be in the portsdir as the portsdir will be mounted read-only"

	mkdir -p ${POUDRIERE_DATA}/packages/${MASTERNAME}/All
	[ -d "${CCACHE_DIR:-/nonexistent}" ] &&
		mount -t nullfs ${CCACHE_DIR} ${mnt}/root/.ccache
	[ -n "${MFSSIZE}" ] && mdmfs -M -S -o async -s ${MFSSIZE} md ${mnt}/wrkdirs
	[ ${TMPFS_WRKDIR} -eq 1 ] && mount -t tmpfs tmpfs ${mnt}/wrkdirs
	# Only show mounting messages once, not for every builder
	if [ ${mnt##*/} = "ref" ]; then
		[ -d "${CCACHE_DIR:-/nonexistent}" ] &&
			msg "Mounting ccache from: ${CCACHE_DIR}"
		msg "Mounting packages from: ${POUDRIERE_DATA}/packages/${MASTERNAME}"
................................................................................

	if [ -n "${POUDRIERE_BUILD_TYPE}" ]; then
		show_log_info
	fi

	if [ -d "${CCACHE_DIR:-/nonexistent}" ]; then
		echo "WITH_CCACHE_BUILD=yes" >> ${tomnt}/etc/make.conf
		echo "CCACHE_DIR=/root/.ccache" >> ${tomnt}/etc/make.conf
	fi
	echo "PACKAGES=/packages" >> ${tomnt}/etc/make.conf
	echo "DISTDIR=/distfiles" >> ${tomnt}/etc/make.conf

	setup_makeconf ${tomnt}/etc/make.conf ${name} ${ptname} ${setname}

	test -n "${RESOLV_CONF}" && cp -v "${RESOLV_CONF}" "${tomnt}/etc/"