2 # ==============================================================================
3 # portsreinstall library script
4 # - Commands of flexible configuration -
5 # Copyright (C) 2018 Mamoru Sakaue, MwGhennndo, All Rights Reserved.
6 # This software is distributed under the 2-Clause BSD License.
7 # ==============================================================================
9 # ============= Register/deregister ok ports in the command line form =============
10 command_flexconf_update_ok ()
12 local dbfile tmp_manually_done_diff
13 dbfile=${DBDIR}/manually_done.list
14 [ -e "$dbfile" ] || touch "$dbfile"
15 cp "$dbfile" "$dbfile.tmp"
17 case $COMMAND_OPERATION in
19 pkgsys_register_evaluated_globs add "$dbfile.tmp" "$@"
20 message_echo "`str_linearize_list_and \"$*\"` is/are registered to the list of manually resolved ports"
23 pkgsys_register_evaluated_globs remove "$dbfile.tmp" "$@"
24 message_echo "`str_linearize_list_and \"$*\"` is/are deregistered from the list of manually resolved ports"
25 program_deregister_stage_complete REINSTALLATION
26 program_deregister_stage_complete ALL_COMPLETE
29 tmp_manually_done_diff=${TMPDIR}/command_flexconf_update_ok:manually_done.list.diff
30 if fileedit_manipulate_old_new_lines "$dbfile" "$dbfile.tmp" \
31 "$tmp_manually_done_diff.old" "$tmp_manually_done_diff.new"
35 database_record_failure "$origin"
36 done < $tmp_manually_done_diff.old
39 database_record_success "$origin"
40 done < $tmp_manually_done_diff.new
42 mv "$dbfile.tmp" "$dbfile"
43 message_echo "Now the following ports have been manually resolved:"
45 if [ `cat "$dbfile" 2> /dev/null | wc -l` -gt 0 ]
47 message_echo "Now the following ports are registered to be manually resolved:"
50 message_echo "No port is registered to be manually resolved."
54 # ============= Register/deregister taboo ports in the command line form =============
55 command_flexconf_update_taboo ()
57 local COMMAND_OPERATION evalated_globs
60 evalated_globs=`str_linearize_list_and "$@"`
61 case $COMMAND_OPERATION in
63 pkgsys_register_evaluated_globs add "${DBDIR}/taboo.list" "$@"
64 message_echo "$evalated_globs is/are registered to the list of taboo ports."
67 pkgsys_register_evaluated_globs remove "${DBDIR}/taboo.list" "$@"
68 message_echo "$evalated_globs is/are deregistered from the list of taboo ports."
71 fileedit_combine_lists "${DBDIR}/conf/TABOO:PORTS.parsed" "${DBDIR}/taboo.list" > ${DBDIR}/taboo.all.list
72 if [ `cat "${DBDIR}/taboo.all.list" 2> /dev/null | wc -l` -gt 0 ]
74 message_echo "Now the following ports are registered to be taboo:"
75 message_cat "${DBDIR}/taboo.all.list"
77 message_echo "No port is registered to be taboo."
81 # ============= Register/deregister freeze ports in the command line form =============
82 command_flexconf_update_freeze ()
84 local COMMAND_OPERATION evalated_globs
87 evalated_globs=`str_linearize_list_and "$@"`
88 case $COMMAND_OPERATION in
90 pkgsys_register_evaluated_globs add "${DBDIR}/freeze.list" "$@"
91 message_echo "$evalated_globs is/are registered to the list of ports to freeze."
94 pkgsys_register_evaluated_globs remove "${DBDIR}/freeze.list" "$@"
95 message_echo "$evalated_globs is/are deregistered from the list of ports to freeze."
98 fileedit_combine_lists "${DBDIR}/conf/FREEZE:PORTS.parsed" "${DBDIR}/freeze.list" > ${DBDIR}/freeze.all.list
99 if [ `cat "${DBDIR}/freeze.all.list" 2> /dev/null | wc -l` -gt 0 ]
101 message_echo "Now the following ports are registered to be freeze:"
102 message_cat "${DBDIR}/freeze.all.list"
104 message_echo "No port is registered to be freeze."
108 # ============= Register/deregister needed ports in the command line form =============
109 command_flexconf_update_need ()
111 local COMMAND_OPERATION evalated_globs
114 evalated_globs=`str_linearize_list_and "$@"`
115 case $COMMAND_OPERATION in
117 pkgsys_register_evaluated_globs add "${DBDIR}/need.list" "$@"
118 message_echo "$evalated_globs is/are registered to the list of necessary ports."
121 pkgsys_register_evaluated_globs remove "${DBDIR}/need.list" "$@"
122 message_echo "$evalated_globs is/are deregistered from the list of necessary ports."
126 sed -E -f "${DBDIR}/REPLACE.complete_sed_pattern" "${DBDIR}/need.list" || :
127 cat "${DBDIR}/need.list" || :
128 } 2> /dev/null | sort -u > ${DBDIR}/need.with_replaced.list
129 if [ `cat "${DBDIR}/need.list" 2> /dev/null | wc -l` -gt 0 ]
131 message_echo "Now the following ports are registered to be necessary:"
132 message_cat "${DBDIR}/need.list"
134 message_echo "No port is registered to be necessary."
138 # ============= Register/deregister unneeded ports in the command line form =============
139 command_flexconf_update_noneed ()
141 local COMMAND_OPERATION evalated_globs
144 evalated_globs=`str_linearize_list_and "$@"`
145 case $COMMAND_OPERATION in
147 pkgsys_register_evaluated_globs add "${DBDIR}/noneed.list" "$@"
148 message_echo "$evalated_globs is/are registered to the list of unnecessary ports."
151 pkgsys_register_evaluated_globs remove "${DBDIR}/noneed.list" "$@"
152 message_echo "$evalated_globs is/are deregistered from the list of unnecessary ports."
155 if [ `cat "${DBDIR}/noneed.list" 2> /dev/null | wc -l` -gt 0 ]
157 message_echo "Now the following ports are registered to be unnecessary:"
158 message_cat "${DBDIR}/noneed.list"
160 message_echo "No port is registered to be unnecessary."