commit:     daa65a336102050396482f08c77524fe99e48c9f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 18 08:13:45 2014 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Dec  4 14:01:35 2014 +0000
URL:        
http://sources.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=daa65a33

Add tentative EAPI6 .txz unpack support

Support unpacking .txz-suffixed archives.

---
 bin/eapi.sh          |  4 ++++
 bin/phase-helpers.sh | 13 +++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/bin/eapi.sh b/bin/eapi.sh
index fa57999..878f8e7 100644
--- a/bin/eapi.sh
+++ b/bin/eapi.sh
@@ -118,6 +118,10 @@ ___eapi_unpack_supports_xz() {
        [[ ! ${1-${EAPI}} =~ ^(0|1|2)$ ]]
 }
 
+___eapi_unpack_supports_txz() {
+       [[ ! ${1-${EAPI}} =~ 
^(0|1|2|3|4|4-python|4-slot-abi|5|5-hdepend|5-progress)$ ]]
+}
+
 ___eapi_econf_passes_--disable-dependency-tracking() {
        [[ ! ${1-${EAPI}} =~ ^(0|1|2|3)$ ]]
 }

diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh
index f4b64ee..182a872 100644
--- a/bin/phase-helpers.sh
+++ b/bin/phase-helpers.sh
@@ -492,6 +492,19 @@ unpack() {
                                        __vecho "unpack ${x}: file format not 
recognized. Ignoring."
                                fi
                                ;;
+                       txz)
+                               if ___eapi_unpack_is_case_sensitive && \
+                                       [[ " txz " != *" ${suffix} "* ]] ; then
+                                       eqawarn "QA Notice: unpack called with" 
\
+                                               "suffix '${suffix}' which is 
unofficially supported" \
+                                               "with EAPI '${EAPI}'. Instead 
use 'txz'."
+                               fi
+                               if ___eapi_supports_txz; then
+                                       __unpack_tar "xz -d" || return 1
+                               else
+                                       __vecho "unpack ${x}: file format not 
recognized. Ignoring."
+                               fi
+                               ;;
                        *)
                                __vecho "unpack ${x}: file format not 
recognized. Ignoring."
                                ;;

Reply via email to