[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.
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
}
_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
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}
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 ()
{
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 ()
{