public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series
@ 2014-08-18 17:51 Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 1/6] econf: Replace unnecessary 'case' statements with 'if's Michał Górny
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev

dol-sen asked me to send all of them in a serie. Those are minor
bugfixes and code refactoring done to prepare for EAPI6 code.

1 & 2 cleans up econf. In EAPI6 we will likely be adding --docdir
and --htmldir there, so we should add it in nice code rather than
copying the bad one.

3-4 aim to clean up EAPI handling a bit. It's far from perfect, but 3 at
least fixes the bug that EAPI 5 is considered unsupported. Further
changes can be done in the future.

5 fixes PMS incompatibility that causes 'nonfatal' to prevent 'die' from
working correctly. I'm pretty sure the bug was mentioned by PMS team
already but nobody considered it important enough to report a bug. EAPI
6 'nonfatal die' support will land in place of that conditional.

6 aims to simplify the phase setting function that is hard to understand
and the moment, and has a few unnecessary, hard-to-understand side
effects like declaring non-existent __eapi2_src_*() phases. The new code
is much cleaner and makes adding new phases in future EAPIs trivial. It
also prevents from calling default_* function for another phase as
forbidden by PMS.

--
Michał Górny



^ permalink raw reply	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 1/6] econf: Replace unnecessary 'case' statements with 'if's
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 2/6] econf: Add EAPI-conditional arguments via array Michał Górny
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Replace the 'case' statements used to match 'configure' output with
simpler pattern-matching 'if's.

Acked-by: Alexander Berntsen <bernalex@gentoo.org>
---
 bin/phase-helpers.sh | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 47bd843..6a5ce85 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -525,19 +525,15 @@ econf() {
 			local conf_help=$("${ECONF_SOURCE}/configure" --help 2>/dev/null)
 
 			if ___eapi_econf_passes_--disable-dependency-tracking; then
-				case "${conf_help}" in
-					*--disable-dependency-tracking*)
-						set -- --disable-dependency-tracking "$@"
-						;;
-				esac
+				if [[ ${conf_help} == *--disable-dependency-tracking* ]]; then
+					set -- --disable-dependency-tracking "$@"
+				fi
 			fi
 
 			if ___eapi_econf_passes_--disable-silent-rules; then
-				case "${conf_help}" in
-					*--disable-silent-rules*)
-						set -- --disable-silent-rules "$@"
-						;;
-				esac
+				if [[ ${conf_help} == *--disable-silent-rules* ]]; then
+					set -- --disable-silent-rules "$@"
+				fi
 			fi
 		fi
 
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 2/6] econf: Add EAPI-conditional arguments via array
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 1/6] econf: Replace unnecessary 'case' statements with 'if's Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 3/6] Fix off-by-one error in supported EAPI list Michał Górny
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Use a dedicated array variable to add EAPI-conditional arguments to
the configure script instead of prepending them to the command
parameters.
---
 bin/phase-helpers.sh | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index 6a5ce85..b96c3f5 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -521,18 +521,19 @@ econf() {
 			done
 		fi
 
+		local conf_args=()
 		if ___eapi_econf_passes_--disable-dependency-tracking || ___eapi_econf_passes_--disable-silent-rules; then
 			local conf_help=$("${ECONF_SOURCE}/configure" --help 2>/dev/null)
 
 			if ___eapi_econf_passes_--disable-dependency-tracking; then
 				if [[ ${conf_help} == *--disable-dependency-tracking* ]]; then
-					set -- --disable-dependency-tracking "$@"
+					conf_args+=( --disable-dependency-tracking )
 				fi
 			fi
 
 			if ___eapi_econf_passes_--disable-silent-rules; then
 				if [[ ${conf_help} == *--disable-silent-rules* ]]; then
-					set -- --disable-silent-rules "$@"
+					conf_args+=( --disable-silent-rules )
 				fi
 			fi
 		fi
@@ -550,7 +551,9 @@ econf() {
 			CONF_PREFIX=${CONF_PREFIX#*=}
 			[[ ${CONF_PREFIX} != /* ]] && CONF_PREFIX="/${CONF_PREFIX}"
 			[[ ${CONF_LIBDIR} != /* ]] && CONF_LIBDIR="/${CONF_LIBDIR}"
-			set -- --libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")" "$@"
+			conf_args+=(
+				--libdir="$(__strip_duplicate_slashes "${CONF_PREFIX}${CONF_LIBDIR}")"
+			)
 		fi
 
 		# Handle arguments containing quoted whitespace (see bug #457136).
@@ -566,6 +569,7 @@ econf() {
 			--datadir="${EPREFIX}"/usr/share \
 			--sysconfdir="${EPREFIX}"/etc \
 			--localstatedir="${EPREFIX}"/var/lib \
+			"${conf_args[@]}" \
 			"$@" \
 			"${EXTRA_ECONF[@]}"
 		__vecho "${ECONF_SOURCE}/configure" "$@"
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 3/6] Fix off-by-one error in supported EAPI list
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 1/6] econf: Replace unnecessary 'case' statements with 'if's Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 2/6] econf: Add EAPI-conditional arguments via array Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 4/6] Make eapi_is_supported() reuse _supported_eapis list Michał Górny
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Fix the off-by-one error in construction of supported EAPI list that
resulted in EAPI 5 being considered unsupported.
---
 pym/portage/__init__.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index fdbc4a8..18b2599 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -493,7 +493,7 @@ _doebuild_manifest_exempt_depend = 0
 
 _testing_eapis = frozenset(["4-python", "4-slot-abi", "5-progress", "5-hdepend"])
 _deprecated_eapis = frozenset(["4_pre1", "3_pre2", "3_pre1", "5_pre1", "5_pre2"])
-_supported_eapis = frozenset([str(x) for x in range(portage.const.EAPI)] + list(_testing_eapis) + list(_deprecated_eapis))
+_supported_eapis = frozenset([str(x) for x in range(portage.const.EAPI + 1)] + list(_testing_eapis) + list(_deprecated_eapis))
 
 def _eapi_is_deprecated(eapi):
 	return eapi in _deprecated_eapis
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 4/6] Make eapi_is_supported() reuse _supported_eapis list
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
                   ` (2 preceding siblings ...)
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 3/6] Fix off-by-one error in supported EAPI list Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 5/6] Apply 'nonfatal' to helpers only Michał Górny
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Make the eapi_is_supported() function use the generated list of
supported EAPIs rather than partial lists and integer comparison.
---
 pym/portage/__init__.py | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 18b2599..66bfeb0 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -505,19 +505,7 @@ def eapi_is_supported(eapi):
 		eapi = str(eapi)
 	eapi = eapi.strip()
 
-	if _eapi_is_deprecated(eapi):
-		return True
-
-	if eapi in _testing_eapis:
-		return True
-
-	try:
-		eapi = int(eapi)
-	except ValueError:
-		eapi = -1
-	if eapi < 0:
-		return False
-	return eapi <= portage.const.EAPI
+	return eapi in _supported_eapis
 
 # This pattern is specified by PMS section 7.3.1.
 _pms_eapi_re = re.compile(r"^[ \t]*EAPI=(['\"]?)([A-Za-z0-9+_.-]*)\1[ \t]*([ \t]#.*)?$")
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 5/6] Apply 'nonfatal' to helpers only
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
                   ` (3 preceding siblings ...)
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 4/6] Make eapi_is_supported() reuse _supported_eapis list Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 6/6] Rewrite default ebuild phase setting code Michał Górny
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Make 'nonfatal' modifier affect helpers only rather than disabling 'die'
completely. This improves the PMS conformance.
---
 bin/isolated-functions.sh | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index a22af57..d41f0b3 100644
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -106,7 +106,7 @@ __bashpid() {
 }
 
 __helpers_die() {
-	if ___eapi_helpers_can_die; then
+	if ___eapi_helpers_can_die && [[ ${PORTAGE_NONFATAL} != 1 ]]; then
 		die "$@"
 	else
 		echo -e "$@" >&2
@@ -116,11 +116,6 @@ __helpers_die() {
 die() {
 	local IFS=$' \t\n'
 
-	if [[ $PORTAGE_NONFATAL -eq 1 ]]; then
-		echo -e " $WARN*$NORMAL ${FUNCNAME[1]}: WARNING: $@" >&2
-		return 1
-	fi
-
 	set +e
 	if [ -n "${QA_INTERCEPTORS}" ] ; then
 		# die was called from inside inherit. We need to clean up
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [gentoo-portage-dev] [PATCH 6/6] Rewrite default ebuild phase setting code
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
                   ` (4 preceding siblings ...)
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 5/6] Apply 'nonfatal' to helpers only Michał Górny
@ 2014-08-18 17:51 ` Michał Górny
  2014-09-12  7:15 ` [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
  2014-12-02  8:31 ` Michał Górny
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-08-18 17:51 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Michał Górny

Replace the ebuild phase setting code for EAPI 2 and newer with a
simpler approach; first set proper default_* functions, and call them
within the phase. Disallow calling default_* for other phase functions
than the one being run.
---
 bin/phase-functions.sh | 117 ++++++++++++++++++++++---------------------------
 bin/save-ebuild-env.sh |   2 +-
 2 files changed, 53 insertions(+), 66 deletions(-)

diff --git a/bin/phase-functions.sh b/bin/phase-functions.sh
index f39a024..b7fb5d7 100644
--- a/bin/phase-functions.sh
+++ b/bin/phase-functions.sh
@@ -734,91 +734,78 @@ __ebuild_phase_funcs() {
 	[ $# -ne 2 ] && die "expected exactly 2 args, got $#: $*"
 	local eapi=$1
 	local phase_func=$2
-	local default_phases="pkg_nofetch src_unpack src_prepare src_configure
-		src_compile src_install src_test"
-	local x y default_func=""
-
-	for x in pkg_nofetch src_unpack src_test ; do
-		declare -F $x >/dev/null || \
-			eval "$x() { __eapi0_$x \"\$@\" ; }"
+	local all_phases="src_compile pkg_config src_configure pkg_info
+		src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
+		src_prepare pkg_prerm pkg_pretend pkg_setup src_test src_unpack"
+	local x
+
+	# First, set up the error handlers for default*
+	for x in ${all_phases} ; do
+		eval "default_${x}() {
+			die \"default_${x}() is not supported in EAPI='${eapi}' in phase ${phase_func}\"
+		}"
 	done
 
+	# We can just call the specific handler -- it will either error out
+	# on invalid phase or run it.
+	eval "default() {
+		default_${phase_func}
+	}"
+
 	case "$eapi" in
+		0|1) # EAPIs not supporting 'default'
 
-		0|1)
+			for x in pkg_nofetch src_unpack src_test ; do
+				declare -F $x >/dev/null || \
+					eval "$x() { __eapi0_$x; }"
+			done
 
 			if ! declare -F src_compile >/dev/null ; then
 				case "$eapi" in
 					0)
-						src_compile() { __eapi0_src_compile "$@" ; }
+						src_compile() { __eapi0_src_compile; }
 						;;
 					*)
-						src_compile() { __eapi1_src_compile "$@" ; }
+						src_compile() { __eapi1_src_compile; }
 						;;
 				esac
 			fi
-
-			for x in $default_phases ; do
-				eval "default_$x() {
-					die \"default_$x() is not supported with EAPI='$eapi' during phase $phase_func\"
-				}"
-			done
-
-			eval "default() {
-				die \"default() is not supported with EAPI='$eapi' during phase $phase_func\"
-			}"
-
 			;;
 
-		*)
-
+		*) # EAPIs supporting 'default'
+
+			# defaults starting with EAPI 0
+			[[ ${phase_func} == pkg_nofetch ]] && \
+				default_pkg_nofetch() { __eapi0_pkg_nofetch; }
+			[[ ${phase_func} == src_unpack ]] && \
+				default_src_unpack() { __eapi0_src_unpack; }
+			[[ ${phase_func} == src_test ]] && \
+				default_src_test() { __eapi0_src_test; }
+
+			# defaults starting with EAPI 2
+			[[ ${phase_func} == src_configure ]] && \
+				default_src_configure() { __eapi2_src_configure; }
+			[[ ${phase_func} == src_compile ]] && \
+				default_src_compile() { __eapi2_src_compile; }
+
+			# bind supported phases to the defaults
+			declare -F src_unpack >/dev/null || \
+				src_unpack() { default; }
 			declare -F src_configure >/dev/null || \
-				src_configure() { __eapi2_src_configure "$@" ; }
-
+				src_configure() { default; }
 			declare -F src_compile >/dev/null || \
-				src_compile() { __eapi2_src_compile "$@" ; }
-
-			has $eapi 2 3 || declare -F src_install >/dev/null || \
-				src_install() { __eapi4_src_install "$@" ; }
+				src_compile() { default; }
+			declare -F src_test >/dev/null || \
+				src_test() { default; }
 
-			if has $phase_func $default_phases ; then
-
-				__eapi2_pkg_nofetch   () { __eapi0_pkg_nofetch          "$@" ; }
-				__eapi2_src_unpack    () { __eapi0_src_unpack           "$@" ; }
-				__eapi2_src_prepare   () { true                             ; }
-				__eapi2_src_test      () { __eapi0_src_test             "$@" ; }
-				__eapi2_src_install   () { die "$FUNCNAME is not supported" ; }
-
-				for x in $default_phases ; do
-					eval "default_$x() { __eapi2_$x \"\$@\" ; }"
-				done
-
-				eval "default() { __eapi2_$phase_func \"\$@\" ; }"
-
-				case "$eapi" in
-					2|3)
-						;;
-					*)
-						eval "default_src_install() { __eapi4_src_install \"\$@\" ; }"
-						[[ $phase_func = src_install ]] && \
-							eval "default() { __eapi4_$phase_func \"\$@\" ; }"
-						;;
-				esac
-
-			else
-
-				for x in $default_phases ; do
-					eval "default_$x() {
-						die \"default_$x() is not supported in phase $default_func\"
-					}"
-				done
-
-				eval "default() {
-					die \"default() is not supported with EAPI='$eapi' during phase $phase_func\"
-				}"
+			# defaults starting with EAPI 4
+			if ! has ${eapi} 2 3; then
+				[[ ${phase_func} == src_install ]] && \
+					default_src_install() { __eapi4_src_install; }
 
+				declare -F src_install >/dev/null || \
+					src_install() { default; }
 			fi
-
 			;;
 	esac
 }
diff --git a/bin/save-ebuild-env.sh b/bin/save-ebuild-env.sh
index 98cff83..de0c499 100644
--- a/bin/save-ebuild-env.sh
+++ b/bin/save-ebuild-env.sh
@@ -42,7 +42,7 @@ __save_ebuild_env() {
 
 	for x in pkg_setup pkg_nofetch src_unpack src_prepare src_configure \
 		src_compile src_test src_install pkg_preinst pkg_postinst \
-		pkg_prerm pkg_postrm ; do
+		pkg_prerm pkg_postrm pkg_config pkg_info pkg_pretend ; do
 		unset -f default_$x __eapi{0,1,2,3,4}_$x
 	done
 	unset x
-- 
2.0.4



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
                   ` (5 preceding siblings ...)
  2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 6/6] Rewrite default ebuild phase setting code Michał Górny
@ 2014-09-12  7:15 ` Michał Górny
  2014-12-02  8:31 ` Michał Górny
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-09-12  7:15 UTC (permalink / raw
  To: gentoo-portage-dev

[-- Attachment #1: Type: text/plain, Size: 1612 bytes --]

Dnia 2014-08-18, o godz. 19:51:35
Michał Górny <mgorny@gentoo.org> napisał(a):

> dol-sen asked me to send all of them in a serie. Those are minor
> bugfixes and code refactoring done to prepare for EAPI6 code.
> 
> 1 & 2 cleans up econf. In EAPI6 we will likely be adding --docdir
> and --htmldir there, so we should add it in nice code rather than
> copying the bad one.
> 
> 3-4 aim to clean up EAPI handling a bit. It's far from perfect, but 3 at
> least fixes the bug that EAPI 5 is considered unsupported. Further
> changes can be done in the future.
> 
> 5 fixes PMS incompatibility that causes 'nonfatal' to prevent 'die' from
> working correctly. I'm pretty sure the bug was mentioned by PMS team
> already but nobody considered it important enough to report a bug. EAPI
> 6 'nonfatal die' support will land in place of that conditional.
> 
> 6 aims to simplify the phase setting function that is hard to understand
> and the moment, and has a few unnecessary, hard-to-understand side
> effects like declaring non-existent __eapi2_src_*() phases. The new code
> is much cleaner and makes adding new phases in future EAPIs trivial. It
> also prevents from calling default_* function for another phase as
> forbidden by PMS.

1-4 & 6 committed.

5 needs a second look since it seems that not all functions use
__helper_die correctly. While at it, __eapi0_src_test should use emake,
and it has comment about nonfatal emake being too verbose -- we should
investigate that too. It doesn't make sense for nonfatal logic to
output warnings.

-- 
Best regards,
Michał Górny

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series
  2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
                   ` (6 preceding siblings ...)
  2014-09-12  7:15 ` [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
@ 2014-12-02  8:31 ` Michał Górny
  7 siblings, 0 replies; 9+ messages in thread
From: Michał Górny @ 2014-12-02  8:31 UTC (permalink / raw
  To: gentoo-portage-dev

[-- Attachment #1: Type: text/plain, Size: 541 bytes --]

Dnia 2014-08-18, o godz. 19:51:35
Michał Górny <mgorny@gentoo.org> napisał(a):

> 5 fixes PMS incompatibility that causes 'nonfatal' to prevent 'die' from
> working correctly. I'm pretty sure the bug was mentioned by PMS team
> already but nobody considered it important enough to report a bug. EAPI
> 6 'nonfatal die' support will land in place of that conditional.

The only patch left replaced by 'Updated EAPI 6 patch set':
http://thread.gmane.org/gmane.linux.gentoo.portage.devel/4870

-- 
Best regards,
Michał Górny

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 949 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2014-12-02  8:32 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-18 17:51 [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 1/6] econf: Replace unnecessary 'case' statements with 'if's Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 2/6] econf: Add EAPI-conditional arguments via array Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 3/6] Fix off-by-one error in supported EAPI list Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 4/6] Make eapi_is_supported() reuse _supported_eapis list Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 5/6] Apply 'nonfatal' to helpers only Michał Górny
2014-08-18 17:51 ` [gentoo-portage-dev] [PATCH 6/6] Rewrite default ebuild phase setting code Michał Górny
2014-09-12  7:15 ` [gentoo-portage-dev] [PATCHES] Random issues and refactoring before EAPI6 series Michał Górny
2014-12-02  8:31 ` Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox