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 |