2 # ==============================================================================
3 # portsreinstall library script
4 # - Order the dependency of all ports to install/reinstall -
5 # Copyright (C) 2018 Mamoru Sakaue, MwGhennndo, All Rights Reserved.
6 # This software is distributed under the 2-Clause BSD License.
7 # ==============================================================================
23 sub (/\/requirements.all\.full$/, "", target);
24 sub (/^\.\//, "", target);
32 srcimax[it-1] = srcsize[it-1] = i;
46 for (it = 0; it < ntargets; it++)
48 if (!(it in srcikey)) continue;
49 if (srcsize[it] > 0) continue;
53 order[norder++] = target;
54 order_str = order_str lf_order_str;
55 order_str = sprintf ("%s%s", order_str, target);
57 for (jt = 0; jt < ntargets; jt++)
59 for (j = 0; j < srcimax[jt]; j++)
61 if ((jt,j) in src && src[jt,j] == target)
70 if (is_operated == 0) break;
73 reinst_order_list = sprintf ("%s%s", ENVIRON["DBDIR"], "/reinst_order.list.tmp");
74 print order_str > reinst_order_list;
76 for (it = 0; it < ntargets; it++)
78 if (srcsize[it] == 0) continue;
81 for (i = 0; i < srcimax[it]; i++)
85 reqs = reqs sp_reqs src[it,i];
89 unsatisfied = sprintf ("%s%s [%d] (%s)\n", unsatisfied, srcikey[it], srcsize[it], reqs);
91 if (unsatisfied != "")
93 unsatisfied_list = sprintf ("%s%s", ENVIRON["DBDIR"], "/unsatisfied.list");
94 print unsatisfied > unsatisfied_list;