libexec script summary2multi_variants was separated from pkg_src-summary

This commit is contained in:
Aleksey Cheusov 2011-11-09 14:19:01 +00:00 committed by Thomas Klausner
parent 59bea19734
commit d9f3353ff0
4 changed files with 55 additions and 56 deletions

View file

@ -1,4 +1,4 @@
@comment $NetBSD: PLIST,v 1.31 2011/01/02 21:37:42 cheusov Exp $
@comment $NetBSD: PLIST,v 1.32 2011/11/09 14:19:01 cheusov Exp $
bin/cvs_checksum
bin/pkg_assignments2pkgpath
bin/pkg_bin_summary
@ -25,6 +25,7 @@ bin/pkg_update_summary
libexec/psu/XB2bin_summary
libexec/psu/direct_deps
libexec/psu/get_processed_pkgs
libexec/psu/summary2multi_variants
man/man1/cvs_checksum.1
man/man1/pkg_bin_summary.1
man/man1/pkg_cleanup_distdir.1

View file

@ -16,7 +16,8 @@ BMAKE ?= /usr/bin/make
#############################################################
LIBEXECSCRIPTS = direct_deps XB2bin_summary get_processed_pkgs
LIBEXECSCRIPTS = direct_deps XB2bin_summary get_processed_pkgs \
summary2multi_variants
INSCRIPTS = pkg_cmp_summary pkg_list_all_pkgs
INSCRIPTS += pkg_refresh_summary pkg_src_fetch_var

View file

@ -439,59 +439,6 @@ fi
# multi-variant packages
export PSS_FIELDS
summary2all_variants (){
awk '
$1 ~ /PKGPATH=/ {
pkgpath = substr($0, 9)
next
}
$1 ~ /_VARIANTS=/ {
variants = substr($0, 11)
next
}
NF == 0 {
$0 = variants
count = 0
for (k=1; k <= NF; ++k){
values = varname = $k
sub(/=.*$/, "", varname)
sub(/^[^=]*=/, "", values)
cnt = split(values, vals, /,/)
if (count){
new_count = count
for (i=1; i <= count; ++i){
if (!(i in variant)) continue
for (j=1; j <= cnt; ++j){
++new_count
variant [new_count] = (variant [i] "," varname "=" vals [j])
}
delete variant [i]
}
count = new_count
}else{
for (j=1; j <= cnt; ++j){
variant [j] = (varname "=" vals [j])
}
count = cnt
}
}
for (i = 1; i <= count; ++i){
if (i in variant)
print pkgpath ":" variant [i]
}
pkgpath = variants = ""
delete variant
}
' "$@"
}
if test "_$multi_var" = _2; then
move_ASSIGNMENTS_to_PKGPATH (){
pkg_assignments2pkgpath "$@"
@ -512,7 +459,7 @@ if test "$multi_var"; then
mv $normal_pkgs_fn $partial_summary_fn
runpipe0 \
summary2all_variants < $multi_pkgs_fn '|' \
$LIBEXECDIR/summary2multi_variants < $multi_pkgs_fn '|' \
env _PSS_RECURS=1 $0 $with_xxx $make_plist '|' \
move_ASSIGNMENTS_to_PKGPATH >> "$partial_summary_fn"
fi

View file

@ -0,0 +1,50 @@
#!/usr/bin/env runawk
$1 ~ /PKGPATH=/ {
pkgpath = substr($0, 9)
next
}
$1 ~ /_VARIANTS=/ {
variants = substr($0, 11)
next
}
NF == 0 {
$0 = variants
count = 0
for (k=1; k <= NF; ++k){
values = varname = $k
sub(/=.*$/, "", varname)
sub(/^[^=]*=/, "", values)
cnt = split(values, vals, /,/)
if (count){
new_count = count
for (i=1; i <= count; ++i){
if (!(i in variant)) continue
for (j=1; j <= cnt; ++j){
++new_count
variant [new_count] = (variant [i] "," varname "=" vals [j])
}
delete variant [i]
}
count = new_count
}else{
for (j=1; j <= cnt; ++j){
variant [j] = (varname "=" vals [j])
}
count = cnt
}
}
for (i = 1; i <= count; ++i){
if (i in variant)
print pkgpath ":" variant [i]
}
pkgpath = variants = ""
delete variant
}