public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: sys-kernel/mips-sources/, sys-kernel/mips-sources/files/eblits/
@ 2017-01-16 19:29 Joshua Kinard
  0 siblings, 0 replies; 2+ messages in thread
From: Joshua Kinard @ 2017-01-16 19:29 UTC (permalink / raw
  To: gentoo-commits

commit:     8af8b604f30e0131ad3ee259e9d87a388b8ea567
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 16 19:27:40 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Mon Jan 16 19:28:42 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8af8b604

sys-kernel/mips-sources: bump to 4.4.43 & 4.8.17, update copyright date.

Bump 4.4.39 -> 4.4.43 and 4.8.15 -> 4.8.17 (EOL).  Updated the copyright
dates to reflect the new year, and removed the unused Cobalt eblit.

Signed-off-by: Joshua Kinard <kumba <AT> gentoo.org>

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 sys-kernel/mips-sources/Manifest                    |  4 ++--
 .../files/eblits/err_disabled_mach-v1.eblit         |  2 +-
 .../files/eblits/err_only_one_mach_allowed-v1.eblit |  2 +-
 .../mips-sources/files/eblits/pkg_postinst-v2.eblit |  2 +-
 .../mips-sources/files/eblits/pkg_setup-v2.eblit    |  2 +-
 .../files/eblits/show_cobalt_info-v1.eblit          | 21 ---------------------
 .../files/eblits/show_ip22_info-v3.eblit            |  2 +-
 .../files/eblits/show_ip27_info-v4.eblit            |  2 +-
 .../files/eblits/show_ip28_info-v1.eblit            |  2 +-
 .../files/eblits/show_ip30_info-v5.eblit            |  2 +-
 .../files/eblits/show_ip32_info-v5.eblit            |  2 +-
 .../mips-sources/files/eblits/src_unpack-v7.eblit   |  2 +-
 ...ces-4.4.39.ebuild => mips-sources-4.4.43.ebuild} |  2 +-
 ...ces-4.8.15.ebuild => mips-sources-4.8.17.ebuild} |  2 +-
 14 files changed, 14 insertions(+), 35 deletions(-)

diff --git a/sys-kernel/mips-sources/Manifest b/sys-kernel/mips-sources/Manifest
index 240a4d2..3f095e2 100644
--- a/sys-kernel/mips-sources/Manifest
+++ b/sys-kernel/mips-sources/Manifest
@@ -4,5 +4,5 @@ DIST mips-sources-4.4.0-patches-v2.tar.xz 156396 SHA256 7aa6ab5628c9094b2aab39e4
 DIST mips-sources-4.8.0-patches-v1.tar.xz 218452 SHA256 4322e03fe7bb383cb6a9ab0e93ae8bc06b6911c6f2441baa3341dc2df5428e1f SHA512 ff4e1ab26f085b4d64bcb8410dd0478debb2a92c24e70bb11d460bf69b5e61a17f7116913e1a71cd7e89ea15a6a5d52118cefc15e918b9155a9780069271c907 WHIRLPOOL 5445d05a5a3b7e8cb24d09cef62317a87add0bb22f65719fdae8cc35459ac89819002b6d16d72041e28ba8cde11871a8badedc027103cc5dddc0581169441cc8
 DIST mipsgit-4.4.0-20160123.diff.xz 1908 SHA256 71ada981970c6271765fc4cb45af1899fdc32419b5493802ff3af8febd211fe3 SHA512 0086c470064dd4e5c2fefd8161b70200475659fe925e68d374ff139b506147c39163f366be689bbb92a9aaf72e8c58cdaaaff5def6718c5e87ff7e047551a1f8 WHIRLPOOL 973bc1f626566dc13be8bd315b1339ddecda2008ef829258b8d82b1220d146115960f11808970e34299a9bdffa2e08e4e730bde4cbd3d49a1850c386ac90e9e3
 DIST mipsgit-4.8.0-20161016.diff.xz 1932 SHA256 ad0ba84c2710cfc07c7a215a435d5aa89dd477172577c4d6bbecc2195208e9ec SHA512 578792e7ce7a5c25e6acccc442ada9b829cec9d113390e5aa705359d1bf6b1d67fb6ce761eac418d411fdaf3312b04c4cbaee17d0127ef69d6c1f4a1467f75cd WHIRLPOOL 9382d87f0d71754272a1fa06eff1c4d413aa4554b903e138f5001456b7817e6780d744e82fee8681310852b864fc7b2fa7143d9303f7c728f769bcbe481c2fe5
-DIST patch-4.4.39.xz 861392 SHA256 fc2b60d221aeaf3eafec4f36f299e4002be81da85117c3f59963fdcb6facb929 SHA512 c4ab325bb4d49bc3fd12d55bb3c98aecdcd165aee6146afe4548607188bcb4f3ca18c8bf0c6f77fdac79b2c03c8ef369c4ac1ee9ed281362e54ab1e6298c48da WHIRLPOOL 69b078e290f833752a0d0daa351828367e823f6a4762b52d69cfc2394334dfb106988f0a50d38cb881999cdc0abd62ed5ec21428819901670a295cfcc8fb63e8
-DIST patch-4.8.15.xz 268816 SHA256 cdeff3a6e0dc3d6189d1b1d4d6318f0942b9a28409491cf65592879e4c42b1f7 SHA512 d819c86f3fe93ee1d083fdce954ae06a683a22e8b0864da170714c5230c4c2fdecc29270194b1ad8a715b836b493141c8ff2c09e76a84426b7a89ebc31fb9e01 WHIRLPOOL 36ce7b4f47cb0f86991794f9e8df0160c8f38b1153d413082636f31edba2bcbbff2c5584062800b48c9471dbcb77f825f58d509f4641a9e48a1d396216860155
+DIST patch-4.4.43.xz 914008 SHA256 000017fb4d658c95fff9754b1409952c177fef2567eacb9386c86a4060ab27ff SHA512 15b87d5b5b8729f939708f0e8f85b7f03677d6e268042c1dca18822c736951dd521e157a64fdfd53c8694a4e2ebb373eb833a7f7371a2e77513c37afc44b8e63 WHIRLPOOL cdc2bc76e0b478c1f8fcb12b9484a949766c4d7d1511979f489b337b76d691ac17e436ef648a30853ba04810cb61bf56ec1b2925558b44db21a582c8f7e83ff3
+DIST patch-4.8.17.xz 320288 SHA256 1e4be6f6a8eab3edcd0899db382fe1a9330320c603a9ad2c32ebb1dc6f53b3db SHA512 df239d990077cdf697fd487b4b8abb97fe442ac9fac4ed2e90c626560fc15058363310cf40580fd000d4ad55198486594a608544ce9c2bcaf03704415aa45441 WHIRLPOOL 401c8ee9f41b78b355ab76f1f0ed25b53855f641e0c27c07461e82af4e322fe958f73ef3cce6d074de2a6be550c8c8615a0a53187f3f9d17c8bd8b928d3a6051

diff --git a/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
index 6f9ff7e..9879a1d 100644
--- a/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
+++ b/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
index c3562cf..d113526 100644
--- a/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
+++ b/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit b/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit
index 5848974..2e2aef9 100644
--- a/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit
+++ b/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit b/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit
index 3ee357f..f44b130 100644
--- a/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit
+++ b/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit
deleted file mode 100644
index b1ff8ff..00000000
--- a/sys-kernel/mips-sources/files/eblits/show_cobalt_info-v1.eblit
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# Eblit with information/warnings for Cobalt users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_cobalt_info() {
-	echo -e ""
-	einfo "Please keep in mind that the 2.6 kernel will NOT boot on Cobalt"
-	einfo "systems that are still using the old Cobalt bootloader.  In"
-	einfo "order to boot a 2.6 kernel on Cobalt systems, you must be using"
-	einfo "the CoLo bootloader, which does not have the kernel"
-	einfo "size limitation that the older bootloader has.  If you want"
-	einfo "to use the newer bootloader, make sure you have sys-boot/colo"
-	einfo "installed and setup."
-	echo -e ""
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit b/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit
index e926d31..6089d5c 100644
--- a/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit
+++ b/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit b/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit
index a36db4e..1aec699 100644
--- a/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit
+++ b/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
index 2ad25cd..9cedda4 100644
--- a/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
+++ b/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit b/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit
index d1fd439..e68e415 100644
--- a/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit
+++ b/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit b/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit
index 2e9f3e0..9a57cc6 100644
--- a/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit
+++ b/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit b/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit
index c303519..487ea6b 100644
--- a/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit
+++ b/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/mips-sources-4.4.39.ebuild b/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
similarity index 99%
rename from sys-kernel/mips-sources/mips-sources-4.4.39.ebuild
rename to sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
index 32ecdf3..07a15f5 100644
--- a/sys-kernel/mips-sources/mips-sources-4.4.39.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 

diff --git a/sys-kernel/mips-sources/mips-sources-4.8.15.ebuild b/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
similarity index 99%
rename from sys-kernel/mips-sources/mips-sources-4.8.15.ebuild
rename to sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
index e419d9b..0f6855d 100644
--- a/sys-kernel/mips-sources/mips-sources-4.8.15.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 


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

* [gentoo-commits] repo/gentoo:master commit in: sys-kernel/mips-sources/, sys-kernel/mips-sources/files/eblits/
@ 2017-03-18 18:20 Joshua Kinard
  0 siblings, 0 replies; 2+ messages in thread
From: Joshua Kinard @ 2017-03-18 18:20 UTC (permalink / raw
  To: gentoo-commits

commit:     9b62c3f713bdb9ce280e520279818d3298b1717e
Author:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 18 18:13:25 2017 +0000
Commit:     Joshua Kinard <kumba <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 18:18:17 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b62c3f7

sys-kernel/mips-sources: Resolve Bug #586420

Merge eblit source into each ebuild to resolve Bug #586420.

Package-Manager: Portage-2.3.5, Repoman-2.3.2

 .../files/eblits/err_disabled_mach-v1.eblit        |  40 ---
 .../eblits/err_only_one_mach_allowed-v1.eblit      |  14 -
 .../files/eblits/pkg_postinst-v2.eblit             |  18 --
 .../mips-sources/files/eblits/pkg_setup-v2.eblit   |  61 ----
 .../files/eblits/show_ip22_info-v3.eblit           |  20 --
 .../files/eblits/show_ip27_info-v4.eblit           |  17 --
 .../files/eblits/show_ip28_info-v1.eblit           |  18 --
 .../files/eblits/show_ip30_info-v5.eblit           |  55 ----
 .../files/eblits/show_ip32_info-v5.eblit           |  25 --
 .../mips-sources/files/eblits/src_unpack-v7.eblit  |  67 -----
 sys-kernel/mips-sources/mips-sources-4.4.43.ebuild | 334 ++++++++++++++++-----
 sys-kernel/mips-sources/mips-sources-4.8.17.ebuild | 334 ++++++++++++++++-----
 12 files changed, 508 insertions(+), 495 deletions(-)

diff --git a/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
deleted file mode 100644
index e9804bbec4e..00000000000
--- a/sys-kernel/mips-sources/files/eblits/err_disabled_mach-v1.eblit
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit to check if a given machine is disabled or marked for testing.
-
-err_disabled_mach() {
-	# Get args
-	local m_name="${1}"
-	local m_abbr="${2}"
-	local m_use="${3}"
-	local is_test="${4}"
-
-	# Get stable version, if exists
-	local stable_ver="SV_${m_abbr}"
-	stable_ver="${!stable_ver}"
-
-	# See if this machine needs a USE passed or skip dying
-	local has_use
-	[ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
-
-	# Print error && (maybe) die
-	echo -e ""
-	if [ "${is_test}" != "test" ]; then
-		eerror "${m_name} Support has been disabled in this ebuild"
-		eerror "revision.  If you wish to merge ${m_name} sources, then"
-		eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
-		[ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
-	else
-		ewarn "${m_name} Support has been marked as needing testing in this"
-		ewarn "ebuild revision.  This usually means that any patches to support"
-		ewarn "${m_name} have been forward ported and maybe even compile-tested,"
-		ewarn "but not yet booted on real hardware, possibly due to a lack of access"
-		ewarn "to such hardware.  If you happen to boot this kernel and have no"
-		ewarn "problems at all, then please inform the maintainer.  Otherwise, if"
-		ewarn "experience a bug, an oops/panic, or some other oddity, then please"
-		ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
-	fi
-
-	return 0
-}

diff --git a/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit b/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
deleted file mode 100644
index 0db21872599..00000000000
--- a/sys-kernel/mips-sources/files/eblits/err_only_one_mach_allowed-v1.eblit
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit informing a user when they try to apply two machine patches to the
-# same tree.  Most machine patches are exclusive to avoid conflicts.
-
-err_only_one_mach_allowed() {
-	echo -e ""
-	eerror "A patchset for a specific machine-type has already been selected."
-	eerror "No other patches for machines-types are permitted.  You will need a"
-	eerror "separate copy of the kernel sources for each different machine-type"
-	eerror "you want to build a kernel for."
-	die "Only one machine-type patchset allowed"
-}

diff --git a/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit b/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit
deleted file mode 100644
index 83d2214c4fc..00000000000
--- a/sys-kernel/mips-sources/files/eblits/pkg_postinst-v2.eblit
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit that handles binpkg postinst tasks.
-# In this case, it sets up the /usr/src/linux symlink.
-
-eblit-mips-sources-pkg_postinst() {
-	# Symlink /usr/src/linux as appropriate
-	local my_ksrc="${S##*/}"
-	for x in {ip27,ip28,ip30}; do
-		use ${x} && my_ksrc="${my_ksrc}.${x}"
-	done
-
-	if [ ! -e "${ROOT}usr/src/linux" ]; then
-		rm -f "${ROOT}usr/src/linux"
-		ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
-	fi
-}

diff --git a/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit b/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit
deleted file mode 100644
index 4a23036aba2..00000000000
--- a/sys-kernel/mips-sources/files/eblits/pkg_setup-v2.eblit
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit to check our USE flags for machine-specific flags and give appropriate
-# information, warnings, or errors to the user.
-
-# Some machine patches are mutually-exclusive to avoid conflicts:
-# Affected:	ip27 ip28 ip30
-# Not Affected:	ip22 ip32
-
-eblit-mips-sources-pkg_setup() {
-	local arch_is_selected="no"
-	local m_ip m_enable m_name
-
-	# Exclusive machine patchsets
-	# These are not allowed to be mixed together, thus only one of them may be applied
-	# to a tree per merge.
-	for x in									\
-		"ip27 SGI Origin 200/2000"						\
-		"ip28 SGI Indigo2 Impact R10000"					\
-		"ip30 SGI Octane"
-	do
-		set -- ${x}		# Set positional params
-		m_ip="${1}"		# Grab the first param (HW IP for SGI)
-		shift			# Shift the positions
-		m_name="${*}"		# Get the rest (Name)
-
-		if use ${m_ip}; then
-			# Fetch the value indiciating if the machine is enabled or not
-			m_enable="DO_${m_ip/ip/IP}"
-			m_enable="${!m_enable}"
-
-			# Make sure only one of these exclusive machine patches is selected
-			[ "${arch_is_selected}" = "no" ]				\
-				&& arch_is_selected="yes"				\
-				|| err_only_one_mach_allowed
-
-			# Is the machine support disabled or marked as needing testing?
-			[ "${m_enable}" = "test" ]					\
-				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
-			[ "${m_enable}" = "no" ]					\
-				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
-
-			# Show relevant information about the machine
-			show_${m_ip}_info
-		fi
-	done
-
-	# All other systems that don't have a USE flag go here
-	# These systems have base-line support included in linux-mips git, so
-	# instead of failing, if disabled, we simply warn the user
-	if [ "${arch_is_selected}" = "no" ]; then
-		[ "${DO_IP22}" = "no" ]							\
-			&& err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip"	\
-			|| show_ip22_info
-		[ "${DO_IP32}" = "no" ]							\
-			&& err_disabled_mach "SGI O2" "IP32" "skip"			\
-			|| show_ip32_info
-
-	fi
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit b/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit
deleted file mode 100644
index 48656b069fe..00000000000
--- a/sys-kernel/mips-sources/files/eblits/show_ip22_info-v3.eblit
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit with information/warnings for IP22 (Indy/Indigo2 R4x00) users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_ip22_info() {
-	echo -e ""
-	einfo "IP22 systems with an R5000 processor should work with this release."
-	einfo "The R4x00 series of processors tend to be rather flaky, especially the"
-	einfo "R4600.  If you have to run an R4x00 processor, then try to use an R4400."
-	einfo ""
-	einfo "Some Notes:"
-	einfo "\t- Supported graphics card right now is Newport (XL)."
-	einfo "\t- A driver for Extreme (XZ) does not exist at present."
-	echo -e ""
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit b/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit
deleted file mode 100644
index 07bb20e9e06..00000000000
--- a/sys-kernel/mips-sources/files/eblits/show_ip27_info-v4.eblit
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit with information/warnings for IP27 (Origin 200/2000/Onyx2) users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_ip27_info() {
-	echo -e ""
-	ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
-	ewarn "in move_freepages() in mm/page_alloc.c.  The exact trigger cause is"
-	ewarn "unknown at this time.  Please report any oops messages from this"
-	ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
-	echo -e ""
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit b/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
deleted file mode 100644
index 90648ee5340..00000000000
--- a/sys-kernel/mips-sources/files/eblits/show_ip28_info-v1.eblit
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit with information/warnings for IP28 (Indigo2 Impact R10000) users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_ip28_info() {
-	echo -e ""
-	einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel.  However,"
-	einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
-	einfo "nothing is guaranteed to work correctly.  Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
-	einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
-	einfo "feedback that can be used to trace down the crash."
-	echo -e ""
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit b/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit
deleted file mode 100644
index 960f45781d8..00000000000
--- a/sys-kernel/mips-sources/files/eblits/show_ip30_info-v5.eblit
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit with information/warnings for IP30 (Octane) users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_ip30_info() {
-	echo -e ""
-	eerror "Things that DON'T work:"
-	eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
-	eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
-	eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
-	eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
-	eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
-	eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
-	eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
-	echo -e ""
-	ewarn "Things that might work, but have problems, or are unknown:"
-	ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
-	ewarn "\t\040\040intermittent issues.  Additionally, CONFIG_HUGETLBFS must also be"
-	ewarn "\t\040\040selected for hugepages to work.  If use of this feature continues"
-	ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
-	ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
-	ewarn "\t\040\040after powering it down for at least 30 seconds."
-	ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
-	ewarn "\t\040\040the 16550A chip on the IOC3 directly.  It does not use interrupts,"
-	ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
-	ewarn "\t\040\040intensive.  The baud rate is limited to no more than 38.4kbps on"
-	ewarn "\t\040\040this driver.  Patches for getting the Altix IOC3 serial driver to"
-	ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
-	ewarn "\t- UHCI Cards are known to have issues, but should still function."
-	ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
-	ewarn "\t\040\040adapters."
-	ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
-	ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
-	ewarn "\t\040\040UART driver.  The NIC part number is also not read correctly"
-	ewarn "\t\040\040from the four Number-In-a-Cans.  Additional testing would be"
-	ewarn "\t\040\040appreciated and patches welcome."
-	ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
-	ewarn "\t\040\040and are not guaranteed to work.  This applies to various digital"
-	ewarn "\t\040\040video conversion boards as well."
-	echo -e ""
-	einfo "Things that DO work:"
-	einfo "\t- SMP works again, celebrate!"
-	einfo "\t- Impact (MGRAS) console only."
-	einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
-	einfo "\t- PCI Card Cages should work for many devices, except certain types like"
-	einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
-	einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse.  Please"
-	einfo "\t\040\040report any problems with these devices."
-	echo -e ""
-}

diff --git a/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit b/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit
deleted file mode 100644
index dcc504297c0..00000000000
--- a/sys-kernel/mips-sources/files/eblits/show_ip32_info-v5.eblit
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit with information/warnings for IP32 (O2) users.
-#
-# If you need to add whitespace for formatting in 'einfo', 'ewarn', or 'eerror', use
-# \040 for a space instead of the standard space.  These functions will strip
-# redundant white space.
-
-show_ip32_info() {
-	echo -e ""
-	einfo "IP32 systems function well, however there are some notes:"
-	einfo "\t- A sound driver now exists for IP32.  Celebrate!"
-	einfo "\t- Framebuffer console is limited to 4MB.  Anything greater"
-	einfo "\t\040\040specified when building the kernel will likely oops"
-	einfo "\t\040\040or panic the kernel."
-	einfo "\t- X support is limited to the generic fbdev driver.  No X"
-	einfo "\t\040\040gbefb driver exists for O2 yet.  Feel free to submit"
-	einfo "\t\040\040patches!"
-	echo -e ""
-
-	einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
-	einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
-	einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
-}

diff --git a/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit b/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit
deleted file mode 100644
index b22df4de4c2..00000000000
--- a/sys-kernel/mips-sources/files/eblits/src_unpack-v7.eblit
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-# Eblit to handle src_unpack.
-
-eblit-mips-sources-src_unpack() {
-	# Unpack the kernel sources, update to the latest rev (if needed),
-	# and apply the latest patch from linux-mips git.
-	kernel-2_src_unpack
-
-	# Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
-	echo -e ""
-	cd "${WORKDIR}"
-	unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
-
-	# Create a new folder called  'patch-symlinks' and create symlinks to
-	# all mips-patches in there.  If we want to exclude a patch, we'll
-	# just delete the symlink instead of the actual patch.
-	local psym="patch-symlinks"
-	mkdir "${psym}"
-	cd "${psym}"
-	for x in ../mips-patches-${BASE_KV}/*.patch; do
-		ln -s "${x}" "${x##../mips-patches-*/}"
-	done
-
-	# With symlinks created, setup the variables referencing external
-	# machine patches and if a machine USE flag is enabled, then unset
-	# its corresponding variable.
-	# See 0000_README for the patch numbers and their meanings.
-	local p_generic="51*"
-	local p_ip27="52*" p_ip28="53*" p_ip30="54*"
-	local p_xp="80*"
-	use ip27 && unset p_generic p_ip27
-	use ip28 && unset p_ip28
-	use ip30 && unset p_generic p_ip30
-	use experimental && unset p_xp
-
-	# Remove symlinks for any patches that we don't want applied.  We
-	# do this by looping through all the above variables, and deleting
-	# matching symlinks that point to the corresponding patches.
-	# The remaining symlinks will be applied to the kernel source.
-	#
-	# $P_EXCLUDE is a new var that can be set in an ebuild to exclude
-	# specific patches by wildcarding the patch number.
-	local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
-	for x in $patchlist;
-		do rm -f "./${x}"
-	done
-
-	# Rename the source tree to match the linux-mips git checkout date and
-	# machine type.
-	local fkv="${F_KV%-*}"
-	local v="${fkv}-${GITDATE}"
-	for x in {ip27,ip28,ip30}; do
-		use ${x} && v="${v}.${x}" && break
-	done
-	mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
-	S="${WORKDIR}/linux-${v}"
-
-	# Now go into the kernel source and patch it.
-	cd "${S}"
-	epatch "${WORKDIR}/${psym}"/*.patch
-
-	# Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
-	EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
-	unpack_set_extraversion
-}

diff --git a/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild b/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
index 34cb43cbf2f..381b9ade9b0 100644
--- a/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-4.4.43.ebuild
@@ -73,102 +73,276 @@ UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
 
 #//------------------------------------------------------------------------------
 
-# Eblit Handling Functions
-#
-# They'll likely be superseded someday by better ideas, possibly elibs.
-
-# eblit-core
-# Usage: <function> [version]
-# Main eblit engine
-eblit-core() {
-	local e v func=$1 ver=$2
-	for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
-		e="${FILESDIR}/eblits/${func}${v}.eblit"
-		if [[ -e ${e} ]] ; then
-			. "${e}"
-			[[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
-			return 0
+err_disabled_mach() {
+	# Get args
+	local m_name="${1}"
+	local m_abbr="${2}"
+	local m_use="${3}"
+	local is_test="${4}"
+
+	# Get stable version, if exists
+	local stable_ver="SV_${m_abbr}"
+	stable_ver="${!stable_ver}"
+
+	# See if this machine needs a USE passed or skip dying
+	local has_use
+	[ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+	# Print error && (maybe) die
+	echo -e ""
+	if [ "${is_test}" != "test" ]; then
+		eerror "${m_name} Support has been disabled in this ebuild"
+		eerror "revision.  If you wish to merge ${m_name} sources, then"
+		eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+		[ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+	else
+		ewarn "${m_name} Support has been marked as needing testing in this"
+		ewarn "ebuild revision.  This usually means that any patches to support"
+		ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+		ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+		ewarn "to such hardware.  If you happen to boot this kernel and have no"
+		ewarn "problems at all, then please inform the maintainer.  Otherwise, if"
+		ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+		ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+	fi
+
+	return 0
+}
+
+err_only_one_mach_allowed() {
+	echo -e ""
+	eerror "A patchset for a specific machine-type has already been selected."
+	eerror "No other patches for machines-types are permitted.  You will need a"
+	eerror "separate copy of the kernel sources for each different machine-type"
+	eerror "you want to build a kernel for."
+	die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+	# Symlink /usr/src/linux as appropriate
+	local my_ksrc="${S##*/}"
+	for x in {ip27,ip28,ip30}; do
+		use ${x} && my_ksrc="${my_ksrc}.${x}"
+	done
+
+	if [ ! -e "${ROOT}usr/src/linux" ]; then
+		rm -f "${ROOT}usr/src/linux"
+		ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+	fi
+}
+
+pkg_setup() {
+	local arch_is_selected="no"
+	local m_ip m_enable m_name
+
+	# Exclusive machine patchsets
+	# These are not allowed to be mixed together, thus only one of them may be applied
+	# to a tree per merge.
+	for x in									\
+		"ip27 SGI Origin 200/2000"						\
+		"ip28 SGI Indigo2 Impact R10000"					\
+		"ip30 SGI Octane"
+	do
+		set -- ${x}		# Set positional params
+		m_ip="${1}"		# Grab the first param (HW IP for SGI)
+		shift			# Shift the positions
+		m_name="${*}"		# Get the rest (Name)
+
+		if use ${m_ip}; then
+			# Fetch the value indiciating if the machine is enabled or not
+			m_enable="DO_${m_ip/ip/IP}"
+			m_enable="${!m_enable}"
+
+			# Make sure only one of these exclusive machine patches is selected
+			[ "${arch_is_selected}" = "no" ]				\
+				&& arch_is_selected="yes"				\
+				|| err_only_one_mach_allowed
+
+			# Is the machine support disabled or marked as needing testing?
+			[ "${m_enable}" = "test" ]					\
+				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+			[ "${m_enable}" = "no" ]					\
+				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+			# Show relevant information about the machine
+			show_${m_ip}_info
 		fi
 	done
-	return 1
+
+	# All other systems that don't have a USE flag go here
+	# These systems have base-line support included in linux-mips git, so
+	# instead of failing, if disabled, we simply warn the user
+	if [ "${arch_is_selected}" = "no" ]; then
+		[ "${DO_IP22}" = "no" ]							\
+			&& err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip"	\
+			|| show_ip22_info
+		[ "${DO_IP32}" = "no" ]							\
+			&& err_disabled_mach "SGI O2" "IP32" "skip"			\
+			|| show_ip32_info
+
+	fi
 }
 
-# eblit-include
-# Usage: [--skip] <function> [version]
-# Includes an "eblit" -- a chunk of common code among ebuilds in a given
-# package so that its functions can be sourced and utilized within the
-# ebuild.
-eblit-include() {
-	local skipable=false r=0
-	[[ $1 == "--skip" ]] && skipable=true && shift
-	[[ $1 == pkg_* ]] && skipable=true
-
-	[[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
-	eblit-core $1 $2
-	r="$?"
-	${skipable} && return 0
-	[[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+show_ip22_info() {
+	echo -e ""
+	einfo "IP22 systems with an R5000 processor should work with this release."
+	einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+	einfo "R4600.  If you have to run an R4x00 processor, then try to use an R4400."
+	einfo ""
+	einfo "Some Notes:"
+	einfo "\t- Supported graphics card right now is Newport (XL)."
+	einfo "\t- A driver for Extreme (XZ) does not exist at present."
+	echo -e ""
 }
 
-# eblit-run-maybe
-# Usage: <function>
-# Runs a function if it is defined in an eblit
-eblit-run-maybe() {
-	[[ $(type -t "$@") == "function" ]] && "$@"
+show_ip27_info() {
+	echo -e ""
+	ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+	ewarn "in move_freepages() in mm/page_alloc.c.  The exact trigger cause is"
+	ewarn "unknown at this time.  Please report any oops messages from this"
+	ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+	echo -e ""
 }
 
-# eblit-run
-# Usage: <function> [version]
-# Runs a function defined in an eblit
-eblit-run() {
-	eblit-include --skip common "${*:2}"
-	eblit-include "$@"
-	eblit-run-maybe eblit-$1-pre
-	eblit-${PN}-$1
-	eblit-run-maybe eblit-$1-post
+show_ip28_info() {
+	echo -e ""
+	einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel.  However,"
+	einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+	einfo "nothing is guaranteed to work correctly.  Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+	einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+	einfo "feedback that can be used to trace down the crash."
+	echo -e ""
 }
 
-# eblit-pkg
-# Usage: <phase> [version]
-# Runs the pkg_* functions AND evals them so they're included in the binpkgs
-eblit-pkg() {
-	[[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
-	eblit-core pkg_$1 $2
+show_ip30_info() {
+	echo -e ""
+	eerror "Things that DON'T work:"
+	eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+	eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+	eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+	eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+	eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+	eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+	eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+	echo -e ""
+	ewarn "Things that might work, but have problems, or are unknown:"
+	ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+	ewarn "\t\040\040intermittent issues.  Additionally, CONFIG_HUGETLBFS must also be"
+	ewarn "\t\040\040selected for hugepages to work.  If use of this feature continues"
+	ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+	ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+	ewarn "\t\040\040after powering it down for at least 30 seconds."
+	ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+	ewarn "\t\040\040the 16550A chip on the IOC3 directly.  It does not use interrupts,"
+	ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+	ewarn "\t\040\040intensive.  The baud rate is limited to no more than 38.4kbps on"
+	ewarn "\t\040\040this driver.  Patches for getting the Altix IOC3 serial driver to"
+	ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+	ewarn "\t- UHCI Cards are known to have issues, but should still function."
+	ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+	ewarn "\t\040\040adapters."
+	ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+	ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+	ewarn "\t\040\040UART driver.  The NIC part number is also not read correctly"
+	ewarn "\t\040\040from the four Number-In-a-Cans.  Additional testing would be"
+	ewarn "\t\040\040appreciated and patches welcome."
+	ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+	ewarn "\t\040\040and are not guaranteed to work.  This applies to various digital"
+	ewarn "\t\040\040video conversion boards as well."
+	echo -e ""
+	einfo "Things that DO work:"
+	einfo "\t- SMP works again, celebrate!"
+	einfo "\t- Impact (MGRAS) console only."
+	einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+	einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+	einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+	einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse.  Please"
+	einfo "\t\040\040report any problems with these devices."
+	echo -e ""
 }
 
-#//------------------------------------------------------------------------------
+show_ip32_info() {
+	echo -e ""
+	einfo "IP32 systems function well, however there are some notes:"
+	einfo "\t- A sound driver now exists for IP32.  Celebrate!"
+	einfo "\t- Framebuffer console is limited to 4MB.  Anything greater"
+	einfo "\t\040\040specified when building the kernel will likely oops"
+	einfo "\t\040\040or panic the kernel."
+	einfo "\t- X support is limited to the generic fbdev driver.  No X"
+	einfo "\t\040\040gbefb driver exists for O2 yet.  Feel free to submit"
+	einfo "\t\040\040patches!"
+	echo -e ""
 
-load_eblit_funcs() {
-	# This is a sanity check to avoid QA issues.  It prevents
-	# eblits from being referenced during metadata operations.
-	[ -n "${MIPS_SOURCES_EBLITS_LOADED}" ] && return
-
-	# All are in ${FILESDIR}/eblits
-	# If a message for a given machine needs to change,
-	# then we create a new eblit and increment the
-	# version and reference it here.
-	eblit-include err_disabled_mach v1
-	eblit-include err_only_one_mach_allowed v1
-	eblit-include show_ip22_info v3
-	eblit-include show_ip27_info v4
-	eblit-include show_ip28_info v1
-	eblit-include show_ip30_info v5
-	eblit-include show_ip32_info v5
-
-	# This makes sure pkg_setup & pkg_postinst gets into any binpkg.
-	# Neccessary because we can't guarantee FILESDIR is around for binpkgs.
-	eblit-pkg setup v2
-	eblit-pkg postinst v2
-
-	# Eblit load complete
-	MIPS_SOURCES_EBLITS_LOADED=1
+	einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+	einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+	einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
 }
 
-pkg_setup() {
-	load_eblit_funcs
-	pkg_setup
+src_unpack() {
+	# Unpack the kernel sources, update to the latest rev (if needed),
+	# and apply the latest patch from linux-mips git.
+	kernel-2_src_unpack
+
+	# Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+	echo -e ""
+	cd "${WORKDIR}"
+	unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+	# Create a new folder called  'patch-symlinks' and create symlinks to
+	# all mips-patches in there.  If we want to exclude a patch, we'll
+	# just delete the symlink instead of the actual patch.
+	local psym="patch-symlinks"
+	mkdir "${psym}"
+	cd "${psym}"
+	for x in ../mips-patches-${BASE_KV}/*.patch; do
+		ln -s "${x}" "${x##../mips-patches-*/}"
+	done
+
+	# With symlinks created, setup the variables referencing external
+	# machine patches and if a machine USE flag is enabled, then unset
+	# its corresponding variable.
+	# See 0000_README for the patch numbers and their meanings.
+	local p_generic="51*"
+	local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+	local p_xp="80*"
+	use ip27 && unset p_generic p_ip27
+	use ip28 && unset p_ip28
+	use ip30 && unset p_generic p_ip30
+	use experimental && unset p_xp
+
+	# Remove symlinks for any patches that we don't want applied.  We
+	# do this by looping through all the above variables, and deleting
+	# matching symlinks that point to the corresponding patches.
+	# The remaining symlinks will be applied to the kernel source.
+	#
+	# $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+	# specific patches by wildcarding the patch number.
+	local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+	for x in $patchlist;
+		do rm -f "./${x}"
+	done
+
+	# Rename the source tree to match the linux-mips git checkout date and
+	# machine type.
+	local fkv="${F_KV%-*}"
+	local v="${fkv}-${GITDATE}"
+	for x in {ip27,ip28,ip30}; do
+		use ${x} && v="${v}.${x}" && break
+	done
+	mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+	S="${WORKDIR}/linux-${v}"
+
+	# Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+	EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+	unpack_set_extraversion
 }
 
-src_unpack() { eblit-run src_unpack v7 ; }
+src_prepare() {
+	local psym="patch-symlinks"
+
+	# Now go into the kernel source and patch it.
+	cd "${S}"
+	epatch "${WORKDIR}/${psym}"/*.patch
+}
 
 #//------------------------------------------------------------------------------

diff --git a/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild b/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
index da4958e1e6f..9772b3e4f8f 100644
--- a/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
+++ b/sys-kernel/mips-sources/mips-sources-4.8.17.ebuild
@@ -73,102 +73,276 @@ UNIPATCH_LIST="${DISTDIR}/mipsgit-${BASE_KV}${KVE}-${GITDATE}.diff.xz"
 
 #//------------------------------------------------------------------------------
 
-# Eblit Handling Functions
-#
-# They'll likely be superseded someday by better ideas, possibly elibs.
-
-# eblit-core
-# Usage: <function> [version]
-# Main eblit engine
-eblit-core() {
-	local e v func=$1 ver=$2
-	for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
-		e="${FILESDIR}/eblits/${func}${v}.eblit"
-		if [[ -e ${e} ]] ; then
-			. "${e}"
-			[[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
-			return 0
+err_disabled_mach() {
+	# Get args
+	local m_name="${1}"
+	local m_abbr="${2}"
+	local m_use="${3}"
+	local is_test="${4}"
+
+	# Get stable version, if exists
+	local stable_ver="SV_${m_abbr}"
+	stable_ver="${!stable_ver}"
+
+	# See if this machine needs a USE passed or skip dying
+	local has_use
+	[ ! -z "${m_use}" -a "${m_use}" != "skip" ] && has_use="USE=\"${m_use}\" "
+
+	# Print error && (maybe) die
+	echo -e ""
+	if [ "${is_test}" != "test" ]; then
+		eerror "${m_name} Support has been disabled in this ebuild"
+		eerror "revision.  If you wish to merge ${m_name} sources, then"
+		eerror "run ${has_use}emerge =mips-sources-${stable_ver}"
+		[ "${m_use}" != "skip" ] && die "${m_name} Support disabled."
+	else
+		ewarn "${m_name} Support has been marked as needing testing in this"
+		ewarn "ebuild revision.  This usually means that any patches to support"
+		ewarn "${m_name} have been forward ported and maybe even compile-tested,"
+		ewarn "but not yet booted on real hardware, possibly due to a lack of access"
+		ewarn "to such hardware.  If you happen to boot this kernel and have no"
+		ewarn "problems at all, then please inform the maintainer.  Otherwise, if"
+		ewarn "experience a bug, an oops/panic, or some other oddity, then please"
+		ewarn "file a bug at bugs.gentoo.org, and assign it to the mips team."
+	fi
+
+	return 0
+}
+
+err_only_one_mach_allowed() {
+	echo -e ""
+	eerror "A patchset for a specific machine-type has already been selected."
+	eerror "No other patches for machines-types are permitted.  You will need a"
+	eerror "separate copy of the kernel sources for each different machine-type"
+	eerror "you want to build a kernel for."
+	die "Only one machine-type patchset allowed"
+}
+
+pkg_postinst() {
+	# Symlink /usr/src/linux as appropriate
+	local my_ksrc="${S##*/}"
+	for x in {ip27,ip28,ip30}; do
+		use ${x} && my_ksrc="${my_ksrc}.${x}"
+	done
+
+	if [ ! -e "${ROOT}usr/src/linux" ]; then
+		rm -f "${ROOT}usr/src/linux"
+		ln -sf "${my_ksrc}" "${ROOT}/usr/src/linux"
+	fi
+}
+
+pkg_setup() {
+	local arch_is_selected="no"
+	local m_ip m_enable m_name
+
+	# Exclusive machine patchsets
+	# These are not allowed to be mixed together, thus only one of them may be applied
+	# to a tree per merge.
+	for x in									\
+		"ip27 SGI Origin 200/2000"						\
+		"ip28 SGI Indigo2 Impact R10000"					\
+		"ip30 SGI Octane"
+	do
+		set -- ${x}		# Set positional params
+		m_ip="${1}"		# Grab the first param (HW IP for SGI)
+		shift			# Shift the positions
+		m_name="${*}"		# Get the rest (Name)
+
+		if use ${m_ip}; then
+			# Fetch the value indiciating if the machine is enabled or not
+			m_enable="DO_${m_ip/ip/IP}"
+			m_enable="${!m_enable}"
+
+			# Make sure only one of these exclusive machine patches is selected
+			[ "${arch_is_selected}" = "no" ]				\
+				&& arch_is_selected="yes"				\
+				|| err_only_one_mach_allowed
+
+			# Is the machine support disabled or marked as needing testing?
+			[ "${m_enable}" = "test" ]					\
+				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}" "test"
+			[ "${m_enable}" = "no" ]					\
+				&& err_disabled_mach "${m_name}" "${m_ip/ip/IP}" "${m_ip}"
+
+			# Show relevant information about the machine
+			show_${m_ip}_info
 		fi
 	done
-	return 1
+
+	# All other systems that don't have a USE flag go here
+	# These systems have base-line support included in linux-mips git, so
+	# instead of failing, if disabled, we simply warn the user
+	if [ "${arch_is_selected}" = "no" ]; then
+		[ "${DO_IP22}" = "no" ]							\
+			&& err_disabled_mach "SGI Indy/Indigo2 R4x00" "IP22" "skip"	\
+			|| show_ip22_info
+		[ "${DO_IP32}" = "no" ]							\
+			&& err_disabled_mach "SGI O2" "IP32" "skip"			\
+			|| show_ip32_info
+
+	fi
 }
 
-# eblit-include
-# Usage: [--skip] <function> [version]
-# Includes an "eblit" -- a chunk of common code among ebuilds in a given
-# package so that its functions can be sourced and utilized within the
-# ebuild.
-eblit-include() {
-	local skipable=false r=0
-	[[ $1 == "--skip" ]] && skipable=true && shift
-	[[ $1 == pkg_* ]] && skipable=true
-
-	[[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
-	eblit-core $1 $2
-	r="$?"
-	${skipable} && return 0
-	[[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
+show_ip22_info() {
+	echo -e ""
+	einfo "IP22 systems with an R5000 processor should work with this release."
+	einfo "The R4x00 series of processors tend to be rather flaky, especially the"
+	einfo "R4600.  If you have to run an R4x00 processor, then try to use an R4400."
+	einfo ""
+	einfo "Some Notes:"
+	einfo "\t- Supported graphics card right now is Newport (XL)."
+	einfo "\t- A driver for Extreme (XZ) does not exist at present."
+	echo -e ""
 }
 
-# eblit-run-maybe
-# Usage: <function>
-# Runs a function if it is defined in an eblit
-eblit-run-maybe() {
-	[[ $(type -t "$@") == "function" ]] && "$@"
+show_ip27_info() {
+	echo -e ""
+	ewarn "Heavy disk I/O on recent kernels may randomly trigger a VM_BUG_ON_PAGE()"
+	ewarn "in move_freepages() in mm/page_alloc.c.  The exact trigger cause is"
+	ewarn "unknown at this time.  Please report any oops messages from this"
+	ewarn "bug to bugs.gentoo.org (assign to mips@gentoo.org)"
+	echo -e ""
 }
 
-# eblit-run
-# Usage: <function> [version]
-# Runs a function defined in an eblit
-eblit-run() {
-	eblit-include --skip common "${*:2}"
-	eblit-include "$@"
-	eblit-run-maybe eblit-$1-pre
-	eblit-${PN}-$1
-	eblit-run-maybe eblit-$1-post
+show_ip28_info() {
+	echo -e ""
+	einfo "Support for the Indigo2 Impact R10000 is now in the mainline kernel.  However,"
+	einfo "due to the R10000 Speculative Execution issue that exists with this machine,"
+	einfo "nothing is guaranteed to work correctly.  Consider enabling ${HILITE}CONFIG_KALLSYMS${NORMAL}"
+	einfo "in your kernel so that if the machine Oopes, you'll be able to provide valuable"
+	einfo "feedback that can be used to trace down the crash."
+	echo -e ""
 }
 
-# eblit-pkg
-# Usage: <phase> [version]
-# Runs the pkg_* functions AND evals them so they're included in the binpkgs
-eblit-pkg() {
-	[[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
-	eblit-core pkg_$1 $2
+show_ip30_info() {
+	echo -e ""
+	eerror "Things that DON'T work:"
+	eerror "\t- Do not use CONFIG_SLUB, otherwise, you'll get errors when booting"
+	eerror "\t\040\040regarding duplicate /sys/kernel/slab/* entries in sysfs."
+	eerror "\t- Impact (MGRAS) Xorg driver no longer functions due to severe bitrot."
+	eerror "\t- Octane is limited to a maximum of 2GB of memory right now due to a"
+	eerror "\t\040\040hardware quirk in the BRIDGE PCI chip that limits BRIDGE DMA"
+	eerror "\t\040\040addresses to 31-bits when converted into physical addresses."
+	eerror "\t\040\040Patches that attempt to fix the issue are highly welcome."
+	echo -e ""
+	ewarn "Things that might work, but have problems, or are unknown:"
+	ewarn "\t- CONFIG_TRANSPARENT_HUGEPAGE should work now, but there may still be"
+	ewarn "\t\040\040intermittent issues.  Additionally, CONFIG_HUGETLBFS must also be"
+	ewarn "\t\040\040selected for hugepages to work.  If use of this feature continues"
+	ewarn "\t\040\040to trigger random Instruction Bus Errors (IBEs), then it is best to"
+	ewarn "\t\040\040disable the functionality and perform a cold reset of the machine"
+	ewarn "\t\040\040after powering it down for at least 30 seconds."
+	ewarn "\t- Serial support on the Octane uses a very basic UART driver that drives"
+	ewarn "\t\040\040the 16550A chip on the IOC3 directly.  It does not use interrupts,"
+	ewarn "\t\040\040only a polling routine on a timer, which makes it slow and CPU-"
+	ewarn "\t\040\040intensive.  The baud rate is limited to no more than 38.4kbps on"
+	ewarn "\t\040\040this driver.  Patches for getting the Altix IOC3 serial driver to"
+	ewarn "\t\040\040work (which uses DMA and supports faster baud rates) are welcome."
+	ewarn "\t- UHCI Cards are known to have issues, but should still function."
+	ewarn "\t\040\040This issue primarily manifests itself when using pl2303 USB->Serial"
+	ewarn "\t\040\040adapters."
+	ewarn "\t- MENET boards appear to have the four ethernet ports detected, however"
+	ewarn "\t\040\040the six serial ports don't appear to get picked up by the IOC3"
+	ewarn "\t\040\040UART driver.  The NIC part number is also not read correctly"
+	ewarn "\t\040\040from the four Number-In-a-Cans.  Additional testing would be"
+	ewarn "\t\040\040appreciated and patches welcome."
+	ewarn "\t- Other XIO-based devices, like various Impact addons, remain untested"
+	ewarn "\t\040\040and are not guaranteed to work.  This applies to various digital"
+	ewarn "\t\040\040video conversion boards as well."
+	echo -e ""
+	einfo "Things that DO work:"
+	einfo "\t- SMP works again, celebrate!"
+	einfo "\t- Impact (MGRAS) console only."
+	einfo "\t- VPro (Odyssey) console only (no X driver exists yet)."
+	einfo "\t- PCI Card Cages should work for many devices, except certain types like"
+	einfo "\t\040\040PCI-to-PCI bridges (USB hubs, USB flash card readers for example)."
+	einfo "\t- SCSI, RTC, basic PCI, IOC3 Ethernet, keyboard, and mouse.  Please"
+	einfo "\t\040\040report any problems with these devices."
+	echo -e ""
 }
 
-#//------------------------------------------------------------------------------
+show_ip32_info() {
+	echo -e ""
+	einfo "IP32 systems function well, however there are some notes:"
+	einfo "\t- A sound driver now exists for IP32.  Celebrate!"
+	einfo "\t- Framebuffer console is limited to 4MB.  Anything greater"
+	einfo "\t\040\040specified when building the kernel will likely oops"
+	einfo "\t\040\040or panic the kernel."
+	einfo "\t- X support is limited to the generic fbdev driver.  No X"
+	einfo "\t\040\040gbefb driver exists for O2 yet.  Feel free to submit"
+	einfo "\t\040\040patches!"
+	echo -e ""
 
-load_eblit_funcs() {
-	# This is a sanity check to avoid QA issues.  It prevents
-	# eblits from being referenced during metadata operations.
-	[ -n "${MIPS_SOURCES_EBLITS_LOADED}" ] && return
-
-	# All are in ${FILESDIR}/eblits
-	# If a message for a given machine needs to change,
-	# then we create a new eblit and increment the
-	# version and reference it here.
-	eblit-include err_disabled_mach v1
-	eblit-include err_only_one_mach_allowed v1
-	eblit-include show_ip22_info v3
-	eblit-include show_ip27_info v4
-	eblit-include show_ip28_info v1
-	eblit-include show_ip30_info v5
-	eblit-include show_ip32_info v5
-
-	# This makes sure pkg_setup & pkg_postinst gets into any binpkg.
-	# Neccessary because we can't guarantee FILESDIR is around for binpkgs.
-	eblit-pkg setup v2
-	eblit-pkg postinst v2
-
-	# Eblit load complete
-	MIPS_SOURCES_EBLITS_LOADED=1
+	einfo "To Build 64bit kernels for SGI O2 (IP32) or SGI Indy/Indigo2 R4x00 (IP22)"
+	einfo "systems, you need to use the ${GOOD}vmlinux.32${NORMAL} make target."
+	einfo "Once done, boot the ${GOOD}vmlinux.32${NORMAL} file (NOT vmlinux)."
 }
 
-pkg_setup() {
-	load_eblit_funcs
-	pkg_setup
+src_unpack() {
+	# Unpack the kernel sources, update to the latest rev (if needed),
+	# and apply the latest patch from linux-mips git.
+	kernel-2_src_unpack
+
+	# Unpack the mips-sources patchset to ${WORKDIR}/mips-patches-${BASE_KV}.
+	echo -e ""
+	cd "${WORKDIR}"
+	unpack "${PN}-${BASE_KV}-patches-v${GENPATCHREV}.tar.xz"
+
+	# Create a new folder called  'patch-symlinks' and create symlinks to
+	# all mips-patches in there.  If we want to exclude a patch, we'll
+	# just delete the symlink instead of the actual patch.
+	local psym="patch-symlinks"
+	mkdir "${psym}"
+	cd "${psym}"
+	for x in ../mips-patches-${BASE_KV}/*.patch; do
+		ln -s "${x}" "${x##../mips-patches-*/}"
+	done
+
+	# With symlinks created, setup the variables referencing external
+	# machine patches and if a machine USE flag is enabled, then unset
+	# its corresponding variable.
+	# See 0000_README for the patch numbers and their meanings.
+	local p_generic="51*"
+	local p_ip27="52*" p_ip28="53*" p_ip30="54*"
+	local p_xp="80*"
+	use ip27 && unset p_generic p_ip27
+	use ip28 && unset p_ip28
+	use ip30 && unset p_generic p_ip30
+	use experimental && unset p_xp
+
+	# Remove symlinks for any patches that we don't want applied.  We
+	# do this by looping through all the above variables, and deleting
+	# matching symlinks that point to the corresponding patches.
+	# The remaining symlinks will be applied to the kernel source.
+	#
+	# $P_EXCLUDE is a new var that can be set in an ebuild to exclude
+	# specific patches by wildcarding the patch number.
+	local patchlist="${p_generic} ${p_ip27} ${p_ip28} ${p_ip30} ${p_xp} ${P_EXCLUDE}"
+	for x in $patchlist;
+		do rm -f "./${x}"
+	done
+
+	# Rename the source tree to match the linux-mips git checkout date and
+	# machine type.
+	local fkv="${F_KV%-*}"
+	local v="${fkv}-${GITDATE}"
+	for x in {ip27,ip28,ip30}; do
+		use ${x} && v="${v}.${x}" && break
+	done
+	mv "${WORKDIR}/linux-${fkv/_/-}" "${WORKDIR}/linux-${v}" || die
+	S="${WORKDIR}/linux-${v}"
+
+	# Set the EXTRAVERSION to linux-VERSION-mipsgit-GITDATE
+	EXTRAVERSION="${EXTRAVERSION}-mipsgit-${GITDATE}"
+	unpack_set_extraversion
 }
 
-src_unpack() { eblit-run src_unpack v7 ; }
+src_prepare() {
+	local psym="patch-symlinks"
+
+	# Now go into the kernel source and patch it.
+	cd "${S}"
+	epatch "${WORKDIR}/${psym}"/*.patch
+}
 
 #//------------------------------------------------------------------------------


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

end of thread, other threads:[~2017-03-18 18:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-16 19:29 [gentoo-commits] repo/gentoo:master commit in: sys-kernel/mips-sources/, sys-kernel/mips-sources/files/eblits/ Joshua Kinard
  -- strict thread matches above, loose matches on Subject: below --
2017-03-18 18:20 Joshua Kinard

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