OSDN Git Service

Some fixes about removing unecessary redo.
[portsreinstall/current.git] / lib / libdatabase_query.sh
index 4ced7ce..743a568 100644 (file)
@@ -543,10 +543,18 @@ database_query_show_single_list ()
        [ -n "$put_blankline" ] && message_echo
        while read origin
        do
-               [ -n "$flag_negative_listdb" ] && grep -Fx "$origin" "${DBDIR}/$flag_negative_listdb" 2> /dev/null && continue
+               matches=no
+               for negative_listdb in $flag_negative_listdb
+               do
+                       if grep -qFx "$origin" "${DBDIR}/$negative_listdb" 2> /dev/null
+                       then
+                               matches=yes
+                               break
+                       fi
+               done
+               [ $matches = no ] && continue
                if [ -n "$flag_filter_skip_unchanged" -a $opt_skip_unchanged = yes ]
                then
-                       matches=no
                        for flag in $flag_filter_skip_unchanged
                        do
                                if [ -e "${DBDIR}/requires/$origin/$flag" ]
@@ -672,7 +680,7 @@ database_query_show_single_list_exec ()
                list=todo_after_requirements_succeed.$dbsuffix.list
                flag_filter_skip_unchanged="necessary_upgrade.$dbsuffix necessary_upgrade_completed.$dbsuffix"
                flag_filter_only_target=y
-               flag_negative_listdb=leaf_ports_to_delete.unselected
+               flag_negative_listdb=leaf_ports_to_delete.selected
                ;;
        resolved )
                message_echo "The following ports had problems which have been manually resolved:"