OSDN Git Service

[IMPROVED] Adapt to the behavior change grep(1) as of 12.0-RELEASE that the case...
[portsreinstall/current.git] / lib / libdatabase_build.sh
index e814790..b697cdf 100644 (file)
@@ -41,7 +41,7 @@ database_build_convert_and_register_origin_if_obsolete ()
        echo "$origin" > ${TMPDIR}/database_build_convert_and_register_origin_if_obsolete:origin
        pkgsys_exists_port "$origin" && return
        database_build_register_obsolete_port "$origin"
-       grep -n -m 1 -E "^`str_escape_regexp \"$origin\"`\|" "$recursedb" 2> /dev/null > ${TMPDIR}/moved.info || :
+       env LANG=C grep -n -m 1 -E "^`str_escape_regexp \"$origin\"`\|" "$recursedb" 2> /dev/null > ${TMPDIR}/moved.info || :
        if [ `wc -l < ${TMPDIR}/moved.info` -eq 0 ]
        then
                fileedit_add_a_line_if_new "$origin" "${DBDIR}/obsolete_ports"
@@ -206,7 +206,7 @@ database_build_setup_replace_node ()
                rm -rf "$dbpath"
                mkdir -p "$dbpath"
                origin_trial=$origin_orig
-               if echo "$origin_orig" | grep -q -Fx -f "${DBDIR}/conf/REPLACE.filter" 2> /dev/null
+               if echo "$origin_orig" | env LANG=C grep -q -Fx -f "${DBDIR}/conf/REPLACE.filter" 2> /dev/null
                then
                        origin_trial=`echo "$origin_orig" | sed -E -f "${DBDIR}/conf/REPLACE.sed_pattern"`
                        if [ "x$origin_orig" != "x$origin_trial" ]
@@ -279,9 +279,9 @@ database_build_get_inspected_level ()
        then
                echo full
        elif ! pkgsys_exists_or_existed_from_orig "$origin" \
-               || grep -qFx "$origin" "${DBDIR}/stage.loop_list/ports_to_inspect" 2> /dev/null \
+               || env LANG=C grep -qFx "$origin" "${DBDIR}/stage.loop_list/ports_to_inspect" 2> /dev/null \
                || [ ! -e "${DBDIR}/moved_from/$origin_dependent/installed_version" ] \
-               || grep -qFx "$origin_dependent" "${DBDIR}/stage.loop_list/ports_to_inspect" 2> /dev/null
+               || env LANG=C grep -qFx "$origin_dependent" "${DBDIR}/stage.loop_list/ports_to_inspect" 2> /dev/null
        then
                echo direct
        else
@@ -302,7 +302,7 @@ database_build_is_port_already_inspected_in_required_level ()
                cat "${DBDIR}/ports.inspected.${inspected_level}.list" || :
                cat "${DBDIR}/moved_ports" || :
                cat "${DBDIR}/obsolete_ports" || :
-       }  2> /dev/null | grep -q -Fx "$origin_actual" || return
+       }  2> /dev/null | env LANG=C grep -q -Fx "$origin_actual" || return
        fileedit_rm_a_line "$origin" "${DBDIR}/stage.loop_list/ports_to_inspect.remain"
        [ "x$origin" = "$origin_actual" ] || \
                fileedit_rm_a_line "$origin_actual" "${DBDIR}/stage.loop_list/ports_to_inspect.remain"
@@ -374,7 +374,7 @@ database_build_get_full_run_requirement_pkgs ()
                while read origin
                do
                        database_build_get_new_pkgname "$origin"
-               done < $srcfile | grep -v '^[[:space:]]*$' | sort -u > $savefile
+               done < $srcfile | env LANG=C grep -v '^[[:space:]]*$' | sort -u > $savefile
        fi
        cat "$savefile" 2> /dev/null || :
 }
@@ -471,7 +471,7 @@ database_build_determine_flavored_origin ()
        if [ -n "$flavor_trial" ]
        then
                flavors_ptn="^("`database_build_make "$origin" -V FLAVORS 2> /dev/null | sed -E 's/[[:space:]]+/|/g'`")$"
-               echo "$flavor_trial" | grep -qE "$flavors_ptn" || flavor_trial=
+               echo "$flavor_trial" | env LANG=C grep -qE "$flavors_ptn" || flavor_trial=
        fi
        origin_trial=`pkgsys_compose_flavored_origin "$origin_unflavored" "$flavor_trial"`
        flavor=`database_build_make "$origin_trial" -V FLAVOR 2> /dev/null || :`
@@ -576,7 +576,7 @@ database_build_inspect_dependencies ()
                        [ "x$origin_orig" = "x$origin" ] || fileedit_add_a_line_if_new "$origin_orig" "$frompath/initial_orig"
                        [ -e "${DBDIR}/initial/$origin_orig/SUPPRESSED_SELF" ] && touch "$frompath/SUPPRESSED_SELF"
                        [ -e "${DBDIR}/initial/$origin_orig/SUPPRESSED_PKGNG" ] && touch "$frompath/SUPPRESSED_PKGNG"
-                       if ! grep -qFx "$origin" "${DBDIR}/done_required_ports_to_inspect" 2> /dev/null
+                       if ! env LANG=C grep -qFx "$origin" "${DBDIR}/done_required_ports_to_inspect" 2> /dev/null
                        then
                                fileedit_rm_a_line "$origin" "${DBDIR}/obsolete_ports"
                                fileedit_rm_a_line "$origin" "${DBDIR}/moved_ports"
@@ -588,7 +588,7 @@ database_build_inspect_dependencies ()
                                        # Notify reconfiguration of the port option
                                        conf_updated=
                                        if [ -e "$dbpath/complete_as_node" ] || \
-                                               grep -q -Fx -e "$origin_orig" -e "$origin" "${DBDIR}/to_be_reconf" 2> /dev/null
+                                               env LANG=C grep -q -Fx -e "$origin_orig" -e "$origin" "${DBDIR}/to_be_reconf" 2> /dev/null
                                        then
                                                message_echo "${DEPTH_INDEX}  ===> Reconfigured"
                                                conf_updated=y
@@ -647,7 +647,7 @@ database_build_inspect_dependencies ()
                                        do
                                                tr ' ' '\n' < ${TMPDIR}/database_build_inspect_dependencies:${tag}_depends_list | \
                                                        sed -E 's#.*:([^:/]+/[^:/]+|[^:/]+/[^:/]+:[^:/]*)$#\1#' | cut -d : -f 1 | sort -u | \
-                                                       grep -Ev "`pkgsys_pkgtools_ports_filter_regexp`" \
+                                                       env LANG=C grep -Ev "`pkgsys_pkgtools_ports_filter_regexp`" \
                                                                | while read origin_flavor_incomplete
                                                                do
                                                                        ( set -e
@@ -655,9 +655,9 @@ database_build_inspect_dependencies ()
                                                                                database_build_determine_port_option "$origin_flavor_incomplete"
                                                                        )
                                                                        database_build_determine_flavored_origin "$origin_flavor_incomplete"
-                                                               done | grep -v '^$' | sort -u > $dbpath/requirements.$tag.orig || :
+                                                               done | env LANG=C grep -v '^$' | sort -u > $dbpath/requirements.$tag.orig || :
                                                sed -E -f "${DBDIR}/conf/REPLACE.sed_pattern" "$dbpath/requirements.$tag.orig" \
-                                                       | grep -v '^$' | sort -u > $dbpath/requirements.$tag.src || :
+                                                       | env LANG=C grep -v '^$' | sort -u > $dbpath/requirements.$tag.src || :
                                        done
                                        for stage in orig src
                                        do
@@ -695,12 +695,12 @@ database_build_inspect_dependencies ()
                                inspected_level=`database_build_get_inspected_level "$origin" "$origin_dependent"`
                                case $inspected_level in
                                full )
-                                       grep -v -Fx -f "${DBDIR}/installed_ports" \
+                                       env LANG=C grep -v -Fx -f "${DBDIR}/installed_ports" \
                                                "$dbpath/requirements.all.direct.src" > ${TMPDIR}/missing.$origin_id || :
                                        inspected_levels_compatible='full direct node'
                                        ;;
                                direct )
-                                       grep -v -Fx -f "${DBDIR}/installed_ports" \
+                                       env LANG=C grep -v -Fx -f "${DBDIR}/installed_ports" \
                                                "$dbpath/requirements.all.direct.src" > ${TMPDIR}/missing.$origin_id || :
                                        inspected_levels_compatible='direct node'
                                        ;;
@@ -716,7 +716,7 @@ database_build_inspect_dependencies ()
                                do
                                        origin_dependency=`sed -n ${iline}p "${TMPDIR}/missing.$origin_id"`
                                        iline=$(($iline+1))
-                                       grep -q -Fx "$origin_dependency" "${DBDIR}/ports.inspected.list" 2> /dev/null && \
+                                       env LANG=C grep -q -Fx "$origin_dependency" "${DBDIR}/ports.inspected.list" 2> /dev/null && \
                                                        continue
                                        database_build_inspect_dependencies "$origin_dependency" "$origin"
                                done
@@ -737,7 +737,7 @@ database_build_inspect_dependencies ()
                                # Transfer data from the previous database if existent, successful and no change
                                pkg_new=`cat "$dbpath/new_version"`
                                if [ ! -e "$dbpath/conf_updated" -a -d "$dbpath_prev" ] && pkg_info_e "$pkg_new" 2> /dev/null && \
-                                       ! grep -qFx "$origin" "$dbpath_prev/to_be_reconf" 2> /dev/null
+                                       ! env LANG=C grep -qFx "$origin" "$dbpath_prev/to_be_reconf" 2> /dev/null
                                then
                                        same_as_prevset=yes
                                        for dbfile in new_version CONFLICT.conf BUILDCONFLICT.conf MARG.conf MENV.conf \
@@ -772,7 +772,7 @@ database_build_inspect_dependencies ()
                                        then
                                                for dbfile in failed.list damaged_package manually_done.list
                                                do
-                                                       if grep -qFx "$origin" "${DBDIR}/prevset/$dbfile" 2> /dev/null
+                                                       if env LANG=C grep -qFx "$origin" "${DBDIR}/prevset/$dbfile" 2> /dev/null
                                                        then
                                                                same_as_prevset=no
                                                                break
@@ -799,7 +799,7 @@ database_build_inspect_dependencies ()
                                                        done
                                                } | while read dbfile
                                                do
-                                                       if grep -Fxq "$origin" "${DBDIR}/prevset/$dbfile" 2> /dev/null
+                                                       if env LANG=C grep -Fxq "$origin" "${DBDIR}/prevset/$dbfile" 2> /dev/null
                                                        then
                                                                fileedit_add_a_line_if_new "$origin" "${DBDIR}/$dbfile"
                                                        fi
@@ -856,7 +856,7 @@ database_build_filter_ignored_requirements ()
        pattern=${DBDIR}/requires/$origin/ignored_requirements.filter
        if [ -e "$pattern" ]
        then
-               grep -Fxvq -f "$pattern"
+               env LANG=C grep -Fxvq -f "$pattern"
        else
                cat
        fi 2> /dev/null || :
@@ -882,9 +882,9 @@ database_build_get_complete_recursive_dependency ()
        then
                touch "$tmppath.parents"
                num_parents=`wc -l < $tmppath.parents`
-               if grep -Fxq "$origin" "$tmppath.parents"
+               if env LANG=C grep -Fxq "$origin" "$tmppath.parents"
                then
-                       loophead=`grep -Fxn "$origin" "$tmppath.parents" | tail -n 1 | cut -d : -f 1`
+                       loophead=`env LANG=C grep -Fxn "$origin" "$tmppath.parents" | tail -n 1 | cut -d : -f 1`
                        if [ "x$opt_force_continuation_for_looped_dependency" = xno ]
                        then
                                message_echo "ERROR: The following loop was found for requirements.${tag}${suffix}:" >&2
@@ -913,8 +913,8 @@ database_build_get_complete_recursive_dependency ()
                                        origin_target=`sed -n ${index_loop}p "$tmppath.ports_in_loop"`
                                        origin_ref=`sed -n $((${index_loop}+1))p "$tmppath.ports_in_loop"`
                                        dbpath_target=${DBDIR}/requires/$origin_target
-                                       if ! grep -Fxq "$origin_ref" "$dbpath_target/requirements.run.direct${suffix}" 2> /dev/null || \
-                                               ! grep -Fxq "$origin_ref" "$dbpath_target/requirements.build.direct${suffix}" 2> /dev/null
+                                       if ! env LANG=C grep -Fxq "$origin_ref" "$dbpath_target/requirements.run.direct${suffix}" 2> /dev/null || \
+                                               ! env LANG=C grep -Fxq "$origin_ref" "$dbpath_target/requirements.build.direct${suffix}" 2> /dev/null
                                        then
                                                message_echo 'INFO: The dependency of '$origin_target' on '$origin_ref' is ignored to terminate the loop.' >&2
                                                break
@@ -929,7 +929,7 @@ database_build_get_complete_recursive_dependency ()
                                do
                                        for tag_tmp in run build
                                        do
-                                               grep -Fxq "$origin_ref" "$dbpath_target/requirements.${tag_tmp}.direct${suffix_tmp}" 2> /dev/null && \
+                                               env LANG=C grep -Fxq "$origin_ref" "$dbpath_target/requirements.${tag_tmp}.direct${suffix_tmp}" 2> /dev/null && \
                                                        fileedit_add_a_line_if_new "$origin_ref" "$dbpath_target/ignored_requirements.${tag_tmp}${suffix_tmp}"
                                        done
                                        cat "$dbpath_target/ignored_requirements.run${suffix_tmp}" "$dbpath_target/ignored_requirements.build${suffix_tmp}" 2> /dev/null | sort -u > $dbpath_target/ignored_requirements.all${suffix_tmp}
@@ -948,7 +948,7 @@ database_build_get_complete_recursive_dependency ()
                        [ "x$tag" = xbuild ] && tag_dep=run
                        recursive_dependency=`database_build_get_complete_recursive_dependency "$tag_dep" "$origin_requirement" "$suffix"`
                        [ -e "$dbpath/ignored_requirements.filter" ] && \
-                               echo "$origin_requirement" | grep -Fxq -f "$dbpath/ignored_requirements.filter" 2> /dev/null && \
+                               echo "$origin_requirement" | env LANG=C grep -Fxq -f "$dbpath/ignored_requirements.filter" 2> /dev/null && \
                                continue
                        echo "$origin_requirement"
                        echo "$recursive_dependency"
@@ -957,7 +957,7 @@ database_build_get_complete_recursive_dependency ()
                mv "$tmppath.parents.tmp" "$tmppath.parents"
                if [ ! -e "$dstfile" ]
                then
-                       sort -u "$dstfile_tmp" | grep -v '^$' > $dstfile || :
+                       sort -u "$dstfile_tmp" | env LANG=C grep -v '^$' > $dstfile || :
                        rm "$dstfile_tmp"
                fi
        fi
@@ -1095,7 +1095,7 @@ database_build_order_ports_considering_dependencies ()
        (cd "${DBDIR}/requires" && \
                find . -depth 3 -name requirements.all.full -exec echo {} \; -exec cat {} \; -exec echo \;) | \
                env "DBDIR=${DBDIR}" awk -f "${LIBEXECDIR}"/order_dependencies.awk || return
-       grep -v '^$' "${DBDIR}/reinst_order.list.tmp" > "${DBDIR}/reinst_order.list" || :
+       env LANG=C grep -v '^$' "${DBDIR}/reinst_order.list.tmp" > "${DBDIR}/reinst_order.list" || :
 }
 
 # ============= [Sub-function] Common operations for resetting configurations for a port =============
@@ -1187,7 +1187,7 @@ database_build_post_inspect_dependencies ()
                cat "${DBDIR}/conf/HOLD:PORTS.parsed" || :
                cat "${DBDIR}/need.list" || :
        } 2> /dev/null | sort -u > $tmpfile.obsolete_ports.exclude
-       grep -v -Fx -f "$tmpfile.obsolete_ports.exclude" "${DBDIR}/obsolete_ports" > ${DBDIR}/obsolete_ports.can_be_deleted || :
+       env LANG=C grep -v -Fx -f "$tmpfile.obsolete_ports.exclude" "${DBDIR}/obsolete_ports" > ${DBDIR}/obsolete_ports.can_be_deleted || :
        cp /dev/null "${DBDIR}/REPLACE.complete_sed_pattern.tmp"
        find "${DBDIR}/replace" -depth 3 -type f -name origin | while read nodepath
        do
@@ -1200,7 +1200,7 @@ database_build_post_inspect_dependencies ()
        mv "${DBDIR}/REPLACE.complete_sed_pattern.tmp" "${DBDIR}/REPLACE.complete_sed_pattern"
        if [ `cat "${DBDIR}/inspected_ports.update" 2> /dev/null | wc -l` -gt 0 ]
        then
-               grep -Fx -f "${DBDIR}/inspected_ports.all" "${DBDIR}/inspected_ports.update" \
+               env LANG=C grep -Fx -f "${DBDIR}/inspected_ports.all" "${DBDIR}/inspected_ports.update" \
                        > ${DBDIR}/inspected_ports.update.tmp 2> /dev/null || :
                mv "${DBDIR}/inspected_ports.update.tmp" "${DBDIR}/inspected_ports.update"
                if [ $opt_only_target_scope = yes ]