Author: pierre
Date: Mon Feb 19 08:01:00 2018
New Revision: 4048
Log:
BLFS/func_dependencies: when building the graph, and DEP_LEVEL=3 (build opt
deps only for requested packages), it may happen that a requested packages
is seen at depth > 2 before it is seen at depth=2. In this case, optional
deps are not processed the first time, and then the package is not processed
at depth 2 because it has already been seen. Add a case statement against
that.
Modified:
jhalfs/trunk/BLFS/libs/func_dependencies
Modified: jhalfs/trunk/BLFS/libs/func_dependencies
==============================================================================
--- jhalfs/trunk/BLFS/libs/func_dependencies Sat Feb 10 23:31:23 2018
(r4047)
+++ jhalfs/trunk/BLFS/libs/func_dependencies Mon Feb 19 08:01:00 2018
(r4048)
@@ -135,21 +135,29 @@
# Start of loop
{
while read prio_of_dep build_of_dep id_of_dep; do
-case $prio_of_dep in
+ case $prio_of_dep in
1) priostring=required ;;
2) priostring=recommended ;;
3) priostring=optional ;;
4) priostring=external ;;
-esac
-case $build_of_dep in
+ esac
+ case $build_of_dep in
a) buildstring=runtime ;;
b) buildstring= ;;
-esac
-# Has this entry already been seen
+ esac
+# Has this entry already been seen?
+# We have a special case here: if the entry has been seen at depth > 2
+# and now depth=2 and DEP_LEVEL=3, optional deps have not been processed.
+# If this is the case, just consider it has not been seen.
if [ -f ${id_of_dep}.dep ] ; then
+ case $depth$DEP_LEVEL in
+ 23) ;;
+ *)
# Just display it and proceed.
- echo -en "\nEdge: $depth${spaceSTR:0:$((depth +
spacing))}${MAGENTA}${id_of_dep}${OFF} $priostring $buildstring"
- continue
+ echo -en "\nEdge: $depth${spaceSTR:0:$((depth +
spacing))}${MAGENTA}${id_of_dep}${OFF} $priostring $buildstring"
+ continue
+ ;;
+ esac
fi
# Is the weight higher than requested?
if [ "$prio_of_dep" -gt $dep_level ]; then
--
http://lists.linuxfromscratch.org/listinfo/alfs-log
Unsubscribe: See the above information page