Lines 40-45
install_symlink_html_docs() {
Link Here
|
40 |
fi |
40 |
fi |
41 |
} |
41 |
} |
42 |
|
42 |
|
|
|
43 |
# similar to readlink -f, but only expands symlinks up to the last |
44 |
# directory component of the path |
45 |
canonicalise_dir() { |
46 |
local ret wd=$(pwd) |
47 |
if [[ -d $1 ]]; then |
48 |
cd -P "$1" 2>/dev/null && pwd -P |
49 |
ret=$? |
50 |
else |
51 |
cd -P "${1%"${1##*/}"}" 2>/dev/null && echo "$(pwd -P)/${1##*/}" |
52 |
ret=$? |
53 |
fi |
54 |
cd "${wd}" |
55 |
return ${ret} |
56 |
} |
57 |
|
58 |
prepcompress() { |
59 |
local -a include exclude incl_d incl_f |
60 |
local f g i real_f real_d |
61 |
|
62 |
# Canonicalise path names and check for their existence. |
63 |
real_d=$(canonicalise_dir "${D}") |
64 |
for (( i = 0; i < ${#PORTAGE_DOCOMPRESS[@]}; i++ )); do |
65 |
real_f=$(canonicalise_dir "${D}${PORTAGE_DOCOMPRESS[i]}") |
66 |
f=${real_f#"${real_d}"} |
67 |
if [[ ${real_f} != "${f}" ]] && [[ -d ${real_f} || -f ${real_f} ]] |
68 |
then |
69 |
include[${#include[@]}]=${f:-/} |
70 |
elif [[ ${i} -ge 3 ]]; then |
71 |
ewarn "prepcompress:" \ |
72 |
"ignoring nonexistent path '${PORTAGE_DOCOMPRESS[i]}'" |
73 |
fi |
74 |
done |
75 |
for (( i = 0; i < ${#PORTAGE_DOCOMPRESS_SKIP[@]}; i++ )); do |
76 |
real_f=$(canonicalise_dir "${D}${PORTAGE_DOCOMPRESS_SKIP[i]}") |
77 |
f=${real_f#"${real_d}"} |
78 |
if [[ ${real_f} != "${f}" ]] && [[ -d ${real_f} || -f ${real_f} ]] |
79 |
then |
80 |
exclude[${#exclude[@]}]=${f:-/} |
81 |
elif [[ ${i} -ge 1 ]]; then |
82 |
ewarn "prepcompress:" \ |
83 |
"ignoring nonexistent path '${PORTAGE_DOCOMPRESS_SKIP[i]}'" |
84 |
fi |
85 |
done |
86 |
|
87 |
# Remove redundant entries from lists. |
88 |
# For the include list, remove any entries that are |
89 |
# contained in a directory in the include or exclude lists. |
90 |
for (( i = ${#include[@]} - 1; i >= 0; i-- )); do |
91 |
f=${include[i]} |
92 |
for g in "${include[@]}"; do |
93 |
if [[ ${f} == "${g%/}"/* ]]; then |
94 |
unset include[i] |
95 |
continue 2 |
96 |
fi |
97 |
done |
98 |
for g in "${exclude[@]}"; do |
99 |
if [[ ${f} = ${g} || ${f} == "${g%/}"/* ]]; then |
100 |
unset include[i] |
101 |
continue 2 |
102 |
fi |
103 |
done |
104 |
done |
105 |
# For the exclude list, remove any entries that are: |
106 |
# a) contained in a directory in the exclude list, or |
107 |
# b) _not_ contained in a directory in the include list. |
108 |
for (( i = ${#exclude[@]} - 1; i >= 0; i-- )); do |
109 |
f=${exclude[i]} |
110 |
for g in "${exclude[@]}"; do |
111 |
if [[ ${f} == "${g%/}"/* ]]; then |
112 |
unset exclude[i] |
113 |
continue 2 |
114 |
fi |
115 |
done |
116 |
for g in "${include[@]}"; do |
117 |
[[ ${f} == "${g%/}"/* ]] && continue 2 |
118 |
done |
119 |
unset exclude[i] |
120 |
done |
121 |
|
122 |
# Split the include list into directories and files |
123 |
for f in "${include[@]}"; do |
124 |
if [[ -d ${D}${f} ]]; then |
125 |
incl_d[${#incl_d[@]}]=${f} |
126 |
else |
127 |
incl_f[${#incl_f[@]}]=${f} |
128 |
fi |
129 |
done |
130 |
|
131 |
# Queue up for compression. |
132 |
# ecompress{,dir} doesn't like to be called with empty argument lists. |
133 |
[[ ${#incl_d[@]} -gt 0 ]] && ecompressdir --queue "${incl_d[@]}" |
134 |
[[ ${#incl_f[@]} -gt 0 ]] && ecompress --queue "${incl_f[@]/#/${D}}" |
135 |
[[ ${#exclude[@]} -gt 0 ]] && ecompressdir --ignore "${exclude[@]}" |
136 |
return 0 |
137 |
} |
138 |
|
43 |
install_qa_check() { |
139 |
install_qa_check() { |
44 |
local f |
140 |
local f |
45 |
|
141 |
|
Lines 47-52
install_qa_check() {
Link Here
|
47 |
|
143 |
|
48 |
export STRIP_MASK |
144 |
export STRIP_MASK |
49 |
prepall |
145 |
prepall |
|
|
146 |
hasq "${EAPI}" 0 1 2 3 || prepcompress |
50 |
ecompressdir --dequeue |
147 |
ecompressdir --dequeue |
51 |
ecompress --dequeue |
148 |
ecompress --dequeue |
52 |
|
149 |
|
53 |
- |
|
|
54 |
-- |
55 |
bin/ebuild-helpers/prepalldocs | 2 +- |
150 |
bin/ebuild-helpers/prepalldocs | 2 +- |
56 |
bin/ebuild-helpers/prepallman | 2 +- |
151 |
bin/ebuild-helpers/prepallman | 2 +- |
57 |
bin/ebuild-helpers/prepinfo | 2 +- |
152 |
bin/ebuild-helpers/prepinfo | 2 +- |
58 |
bin/ebuild-helpers/prepman | 2 +- |
153 |
bin/ebuild-helpers/prepman | 2 +- |
59 |
4 files changed, 4 insertions(+), 4 deletions(-) |
154 |
4 files changed, 4 insertions(+), 4 deletions(-) |