Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 368865 | Differences between
and this patch

Collapse All | Expand All

(-)a/bin/ebuild.sh (-7 / +14 lines)
Lines 690-698 ebuild_phase() { Link Here
690
690
691
ebuild_phase_with_hooks() {
691
ebuild_phase_with_hooks() {
692
	local x phase_name=${1}
692
	local x phase_name=${1}
693
	for x in {pre_,,post_}${phase_name} ; do
693
694
		ebuild_phase ${x}
694
    # only export EMERGE_FROM to eapi's lack MERGE_TYPE, but export
695
	done
695
    # it to hooks in full
696
    EMERGE_FROM="${PORTAGE_EMERGE_FROM}" ebuild_phase pre_${phase_name}
697
    if has ${EAPI} 0 1 2 3; then
698
        EMERGE_FROM="${PORTAGE_EMERGE_FROM}" ebuild_phase ${phase_name}
699
    else
700
        ebuild_phase ${phase_name}
701
    fi
702
    EMERGE_FROM="${PORTAGE_EMERGE_FROM}" ebuild_phase post_${phase_name}
696
}
703
}
697
704
698
dyn_pretend() {
705
dyn_pretend() {
Lines 785-796 dyn_clean() { Link Here
785
	rm -rf "${PORTAGE_BUILDDIR}/image" "${PORTAGE_BUILDDIR}/homedir"
792
	rm -rf "${PORTAGE_BUILDDIR}/image" "${PORTAGE_BUILDDIR}/homedir"
786
	rm -f "${PORTAGE_BUILDDIR}/.installed"
793
	rm -f "${PORTAGE_BUILDDIR}/.installed"
787
794
788
	if [[ $EMERGE_FROM = binary ]] || \
795
	if [[ $PORTAGE_EMERGE_FROM = binary ]] || \
789
		! hasq keeptemp $FEATURES && ! hasq keepwork $FEATURES ; then
796
		! hasq keeptemp $FEATURES && ! hasq keepwork $FEATURES ; then
790
		rm -rf "${T}"
797
		rm -rf "${T}"
791
	fi
798
	fi
792
799
793
	if [[ $EMERGE_FROM = binary ]] || ! hasq keepwork $FEATURES; then
800
	if [[ $PORTAGE_EMERGE_FROM = binary ]] || ! hasq keepwork $FEATURES; then
794
		rm -f "$PORTAGE_BUILDDIR"/.{ebuild_changed,logid,pretended,setuped,unpacked,prepared} \
801
		rm -f "$PORTAGE_BUILDDIR"/.{ebuild_changed,logid,pretended,setuped,unpacked,prepared} \
795
			"$PORTAGE_BUILDDIR"/.{configured,compiled,tested,packaged} \
802
			"$PORTAGE_BUILDDIR"/.{configured,compiled,tested,packaged} \
796
			"$PORTAGE_BUILDDIR"/.die_hooks \
803
			"$PORTAGE_BUILDDIR"/.die_hooks \
Lines 1362-1368 inherit() { Link Here
1362
1369
1363
		if [ "${EBUILD_PHASE}" != "depend" ] && \
1370
		if [ "${EBUILD_PHASE}" != "depend" ] && \
1364
			[[ ${EBUILD_PHASE} != *rm ]] && \
1371
			[[ ${EBUILD_PHASE} != *rm ]] && \
1365
			[[ ${EMERGE_FROM} != "binary" ]] ; then
1372
			[[ ${PORTAGE_EMERGE_FROM} != "binary" ]] ; then
1366
			# This is disabled in the *rm phases because they frequently give
1373
			# This is disabled in the *rm phases because they frequently give
1367
			# false alarms due to INHERITED in /var/db/pkg being outdated
1374
			# false alarms due to INHERITED in /var/db/pkg being outdated
1368
			# in comparison the the eclasses from the portage tree.
1375
			# in comparison the the eclasses from the portage tree.
Lines 1743-1749 PORTAGE_READONLY_METADATA="DEFINED_PHASES DEPEND DESCRIPTION Link Here
1743
	PDEPEND PROVIDE RDEPEND RESTRICT SLOT SRC_URI"
1750
	PDEPEND PROVIDE RDEPEND RESTRICT SLOT SRC_URI"
1744
1751
1745
PORTAGE_READONLY_VARS="D EBUILD EBUILD_PHASE \
1752
PORTAGE_READONLY_VARS="D EBUILD EBUILD_PHASE \
1746
	EBUILD_SH_ARGS ECLASSDIR EMERGE_FROM FILESDIR MERGE_TYPE \
1753
	EBUILD_SH_ARGS ECLASSDIR PORTAGE_EMERGE_FROM FILESDIR MERGE_TYPE \
1747
	PM_EBUILD_HOOK_DIR \
1754
	PM_EBUILD_HOOK_DIR \
1748
	PORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST PORTAGE_BASHRC  \
1755
	PORTAGE_ACTUAL_DISTDIR PORTAGE_ARCHLIST PORTAGE_BASHRC  \
1749
	PORTAGE_BINPKG_FILE PORTAGE_BINPKG_TAR_OPTS PORTAGE_BINPKG_TMPFILE \
1756
	PORTAGE_BINPKG_FILE PORTAGE_BINPKG_TAR_OPTS PORTAGE_BINPKG_TMPFILE \
(-)a/bin/isolated-functions.sh (-1 / +1 lines)
Lines 182-188 die() { Link Here
182
			eerror "  ${x}"
182
			eerror "  ${x}"
183
		done
183
		done
184
	fi
184
	fi
185
	if [ "${EMERGE_FROM}" != "binary" ] && \
185
	if [ "${PORTAGE_EMERGE_FROM}" != "binary" ] && \
186
		! hasq ${EBUILD_PHASE} prerm postrm && \
186
		! hasq ${EBUILD_PHASE} prerm postrm && \
187
		[ "${EBUILD#${PORTDIR}/}" == "${EBUILD}" ] ; then
187
		[ "${EBUILD#${PORTDIR}/}" == "${EBUILD}" ] ; then
188
		local overlay=${EBUILD%/*}
188
		local overlay=${EBUILD%/*}
(-)a/pym/_emerge/Binpkg.py (-1 / +1 lines)
Lines 55-61 class Binpkg(CompositeTask): Link Here
55
				(dir_path, self.settings['PORTAGE_BUILDDIR']))
55
				(dir_path, self.settings['PORTAGE_BUILDDIR']))
56
		self._build_dir = EbuildBuildDir(
56
		self._build_dir = EbuildBuildDir(
57
			scheduler=self.scheduler, settings=settings)
57
			scheduler=self.scheduler, settings=settings)
58
		settings.configdict["pkg"]["EMERGE_FROM"] = "binary"
58
		settings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "binary"
59
		settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
59
		settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
60
60
61
		if eapi_exports_replace_vars(settings["EAPI"]):
61
		if eapi_exports_replace_vars(settings["EAPI"]):
(-)a/pym/_emerge/EbuildBuild.py (-1 / +1 lines)
Lines 42-48 class EbuildBuild(CompositeTask): Link Here
42
		self._tree = tree
42
		self._tree = tree
43
		portdb = root_config.trees[tree].dbapi
43
		portdb = root_config.trees[tree].dbapi
44
		settings.setcpv(pkg)
44
		settings.setcpv(pkg)
45
		settings.configdict["pkg"]["EMERGE_FROM"] = "ebuild"
45
		settings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "ebuild"
46
		if self.opts.buildpkgonly:
46
		if self.opts.buildpkgonly:
47
			settings.configdict["pkg"]["MERGE_TYPE"] = "buildonly"
47
			settings.configdict["pkg"]["MERGE_TYPE"] = "buildonly"
48
		else:
48
		else:
(-)a/pym/_emerge/Scheduler.py (-2 / +2 lines)
Lines 1011-1017 class Scheduler(PollScheduler): Link Here
1011
					os.makedirs(infloc)
1011
					os.makedirs(infloc)
1012
					portage.xpak.tbz2(tbz2_file).unpackinfo(infloc)
1012
					portage.xpak.tbz2(tbz2_file).unpackinfo(infloc)
1013
					ebuild_path = os.path.join(infloc, x.pf + ".ebuild")
1013
					ebuild_path = os.path.join(infloc, x.pf + ".ebuild")
1014
					settings.configdict["pkg"]["EMERGE_FROM"] = "binary"
1014
					settings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "binary"
1015
					settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
1015
					settings.configdict["pkg"]["MERGE_TYPE"] = "binary"
1016
1016
1017
				else:
1017
				else:
Lines 1020-1026 class Scheduler(PollScheduler): Link Here
1020
					ebuild_path = portdb.findname(x.cpv, myrepo=x.repo)
1020
					ebuild_path = portdb.findname(x.cpv, myrepo=x.repo)
1021
					if ebuild_path is None:
1021
					if ebuild_path is None:
1022
						raise AssertionError("ebuild not found for '%s'" % x.cpv)
1022
						raise AssertionError("ebuild not found for '%s'" % x.cpv)
1023
					settings.configdict["pkg"]["EMERGE_FROM"] = "ebuild"
1023
					settings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "ebuild"
1024
					if self._build_opts.buildpkgonly:
1024
					if self._build_opts.buildpkgonly:
1025
						settings.configdict["pkg"]["MERGE_TYPE"] = "buildonly"
1025
						settings.configdict["pkg"]["MERGE_TYPE"] = "buildonly"
1026
					else:
1026
					else:
(-)a/pym/portage/package/ebuild/_config/special_env_vars.py (-3 / +3 lines)
Lines 13-20 import re Link Here
13
# configuration files.
13
# configuration files.
14
env_blacklist = frozenset((
14
env_blacklist = frozenset((
15
	"A", "AA", "CATEGORY", "DEPEND", "DESCRIPTION", "EAPI",
15
	"A", "AA", "CATEGORY", "DEPEND", "DESCRIPTION", "EAPI",
16
	"EBUILD_PHASE", "ED", "EMERGE_FROM", "EPREFIX", "EROOT",
16
	"EBUILD_PHASE", "ED", "PORTAGE_EMERGE_FROM", "EMERGE_FROM", "EPREFIX",
17
	"HOMEPAGE", "INHERITED", "IUSE",
17
	"EROOT", "HOMEPAGE", "INHERITED", "IUSE",
18
	"KEYWORDS", "LICENSE", "MERGE_TYPE",
18
	"KEYWORDS", "LICENSE", "MERGE_TYPE",
19
	"PDEPEND", "PF", "PKGUSE", "PORTAGE_BACKGROUND",
19
	"PDEPEND", "PF", "PKGUSE", "PORTAGE_BACKGROUND",
20
	"PORTAGE_BACKGROUND_UNMERGE", "PORTAGE_BUILDIR_LOCKED",
20
	"PORTAGE_BACKGROUND_UNMERGE", "PORTAGE_BUILDIR_LOCKED",
Lines 39-45 environ_whitelist += [ Link Here
39
	"DISTDIR", "DOC_SYMLINKS_DIR", "EAPI", "EBUILD",
39
	"DISTDIR", "DOC_SYMLINKS_DIR", "EAPI", "EBUILD",
40
	"EBUILD_FORCE_TEST",
40
	"EBUILD_FORCE_TEST",
41
	"EBUILD_PHASE", "ECLASSDIR", "ECLASS_DEPTH", "ED",
41
	"EBUILD_PHASE", "ECLASSDIR", "ECLASS_DEPTH", "ED",
42
	"EMERGE_FROM", "EPREFIX", "EROOT",
42
	"PORTAGE_EMERGE_FROM", "EPREFIX", "EROOT",
43
	"FEATURES", "FILESDIR", "HOME", "MERGE_TYPE", "NOCOLOR", "PATH",
43
	"FEATURES", "FILESDIR", "HOME", "MERGE_TYPE", "NOCOLOR", "PATH",
44
	"PKGDIR",
44
	"PKGDIR",
45
	"PKGUSE", "PKG_LOGDIR", "PKG_TMPDIR",
45
	"PKGUSE", "PKG_LOGDIR", "PKG_TMPDIR",
(-)a/pym/portage/package/ebuild/doebuild.py (-3 / +2 lines)
Lines 695-704 def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0, Link Here
695
		if eapi_exports_merge_type(mysettings["EAPI"]) and \
695
		if eapi_exports_merge_type(mysettings["EAPI"]) and \
696
			"MERGE_TYPE" not in mysettings.configdict["pkg"]:
696
			"MERGE_TYPE" not in mysettings.configdict["pkg"]:
697
			if tree == "porttree":
697
			if tree == "porttree":
698
				mysettings.configdict["pkg"]["EMERGE_FROM"] = "ebuild"
698
				mysettings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "ebuild"
699
				mysettings.configdict["pkg"]["MERGE_TYPE"] = "source"
699
				mysettings.configdict["pkg"]["MERGE_TYPE"] = "source"
700
			elif tree == "bintree":
700
			elif tree == "bintree":
701
				mysettings.configdict["pkg"]["EMERGE_FROM"] = "binary"
701
				mysettings.configdict["pkg"]["PORTAGE_EMERGE_FROM"] = "binary"
702
				mysettings.configdict["pkg"]["MERGE_TYPE"] = "binary"
702
				mysettings.configdict["pkg"]["MERGE_TYPE"] = "binary"
703
703
704
		if eapi_exports_replace_vars(mysettings["EAPI"]) and \
704
		if eapi_exports_replace_vars(mysettings["EAPI"]) and \
705
- 

Return to bug 368865