Nimbin[12]?Mirrors & Forks / jhalfs / commits / e6a1ec3

jhalfs git · trunk

jhalfs LFS build automation (mirror)

lfs mirror bash · first commit 2005-09-11 · last commit 2024-02-13 (2 years ago) · synced 3 days ago · upstream: git.linuxfromscratch.org/jhalfs

Python 78.4% Shell 19.8% Makefile 1.8%
git clone https://git.christianimmanuel.de/mirrors-forks/jhalfs.gitwget https://git.christianimmanuel.de/mirrors-forks/jhalfs/archive/jhalfs.tar.gz

Update comments in BLFS/gen-special.sh

Pierre Labastie · 2023-09-20 09:52 · e6a1ec3753cfe8279998aa957663f98096644d90

Also change a %%-[[:digit:]* to %-[[:digit:]]* because we want to
select only the last occurrence of this pattern.
 BLFS/gen-special.sh | 43 +++++++++++++++++--------------------------
 1 file changed, 17 insertions(+), 26 deletions(-)

diff --git a/BLFS/gen-special.sh b/BLFS/gen-special.sh
index cc8033e..0215a46 100755
--- a/BLFS/gen-special.sh
+++ b/BLFS/gen-special.sh
@@ -87,10 +87,11 @@ for nv_id in $NV_LIST; do
 EOF
 done
 
-# Taking packages inside x7proto etc, as versionned modules.
+# Taking packages contained in pages installing several packages (x7* except
+# x7driver, kf5-frameworks, and plasma5-all), as versionned modules.
 # We also write a dependency expansion when a dep is of the form
-# xorg7-something. Since that is another template, we need
-# a temporary file, which we shall concatenate at the end
+# xorg7-something or kf5-frameworks or plasma5-build. Since that is another
+# template, we need a temporary file, which we shall concatenate at the end
 cat >tmpfile << EOF
   <xsl:template name="expand-deps">
     <xsl:param name="section"/>
@@ -112,41 +113,31 @@ EOF
   cat >> tmpfile << EOF
       <xsl:when test="\$section='$id'">
 EOF
-# We extract the list of packages for an xorg page from
-# the version part of the .xml file. Seems that
-# the order is not always the same as in the "cat" command.
-# So we have to read that command too, since it may be assumed
+# We extract the list of packages for those pages from
+# the "cat" command that creates the md5 file. We assume
 # that the preceding package is a dependency of the following,
 # except the first.
-list_cat="$(sed -n '/>cat.*\.\(md5\|dat\)/,/EOF</p' $file | grep -v 'cat\|EOF\|#' |
-              awk '{ print $NF }' | sed 's/-&.*//')"
+# note that some pages may have several "cat" command, so we have to
+# make a complex regex for the first line to save. All those lines have
+# .md5 in them except the one for x7legacy that has .dat.
+# we need also to remove lines beginning with #.
+# Note that only xorg pages have '&' in them. So for kde
+# pages, what is extracted it the full tarball name.
+list_cat="$(sed -n '/>cat.*\.\(md5\|dat\)/,/EOF</p' $file | \
+            grep -v 'cat\|EOF\|#' | \
+            awk '{ print $NF }' | sed 's/-&.*//')"
 
   precpack=NONE
   for pack in $list_cat; do
     if grep -q x7 $file; then # this is an xorg package
       packname=$pack
+# We extract the version from the ENTITY parts of the .xml file.
       packversion=$(grep "ENTITY ${pack}-version" $file | \
 	            sed 's@[^"]*"\([^"]*\).*@\1@')
     else
-      packname=${pack%%-[[:digit:]]*}
+      packname=${pack%-[[:digit:]]*}
       packversion=$(echo $pack | sed 's/[^.]*-\([.[:digit:]]*\)\.tar.*/\1/')
     fi
-## Rationale for the sed below: the following for breaks words at spaces (unless
-## we tweak IFS). So replace spaces with commas in lines so that only newlines
-## are separators.
-#  for pack in \
-#      $(grep 'ENTITY.*version' $file | sed 's/[ ]\+/,/g'); do
-#    packname=$(echo $pack | sed s'@.*ENTITY,\(.*\)-version.*@\1@')
-#    packversion=$(echo $pack | sed 's@[^"]*"\([^"]*\).*@\1@')
-#    for i in $list_cat; do
-#      if [ "$i" = "$packname" ]; then break; fi
-#      precpack=$i
-#    done
-## It may happen that packname is not in list_cat, because its entity
-## is commented out in the xml, but we do not check that (too complicated).
-## In that case, the whole list is scanned, and $precpack=$i at the end.
-## when packname is found in the list $precpack!=$i.
-#    if [ "$precpack" = "$i" ]; then continue; fi
     cat >>$SPECIAL_FILE << EOF
         <module><xsl:text>&#xA;          </xsl:text>
           <xsl:element name="name">$packname</xsl:element>