OSDN Git Service

Fixed the wrong implementation of command_do_complete_necessary_upgrades_for_build ().
authorMamoru Sakaue / MwGhennndo <glmwghennndo@users.sourceforge.jp>
Wed, 19 Sep 2018 14:11:31 +0000 (23:11 +0900)
committerMamoru Sakaue / MwGhennndo <glmwghennndo@users.sourceforge.jp>
Wed, 19 Sep 2018 14:11:31 +0000 (23:11 +0900)
 Changes to be committed:
modified:   HISTORY
modified:   lib/libcommand_do.sh
modified:   lib/libdatabase_build.sh
modified:   lib/libmain.sh

HISTORY
lib/libcommand_do.sh
lib/libdatabase_build.sh
lib/libmain.sh

diff --git a/HISTORY b/HISTORY
index 39a225b..f1ba3d5 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -32,6 +32,7 @@
 [BUG FIX] Evaluation of globs was incorrect for the regular expression form.
 [BUG FIX] Flavored requirements were incorrectly inspected. This also caused disability of the use of default packages for flavord ports with the default configuration. 
 [BUG FIX] The message about the evaluated dependency level in show command was wrong. 
+[BUG FIX] Unselected leaf ports were skipped in (re)installtion.
 
 4.0.0 (29 June 2018)
 [NEW] Flavor is supported. Related to this feature, representations of port origins without flavor is recognized to exactly match the unflavored ones.
index 0f82db2..81a8fea 100644 (file)
@@ -702,9 +702,8 @@ command_do_inspection_of_necessity ()
                program_exec_restartable_loop_operation inspect_necessity
                for level in direct full
                do
-                       find "${DBDIR}/requires" -depth 3 -type f -name "necessary_port.${level}" \
-                               > ${DBDIR}/stage.loop_list/necessary_ports.${level}
-                       cp "${DBDIR}/stage.loop_list/necessary_ports.${level}" "${DBDIR}/stage.loop_list/complete_necessary_ports.${level}"
+                       find "${DBDIR}/requires" -depth 3 -type f -name "necessary_port.${level}" | \
+                               sed -E 's|.*/([^/]+/[^/]+)/[^/]*$|\1|' > ${DBDIR}/stage.loop_list/necessary_ports.${level}
                done
                message_echo
        }
@@ -721,10 +720,9 @@ command_do_inspection_of_necessary_upgrades ()
                _program_exec_restartable_loop_operation__routine ()
                {
                        local markerpath level dbpath origin tag
-                       markerpath=$1
+                       origin=$1
                        level=${_NECESSARY_UPDATES_level}
-                       dbpath=`dirname "$markerpath"`
-                       origin=`str_dirpath_to_origin "$dbpath"`
+                       dbpath=${DBDIR}/requires/$origin
                        database_query_does_a_port_need_update "$origin" || return 0
                        for tag in all run build none
                        do
@@ -743,6 +741,8 @@ command_do_inspection_of_necessary_upgrades ()
                        level=${_NECESSARY_UPDATES_level}
                        message_section_title "Inspection of necessary upgrades at the $level level"
                        program_exec_restartable_loop_operation necessary_ports.${level}
+                       find "${DBDIR}/requires" -depth 3 -type f -name "necessary_upgrade.run.${level}" | \
+                               sed -E 's|.*/([^/]+/[^/]+)/[^/]*$|\1|' > ${DBDIR}/stage.loop_list/complete_necessary_ports.${level}
                        message_echo
                }
                program_exec_and_record_completion NECESSARY_UPDATES:${_NECESSARY_UPDATES_level}
@@ -758,19 +758,10 @@ command_do_complete_necessary_upgrades_for_build ()
                PROGRAM_DEPENDS="INSPECT_NECESSITY NECESSARY_UPDATES:${_NECESSARY_UPDATES_level}"
                _program_exec_restartable_loop_operation__routine ()
                {
-                       local markerpath level dbpath origin_requirement dbpath_requirement
-                       markerpath=$1
+                       local origin level
+                       origin=$1
                        level=${_NECESSARY_UPDATES_level}
-                       dbpath=`dirname "$markerpath"`
-                       [ -e "$dbpath/requirements.build.${level}" -a -e "$dbpath/necessary_upgrade.run.${level}" ] || return 0
-                       while read origin_requirement
-                       do
-                               dbpath_requirement=${DBDIR}/requires/$origin_requirement
-                               [ -e "$dbpath_requirement/necessary_upgrade.build.${level}" ] || continue
-                               [ `cat "${DBDIR}/moved_from/$origin_requirement/current_version" 2> /dev/null | wc -l` -eq 0 ] || return 0
-                               touch "$dbpath_requirement/necessary_upgrade.run.${level}"
-                       done < $dbpath/requirements.build.${level}
-                       :
+                       database_build_complete_necessary_upgrades_for_build "$origin" "$level"
                }
                _program_exec_and_record_completion__operation ()
                {
index bef02a7..74668e8 100644 (file)
@@ -1019,6 +1019,25 @@ database_build_complement_to_new_dependents_for_targets ()
        fi
 }
 
+# ============= Recursively complete necessary upgrades for build =============
+database_build_complete_necessary_upgrades_for_build ()
+{
+       local origin level dbpath origin_requirement dbpath_requirement
+       origin=$1
+       level=$2
+       dbpath=${DBDIR}/requires/$origin
+       [ -e "$dbpath/requirements.build.${level}" ] || return 0
+       while read origin_requirement
+       do
+               dbpath_requirement=${DBDIR}/requires/$origin_requirement
+               [ -e "$dbpath_requirement/necessary_upgrade.build.${level}" ] || continue
+               [ `cat "${DBDIR}/moved_from/$origin_requirement/current_version" 2> /dev/null | wc -l` -eq 0 ] || return 0
+               touch "$dbpath_requirement/necessary_upgrade.run.${level}"
+               database_build_complete_necessary_upgrades_for_build "$origin_requirement" "$level"
+       done < $dbpath/requirements.build.${level}
+       :
+}
+
 # ============= Build target attribute files recursively =============
 database_build_target_attributes ()
 {
index a116e4f..18cb191 100644 (file)
@@ -12,7 +12,7 @@ main_set_version ()
        MYVERSION=4.1.0
        COMPATIBLE_VERSIONS='^(4\.[1]\.[0-9])$'
        # Template for development versions
-       MYVERSION=4.0.0+toward_4.1.0_20180919111149
+       MYVERSION=4.0.0+toward_4.1.0_20180919231118
        COMPATIBLE_VERSIONS='^(4\.[0-1]\.[0-9]]|4\.[0]\.[0]+(|\+toward_4\.[0-1]\.[0-9]+_[0-9]+))$'
 }