X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=lib%2Flibdatabase_query.sh;fp=lib%2Flibdatabase_query.sh;h=4623101a356308d19caf8969a5dc88cd6abde4e0;hb=a8a6a1334abcdd963ab32e851d14551b9646effa;hp=7837a7135f6c62f232419d73289b09bc7a0bbb8a;hpb=a60f8bda61323c88b7f519dee1cee3101e61e1d4;p=portsreinstall%2Fcurrent.git diff --git a/lib/libdatabase_query.sh b/lib/libdatabase_query.sh index 7837a71..4623101 100644 --- a/lib/libdatabase_query.sh +++ b/lib/libdatabase_query.sh @@ -58,15 +58,27 @@ database_query_show_list_failure () : } +# ============= Get a list of failed restoration of required conflict ============= +database_query_get_required_deleted_conflicts () +{ + local tmp_filter + tmp_filter=${TMPDIR}/database_query_get_required_deleted_conflicts:filter + str_escape_regexp_filter < ${DBDIR}/moved_ports | sed 's/^/^/;s/$/[[:space:]].*/' > $tmp_filter + env LANG=C grep -v -f "$tmp_filter" "${DBDIR}/deleted_conflicts" 2> /dev/null +} + # ============= Show a list of failed restoration of conflict ============= database_query_show_list_failed_conflicts_restoration () { - if [ `cat "${DBDIR}/deleted_conflicts" 2> /dev/null | wc -l` -eq 0 ] + local tmp_deleted_conflicts + tmp_deleted_conflicts=${TMPDIR}/database_query_show_list_failed_conflicts_restoration:deleted_conflicts + + if ! database_query_get_required_deleted_conflicts > $tmp_deleted_conflicts then message_echo "INFO: No item is registered in this list." return 1 fi - env LANG=C grep -v -E -f "${DBDIR}/ports_to_delete.grep_pattern_col1" "${DBDIR}/deleted_conflicts" \ + env LANG=C grep -v -E -f "${DBDIR}/ports_to_delete.grep_pattern_col1" "$tmp_deleted_conflicts" \ | while read origin pkg do pkg_regexp=`str_escape_regexp "$pkg"` @@ -833,8 +845,8 @@ database_query_exists_in_list () list=`ls "${DBDIR}"/fossil_pkgs/fossil_since_* | head -n 1` ;; conflict ) - env LANG=C grep -v -E -f "${DBDIR}/ports_to_delete.grep_pattern_col1" "${DBDIR}/deleted_conflicts" 2> /dev/null \ - | env LANG=C grep -q -E "^${origin_esc}[[:space:]]" + database_query_get_required_deleted_conflicts | env LANG=C grep -v -E -f "${DBDIR}/ports_to_delete.grep_pattern_col1" 2> /dev/null \ + | env LANG=C grep -q -E "^${origin_esc}[[:space:]]" || : return ;; taboo )