• R/O
  • HTTP
  • SSH
  • HTTPS

current: Commit

This is for active development.
New funtionalities are to be added actively.


Commit MetaInfo

Revisionfa3bd204612e89de3fe1e01d2b73cf9b609c2ed2 (tree)
Time2022-04-14 01:09:51
AuthorMamoru Sakaue <sakaue.mamoru@mwgh...>
CommiterMamoru Sakaue

Log Message

Fixed bugs caused by incomplete corrections related to function pkg_info_flavored_originsi().

Changes to be committed:

modified: lib/libpkgsys.sh

Change Summary

Incremental Difference

--- a/lib/libpkgsys.sh
+++ b/lib/libpkgsys.sh
@@ -497,11 +497,14 @@ pkgsys_def_pkgtools ()
497497 }
498498 pkg_info_gen_pkg_origin_table ()
499499 {
500+ local pkgname origin
500501 # pkg query -g '%n-%v\t%o' \* 2> /dev/null > ${DBDIR}/installed_ports:pkg_vs_origin.tbl
501- pkg info -qa 2> /dev/null | while read pkgname
502+ for pkgname in `pkg info -qa 2> /dev/null`
502503 do
503- origin=`pkg_info_flavored_origin "$pkgname"`
504- printf '%s\t%s\n' "$pkgname" "$origin"
504+ for origin in `pkg_info_flavored_origins "$pkgname"`
505+ do
506+ printf '%s\t%s\n' "$pkgname" "$origin"
507+ done
505508 done
506509 }
507510 pkg_create_b ()
@@ -880,7 +883,7 @@ pkgsys_def_pkgtools ()
880883 pkg_info -qe "$@" 2> /dev/null && echo
881884 :
882885 }
883- pkg_info_flavored_origin ()
886+ pkg_info_flavored_origins ()
884887 {
885888 local glob_unflavored tmp_stdout
886889 glob_unflavored=$1
@@ -1221,9 +1224,10 @@ pkgsys_get_my_current_pkg ()
12211224 # ============= Get the flavored origin of this utility =============
12221225 pkgsys_get_my_origin ()
12231226 {
1224- pkgsys_get_my_current_pkg | while read pkgname
1227+ local pkgname
1228+ for pkgname in `pkgsys_get_my_current_pkg`
12251229 do
1226- pkg_info_flavored_origin "$pkgname"
1230+ pkg_info_flavored_origins "$pkgname"
12271231 done
12281232 }
12291233
@@ -1232,9 +1236,9 @@ pkgsys_init_pkg_orig_by_ambiguous_matching ()
12321236 {
12331237 local pkg origin tmporigin ambsuffix len_pkg pkg_regexp norigins
12341238 pkg=$1
1235- origin=`pkg_info_flavored_origin "$pkg"`
1236- [ -n "$origin" ] && { echo "$origin"; return; }
12371239 tmporigin=${TMPDIR}/pkgsys_init_pkg_orig_by_ambiguous_matching::origin
1240+ pkg_info_flavored_origins "$pkg" > $tmporigin
1241+ [ `wc -l < $tmporigin` -gt 0 ] && { cat "$tmporigin"; return; }
12381242 ambsuffix=
12391243 norigins=0
12401244 len_pkg=`echo -n "$pkg" | wc -c`
@@ -1390,9 +1394,9 @@ pkgsys_eval_ports_glob ()
13901394 glob_regexp2=`echo "$glob_regexp" | sed -E 's/\$*$//' 2>&1 || :`'[[:space:]]'
13911395 env LANG=C grep -E "$glob_regexp2" "${DBDIR}/installed_ports:pkg_vs_origin.tbl" 2> /dev/null \
13921396 | cut -f 2 || :
1393- pkg_info_Ex "$glob_regexp" | while read pkgname
1397+ for pkgname in `pkg_info_Ex "$glob_regexp"`
13941398 do
1395- pkg_info_flavored_origin "$pkgname"
1399+ pkg_info_flavored_origins "$pkgname"
13961400 done
13971401 fi
13981402 done | sort -u
@@ -1406,45 +1410,47 @@ pkgsys_create_backup_pkg ()
14061410 dstdir=$2
14071411 rm -rf "${TMPDIR}"/package.tmp
14081412 mkdir "${TMPDIR}"/package.tmp
1409- origin=`pkg_info_flavored_origin "$pkgname"`
1410- if backup_pkg_old=`pkgsys_get_backup_pkg "$origin"` && \
1411- [ ! -e "${DBDIR}/requires/$origin/installed_timestamp" -o \
1412- "$backup_pkg_old" -nt "${DBDIR}/requires/$origin/installed_timestamp" ]
1413- then
1414- echo "$backup_pkg_old"
1415- return
1416- fi
1417- if ( cd "${TMPDIR}"/package.tmp && pkg_create_b "$pkgname" > /dev/null )
1418- then
1419- pkgname_ptn=`str_escape_regexp "$pkgname"`
1420- backup_pkg=`ls "${TMPDIR}"/package.tmp | \
1421- env LANG=C grep -m 1 -E "^${pkgname_ptn}\.(txz|tbz|tgz|tar|pkg)$"` || :
1422- fi
1423- if [ -z "$backup_pkg" ]
1424- then
1425- message_echo "WARNING: Failed to create backup package for $pkgname." >&2
1426- return 1
1427- fi
1428- dbpath=${DBDIR}/backup/$origin
1429- mkdir -p "$dbpath"
1430- pkg_info_qL "$pkgname" > $dbpath/previously_installed_files
1431- mkdir -p "$dstdir"
1432- mv "${TMPDIR}/package.tmp/$backup_pkg" "$dstdir"
1433- pkgpath=$dstdir/$backup_pkg
1434- cat "${DBDIR}/backup_pkgarcs.lst" 2> /dev/null | \
1435- while read origin_cur pkgpath_cur
1436- do
1437- [ "$pkgpath_cur" = "$pkgpath" ] && continue
1438- if [ "$origin_cur" = "$origin" ]
1439- then
1440- rm -f "$pkgpath_cur"
1441- else
1442- printf '%s\t%s\n' "$origin_cur" "$pkgpath_cur"
1443- fi
1444- done > ${DBDIR}/backup_pkgarcs.lst.tmp
1445- printf '%s\t%s\n' "$origin" "$pkgpath" >> ${DBDIR}/backup_pkgarcs.lst.tmp
1446- mv "${DBDIR}/backup_pkgarcs.lst.tmp" "${DBDIR}/backup_pkgarcs.lst"
1447- echo "$pkgpath"
1413+ for origin in `pkg_info_flavored_origins "$pkgname"`
1414+ do
1415+ if backup_pkg_old=`pkgsys_get_backup_pkg "$origin"` && \
1416+ [ ! -e "${DBDIR}/requires/$origin/installed_timestamp" -o \
1417+ "$backup_pkg_old" -nt "${DBDIR}/requires/$origin/installed_timestamp" ]
1418+ then
1419+ echo "$backup_pkg_old"
1420+ return
1421+ fi
1422+ if ( cd "${TMPDIR}"/package.tmp && pkg_create_b "$pkgname" > /dev/null )
1423+ then
1424+ pkgname_ptn=`str_escape_regexp "$pkgname"`
1425+ backup_pkg=`ls "${TMPDIR}"/package.tmp | \
1426+ env LANG=C grep -m 1 -E "^${pkgname_ptn}\.(txz|tbz|tgz|tar|pkg)$"` || :
1427+ fi
1428+ if [ -z "$backup_pkg" ]
1429+ then
1430+ message_echo "WARNING: Failed to create backup package for $pkgname." >&2
1431+ return 1
1432+ fi
1433+ dbpath=${DBDIR}/backup/$origin
1434+ mkdir -p "$dbpath"
1435+ pkg_info_qL "$pkgname" > $dbpath/previously_installed_files
1436+ mkdir -p "$dstdir"
1437+ mv "${TMPDIR}/package.tmp/$backup_pkg" "$dstdir"
1438+ pkgpath=$dstdir/$backup_pkg
1439+ cat "${DBDIR}/backup_pkgarcs.lst" 2> /dev/null | \
1440+ while read origin_cur pkgpath_cur
1441+ do
1442+ [ "$pkgpath_cur" = "$pkgpath" ] && continue
1443+ if [ "$origin_cur" = "$origin" ]
1444+ then
1445+ rm -f "$pkgpath_cur"
1446+ else
1447+ printf '%s\t%s\n' "$origin_cur" "$pkgpath_cur"
1448+ fi
1449+ done > ${DBDIR}/backup_pkgarcs.lst.tmp
1450+ printf '%s\t%s\n' "$origin" "$pkgpath" >> ${DBDIR}/backup_pkgarcs.lst.tmp
1451+ mv "${DBDIR}/backup_pkgarcs.lst.tmp" "${DBDIR}/backup_pkgarcs.lst"
1452+ echo "$pkgpath"
1453+ done
14481454 }
14491455
14501456 # ============= Delete a back-up package archive for a flavored port origin =============
@@ -1677,17 +1683,19 @@ pkgsys_sanitychk_pkgcontents ()
16771683 fi
16781684 done
16791685 eval "$var_is_reinstall_encouraged=\$_is_reinstall_encouraged"
1680- origin=`pkg_info_flavored_origin "$pkg"`
1681- if [ $opt_batch_mode = no ]
1682- then
1683- message_echo "[$pkg ($origin)]"
1684- sed 's/^/ /' "$tmp_sanity"
1685- message_echo
1686- else
1687- pkg_replace=`str_escape_replaceval "$pkg"`
1688- origin_replace=`str_escape_replaceval "$origin"`
1689- sed "s/^/$pkg_replace\\\\$origin_replace\\\\$_is_reinstall_encouraged\\\\/" "$tmp_sanity" | tr '\\' '\t'
1690- fi
1686+ for origin in `pkg_info_flavored_origins "$pkg"`
1687+ do
1688+ if [ $opt_batch_mode = no ]
1689+ then
1690+ message_echo "[$pkg ($origin)]"
1691+ sed 's/^/ /' "$tmp_sanity"
1692+ message_echo
1693+ else
1694+ pkg_replace=`str_escape_replaceval "$pkg"`
1695+ origin_replace=`str_escape_replaceval "$origin"`
1696+ sed "s/^/$pkg_replace\\\\$origin_replace\\\\$_is_reinstall_encouraged\\\\/" "$tmp_sanity" | tr '\\' '\t'
1697+ fi
1698+ done
16911699 return 1
16921700 }
16931701
Show on old repository browser