Gentoo Archives: gentoo-commits

From: Justin Lecher <jlec@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/sci:master commit in: eclass/
Date: Tue, 27 Nov 2012 19:35:15
Message-Id: 1354044116.768ec2393f689112e3ec0da96d330cd731f182f2.jlec@gentoo
1 commit: 768ec2393f689112e3ec0da96d330cd731f182f2
2 Author: Justin Lecher <jlec <AT> gentoo <DOT> org>
3 AuthorDate: Sun Nov 25 09:51:00 2012 +0000
4 Commit: Justin Lecher <jlec <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 27 19:21:56 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/sci.git;a=commit;h=768ec239
7
8 Speed up unpacking #431614
9
10 ---
11 eclass/intel-sdp.eclass | 29 ++++++++++++++---------------
12 1 files changed, 14 insertions(+), 15 deletions(-)
13
14 diff --git a/eclass/intel-sdp.eclass b/eclass/intel-sdp.eclass
15 index b84f05f..71fe219 100644
16 --- a/eclass/intel-sdp.eclass
17 +++ b/eclass/intel-sdp.eclass
18 @@ -299,28 +299,27 @@ intel-sdp_pkg_setup() {
19 # @DESCRIPTION:
20 # Unpacking necessary rpms from tarball, extract them and rearrange the output.
21 intel-sdp_src_unpack() {
22 - local l r t rpmdir
23 - debug-print "INTEL_RPMS_DIRS are \"${INTEL_RPMS_DIRS}\""
24 + local l r subdir rb t list=()
25 +
26 for t in ${A}; do
27 for r in ${INTEL_RPMS}; do
28 - # Find which subdirectory of the archive the rpm is in
29 - rpm_found="false"
30 for subdir in ${INTEL_RPMS_DIRS}; do
31 - [[ "${rpm_found}" == "true" ]] && continue
32 rpmdir=${t%%.*}/${subdir}
33 - l=.${r}_$(date +'%d%m%y_%H%M%S').log
34 - tar xf "${DISTDIR}"/${t} ${rpmdir}/${r} 2> /dev/null || continue
35 - einfo "Unpacking ${r}"
36 - rpm_found="true"
37 - rpm2tar -O "./${rpmdir}/${r}" | tar xvf - | sed -e \
38 - "s:^\.:${EROOT#/}:g" > ${l} || die "unpacking ${r} failed"
39 - mv ${l} opt/intel/ || die "failed moving extract log file"
40 + list+=( ${rpmdir}/${r})
41 done
42 - [[ "${rpm_found}" == "false" ]] && \
43 - debug-print "RPM \"${r}\" not found in ${t}"
44 + done
45 + tar xf "${DISTDIR}"/${t} ${list[@]} 2> /dev/null || die
46 + for r in ${list[@]}; do
47 + rb=$(basename ${r})
48 + l=.${rb}_$(date +'%d%m%y_%H%M%S').log
49 + einfo "Unpacking ${rb}"
50 + rpm2tar -O ${r} | tar xvf - | sed -e \
51 + "s:^\.:${EROOT#/}:g" > ${l} || die "unpacking ${r} failed"
52 + mv ${l} opt/intel/ || die "failed moving extract log file"
53 done
54 done
55 - mv -v opt/intel/* ${INTEL_SDP_DIR} || die "mv to INTEL_SDP_DIR failed"
56 +
57 + mv opt/intel/* ${INTEL_SDP_DIR} || die "mv to INTEL_SDP_DIR failed"
58 }
59
60 # @ ECLASS-FUNCTION: intel-sdp_src_install