OSDN Git Service

[BUG FIX] Packages of the same origin with different flavors were not processed corre...
[portsreinstall/current.git] / lib / libcommand_pkgs.sh
index e0114fa..fd4f98e 100644 (file)
@@ -210,32 +210,34 @@ command_pkgs_pkgsanity ()
        do
                pkg=`sed -n ${iline}p "$tmp_list.pkgs"`
                iline=$((${iline}+1))
-               origin=`pkg_info_flavored_origin "$pkg"`
-               [ -n "$origin" ] || continue
-               env LANG=C grep -q -Fx "$origin" "${DBDIR}/damaged_package" 2>/dev/null && continue
-               pkgsys_sanitychk_pkgcontents "$pkg" is_reinstall_encouraged && continue
-               port_path=`pkgsys_get_portpath_from_origin "$origin"`
-               if [ ! -d "$port_path" ]
-               then
-                       message_echo "WARNING: $pkg ($origin) is obsolete." >&2
-                       message_echo >&2
-                       continue
-               fi
-               if [ $is_reinstall_encouraged = no ]
-               then
-                       if [ $opt_batch_mode = no ]
+               for origin in `pkg_info_flavored_origins "$pkg"`
+               do
+                       [ -n "$origin" ] || continue
+                       env LANG=C grep -q -Fx "$origin" "${DBDIR}/damaged_package" 2>/dev/null && continue
+                       pkgsys_sanitychk_pkgcontents "$pkg" is_reinstall_encouraged && continue
+                       port_path=`pkgsys_get_portpath_from_origin "$origin"`
+                       if [ ! -d "$port_path" ]
                        then
-                               message_echo "Do you want to reinstall it? (y/[n])"
-                               message_query_yn_default_no || continue
+                               message_echo "WARNING: $pkg ($origin) is obsolete." >&2
+                               message_echo >&2
+                               continue
                        fi
-               else
-                       if [ $opt_batch_mode = no ]
+                       if [ $is_reinstall_encouraged = no ]
                        then
-                               message_echo "Do you want to reinstall it? ([y]/n)"
-                               message_query_yn_default_yes || continue
+                               if [ $opt_batch_mode = no ]
+                               then
+                                       message_echo "Do you want to reinstall it? (y/[n])"
+                                       message_query_yn_default_no || continue
+                               fi
+                       else
+                               if [ $opt_batch_mode = no ]
+                               then
+                                       message_echo "Do you want to reinstall it? ([y]/n)"
+                                       message_query_yn_default_yes || continue
+                               fi
+                               database_record_reconf_recover_sanity "$origin"
                        fi
-                       database_record_reconf_recover_sanity "$origin"
-               fi
+               done
        done
 }