diff options
author | Bertrand Jacquin <bertrand@jacquin.bzh> | 2015-11-22 15:31:52 +0000 |
---|---|---|
committer | Bertrand Jacquin <bertrand@jacquin.bzh> | 2015-11-22 18:00:12 +0000 |
commit | a5d32e13b1c69d46528627228fb1e3071ddd8b38 (patch) | |
tree | 6c1e340d1a50655b3f0eb3d21e87fefbf388fef6 /eclass | |
parent | profiles/common: Drop more files (diff) | |
download | portage-a5d32e13b1c69d46528627228fb1e3071ddd8b38.tar.xz |
eclass/linux-build: Restore previous config if possible
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/linux-build.eclass | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/eclass/linux-build.eclass b/eclass/linux-build.eclass index 755ea36e..396ecc11 100644 --- a/eclass/linux-build.eclass +++ b/eclass/linux-build.eclass @@ -67,7 +67,35 @@ _linux-build_configval() { esac } -_linux-build_pkg_setup-build() { +_linux-build_pkg_setup-build-config() { + local _v + + if ! use savedconfig ; then + return 0 + fi + + if [[ -z "${REPLACING_VERSIONS}" ]] ; then + return 0 + fi + + for _v in "${PF}" "${P}" "${PN}" ; do + if [[ -e "${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${CATEGORY}/${_v}" ]] ; then + return 0 + fi + done + + for _v in ${REPLACING_VERSIONS} ; do + einfo "Restoring previous install configuration" + if [[ -e "${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${CATEGORY}/${PN}-${_v}" ]] ; then + einfo "From ${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${CATEGORY}/${PN}-${_v}" + cp "${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${CATEGORY}/${PN}-${_v}" \ + "${PORTAGE_CONFIGROOT}/etc/portage/savedconfig/${CATEGORY}/${PF}" + eend 0 + fi + done +} + +_linux-build_pkg_setup-build-x509() { local _v for _v in "${PF}" "${P}" "${PN}" ; do @@ -94,6 +122,11 @@ _linux-build_pkg_setup-build() { done } +_linux-build_pkg_setup-build() { + _linux-build_pkg_setup-build-config + _linux-build_pkg_setup-build-x509 +} + linux-build_pkg_setup() { kernel-2_pkg_setup |