Lines 2-37
Link Here
|
2 |
# MAINTAINER: portmgr@FreeBSD.org |
2 |
# MAINTAINER: portmgr@FreeBSD.org |
3 |
# $FreeBSD$ |
3 |
# $FreeBSD$ |
4 |
|
4 |
|
5 |
if [ -z "${STAGEDIR}" -o -z "${PREFIX}" -o -z "${LOCALBASE}" ]; then |
5 |
if [ -z "${STAGEDIR}" ] || [ -z "${PREFIX}" ] || [ -z "${LOCALBASE}" ]; then |
6 |
echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2 |
6 |
echo "STAGEDIR, PREFIX, LOCALBASE required in environment." >&2 |
7 |
exit 1 |
7 |
exit 1 |
8 |
fi |
8 |
fi |
9 |
|
9 |
|
10 |
[ -n "${DEBUG_MK_SCRIPTS}" -o -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x |
10 |
[ -n "${DEBUG_MK_SCRIPTS}" ] || [ -n "${DEBUG_MK_SCRIPTS_QA}" ] && set -x |
11 |
|
11 |
|
12 |
LF=$(printf '\nX') |
12 |
LF=$(printf '\nX') |
13 |
LF=${LF%X} |
13 |
LF=${LF%X} |
|
|
14 |
SOH=$(printf '\1') |
14 |
|
15 |
|
15 |
notice() { |
16 |
notice() { |
16 |
echo "Notice: $@" >&2 |
17 |
echo "Notice: $*" >&2 |
17 |
} |
18 |
} |
18 |
|
19 |
|
19 |
warn() { |
20 |
warn() { |
20 |
echo "Warning: $@" >&2 |
21 |
echo "Warning: $*" >&2 |
21 |
} |
22 |
} |
22 |
|
23 |
|
23 |
err() { |
24 |
err() { |
24 |
echo "Error: $@" >&2 |
25 |
echo "Error: $*" >&2 |
25 |
} |
26 |
} |
26 |
|
27 |
|
27 |
list_stagedir_elfs() { |
28 |
list_stagedir_elfs() { |
28 |
cd ${STAGEDIR} && find -s . -type f \( -perm +111 -o -name '*.so*' \) "$@" |
29 |
cd "${STAGEDIR}" && find -s . -type f \( -perm +111 -o -name '*.so*' \) "$@" |
29 |
} |
30 |
} |
30 |
|
31 |
|
31 |
shebangonefile() { |
32 |
shebangonefile() { |
32 |
local f interp interparg badinterp rc |
33 |
local f interp interparg badinterp rc |
33 |
|
34 |
|
34 |
f="$@" |
35 |
f="$*" |
35 |
rc=0 |
36 |
rc=0 |
36 |
|
37 |
|
37 |
# whitelist some files |
38 |
# whitelist some files |
Lines 54-60
shebangonefile() {
Link Here
|
54 |
${LINUXBASE}/*) ;; |
55 |
${LINUXBASE}/*) ;; |
55 |
${LOCALBASE}/bin/perl5.* | ${PREFIX}/bin/perl5.*) |
56 |
${LOCALBASE}/bin/perl5.* | ${PREFIX}/bin/perl5.*) |
56 |
# lang/perl5* are allowed to have these shebangs. |
57 |
# lang/perl5* are allowed to have these shebangs. |
57 |
if ! expr ${PKGORIGIN} : '^lang/perl5.*' > /dev/null; then |
58 |
if ! expr "${PKGORIGIN}" : '^lang/perl5.*' > /dev/null; then |
58 |
err "'${interp}' is an invalid shebang for '${f#${STAGEDIR}${PREFIX}/}' you must use ${LOCALBASE}/bin/perl." |
59 |
err "'${interp}' is an invalid shebang for '${f#${STAGEDIR}${PREFIX}/}' you must use ${LOCALBASE}/bin/perl." |
59 |
err "Either pass \${PERL} to the build or use USES=shebangfix" |
60 |
err "Either pass \${PERL} to the build or use USES=shebangfix" |
60 |
rc=1 |
61 |
rc=1 |
Lines 95-107
shebang() {
Link Here
|
95 |
|
96 |
|
96 |
rc=0 |
97 |
rc=0 |
97 |
|
98 |
|
98 |
while read f; do |
99 |
while read -r f; do |
99 |
# No results presents a blank line from heredoc. |
100 |
# No results presents a blank line from heredoc. |
100 |
[ -z "${f}" ] && continue |
101 |
[ -z "${f}" ] && continue |
101 |
shebangonefile "${f}" || rc=1 |
102 |
shebangonefile "${f}" || rc=1 |
102 |
# Use heredoc to avoid losing rc from find|while subshell |
103 |
# Use heredoc to avoid losing rc from find|while subshell |
103 |
done <<-EOF |
104 |
done <<-EOF |
104 |
$(find ${STAGEDIR}${PREFIX} \ |
105 |
$(find "${STAGEDIR}${PREFIX}" \ |
105 |
-type f -perm +111 2>/dev/null) |
106 |
-type f -perm +111 2>/dev/null) |
106 |
EOF |
107 |
EOF |
107 |
|
108 |
|
Lines 112-119
baselibs() {
Link Here
|
112 |
local rc |
113 |
local rc |
113 |
local found_openssl |
114 |
local found_openssl |
114 |
local file |
115 |
local file |
115 |
[ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return |
116 |
[ "${PKGBASE}" = "pkg" ] || [ "${PKGBASE}" = "pkg-devel" ] && return |
116 |
while read f; do |
117 |
while read -r f; do |
117 |
case ${f} in |
118 |
case ${f} in |
118 |
File:\ .*) |
119 |
File:\ .*) |
119 |
file=${f#File: .} |
120 |
file=${f#File: .} |
Lines 133-141
baselibs() {
Link Here
|
133 |
done <<-EOF |
134 |
done <<-EOF |
134 |
$(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null) |
135 |
$(list_stagedir_elfs -exec readelf -d {} + 2>/dev/null) |
135 |
EOF |
136 |
EOF |
136 |
if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then |
137 |
if [ -z "${USESSSL}" ] && [ -n "${found_openssl}" ]; then |
137 |
warn "you need USES=ssl" |
138 |
warn "you need USES=ssl" |
138 |
elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then |
139 |
elif [ -n "${USESSSL}" ] && [ -z "${found_openssl}" ]; then |
139 |
warn "you may not need USES=ssl" |
140 |
warn "you may not need USES=ssl" |
140 |
fi |
141 |
fi |
141 |
return ${rc} |
142 |
return ${rc} |
Lines 148-157
symlinks() {
Link Here
|
148 |
|
149 |
|
149 |
# Split stat(1) result into 2 lines and read each line separately to |
150 |
# Split stat(1) result into 2 lines and read each line separately to |
150 |
# retain spaces in filenames. |
151 |
# retain spaces in filenames. |
151 |
while read l; do |
152 |
while read -r l; do |
152 |
# No results presents a blank line from heredoc. |
153 |
# No results presents a blank line from heredoc. |
153 |
[ -z "${l}" ] && continue |
154 |
[ -z "${l}" ] && continue |
154 |
read link |
155 |
read -r link |
155 |
case "${link}" in |
156 |
case "${link}" in |
156 |
${STAGEDIR}*) |
157 |
${STAGEDIR}*) |
157 |
err "Bad symlink '${l#${STAGEDIR}${PREFIX}/}' pointing inside the stage directory" |
158 |
err "Bad symlink '${l#${STAGEDIR}${PREFIX}/}' pointing inside the stage directory" |
Lines 163-176
symlinks() {
Link Here
|
163 |
warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'" |
164 |
warn "Bad symlink '${l#${STAGEDIR}}' pointing to an absolute pathname '${link}'" |
164 |
fi |
165 |
fi |
165 |
# Also warn if the symlink exists nowhere. |
166 |
# Also warn if the symlink exists nowhere. |
166 |
if [ ! -e "${STAGEDIR}${link}" -a ! -e "${link}" ]; then |
167 |
if [ ! -e "${STAGEDIR}${link}" ] && [ ! -e "${link}" ]; then |
167 |
warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase" |
168 |
warn "Symlink '${l#${STAGEDIR}}' pointing to '${link}' which does not exist in the stage directory or in localbase" |
168 |
fi |
169 |
fi |
169 |
;; |
170 |
;; |
170 |
esac |
171 |
esac |
171 |
# Use heredoc to avoid losing rc from find|while subshell. |
172 |
# Use heredoc to avoid losing rc from find|while subshell. |
172 |
done <<-EOF |
173 |
done <<-EOF |
173 |
$(find ${STAGEDIR} -type l -exec stat -f "%N${LF}%Y" {} +) |
174 |
$(find "${STAGEDIR}" -type l -exec stat -f "%N${LF}%Y" {} +) |
174 |
EOF |
175 |
EOF |
175 |
|
176 |
|
176 |
return ${rc} |
177 |
return ${rc} |
Lines 181-187
paths() {
Link Here
|
181 |
|
182 |
|
182 |
rc=0 |
183 |
rc=0 |
183 |
|
184 |
|
184 |
while read f; do |
185 |
while read -r f; do |
185 |
# No results presents a blank line from heredoc. |
186 |
# No results presents a blank line from heredoc. |
186 |
[ -z "${f}" ] && continue |
187 |
[ -z "${f}" ] && continue |
187 |
# Ignore false-positive/harmless files |
188 |
# Ignore false-positive/harmless files |
Lines 194-200
paths() {
Link Here
|
194 |
rc=1 |
195 |
rc=1 |
195 |
# Use heredoc to avoid losing rc from find|while subshell |
196 |
# Use heredoc to avoid losing rc from find|while subshell |
196 |
done <<-EOF |
197 |
done <<-EOF |
197 |
$(find ${TMPPLIST} ${STAGEDIR} -type f -exec grep -l "${STAGEDIR}" {} +) |
198 |
$(find "${TMPPLIST}" "${STAGEDIR}" -type f -exec grep -l "${STAGEDIR}" {} +) |
198 |
EOF |
199 |
EOF |
199 |
|
200 |
|
200 |
return ${rc} |
201 |
return ${rc} |
Lines 207-227
stripped() {
Link Here
|
207 |
# Split file and result into 2 lines and read separately to ensure |
208 |
# Split file and result into 2 lines and read separately to ensure |
208 |
# files with spaces are kept intact. |
209 |
# files with spaces are kept intact. |
209 |
# Using readelf -h ... /ELF Header:/ will match on all ELF files. |
210 |
# Using readelf -h ... /ELF Header:/ will match on all ELF files. |
210 |
find ${STAGEDIR} -type f ! -name '*.a' ! -name '*.o' \ |
211 |
find "${STAGEDIR}" -type f ! -name '*.a' ! -name '*.o' \ |
211 |
-exec readelf -S {} + 2>/dev/null | awk '\ |
212 |
-exec readelf -S {} + 2>/dev/null | awk ' |
212 |
/File:/ {sub(/File: /, "", $0); file=$0} \ |
213 |
/File:/ {sub(/File: /, "", $0); file=$0} |
213 |
/SYMTAB/ {print file}' | |
214 |
/SYMTAB/ {print file}' | |
214 |
while read f; do |
215 |
while read -r f; do |
215 |
warn "'${f#${STAGEDIR}${PREFIX}/}' is not stripped consider trying INSTALL_TARGET=install-strip or using \${STRIP_CMD}" |
216 |
warn "'${f#${STAGEDIR}${PREFIX}/}' is not stripped consider trying INSTALL_TARGET=install-strip or using \${STRIP_CMD}" |
216 |
done |
217 |
done |
217 |
} |
218 |
} |
218 |
|
219 |
|
219 |
desktopfileutils() { |
220 |
desktopfileutils() { |
220 |
if [ -z "${USESDESKTOPFILEUTILS}" ]; then |
221 |
if [ -z "${USESDESKTOPFILEUTILS}" ]; then |
221 |
grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null && |
222 |
grep -q MimeType= "${STAGEDIR}${PREFIX}"/share/applications/*.desktop 2>/dev/null && |
222 |
warn "you need USES=desktop-file-utils" |
223 |
warn "you need USES=desktop-file-utils" |
223 |
else |
224 |
else |
224 |
grep -q MimeType= ${STAGEDIR}${PREFIX}/share/applications/*.desktop 2>/dev/null || |
225 |
grep -q MimeType= "${STAGEDIR}${PREFIX}"/share/applications/*.desktop 2>/dev/null || |
225 |
warn "you may not need USES=desktop-file-utils" |
226 |
warn "you may not need USES=desktop-file-utils" |
226 |
fi |
227 |
fi |
227 |
return 0 |
228 |
return 0 |
Lines 237-245
sharedmimeinfo() {
Link Here
|
237 |
found=1 |
238 |
found=1 |
238 |
break |
239 |
break |
239 |
done |
240 |
done |
240 |
if [ -z "${USESSHAREDMIMEINFO}" -a ${found} -eq 1 ]; then |
241 |
if [ -z "${USESSHAREDMIMEINFO}" ] && [ ${found} -eq 1 ]; then |
241 |
warn "you need USES=shared-mime-info" |
242 |
warn "you need USES=shared-mime-info" |
242 |
elif [ -n "${USESSHAREDMIMEINFO}" -a ${found} -eq 0 ]; then |
243 |
elif [ -n "${USESSHAREDMIMEINFO}" ] && [ ${found} -eq 0 ]; then |
243 |
warn "you may not need USES=shared-mime-info" |
244 |
warn "you may not need USES=shared-mime-info" |
244 |
fi |
245 |
fi |
245 |
return 0 |
246 |
return 0 |
Lines 248-269
sharedmimeinfo() {
Link Here
|
248 |
suidfiles() { |
249 |
suidfiles() { |
249 |
local filelist |
250 |
local filelist |
250 |
|
251 |
|
251 |
filelist=`find ${STAGEDIR} -type f \ |
252 |
filelist=$(find "${STAGEDIR}" -type f \ |
252 |
\( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ |
253 |
\( -perm -u+x -or -perm -g+x -or -perm -o+x \) \ |
253 |
\( -perm -u+s -or -perm -g+s \)` |
254 |
\( -perm -u+s -or -perm -g+s \)) |
254 |
if [ -n "${filelist}" ]; then |
255 |
if [ -n "${filelist}" ]; then |
255 |
warn "setuid files in the stage directory (are these necessary?):" |
256 |
warn "setuid files in the stage directory (are these necessary?):" |
256 |
ls -liTd ${filelist} |
257 |
ls -liTd "${filelist}" |
257 |
fi |
258 |
fi |
258 |
return 0 |
259 |
return 0 |
259 |
} |
260 |
} |
260 |
|
261 |
|
261 |
libtool() { |
262 |
libtool() { |
262 |
if [ -z "${USESLIBTOOL}" ]; then |
263 |
if [ -z "${USESLIBTOOL}" ]; then |
263 |
find ${STAGEDIR} -name '*.la' | while read f; do |
264 |
find "${STAGEDIR}" -name '*.la' | while read -r f; do |
264 |
grep -q 'libtool library' "${f}" && |
265 |
if grep -q 'libtool library' "${f}"; then |
265 |
err ".la libraries found, port needs USES=libtool" && |
266 |
err ".la libraries found, port needs USES=libtool" |
266 |
return 1 || true |
267 |
return 1 |
|
|
268 |
fi |
267 |
done |
269 |
done |
268 |
# The return above continues here. |
270 |
# The return above continues here. |
269 |
fi |
271 |
fi |
Lines 271-289
libtool() {
Link Here
|
271 |
|
273 |
|
272 |
libperl() { |
274 |
libperl() { |
273 |
local has_some_libperl_so files found |
275 |
local has_some_libperl_so files found |
274 |
if [ -n "${SITE_ARCH_REL}" -a -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then |
276 |
if [ -n "${SITE_ARCH_REL}" ] && [ -d "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" ]; then |
275 |
has_some_libperl_so=0 |
277 |
has_some_libperl_so=0 |
276 |
files=0 |
278 |
files=0 |
277 |
while read f; do |
279 |
while read -r f; do |
278 |
# No results presents a blank line from heredoc. |
280 |
# No results presents a blank line from heredoc. |
279 |
[ -z "${f}" ] && continue |
281 |
[ -z "${f}" ] && continue |
280 |
files=$((files+1)) |
282 |
files=$((files+1)) |
281 |
found=`readelf -d ${f} | awk "BEGIN {libperl=1; rpath=10; runpath=100} |
283 |
found=$(readelf -d "${f}" | awk "BEGIN {libperl=1; rpath=10; runpath=100} |
282 |
/NEEDED.*${LIBPERL}/ { libperl = 0 } |
284 |
/NEEDED.*${LIBPERL}/ { libperl = 0 } |
283 |
/RPATH.*perl.*CORE/ { rpath = 0 } |
285 |
/RPATH.*perl.*CORE/ { rpath = 0 } |
284 |
/RUNPATH.*perl.*CORE/ { runpath = 0 } |
286 |
/RUNPATH.*perl.*CORE/ { runpath = 0 } |
285 |
END {print libperl+rpath+runpath} |
287 |
END {print libperl+rpath+runpath} |
286 |
"` |
288 |
") |
287 |
case "${found}" in |
289 |
case "${found}" in |
288 |
*1) |
290 |
*1) |
289 |
warn "${f} is not linked with ${LIBPERL}, not respecting lddlflags?" |
291 |
warn "${f} is not linked with ${LIBPERL}, not respecting lddlflags?" |
Lines 291-297
libperl() {
Link Here
|
291 |
*0) |
293 |
*0) |
292 |
has_some_libperl_so=1 |
294 |
has_some_libperl_so=1 |
293 |
# Older Perl did not USE_LDCONFIG. |
295 |
# Older Perl did not USE_LDCONFIG. |
294 |
if [ ! -f ${LOCALBASE}/${LDCONFIG_DIR}/perl5 ]; then |
296 |
if [ ! -f "${LOCALBASE}/${LDCONFIG_DIR}/perl5" ]; then |
295 |
case "${found}" in |
297 |
case "${found}" in |
296 |
*1?) |
298 |
*1?) |
297 |
warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags?" |
299 |
warn "${f} does not have a rpath to ${LIBPERL}, not respecting lddlflags?" |
Lines 307-316
libperl() {
Link Here
|
307 |
esac |
309 |
esac |
308 |
# Use heredoc to avoid losing rc from find|while subshell |
310 |
# Use heredoc to avoid losing rc from find|while subshell |
309 |
done <<-EOT |
311 |
done <<-EOT |
310 |
$(find ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} -name '*.so') |
312 |
$(find "${STAGEDIR}${PREFIX}/${SITE_ARCH_REL}" -name '*.so') |
311 |
EOT |
313 |
EOT |
312 |
|
314 |
|
313 |
if [ ${files} -gt 0 -a ${has_some_libperl_so} -eq 0 ]; then |
315 |
if [ ${files} -gt 0 ] && [ ${has_some_libperl_so} -eq 0 ]; then |
314 |
err "None of the .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list." |
316 |
err "None of the .so in ${STAGEDIR}${PREFIX}/${SITE_ARCH_REL} are linked with ${LIBPERL}, see above for the full list." |
315 |
return 1 |
317 |
return 1 |
316 |
else |
318 |
else |
Lines 320-326
libperl() {
Link Here
|
320 |
} |
322 |
} |
321 |
|
323 |
|
322 |
prefixvar() { |
324 |
prefixvar() { |
323 |
if [ ${PREFIX} != ${LINUXBASE} -a -d ${STAGEDIR}${PREFIX}/var ]; then |
325 |
if [ "${PREFIX}" != "${LINUXBASE}" ] && [ -d "${STAGEDIR}${PREFIX}/var" ]; then |
324 |
warn "port uses ${PREFIX}/var instead of /var" |
326 |
warn "port uses ${PREFIX}/var instead of /var" |
325 |
fi |
327 |
fi |
326 |
} |
328 |
} |
Lines 338-346
terminfo() {
Link Here
|
338 |
found=1 |
340 |
found=1 |
339 |
break |
341 |
break |
340 |
done |
342 |
done |
341 |
if [ -z "${USESTERMINFO}" -a -n "${found}" ]; then |
343 |
if [ -z "${USESTERMINFO}" ] && [ -n "${found}" ]; then |
342 |
warn "you need USES=terminfo" |
344 |
warn "you need USES=terminfo" |
343 |
elif [ -n "${USESTERMINFO}" -a -z "${found}" ]; then |
345 |
elif [ -n "${USESTERMINFO}" ] && [ -z "${found}" ]; then |
344 |
warn "you may not need USES=terminfo" |
346 |
warn "you may not need USES=terminfo" |
345 |
fi |
347 |
fi |
346 |
return 0 |
348 |
return 0 |
Lines 352-358
listcontains() {
Link Here
|
352 |
lst=$2 |
354 |
lst=$2 |
353 |
|
355 |
|
354 |
for elt in ${lst} ; do |
356 |
for elt in ${lst} ; do |
355 |
if [ ${elt} = ${str} ]; then |
357 |
if [ "${elt}" = "${str}" ]; then |
356 |
return 0 |
358 |
return 0 |
357 |
fi |
359 |
fi |
358 |
done |
360 |
done |
Lines 364-639
proxydeps_suggest_uses() {
Link Here
|
364 |
local lib_file=$2 |
366 |
local lib_file=$2 |
365 |
|
367 |
|
366 |
# miscellaneous USE clauses |
368 |
# miscellaneous USE clauses |
367 |
if [ ${pkg} = 'devel/gettext-runtime' ]; then |
369 |
if [ "${pkg}" = 'devel/gettext-runtime' ]; then |
368 |
warn "you need USES+=gettext-runtime" |
370 |
warn "you need USES+=gettext-runtime" |
369 |
elif [ ${pkg} = 'databases/sqlite3' ]; then |
371 |
elif [ "${pkg}" = 'databases/sqlite3' ]; then |
370 |
warn "you need USES+=sqlite" |
372 |
warn "you need USES+=sqlite" |
371 |
elif [ ${pkg} = 'databases/sqlite2' ]; then |
373 |
elif [ "${pkg}" = 'databases/sqlite2' ]; then |
372 |
warn "you need USES+=sqlite:2" |
374 |
warn "you need USES+=sqlite:2" |
373 |
# Gnome -> same as port |
375 |
# Gnome -> same as port |
374 |
# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \&\& echo "\\${pkg} = \\\"\2/\3\\\" -o \\\\"|'|sort|sh |
376 |
# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\([^[:space:]]*\).*|[ "\1" = "\3" ] \&\& echo "[ \\\"\\${pkg}\\\" = \\\"\2/\3\\\" ] \|\| \\\\"|'|env LANG=C sort|sh |
375 |
elif [ ${pkg} = "accessibility/atk" -o \ |
377 |
elif [ "${pkg}" = "accessibility/atk" ] || \ |
376 |
${pkg} = "accessibility/atkmm" -o \ |
378 |
[ "${pkg}" = "accessibility/atkmm" ] || \ |
377 |
${pkg} = "graphics/cairo" -o \ |
379 |
[ "${pkg}" = "graphics/cairo" ] || \ |
378 |
${pkg} = "graphics/cairomm" -o \ |
380 |
[ "${pkg}" = "graphics/cairomm" ] || \ |
379 |
${pkg} = "devel/dconf" -o \ |
381 |
[ "${pkg}" = "devel/dconf" ] || \ |
380 |
${pkg} = "audio/esound" -o \ |
382 |
[ "${pkg}" = "audio/esound" ] || \ |
381 |
${pkg} = "devel/gconf2" -o \ |
383 |
[ "${pkg}" = "devel/gconf2" ] || \ |
382 |
${pkg} = "devel/gconfmm26" -o \ |
384 |
[ "${pkg}" = "devel/gconfmm26" ] || \ |
383 |
${pkg} = "devel/glib12" -o \ |
385 |
[ "${pkg}" = "devel/glib12" ] || \ |
384 |
${pkg} = "devel/glib20" -o \ |
386 |
[ "${pkg}" = "devel/glib20" ] || \ |
385 |
${pkg} = "devel/glibmm" -o \ |
387 |
[ "${pkg}" = "devel/glibmm" ] || \ |
386 |
${pkg} = "audio/gsound" -o \ |
388 |
[ "${pkg}" = "audio/gsound" ] || \ |
387 |
${pkg} = "x11-toolkits/gtk12" -o \ |
389 |
[ "${pkg}" = "x11-toolkits/gtk12" ] || \ |
388 |
${pkg} = "x11-toolkits/gtk20" -o \ |
390 |
[ "${pkg}" = "x11-toolkits/gtk20" ] || \ |
389 |
${pkg} = "x11-toolkits/gtk30" -o \ |
391 |
[ "${pkg}" = "x11-toolkits/gtk30" ] || \ |
390 |
${pkg} = "www/gtkhtml3" -o \ |
392 |
[ "${pkg}" = "www/gtkhtml3" ] || \ |
391 |
${pkg} = "www/gtkhtml4" -o \ |
393 |
[ "${pkg}" = "www/gtkhtml4" ] || \ |
392 |
${pkg} = "x11-toolkits/gtkmm20" -o \ |
394 |
[ "${pkg}" = "x11-toolkits/gtkmm20" ] || \ |
393 |
${pkg} = "x11-toolkits/gtkmm24" -o \ |
395 |
[ "${pkg}" = "x11-toolkits/gtkmm24" ] || \ |
394 |
${pkg} = "x11-toolkits/gtkmm30" -o \ |
396 |
[ "${pkg}" = "x11-toolkits/gtkmm30" ] || \ |
395 |
${pkg} = "x11-toolkits/gtksourceview" -o \ |
397 |
[ "${pkg}" = "x11-toolkits/gtksourceview" ] || \ |
396 |
${pkg} = "x11-toolkits/gtksourceview2" -o \ |
398 |
[ "${pkg}" = "x11-toolkits/gtksourceview2" ] || \ |
397 |
${pkg} = "x11-toolkits/gtksourceview3" -o \ |
399 |
[ "${pkg}" = "x11-toolkits/gtksourceview3" ] || \ |
398 |
${pkg} = "x11-toolkits/gtksourceviewmm3" -o \ |
400 |
[ "${pkg}" = "x11-toolkits/gtksourceviewmm3" ] || \ |
399 |
${pkg} = "devel/libbonobo" -o \ |
401 |
[ "${pkg}" = "devel/libbonobo" ] || \ |
400 |
${pkg} = "x11-toolkits/libbonoboui" -o \ |
402 |
[ "${pkg}" = "x11-toolkits/libbonoboui" ] || \ |
401 |
${pkg} = "databases/libgda5" -o \ |
403 |
[ "${pkg}" = "databases/libgda5" ] || \ |
402 |
${pkg} = "databases/libgda5-ui" -o \ |
404 |
[ "${pkg}" = "databases/libgda5-ui" ] || \ |
403 |
${pkg} = "databases/libgdamm5" -o \ |
405 |
[ "${pkg}" = "databases/libgdamm5" ] || \ |
404 |
${pkg} = "devel/libglade2" -o \ |
406 |
[ "${pkg}" = "devel/libglade2" ] || \ |
405 |
${pkg} = "x11/libgnome" -o \ |
407 |
[ "${pkg}" = "x11/libgnome" ] || \ |
406 |
${pkg} = "graphics/libgnomecanvas" -o \ |
408 |
[ "${pkg}" = "graphics/libgnomecanvas" ] || \ |
407 |
${pkg} = "x11/libgnomekbd" -o \ |
409 |
[ "${pkg}" = "x11/libgnomekbd" ] || \ |
408 |
${pkg} = "print/libgnomeprint" -o \ |
410 |
[ "${pkg}" = "print/libgnomeprint" ] || \ |
409 |
${pkg} = "x11-toolkits/libgnomeprintui" -o \ |
411 |
[ "${pkg}" = "x11-toolkits/libgnomeprintui" ] || \ |
410 |
${pkg} = "x11-toolkits/libgnomeui" -o \ |
412 |
[ "${pkg}" = "x11-toolkits/libgnomeui" ] || \ |
411 |
${pkg} = "devel/libgsf" -o \ |
413 |
[ "${pkg}" = "devel/libgsf" ] || \ |
412 |
${pkg} = "www/libgtkhtml" -o \ |
414 |
[ "${pkg}" = "www/libgtkhtml" ] || \ |
413 |
${pkg} = "x11-toolkits/libgtksourceviewmm" -o \ |
415 |
[ "${pkg}" = "x11-toolkits/libgtksourceviewmm" ] || \ |
414 |
${pkg} = "graphics/librsvg2" -o \ |
416 |
[ "${pkg}" = "graphics/librsvg2" ] || \ |
415 |
${pkg} = "devel/libsigc++12" -o \ |
417 |
[ "${pkg}" = "devel/libsigc++12" ] || \ |
416 |
${pkg} = "devel/libsigc++20" -o \ |
418 |
[ "${pkg}" = "devel/libsigc++20" ] || \ |
417 |
${pkg} = "x11-toolkits/libwnck" -o \ |
419 |
[ "${pkg}" = "x11-toolkits/libwnck" ] || \ |
418 |
${pkg} = "x11-toolkits/libwnck3" -o \ |
420 |
[ "${pkg}" = "x11-toolkits/libwnck3" ] || \ |
419 |
${pkg} = "textproc/libxml++26" -o \ |
421 |
[ "${pkg}" = "textproc/libxml++26" ] || \ |
420 |
${pkg} = "textproc/libxml2" -o \ |
422 |
[ "${pkg}" = "textproc/libxml2" ] || \ |
421 |
${pkg} = "textproc/libxslt" -o \ |
423 |
[ "${pkg}" = "textproc/libxslt" ] || \ |
422 |
${pkg} = "x11-wm/metacity" -o \ |
424 |
[ "${pkg}" = "x11-wm/metacity" ] || \ |
423 |
${pkg} = "x11-toolkits/pango" -o \ |
425 |
[ "${pkg}" = "x11-toolkits/pango" ] || \ |
424 |
${pkg} = "x11-toolkits/pangomm" -o \ |
426 |
[ "${pkg}" = "x11-toolkits/pangomm" ] || \ |
425 |
${pkg} = "x11-toolkits/pangox-compat" -o \ |
427 |
[ "${pkg}" = "x11-toolkits/pangox-compat" ] || \ |
426 |
${pkg} = "x11-toolkits/vte" -o \ |
428 |
[ "${pkg}" = "x11-toolkits/vte" ] || \ |
427 |
${pkg} = "x11-toolkits/vte3" ]; then |
429 |
[ "${pkg}" = "x11-toolkits/vte3" ]; then |
428 |
warn "you need USE_GNOME+=${pkg#*/}" |
430 |
warn "you need USE_GNOME+=${pkg#*/}" |
429 |
# Gnome different as port |
431 |
# Gnome different as port |
430 |
# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh |
432 |
# grep LIB_DEPENDS= Mk/Uses/gnome.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|[ "\1" = "\3" ] \|\| echo "elif [ \\${pkg} = \\\"\2/\3\\\" ]; then; warn \\\"you need USE_GNOME+=\1\\\""|'|sort|sh |
431 |
elif [ ${pkg} = "databases/evolution-data-server" ]; then warn "you need USE_GNOME+=evolutiondataserver3" |
433 |
elif [ "${pkg}" = "databases/evolution-data-server" ]; then warn "you need USE_GNOME+=evolutiondataserver3" |
432 |
elif [ ${pkg} = "graphics/gdk-pixbuf" ]; then warn "you need USE_GNOME+=gdkpixbuf" |
434 |
elif [ "${pkg}" = "graphics/gdk-pixbuf" ]; then warn "you need USE_GNOME+=gdkpixbuf" |
433 |
elif [ ${pkg} = "graphics/gdk-pixbuf2" ]; then warn "you need USE_GNOME+=gdkpixbuf2" |
435 |
elif [ "${pkg}" = "graphics/gdk-pixbuf2" ]; then warn "you need USE_GNOME+=gdkpixbuf2" |
434 |
elif [ ${pkg} = "x11/gnome-desktop" ]; then warn "you need USE_GNOME+=gnomedesktop3" |
436 |
elif [ "${pkg}" = "x11/gnome-desktop" ]; then warn "you need USE_GNOME+=gnomedesktop3" |
435 |
elif [ ${pkg} = "devel/gnome-vfs" ]; then warn "you need USE_GNOME+=gnomevfs2" |
437 |
elif [ "${pkg}" = "devel/gnome-vfs" ]; then warn "you need USE_GNOME+=gnomevfs2" |
436 |
elif [ ${pkg} = "devel/gobject-introspection" ]; then warn "you need USE_GNOME+=introspection" |
438 |
elif [ "${pkg}" = "devel/gobject-introspection" ]; then warn "you need USE_GNOME+=introspection" |
437 |
elif [ ${pkg} = "graphics/libart_lgpl" ]; then warn "you need USE_GNOME+=libartlgpl2" |
439 |
elif [ "${pkg}" = "graphics/libart_lgpl" ]; then warn "you need USE_GNOME+=libartlgpl2" |
438 |
elif [ ${pkg} = "devel/libIDL" ]; then warn "you need USE_GNOME+=libidl" |
440 |
elif [ "${pkg}" = "devel/libIDL" ]; then warn "you need USE_GNOME+=libidl" |
439 |
elif [ ${pkg} = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus3" |
441 |
elif [ "${pkg}" = "x11-fm/nautilus" ]; then warn "you need USE_GNOME+=nautilus3" |
440 |
elif [ ${pkg} = "devel/ORBit2" ]; then warn "you need USE_GNOME+=orbit2" |
442 |
elif [ "${pkg}" = "devel/ORBit2" ]; then warn "you need USE_GNOME+=orbit2" |
441 |
# mate |
443 |
# mate |
442 |
# grep LIB_DEPENDS= Mk/Uses/mate.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_MATE+=\1"|' |
444 |
# grep LIB_DEPENDS= Mk/Uses/mate.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ "${pkg}" = "\2/\3" ]; then warn "you need USE_MATE+=\1"|' |
443 |
elif [ ${pkg} = "x11-fm/caja" ]; then warn "you need USE_MATE+=caja" |
445 |
elif [ "${pkg}" = "x11-fm/caja" ]; then warn "you need USE_MATE+=caja" |
444 |
elif [ ${pkg} = "sysutils/mate-control-center" ]; then warn "you need USE_MATE+=controlcenter" |
446 |
elif [ "${pkg}" = "sysutils/mate-control-center" ]; then warn "you need USE_MATE+=controlcenter" |
445 |
elif [ ${pkg} = "x11/mate-desktop" ]; then warn "you need USE_MATE+=desktop" |
447 |
elif [ "${pkg}" = "x11/mate-desktop" ]; then warn "you need USE_MATE+=desktop" |
446 |
elif [ ${pkg} = "x11/libmatekbd" ]; then warn "you need USE_MATE+=libmatekbd" |
448 |
elif [ "${pkg}" = "x11/libmatekbd" ]; then warn "you need USE_MATE+=libmatekbd" |
447 |
elif [ ${pkg} = "net/libmateweather" ]; then warn "you need USE_MATE+=libmateweather" |
449 |
elif [ "${pkg}" = "net/libmateweather" ]; then warn "you need USE_MATE+=libmateweather" |
448 |
elif [ ${pkg} = "x11-wm/marco" ]; then warn "you need USE_MATE+=marco" |
450 |
elif [ "${pkg}" = "x11-wm/marco" ]; then warn "you need USE_MATE+=marco" |
449 |
elif [ ${pkg} = "x11/mate-menus" ]; then warn "you need USE_MATE+=menus" |
451 |
elif [ "${pkg}" = "x11/mate-menus" ]; then warn "you need USE_MATE+=menus" |
450 |
elif [ ${pkg} = "x11/mate-panel" ]; then warn "you need USE_MATE+=panel" |
452 |
elif [ "${pkg}" = "x11/mate-panel" ]; then warn "you need USE_MATE+=panel" |
451 |
elif [ ${pkg} = "sysutils/mate-polkit" ]; then warn "you need USE_MATE+=polkit" |
453 |
elif [ "${pkg}" = "sysutils/mate-polkit" ]; then warn "you need USE_MATE+=polkit" |
452 |
# KDE |
454 |
# KDE |
453 |
# grep -B1 _LIB= Mk/Uses/kde.mk | grep _PORT=|sed -e 's/^\(.*\)_PORT=[[:space:]]*\([^[:space:]]*\).*/elif [ ${pkg} = "\2" ]; then warn "you need to use USE_KDE+=\1"/' |
455 |
# grep -B1 _LIB= Mk/Uses/kde.mk | grep _PORT=|sed -e 's/^\(.*\)_PORT=[[:space:]]*\([^[:space:]]*\).*/elif [ "${pkg}" = "\2" ]; then warn "you need to use USE_KDE+=\1"/' |
454 |
elif [ ${pkg} = "sysutils/baloo" ]; then warn "you need to use USE_KDE+=baloo" |
456 |
elif [ "${pkg}" = "sysutils/baloo" ]; then warn "you need to use USE_KDE+=baloo" |
455 |
elif [ ${pkg} = "sysutils/baloo-widgets" ]; then warn "you need to use USE_KDE+=baloo-widgets" |
457 |
elif [ "${pkg}" = "sysutils/baloo-widgets" ]; then warn "you need to use USE_KDE+=baloo-widgets" |
456 |
elif [ ${pkg} = "x11/kactivities" ]; then warn "you need to use USE_KDE+=kactivities" |
458 |
elif [ "${pkg}" = "x11/kactivities" ]; then warn "you need to use USE_KDE+=kactivities" |
457 |
elif [ ${pkg} = "editors/kate" ]; then warn "you need to use USE_KDE+=kate" |
459 |
elif [ "${pkg}" = "editors/kate" ]; then warn "you need to use USE_KDE+=kate" |
458 |
elif [ ${pkg} = "x11/kdelibs4" ]; then warn "you need to use USE_KDE+=kdelibs" |
460 |
elif [ "${pkg}" = "x11/kdelibs4" ]; then warn "you need to use USE_KDE+=kdelibs" |
459 |
elif [ ${pkg} = "sysutils/kfilemetadata" ]; then warn "you need to use USE_KDE+=kfilemetadata" |
461 |
elif [ "${pkg}" = "sysutils/kfilemetadata" ]; then warn "you need to use USE_KDE+=kfilemetadata" |
460 |
elif [ ${pkg} = "audio/libkcddb" ]; then warn "you need to use USE_KDE+=libkcddb" |
462 |
elif [ "${pkg}" = "audio/libkcddb" ]; then warn "you need to use USE_KDE+=libkcddb" |
461 |
elif [ ${pkg} = "audio/libkcompactdisc" ]; then warn "you need to use USE_KDE+=libkcompactdisc" |
463 |
elif [ "${pkg}" = "audio/libkcompactdisc" ]; then warn "you need to use USE_KDE+=libkcompactdisc" |
462 |
elif [ ${pkg} = "graphics/libkdcraw-kde4" ]; then warn "you need to use USE_KDE+=libkdcraw" |
464 |
elif [ "${pkg}" = "graphics/libkdcraw-kde4" ]; then warn "you need to use USE_KDE+=libkdcraw" |
463 |
elif [ ${pkg} = "misc/libkdeedu" ]; then warn "you need to use USE_KDE+=libkdeedu" |
465 |
elif [ "${pkg}" = "misc/libkdeedu" ]; then warn "you need to use USE_KDE+=libkdeedu" |
464 |
elif [ ${pkg} = "games/libkdegames" ]; then warn "you need to use USE_KDE+=libkdegames" |
466 |
elif [ "${pkg}" = "games/libkdegames" ]; then warn "you need to use USE_KDE+=libkdegames" |
465 |
elif [ ${pkg} = "graphics/libkexiv2-kde4" ]; then warn "you need to use USE_KDE+=libkexiv2" |
467 |
elif [ "${pkg}" = "graphics/libkexiv2-kde4" ]; then warn "you need to use USE_KDE+=libkexiv2" |
466 |
elif [ ${pkg} = "graphics/libkipi-kde4" ]; then warn "you need to use USE_KDE+=libkipi" |
468 |
elif [ "${pkg}" = "graphics/libkipi-kde4" ]; then warn "you need to use USE_KDE+=libkipi" |
467 |
elif [ ${pkg} = "x11/libkonq" ]; then warn "you need to use USE_KDE+=libkonq" |
469 |
elif [ "${pkg}" = "x11/libkonq" ]; then warn "you need to use USE_KDE+=libkonq" |
468 |
elif [ ${pkg} = "graphics/libksane" ]; then warn "you need to use USE_KDE+=libksane" |
470 |
elif [ "${pkg}" = "graphics/libksane" ]; then warn "you need to use USE_KDE+=libksane" |
469 |
elif [ ${pkg} = "astro/marble" ]; then warn "you need to use USE_KDE+=marble" |
471 |
elif [ "${pkg}" = "astro/marble" ]; then warn "you need to use USE_KDE+=marble" |
470 |
elif [ ${pkg} = "sysutils/nepomuk-core" ]; then warn "you need to use USE_KDE+=nepomuk-core" |
472 |
elif [ "${pkg}" = "sysutils/nepomuk-core" ]; then warn "you need to use USE_KDE+=nepomuk-core" |
471 |
elif [ ${pkg} = "sysutils/nepomuk-widgets" ]; then warn "you need to use USE_KDE+=nepomuk-widgets" |
473 |
elif [ "${pkg}" = "sysutils/nepomuk-widgets" ]; then warn "you need to use USE_KDE+=nepomuk-widgets" |
472 |
elif [ ${pkg} = "graphics/okular" ]; then warn "you need to use USE_KDE+=okular" |
474 |
elif [ "${pkg}" = "graphics/okular" ]; then warn "you need to use USE_KDE+=okular" |
473 |
elif [ ${pkg} = "deskutils/kdepimlibs4" ]; then warn "you need to use USE_KDE+=pimlibs" |
475 |
elif [ "${pkg}" = "deskutils/kdepimlibs4" ]; then warn "you need to use USE_KDE+=pimlibs" |
474 |
elif [ ${pkg} = "devel/ruby-qtruby" ]; then warn "you need to use USE_KDE+=qtruby" |
476 |
elif [ "${pkg}" = "devel/ruby-qtruby" ]; then warn "you need to use USE_KDE+=qtruby" |
475 |
elif [ ${pkg} = "devel/smokegen" ]; then warn "you need to use USE_KDE+=smokegen" |
477 |
elif [ "${pkg}" = "devel/smokegen" ]; then warn "you need to use USE_KDE+=smokegen" |
476 |
elif [ ${pkg} = "devel/smokekde" ]; then warn "you need to use USE_KDE+=smokekde" |
478 |
elif [ "${pkg}" = "devel/smokekde" ]; then warn "you need to use USE_KDE+=smokekde" |
477 |
elif [ ${pkg} = "devel/smokeqt" ]; then warn "you need to use USE_KDE+=smokeqt" |
479 |
elif [ "${pkg}" = "devel/smokeqt" ]; then warn "you need to use USE_KDE+=smokeqt" |
478 |
elif [ ${pkg} = "x11/kde4-workspace" ]; then warn "you need to use USE_KDE+=workspace" |
480 |
elif [ "${pkg}" = "x11/kde4-workspace" ]; then warn "you need to use USE_KDE+=workspace" |
479 |
elif [ ${pkg} = "databases/akonadi" ]; then warn "you need to use USE_KDE+=akonadi" |
481 |
elif [ "${pkg}" = "databases/akonadi" ]; then warn "you need to use USE_KDE+=akonadi" |
480 |
elif [ ${pkg} = "x11-toolkits/attica" ]; then warn "you need to use USE_KDE+=attica" |
482 |
elif [ "${pkg}" = "x11-toolkits/attica" ]; then warn "you need to use USE_KDE+=attica" |
481 |
elif [ ${pkg} = "x11/qimageblitz" ]; then warn "you need to use USE_KDE+=qimageblitz" |
483 |
elif [ "${pkg}" = "x11/qimageblitz" ]; then warn "you need to use USE_KDE+=qimageblitz" |
482 |
elif [ ${pkg} = "textproc/soprano" ]; then warn "you need to use USE_KDE+=soprano" |
484 |
elif [ "${pkg}" = "textproc/soprano" ]; then warn "you need to use USE_KDE+=soprano" |
483 |
elif [ ${pkg} = "deskutils/libstreamanalyzer" ]; then warn "you need to use USE_KDE+=strigi" |
485 |
elif [ "${pkg}" = "deskutils/libstreamanalyzer" ]; then warn "you need to use USE_KDE+=strigi" |
484 |
# KDE Frameworks |
486 |
# KDE Frameworks |
485 |
elif [ ${pkg} = "devel/kf5-extra-cmake-modules" ]; then warn "you need to use USE_KDE+=ecm" |
487 |
elif [ "${pkg}" = "devel/kf5-extra-cmake-modules" ]; then warn "you need to use USE_KDE+=ecm" |
486 |
elif [ ${pkg} = "devel/kf5-kcmutils" ]; then warn "you need to use USE_KDE+=kcmutils" |
488 |
elif [ "${pkg}" = "devel/kf5-kcmutils" ]; then warn "you need to use USE_KDE+=kcmutils" |
487 |
elif [ ${pkg} = "devel/kf5-kdeclarative" ]; then warn "you need to use USE_KDE+=kdeclarative" |
489 |
elif [ "${pkg}" = "devel/kf5-kdeclarative" ]; then warn "you need to use USE_KDE+=kdeclarative" |
488 |
elif [ ${pkg} = "devel/kf5-kfilemetadata" ]; then warn "you need to use USE_KDE+=filemetadata5" |
490 |
elif [ "${pkg}" = "devel/kf5-kfilemetadata" ]; then warn "you need to use USE_KDE+=filemetadata5" |
489 |
elif [ ${pkg} = "devel/kf5-kio" ]; then warn "you need to use USE_KDE+=kio" |
491 |
elif [ "${pkg}" = "devel/kf5-kio" ]; then warn "you need to use USE_KDE+=kio" |
490 |
elif [ ${pkg} = "devel/kf5-solid" ]; then warn "you need to use USE_KDE+=solid" |
492 |
elif [ "${pkg}" = "devel/kf5-solid" ]; then warn "you need to use USE_KDE+=solid" |
491 |
elif [ ${pkg} = "devel/kf5-threadweaver" ]; then warn "you need to use USE_KDE+=threadweaver" |
493 |
elif [ "${pkg}" = "devel/kf5-threadweaver" ]; then warn "you need to use USE_KDE+=threadweaver" |
492 |
elif [ ${pkg} = "devel/kio-extras-kf5" ]; then warn "you need to use USE_KDE+=kio-extras" |
494 |
elif [ "${pkg}" = "devel/kio-extras-kf5" ]; then warn "you need to use USE_KDE+=kio-extras" |
493 |
elif [ ${pkg} = "graphics/kf5-kimageformats" ]; then warn "you need to use USE_KDE+=kimageformats" |
495 |
elif [ "${pkg}" = "graphics/kf5-kimageformats" ]; then warn "you need to use USE_KDE+=kimageformats" |
494 |
elif [ ${pkg} = "lang/kf5-kross" ]; then warn "you need to use USE_KDE+=kross" |
496 |
elif [ "${pkg}" = "lang/kf5-kross" ]; then warn "you need to use USE_KDE+=kross" |
495 |
elif [ ${pkg} = "security/kf5-kdesu" ]; then warn "you need to use USE_KDE+=kdesu" |
497 |
elif [ "${pkg}" = "security/kf5-kdesu" ]; then warn "you need to use USE_KDE+=kdesu" |
496 |
elif [ ${pkg} = "sysutils/kf5-baloo" ]; then warn "you need to use USE_KDE+=baloo5" |
498 |
elif [ "${pkg}" = "sysutils/kf5-baloo" ]; then warn "you need to use USE_KDE+=baloo5" |
497 |
elif [ ${pkg} = "sysutils/kf5-bluez-qt" ]; then warn "you need to use USE_KDE+=bluez-qt" |
499 |
elif [ "${pkg}" = "sysutils/kf5-bluez-qt" ]; then warn "you need to use USE_KDE+=bluez-qt" |
498 |
elif [ ${pkg} = "textproc/kf5-sonnet" ]; then warn "you need to use USE_KDE+=sonnet" |
500 |
elif [ "${pkg}" = "textproc/kf5-sonnet" ]; then warn "you need to use USE_KDE+=sonnet" |
499 |
elif [ ${pkg} = "www/kf5-kdewebkit" ]; then warn "you need to use USE_KDE+=kdewebkit" |
501 |
elif [ "${pkg}" = "www/kf5-kdewebkit" ]; then warn "you need to use USE_KDE+=kdewebkit" |
500 |
elif [ ${pkg} = "www/kf5-khtml" ]; then warn "you need to use USE_KDE+=khtml" |
502 |
elif [ "${pkg}" = "www/kf5-khtml" ]; then warn "you need to use USE_KDE+=khtml" |
501 |
elif [ ${pkg} = "x11-themes/kf5-breeze-icons" ]; then warn "you need to use USE_KDE+=breeze-icons" |
503 |
elif [ "${pkg}" = "x11-themes/kf5-breeze-icons" ]; then warn "you need to use USE_KDE+=breeze-icons" |
502 |
elif [ ${pkg} = "x11-themes/kf5-oxygen-icons5" ]; then warn "you need to use USE_KDE+=oxygen-icons5" |
504 |
elif [ "${pkg}" = "x11-themes/kf5-oxygen-icons5" ]; then warn "you need to use USE_KDE+=oxygen-icons5" |
503 |
elif [ ${pkg} = "x11-toolkits/kf5-attica" ]; then warn "you need to use USE_KDE+=attica5" |
505 |
elif [ "${pkg}" = "x11-toolkits/kf5-attica" ]; then warn "you need to use USE_KDE+=attica5" |
504 |
elif [ ${pkg} = "x11/kf5-frameworkintegration" ]; then warn "you need to use USE_KDE+=frameworkintegration" |
506 |
elif [ "${pkg}" = "x11/kf5-frameworkintegration" ]; then warn "you need to use USE_KDE+=frameworkintegration" |
505 |
elif [ ${pkg} = "x11/kf5-kded" ]; then warn "you need to use USE_KDE+=kded" |
507 |
elif [ "${pkg}" = "x11/kf5-kded" ]; then warn "you need to use USE_KDE+=kded" |
506 |
elif [ ${pkg} = "x11/kf5-kdelibs4support" ]; then warn "you need to use USE_KDE+=kdelibs4support" |
508 |
elif [ "${pkg}" = "x11/kf5-kdelibs4support" ]; then warn "you need to use USE_KDE+=kdelibs4support" |
507 |
elif [ ${pkg} = "x11/kf5-plasma-framework" ]; then warn "you need to use USE_KDE+=plasma-framework" |
509 |
elif [ "${pkg}" = "x11/kf5-plasma-framework" ]; then warn "you need to use USE_KDE+=plasma-framework" |
508 |
elif expr ${pkg} : '.*/kf5-.*' > /dev/null; then |
510 |
elif expr "${pkg}" : '.*/kf5-.*' > /dev/null; then |
509 |
warn "you need USE_KDE+=$(echo ${pkg} | sed -E 's|.*/kf5-k||')" |
511 |
warn "you need USE_KDE+=$(echo "${pkg}" | sed -E 's|.*/kf5-k||')" |
510 |
# GStreamer 0.10 |
512 |
# GStreamer 0.10 |
511 |
elif [ ${pkg} = "multimedia/gstreamer" ]; then warn "you need to use USE_GSTREAMER+=yes" |
513 |
elif [ "${pkg}" = "multimedia/gstreamer" ]; then warn "you need to use USE_GSTREAMER+=yes" |
512 |
elif [ ${pkg} = "multimedia/gstreamer-plugins" ]; then warn "you need to use USE_GSTREAMER+=yes" |
514 |
elif [ "${pkg}" = "multimedia/gstreamer-plugins" ]; then warn "you need to use USE_GSTREAMER+=yes" |
513 |
elif [ ${pkg} = "multimedia/gstreamer-plugins-bad" ]; then warn "you need to use USE_GSTREAMER+=bad" |
515 |
elif [ "${pkg}" = "multimedia/gstreamer-plugins-bad" ]; then warn "you need to use USE_GSTREAMER+=bad" |
514 |
# GStreamer 1 |
516 |
# GStreamer 1 |
515 |
elif [ ${pkg} = "multimedia/gstreamer1" ]; then warn "you need to use USE_GSTREAMER1+=yes" |
517 |
elif [ "${pkg}" = "multimedia/gstreamer1" ]; then warn "you need to use USE_GSTREAMER1+=yes" |
516 |
elif [ ${pkg} = "multimedia/gstreamer1-plugins" ]; then warn "you need to use USE_GSTREAMER1+=yes" |
518 |
elif [ "${pkg}" = "multimedia/gstreamer1-plugins" ]; then warn "you need to use USE_GSTREAMER1+=yes" |
517 |
elif [ ${pkg} = "multimedia/gstreamer1-plugins-bad" ]; then warn "you need to use USE_GSTREAMER1+=bad" |
519 |
elif [ "${pkg}" = "multimedia/gstreamer1-plugins-bad" ]; then warn "you need to use USE_GSTREAMER1+=bad" |
518 |
# boost related |
520 |
# boost related |
519 |
elif [ ${pkg} = "devel/boost-python-libs" ]; then warn "you need to add LIB_DEPENDS+=\${PY_BOOST} and maybe USES+=python" |
521 |
elif [ "${pkg}" = "devel/boost-python-libs" ]; then warn "you need to add LIB_DEPENDS+=\${PY_BOOST} and maybe USES+=python" |
520 |
# sdl-related |
522 |
# sdl-related |
521 |
elif [ ${pkg} = 'devel/sdl12' ]; then |
523 |
elif [ "${pkg}" = 'devel/sdl12' ]; then |
522 |
warn "you need USE_SDL+=sdl" |
524 |
warn "you need USE_SDL+=sdl" |
523 |
elif echo ${pkg} | grep -E '/sdl_(console|gfx|image|mixer|mm|net|pango|sound|ttf)$' > /dev/null; then |
525 |
elif echo "${pkg}" | grep -E '/sdl_(console|gfx|image|mixer|mm|net|pango|sound|ttf)$' > /dev/null; then |
524 |
warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl_||')" |
526 |
warn "you need USE_SDL+=$(echo "${pkg}" | sed -E 's|.*/sdl_||')" |
525 |
elif [ ${pkg} = 'devel/sdl20' ]; then |
527 |
elif [ "${pkg}" = 'devel/sdl20' ]; then |
526 |
warn "you need USE_SDL+=sdl2" |
528 |
warn "you need USE_SDL+=sdl2" |
527 |
elif echo ${pkg} | grep -E '/sdl2_(gfx|image|mixer|net|ttf)$' > /dev/null; then |
529 |
elif echo "${pkg}" | grep -E '/sdl2_(gfx|image|mixer|net|ttf)$' > /dev/null; then |
528 |
warn "you need USE_SDL+=$(echo ${pkg} | sed -E 's|.*/sdl2_||')2" |
530 |
warn "you need USE_SDL+=$(echo "${pkg}" | sed -E 's|.*/sdl2_||')2" |
529 |
# gl-related |
531 |
# gl-related |
530 |
elif expr ${lib_file} : "${LOCALBASE}/lib/libGL.so.*$" > /dev/null; then |
532 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/libGL.so.*$" > /dev/null; then |
531 |
warn "you need USE_GL+=gl" |
533 |
warn "you need USE_GL+=gl" |
532 |
elif expr ${lib_file} : "${LOCALBASE}/lib/libgbm.so.*$" > /dev/null; then |
534 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/libgbm.so.*$" > /dev/null; then |
533 |
warn "you need USE_GL+=gbm" |
535 |
warn "you need USE_GL+=gbm" |
534 |
elif expr ${lib_file} : "${LOCALBASE}/lib/libGLESv2.so.*$" > /dev/null; then |
536 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/libGLESv2.so.*$" > /dev/null; then |
535 |
warn "you need USE_GL+=glesv2" |
537 |
warn "you need USE_GL+=glesv2" |
536 |
elif expr ${lib_file} : "${LOCALBASE}/lib/libEGL.so.*$" > /dev/null; then |
538 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/libEGL.so.*$" > /dev/null; then |
537 |
warn "you need USE_GL+=egl" |
539 |
warn "you need USE_GL+=egl" |
538 |
elif [ ${pkg} = 'graphics/glew' ]; then |
540 |
elif [ "${pkg}" = 'graphics/glew' ]; then |
539 |
warn "you need USE_GL+=glew" |
541 |
warn "you need USE_GL+=glew" |
540 |
elif [ ${pkg} = 'graphics/libGLU' ]; then |
542 |
elif [ "${pkg}" = 'graphics/libGLU' ]; then |
541 |
warn "you need USE_GL+=glu" |
543 |
warn "you need USE_GL+=glu" |
542 |
elif [ ${pkg} = 'graphics/libGLw' ]; then |
544 |
elif [ "${pkg}" = 'graphics/libGLw' ]; then |
543 |
warn "you need USE_GL+=glw" |
545 |
warn "you need USE_GL+=glw" |
544 |
elif [ ${pkg} = 'graphics/freeglut' ]; then |
546 |
elif [ "${pkg}" = 'graphics/freeglut' ]; then |
545 |
warn "you need USE_GL+=glut" |
547 |
warn "you need USE_GL+=glut" |
546 |
# Xorg-libraries: this should be by XORG_MODULES @ bsd.xorg.mk |
548 |
# Xorg-libraries: this should be by XORG_MODULES @ bsd.xorg.mk |
547 |
elif echo ${pkg} | grep -E '/lib(X11|Xau|Xdmcp|Xext|SM|ICE|Xfixes|Xft|Xdamage|Xcomposite|Xcursor|Xinerama|Xmu|Xmuu|Xpm|Xt|Xtst|Xi|Xrandr|Xrender|Xres|XScrnSaver|Xv|Xxf86vm|Xxf86dga|Xxf86misc|xcb)$' > /dev/null; then |
549 |
elif echo "${pkg}" | grep -E '/lib(X11|Xau|Xdmcp|Xext|SM|ICE|Xfixes|Xft|Xdamage|Xcomposite|Xcursor|Xinerama|Xmu|Xmuu|Xpm|Xt|Xtst|Xi|Xrandr|Xrender|Xres|XScrnSaver|Xv|Xxf86vm|Xxf86dga|Xxf86misc|xcb)$' > /dev/null; then |
548 |
warn "you need USE_XORG+=$(echo ${pkg} | sed -E 's|.*/lib||' | tr '[:upper:]' '[:lower:]')" |
550 |
warn "you need USE_XORG+=$(echo "${pkg}" | sed -E 's|.*/lib||' | tr '[:upper:]' '[:lower:]')" |
549 |
elif [ ${pkg} = 'x11/pixman' ]; then |
551 |
elif [ "${pkg}" = 'x11/pixman' ]; then |
550 |
warn "you need USE_XORG+=pixman" |
552 |
warn "you need USE_XORG+=pixman" |
551 |
# Qt4 |
553 |
# Qt4 |
552 |
elif expr ${pkg} : '.*/qt4-.*' > /dev/null; then |
554 |
elif expr "${pkg}" : '.*/qt4-.*' > /dev/null; then |
553 |
warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/qt4-||')" |
555 |
warn "you need USE_QT4+=$(echo "${pkg}" | sed -E 's|.*/qt4-||')" |
554 |
elif expr ${pkg} : '.*/.*-qt4' > /dev/null; then |
556 |
elif expr "${pkg}" : '.*/.*-qt4' > /dev/null; then |
555 |
warn "you need USE_QT4+=$(echo ${pkg} | sed -E 's|.*/(.*)-qt4|\1|')" |
557 |
warn "you need USE_QT4+=$(echo "${pkg}" | sed -E 's|.*/(.*)-qt4|\1|')" |
556 |
# Qt5 |
558 |
# Qt5 |
557 |
elif expr ${pkg} : '.*/qt5-.*' > /dev/null; then |
559 |
elif expr "${pkg}" : '.*/qt5-.*' > /dev/null; then |
558 |
warn "you need USE_QT5+=$(echo ${pkg} | sed -E 's|.*/qt5-||')" |
560 |
warn "you need USE_QT5+=$(echo "${pkg}" | sed -E 's|.*/qt5-||')" |
559 |
# MySQL |
561 |
# MySQL |
560 |
elif expr ${lib_file} : "${LOCALBASE}/lib/mysql/[^/]*$" > /dev/null; then |
562 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/mysql/[^/]*$" > /dev/null; then |
561 |
warn "you need USES+=mysql" |
563 |
warn "you need USES+=mysql" |
562 |
# postgresql |
564 |
# postgresql |
563 |
elif expr ${pkg} : "^databases/postgresql.*-client" > /dev/null; then |
565 |
elif expr "${pkg}" : "^databases/postgresql.*-client" > /dev/null; then |
564 |
warn "you need USES+=pgsql" |
566 |
warn "you need USES+=pgsql" |
565 |
# bdb |
567 |
# bdb |
566 |
elif expr ${pkg} : "^databases/db[456]" > /dev/null; then |
568 |
elif expr "${pkg}" : "^databases/db[456]" > /dev/null; then |
567 |
warn "you need USES+=bdb" |
569 |
warn "you need USES+=bdb" |
568 |
# fam/gamin |
570 |
# fam/gamin |
569 |
elif [ ${pkg} = "devel/fam" -o ${pkg} = "devel/gamin" ]; then |
571 |
elif [ "${pkg}" = "devel/fam" ] || [ "${pkg}" = "devel/gamin" ]; then |
570 |
warn "you need USES+=fam" |
572 |
warn "you need USES+=fam" |
571 |
# firebird |
573 |
# firebird |
572 |
elif [ ${pkg} = "databases/firebird25-client" ]; then |
574 |
elif [ "${pkg}" = "databases/firebird25-client" ]; then |
573 |
warn "you need USES+=firebird" |
575 |
warn "you need USES+=firebird" |
574 |
# fuse |
576 |
# fuse |
575 |
elif [ ${pkg} = "sysutils/fusefs-libs" ]; then |
577 |
elif [ "${pkg}" = "sysutils/fusefs-libs" ]; then |
576 |
warn "you need USES+=fuse" |
578 |
warn "you need USES+=fuse" |
577 |
# gnustep |
579 |
# gnustep |
578 |
elif [ ${pkg} = "lang/gnustep-base" ]; then |
580 |
elif [ "${pkg}" = "lang/gnustep-base" ]; then |
579 |
warn "you need USES+=gnustep and USE_GNUSTEP+=base" |
581 |
warn "you need USES+=gnustep and USE_GNUSTEP+=base" |
580 |
elif [ ${pkg} = "x11-toolkits/gnustep-gui" ]; then |
582 |
elif [ "${pkg}" = "x11-toolkits/gnustep-gui" ]; then |
581 |
warn "you need USES+=gnustep and USE_GNUSTEP+=gui" |
583 |
warn "you need USES+=gnustep and USE_GNUSTEP+=gui" |
582 |
# iconv |
584 |
# iconv |
583 |
elif [ ${pkg} = "converters/libiconv" ]; then |
585 |
elif [ "${pkg}" = "converters/libiconv" ]; then |
584 |
warn "you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs" |
586 |
warn "you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs" |
585 |
# jpeg |
587 |
# jpeg |
586 |
elif [ ${pkg} = "graphics/jpeg" -o ${pkg} = "graphics/jpeg-turbo" ]; then |
588 |
elif [ "${pkg}" = "graphics/jpeg" ] || [ "${pkg}" = "graphics/jpeg-turbo" ]; then |
587 |
warn "you need USES+=jpeg" |
589 |
warn "you need USES+=jpeg" |
588 |
# libarchive |
590 |
# libarchive |
589 |
elif [ ${pkg} = "archivers/libarchive" ]; then |
591 |
elif [ "${pkg}" = "archivers/libarchive" ]; then |
590 |
warn "you need USES+=libarchive" |
592 |
warn "you need USES+=libarchive" |
591 |
elif [ ${pkg} = "devel/libedit" ]; then |
593 |
elif [ "${pkg}" = "devel/libedit" ]; then |
592 |
warn "you need USES+=libedit" |
594 |
warn "you need USES+=libedit" |
593 |
# lua |
595 |
# lua |
594 |
elif expr ${pkg} : "^lang/lua" > /dev/null; then |
596 |
elif expr "${pkg}" : "^lang/lua" > /dev/null; then |
595 |
warn "you need USES+=lua" |
597 |
warn "you need USES+=lua" |
596 |
# motif |
598 |
# motif |
597 |
elif [ ${pkg} = "x11-toolkits/lesstif" -o ${pkg} = "x11-toolkits/open-motif" ]; then |
599 |
elif [ "${pkg}" = "x11-toolkits/lesstif" ] || [ "${pkg}" = "x11-toolkits/open-motif" ]; then |
598 |
warn "you need USES+=motif" |
600 |
warn "you need USES+=motif" |
599 |
# ncurses |
601 |
# ncurses |
600 |
elif [ ${pkg} = "devel/ncurses" ]; then |
602 |
elif [ "${pkg}" = "devel/ncurses" ]; then |
601 |
warn "you need USES+=ncurses" |
603 |
warn "you need USES+=ncurses" |
602 |
# objc |
604 |
# objc |
603 |
elif [ ${pkg} = "lang/libobjc2" ]; then |
605 |
elif [ "${pkg}" = "lang/libobjc2" ]; then |
604 |
warn "you need USES+=objc" |
606 |
warn "you need USES+=objc" |
605 |
# openal |
607 |
# openal |
606 |
elif [ ${pkg} = "audio/openal" -o ${pkg} = "audio/openal-soft" -o ${pkg} = "audio/freealut" ]; then |
608 |
elif [ "${pkg}" = "audio/openal" ] || [ "${pkg}" = "audio/openal-soft" ] || [ "${pkg}" = "audio/freealut" ]; then |
607 |
warn "you need USES+=openal" |
609 |
warn "you need USES+=openal" |
608 |
# pure |
610 |
# pure |
609 |
elif [ ${pkg} = "lang/pure" ]; then |
611 |
elif [ "${pkg}" = "lang/pure" ]; then |
610 |
warn "you need USES+=pure" |
612 |
warn "you need USES+=pure" |
611 |
# readline |
613 |
# readline |
612 |
elif [ ${pkg} = "devel/readline" ]; then |
614 |
elif [ "${pkg}" = "devel/readline" ]; then |
613 |
warn "you need USES+=readline" |
615 |
warn "you need USES+=readline" |
614 |
# ssl |
616 |
# ssl |
615 |
elif [ ${pkg} = "security/openssl" -o ${pkg} = "security/openssl-devel" \ |
617 |
elif [ "${pkg}" = "security/openssl" ] || [ "${pkg}" = "security/openssl-devel" ] || \ |
616 |
-o ${pkg} = "security/libressl" -o ${pkg} = "security/libressl-devel" \ |
618 |
[ "${pkg}" = "security/libressl" ] || [ "${pkg}" = "security/libressl-devel" ]; then |
617 |
]; then |
|
|
618 |
warn "you need USES=ssl" |
619 |
warn "you need USES=ssl" |
619 |
# Tcl |
620 |
# Tcl |
620 |
elif expr ${pkg} : "^lang/tcl" > /dev/null; then |
621 |
elif expr "${pkg}" : "^lang/tcl" > /dev/null; then |
621 |
warn "you need USES+=tcl" |
622 |
warn "you need USES+=tcl" |
622 |
# Tk |
623 |
# Tk |
623 |
elif expr ${pkg} : "^x11-toolkits/tk" > /dev/null; then |
624 |
elif expr "${pkg}" : "^x11-toolkits/tk" > /dev/null; then |
624 |
warn "you need USES+=tk" |
625 |
warn "you need USES+=tk" |
625 |
# Xfce |
626 |
# Xfce |
626 |
# grep LIB_DEPENDS= Mk/Uses/xfce.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ ${pkg} = "\2/\3" ]; then warn "you need USE_XFCE+=\1"|' |
627 |
# grep LIB_DEPENDS= Mk/Uses/xfce.mk |sed -e 's|\(.*\)_LIB_DEPENDS.*:\(.*\)\/\(.*\)|elif [ "${pkg}" = "\2/\3" ]; then warn "you need USE_XFCE+=\1"|' |
627 |
elif [ ${pkg} = "sysutils/garcon" ]; then warn "you need USE_XFCE+=garcon" |
628 |
elif [ "${pkg}" = "sysutils/garcon" ]; then warn "you need USE_XFCE+=garcon" |
628 |
elif [ ${pkg} = "x11/libexo" ]; then warn "you need USE_XFCE+=libexo" |
629 |
elif [ "${pkg}" = "x11/libexo" ]; then warn "you need USE_XFCE+=libexo" |
629 |
elif [ ${pkg} = "x11-toolkits/libxfce4gui" ]; then warn "you need USE_XFCE+=libgui" |
630 |
elif [ "${pkg}" = "x11-toolkits/libxfce4gui" ]; then warn "you need USE_XFCE+=libgui" |
630 |
elif [ ${pkg} = "x11/libxfce4menu" ]; then warn "you need USE_XFCE+=libmenu" |
631 |
elif [ "${pkg}" = "x11/libxfce4menu" ]; then warn "you need USE_XFCE+=libmenu" |
631 |
elif [ ${pkg} = "x11/libxfce4util" ]; then warn "you need USE_XFCE+=libutil" |
632 |
elif [ "${pkg}" = "x11/libxfce4util" ]; then warn "you need USE_XFCE+=libutil" |
632 |
elif [ ${pkg} = "x11-wm/xfce4-panel" ]; then warn "you need USE_XFCE+=panel" |
633 |
elif [ "${pkg}" = "x11-wm/xfce4-panel" ]; then warn "you need USE_XFCE+=panel" |
633 |
elif [ ${pkg} = "x11-fm/thunar" ]; then warn "you need USE_XFCE+=thunar" |
634 |
elif [ "${pkg}" = "x11-fm/thunar" ]; then warn "you need USE_XFCE+=thunar" |
634 |
elif [ ${pkg} = "x11/xfce4-conf" ]; then warn "you need USE_XFCE+=xfconf" |
635 |
elif [ "${pkg}" = "x11/xfce4-conf" ]; then warn "you need USE_XFCE+=xfconf" |
635 |
# default |
636 |
# default |
636 |
elif expr ${lib_file} : "${LOCALBASE}/lib/[^/]*$" > /dev/null; then |
637 |
elif expr "${lib_file}" : "${LOCALBASE}/lib/[^/]*$" > /dev/null; then |
637 |
lib_file=${lib_file#${LOCALBASE}/lib/} |
638 |
lib_file=${lib_file#${LOCALBASE}/lib/} |
638 |
lib_file=${lib_file%.so*}.so |
639 |
lib_file=${lib_file%.so*}.so |
639 |
warn "you need LIB_DEPENDS+=${lib_file}:${pkg}" |
640 |
warn "you need LIB_DEPENDS+=${lib_file}:${pkg}" |
Lines 647-664
proxydeps() {
Link Here
|
647 |
|
648 |
|
648 |
# Check all dynamicaly linked ELF files |
649 |
# Check all dynamicaly linked ELF files |
649 |
# Some .so are not executable, but we want to check them too. |
650 |
# Some .so are not executable, but we want to check them too. |
650 |
while read file; do |
651 |
while read -r file; do |
651 |
# No results presents a blank line from heredoc. |
652 |
# No results presents a blank line from heredoc. |
652 |
[ -z "${file}" ] && continue |
653 |
[ -z "${file}" ] && continue |
653 |
while read dep_file; do |
654 |
while read -r dep_file; do |
654 |
# No results presents a blank line from heredoc. |
655 |
# No results presents a blank line from heredoc. |
655 |
[ -z "${dep_file}" ] && continue |
656 |
[ -z "${dep_file}" ] && continue |
656 |
# Skip files we already checked. |
657 |
# Skip files we already checked. |
657 |
if listcontains ${dep_file} "${already}"; then |
658 |
if listcontains "${dep_file}" "${already}"; then |
658 |
continue |
659 |
continue |
659 |
fi |
660 |
fi |
660 |
if $(pkg which -q ${dep_file} > /dev/null 2>&1); then |
661 |
if pkg which -q "${dep_file}" > /dev/null 2>&1; then |
661 |
dep_file_pkg=$(pkg which -qo ${dep_file}) |
662 |
dep_file_pkg=$(pkg which -qo "${dep_file}") |
662 |
|
663 |
|
663 |
# Check that the .so we need has a SONAME |
664 |
# Check that the .so we need has a SONAME |
664 |
if [ "${dep_file_pkg}" != "${PKGORIGIN}" ]; then |
665 |
if [ "${dep_file_pkg}" != "${PKGORIGIN}" ]; then |
Lines 668-683
proxydeps() {
Link Here
|
668 |
fi |
669 |
fi |
669 |
|
670 |
|
670 |
# If we don't already depend on it, and we don't provide it |
671 |
# If we don't already depend on it, and we don't provide it |
671 |
if ! listcontains ${dep_file_pkg} "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then |
672 |
if ! listcontains "${dep_file_pkg}" "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then |
672 |
# If the package has a flavor, check that the dependency is not on that particular flavor. |
673 |
# If the package has a flavor, check that the dependency is not on that particular flavor. |
673 |
flavor=$(pkg annotate -q -S "${dep_file_pkg}" flavor) |
674 |
flavor=$(pkg annotate -q -S "${dep_file_pkg}" flavor) |
674 |
if [ -n "${flavor}" ]; then |
675 |
if [ -n "${flavor}" ]; then |
675 |
if listcontains ${dep_file_pkg}@${flavor} "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then |
676 |
if listcontains "${dep_file_pkg}@${flavor}" "${LIB_RUN_DEPENDS} ${PKGORIGIN}"; then |
676 |
continue |
677 |
continue |
677 |
fi |
678 |
fi |
678 |
fi |
679 |
fi |
679 |
err "${file} is linked to ${dep_file} from ${dep_file_pkg} but it is not declared as a dependency" |
680 |
err "${file} is linked to ${dep_file} from ${dep_file_pkg} but it is not declared as a dependency" |
680 |
proxydeps_suggest_uses ${dep_file_pkg} ${dep_file} |
681 |
proxydeps_suggest_uses "${dep_file_pkg}" "${dep_file}" |
681 |
rc=1 |
682 |
rc=1 |
682 |
fi |
683 |
fi |
683 |
else |
684 |
else |
Lines 687-702
proxydeps() {
Link Here
|
687 |
already="${already} ${dep_file}" |
688 |
already="${already} ${dep_file}" |
688 |
done <<-EOT |
689 |
done <<-EOT |
689 |
$(env LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${file}" | \ |
690 |
$(env LD_LIBMAP_DISABLE=1 ldd -a "${STAGEDIR}${file}" | \ |
690 |
awk '\ |
691 |
awk ' |
691 |
BEGIN {section=0}\ |
692 |
BEGIN {section=0} |
692 |
/^\// {section++}\ |
693 |
/^\// {section++} |
693 |
!/^\// && section<=1 && ($3 ~ "^'${PREFIX}'" || $3 ~ "^'${LOCALBASE}'") {print $3}') |
694 |
!/^\// && section<=1 && ($3 ~ "^'"${PREFIX}"'" || $3 ~ "^'"${LOCALBASE}"'") {print $3}') |
694 |
EOT |
695 |
EOT |
695 |
done <<-EOT |
696 |
done <<-EOT |
696 |
$(list_stagedir_elfs | \ |
697 |
$(list_stagedir_elfs | \ |
697 |
file -F $'\1' -f - | \ |
698 |
file -F "${SOH}" -f - | \ |
698 |
grep -a 'ELF.*FreeBSD.*dynamically linked' | \ |
699 |
grep -a 'ELF.*FreeBSD.*dynamically linked' | \ |
699 |
cut -f 1 -d $'\1'| \ |
700 |
cut -f 1 -d "${SOH}"| \ |
700 |
sed -e 's/^\.//') |
701 |
sed -e 's/^\.//') |
701 |
EOT |
702 |
EOT |
702 |
|
703 |
|
Lines 706-718
proxydeps() {
Link Here
|
706 |
} |
707 |
} |
707 |
|
708 |
|
708 |
sonames() { |
709 |
sonames() { |
709 |
[ ! -d ${STAGEDIR}${PREFIX}/lib -o -n "${BUNDLE_LIBS}" ] && return 0 |
710 |
[ ! -d "${STAGEDIR}${PREFIX}/lib" ] || [ -n "${BUNDLE_LIBS}" ] && return 0 |
710 |
while read f; do |
711 |
while read -r f; do |
711 |
# No results presents a blank line from heredoc. |
712 |
# No results presents a blank line from heredoc. |
712 |
[ -z "${f}" ] && continue |
713 |
[ -z "${f}" ] && continue |
713 |
# Ignore symlinks |
714 |
# Ignore symlinks |
714 |
[ -f "${f}" -a ! -L "${f}" ] || continue |
715 |
if [ -f "${f}" ] && [ ! -L "${f}" ]; then |
715 |
if ! readelf -d ${f} | grep -q SONAME; then |
716 |
continue |
|
|
717 |
fi |
718 |
if ! readelf -d "${f}" | grep -q SONAME; then |
716 |
warn "${f} doesn't have a SONAME." |
719 |
warn "${f} doesn't have a SONAME." |
717 |
warn "pkg(8) will not register it as being provided by the port." |
720 |
warn "pkg(8) will not register it as being provided by the port." |
718 |
warn "If another port depend on it, pkg will not be able to know where it comes from." |
721 |
warn "If another port depend on it, pkg will not be able to know where it comes from." |
Lines 727-733
sonames() {
Link Here
|
727 |
fi |
730 |
fi |
728 |
# Use heredoc to avoid losing rc from find|while subshell |
731 |
# Use heredoc to avoid losing rc from find|while subshell |
729 |
done <<-EOT |
732 |
done <<-EOT |
730 |
$(find ${STAGEDIR}${PREFIX}/lib -name '*.so.*') |
733 |
$(find "${STAGEDIR}${PREFIX}/lib" -name '*.so.*') |
731 |
EOT |
734 |
EOT |
732 |
} |
735 |
} |
733 |
|
736 |
|
Lines 749-761
perlcore() {
Link Here
|
749 |
local portname version module gotsome |
752 |
local portname version module gotsome |
750 |
[ -x "${LOCALBASE}/bin/corelist" ] || return 0 |
753 |
[ -x "${LOCALBASE}/bin/corelist" ] || return 0 |
751 |
for dep in ${UNIFIED_DEPENDS}; do |
754 |
for dep in ${UNIFIED_DEPENDS}; do |
752 |
portname=$(expr "${dep}" : ".*/p5-\(.*\)") |
755 |
portname=$(expr "${dep}" : ".*/p5-\\(.*\\)") |
753 |
if [ -n "${portname}" ]; then |
756 |
if [ -n "${portname}" ]; then |
754 |
gotsome=1 |
757 |
gotsome=1 |
755 |
module=$(perlcore_port_module_mapping "${portname}") |
758 |
module=$(perlcore_port_module_mapping "${portname}") |
756 |
version=$(expr "${dep}" : ".*>=*\([^:<]*\)") |
759 |
version=$(expr "${dep}" : ".*>=*\\([^:<]*\\)") |
757 |
|
760 |
|
758 |
while read l; do |
761 |
while read -r l; do |
759 |
case "${l}" in |
762 |
case "${l}" in |
760 |
*was\ not\ in\ CORE*) |
763 |
*was\ not\ in\ CORE*) |
761 |
# This never was with Perl |
764 |
# This never was with Perl |
Lines 780-786
perlcore() {
Link Here
|
780 |
err "This line is not handled: \"${l}\"" |
783 |
err "This line is not handled: \"${l}\"" |
781 |
esac |
784 |
esac |
782 |
done <<-EOT |
785 |
done <<-EOT |
783 |
$(${LOCALBASE}/bin/corelist "${module}"|tail -1) |
786 |
$("${LOCALBASE}"/bin/corelist "${module}"|tail -1) |
784 |
EOT |
787 |
EOT |
785 |
fi |
788 |
fi |
786 |
done |
789 |
done |
Lines 792-798
perlcore() {
Link Here
|
792 |
no_arch() { |
795 |
no_arch() { |
793 |
[ -z "$NO_ARCH" ] && return |
796 |
[ -z "$NO_ARCH" ] && return |
794 |
rc=0 |
797 |
rc=0 |
795 |
while read f; do |
798 |
while read -r f; do |
796 |
[ -z "$f" ] && continue |
799 |
[ -z "$f" ] && continue |
797 |
if [ -n "$NO_ARCH_IGNORE" ]; then |
800 |
if [ -n "$NO_ARCH_IGNORE" ]; then |
798 |
skip= |
801 |
skip= |
Lines 803-815
no_arch() {
Link Here
|
803 |
done |
806 |
done |
804 |
[ "$skip" ] && continue |
807 |
[ "$skip" ] && continue |
805 |
fi |
808 |
fi |
806 |
err "'${f#.}' is a architecture specific binary file and you have set NO_ARCH. Either remove NO_ARCH or add '$(basename $f)' to NO_ARCH_IGNORE." |
809 |
err "'${f#.}' is a architecture specific binary file and you have set NO_ARCH. Either remove NO_ARCH or add '$(basename "$f")' to NO_ARCH_IGNORE." |
807 |
rc=1 |
810 |
rc=1 |
808 |
done <<-EOF |
811 |
done <<-EOF |
809 |
$(list_stagedir_elfs \ |
812 |
$(list_stagedir_elfs \ |
810 |
| file -F $'\1' -f - -N \ |
813 |
| file -F "${SOH}" -f - -N \ |
811 |
| grep -aE 'ELF .* [LM]SB .*, .*, version [0-9]+ \(FreeBSD\)' \ |
814 |
| grep -aE 'ELF .* [LM]SB .*, .*, version [0-9]+ \(FreeBSD\)' \ |
812 |
| cut -f 1 -d $'\1') |
815 |
| cut -f 1 -d "${SOH}") |
813 |
EOF |
816 |
EOF |
814 |
return $rc |
817 |
return $rc |
815 |
} |
818 |
} |
Lines 818-836
gemdeps()
Link Here
|
818 |
{ |
821 |
{ |
819 |
rc=0 |
822 |
rc=0 |
820 |
if [ "${PKGBASE%%-*}" = "rubygem" ]; then |
823 |
if [ "${PKGBASE%%-*}" = "rubygem" ]; then |
|
|
824 |
# shellcheck disable=SC2153 |
825 |
# In the heredoc, ${PORTNAME} comes from the environment, not |
826 |
# to be confused with ${portname} |
821 |
while read -r l; do |
827 |
while read -r l; do |
822 |
if [ -n "${l}" ]; then |
828 |
if [ -n "${l}" ]; then |
823 |
name=${l%% *} |
829 |
name=${l%% *} |
824 |
vers=${l#* } |
830 |
vers=${l#* } |
825 |
while read -r v; do |
831 |
while read -r v; do |
826 |
if ! while read -r p; do |
832 |
if ! while read -r p; do |
827 |
${LOCALBASE}/bin/ruby -e "puts 'OK' if Gem::Dependency.new('${name}','${v}').match?('${name}','${p}')" |
833 |
"${LOCALBASE}"/bin/ruby -e "puts 'OK' if Gem::Dependency.new('${name}','${v}').match?('${name}','${p}')" |
828 |
done | grep -qFx OK; then |
834 |
done | grep -qFx OK; then |
829 |
err RubyGem dependency ${name} ${v} is not satisfied. |
835 |
err RubyGem dependency "${name}" "${v}" is not satisfied. |
830 |
rc=1 |
836 |
rc=1 |
831 |
fi <<-EOF |
837 |
fi <<-EOF |
832 |
$(${LOCALBASE}/bin/gem list -e "${name}" \ |
838 |
$("${LOCALBASE}"/bin/gem list -e "${name}" \ |
833 |
| sed "s|.*(\(.*\))|\1|" \ |
839 |
| sed "s|.*(\\(.*\\))|\\1|" \ |
834 |
| tr -d ' ' \ |
840 |
| tr -d ' ' \ |
835 |
| tr , '\n') |
841 |
| tr , '\n') |
836 |
EOF |
842 |
EOF |
Lines 842-848
gemdeps()
Link Here
|
842 |
EOF |
848 |
EOF |
843 |
fi |
849 |
fi |
844 |
done <<-EOF |
850 |
done <<-EOF |
845 |
$(grep -a 'add_runtime_dependency' ${STAGEDIR}${PREFIX}/lib/ruby/gems/*/specifications/${PORTNAME}-*.gemspec \ |
851 |
$(grep -a 'add_runtime_dependency' "${STAGEDIR}${PREFIX}"/lib/ruby/gems/*/specifications/"${PORTNAME}"-*.gemspec \ |
846 |
| sed 's|.*<\(.*\)>.*\[\(.*\)\])|\1 \2|' \ |
852 |
| sed 's|.*<\(.*\)>.*\[\(.*\)\])|\1 \2|' \ |
847 |
| sort -u) |
853 |
| sort -u) |
848 |
EOF |
854 |
EOF |
Lines 868-874
gemfiledeps()
Link Here
|
868 |
fi |
874 |
fi |
869 |
|
875 |
|
870 |
# advise install of bundler if its not present for check |
876 |
# advise install of bundler if its not present for check |
871 |
if ! type bundle > /dev/null 2>&1; then |
877 |
if ! command -v bundle > /dev/null 2>&1; then |
872 |
notice "Please install sysutils/rubygem-bundler for additional Gemfile-checks" |
878 |
notice "Please install sysutils/rubygem-bundler for additional Gemfile-checks" |
873 |
return 0 |
879 |
return 0 |
874 |
fi |
880 |
fi |
Lines 885-896
gemfiledeps()
Link Here
|
885 |
# use bundle to check if Gemfile is satisfied |
891 |
# use bundle to check if Gemfile is satisfied |
886 |
# if bundle returns 1 the Gemfile is not satisfied |
892 |
# if bundle returns 1 the Gemfile is not satisfied |
887 |
# and so stage-qa isn't also |
893 |
# and so stage-qa isn't also |
888 |
if ! bundle check --dry-run --gemfile $f > /dev/null 2>&1; then |
894 |
if ! bundle check --dry-run --gemfile "$f" > /dev/null 2>&1; then |
889 |
warn "Dependencies defined in ${f} are not satisfied" |
895 |
warn "Dependencies defined in ${f} are not satisfied" |
890 |
fi |
896 |
fi |
891 |
|
897 |
|
892 |
done <<-EOF |
898 |
done <<-EOF |
893 |
$(find ${STAGEDIR} -name Gemfile) |
899 |
$(find "${STAGEDIR}" -name Gemfile) |
894 |
EOF |
900 |
EOF |
895 |
return 0 |
901 |
return 0 |
896 |
} |
902 |
} |
Lines 917-923
checks="$checks suidfiles libtool libperl prefixvar baselibs terminfo"
Link Here
|
917 |
checks="$checks proxydeps sonames perlcore no_arch gemdeps gemfiledeps flavors" |
923 |
checks="$checks proxydeps sonames perlcore no_arch gemdeps gemfiledeps flavors" |
918 |
|
924 |
|
919 |
ret=0 |
925 |
ret=0 |
920 |
cd ${STAGEDIR} |
926 |
cd "${STAGEDIR}" || exit 1 |
921 |
for check in ${checks}; do |
927 |
for check in ${checks}; do |
922 |
${check} || ret=1 |
928 |
${check} || ret=1 |
923 |
done |
929 |
done |