https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=daa6d87b4f4d8b9d8b471c07ee6fdc0d0bf8a9af

commit daa6d87b4f4d8b9d8b471c07ee6fdc0d0bf8a9af
Author: Jon Turney <[email protected]>
Date:   Tue Apr 30 16:56:43 2024 +0100

    CI: Update deprecated github actions

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=6301bf12e79ae9e809aef2f7b962f7ac64f924e5

commit 6301bf12e79ae9e809aef2f7b962f7ac64f924e5
Author: Daisuke Fujimura <[email protected]>
Date:   Mon Apr 29 14:45:30 2024 +0100

    Avoid using ruby to look for dependencies when building ruby package
    
    When building ruby itself, this dependency check will run the just-built
    ruby from ${D}, which will give warnings when executing because it's not
    properly installed yet.
    
    https://cygwin.com/pipermail/cygwin-apps/2024-April/043656.html

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=8797107b1603e862f12a7562d2ddb0d932980f66

commit 8797107b1603e862f12a7562d2ddb0d932980f66
Author: Jon Turney <[email protected]>
Date:   Mon Apr 29 18:57:35 2024 +0100

    Avoid the package's provides appearing in requires

https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/cygport.git;h=4167dbad0262afc4b4ee291b83e1d70b3d917546

commit 4167dbad0262afc4b4ee291b83e1d70b3d917546
Author: Jon Turney <[email protected]>
Date:   Mon Apr 29 17:07:36 2024 +0100

    Correct logic for suppressing cygwin-debuginfo self-requires
    
    Fixes: 65cc501f3bea ("pkg_pkg: avoid having cygwin-debuginfo requires: 
itself")


Diff:
---
 .github/workflows/cygwin.yml |  4 ++--
 lib/pkg_info.cygpart         | 26 +++++++++++++-------------
 lib/pkg_pkg.cygpart          |  9 ++++++++-
 3 files changed, 23 insertions(+), 16 deletions(-)

diff --git a/.github/workflows/cygwin.yml b/.github/workflows/cygwin.yml
index 26c3c10c..dab677ce 100644
--- a/.github/workflows/cygwin.yml
+++ b/.github/workflows/cygwin.yml
@@ -22,7 +22,7 @@ jobs:
     - uses: actions/checkout@v1
       with:
         submodules: true
-    - uses: actions/cache@v3
+    - uses: actions/cache@v4
       with:
         path: C:\cygwin-packages
         key: cygwin-packages-${{ hashFiles('C:\cygwin-packages\**') }}
@@ -142,7 +142,7 @@ jobs:
       run: |
         bash -c 'meson test -C _build --print-errorlogs'
     - name: Upload test logs
-      uses: actions/upload-artifact@v3
+      uses: actions/upload-artifact@v4
       with:
         name: testlogs
         path: _build/meson-logs/*
diff --git a/lib/pkg_info.cygpart b/lib/pkg_info.cygpart
index 37cfa676..7202e5b4 100644
--- a/lib/pkg_info.cygpart
+++ b/lib/pkg_info.cygpart
@@ -557,7 +557,7 @@ for suffix, mode, type in imp.get_suffixes(): 
print(suffix)')
                done
        done
 
-       if check_prog ruby
+       if [ "${PN}" != "ruby" ] && check_prog ruby
        then
                rbdirs=($(ruby -e 'print($:.join(" "))'))
                rbdirs+=" ${DEPS_PATH//:/ }"
@@ -597,19 +597,19 @@ for suffix, mode, type in imp.get_suffixes(): 
print(suffix)')
                                done
                        done
                done
-       fi
 
-       rbver=( $(find "${@//^_^/ }" -path 
"usr/*/ruby/vendor_ruby/[0-9].[0-9]/*" \
-               | sed -E 
's!usr/.*/ruby/vendor_ruby/([0-9]).([0-9])/.*!ruby_\1\2!' \
-               | sort -ru) )
-       if [ "${#rbver[@]}" -gt 1 ]
-       then
-               warning "More than one targeted Ruby version: ${rbver[*]},"
-               warning "using only the latest as dependency: ${rbver[0]}."
-       fi
-       if [ "${#rbver[@]}" -gt 0 ] && [ "${PN}" != "ruby" ]
-       then
-               echo "${rbver[0]}"
+               rbver=( $(find "${@//^_^/ }" -path 
"usr/*/ruby/vendor_ruby/[0-9].[0-9]/*" \
+                               | sed -E 
's!usr/.*/ruby/vendor_ruby/([0-9]).([0-9])/.*!ruby_\1\2!' \
+                               | sort -ru) )
+               if [ "${#rbver[@]}" -gt 1 ]
+               then
+                       warning "More than one targeted Ruby version: 
${rbver[*]},"
+                       warning "using only the latest as dependency: 
${rbver[0]}."
+               fi
+               if [ "${#rbver[@]}" -gt 0 ]
+               then
+                       echo "${rbver[0]}"
+               fi
        fi
 
        if [ $(find "${@//^_^/ }" -path 'usr/share/doc/*' -prune \
diff --git a/lib/pkg_pkg.cygpart b/lib/pkg_pkg.cygpart
index 07313c66..e41b5cc7 100644
--- a/lib/pkg_pkg.cygpart
+++ b/lib/pkg_pkg.cygpart
@@ -902,8 +902,15 @@ __pkg_dist() {
                then
                        if [ "${CBUILD##*-}" = "cygwin" ]
                        then
+                               # process the output of list_deps:
+                               # - drop self-dependencies
+                               # - trim version-release from package names 
returned by cygcheck -f
+                               # - drop dependency on own provides
+                               # - squash into a single line
+                               #
                                pkg_bin_requires=$(__list_deps $(sort -fu 
${T}/.${pkg_name[${n}]}.lst | sed -e '\|/$|d;s| |^_^|g') \
                                                   | sed -e 
"/^${pkg_name[${n}]}-[0-9].*$/d;s/-[0-9].*$//g" \
+                                                  | grep -v 
"^${!pkg_provides_var}\$" \
                                                   | sort -fu | sed -e 
':a;N;$!ba;s/\n/ /g' )
                                __step "${pkg_name[${n}]} requires: 
${pkg_bin_requires} ${!pkg_requires_var}"
                        else
@@ -969,7 +976,7 @@ _EOF
                then
                        cp ${C}/debuginfo.hint 
${distdir}/${PN}/${PN}-debuginfo/${PN}-debuginfo-${PVR}.hint
                else
-                       if [ "${PN}" != "cygwin-debuginfo" ]
+                       if [ "${PN}" != "cygwin" ]
                        then
                                pkg_debug_requires=cygwin-debuginfo
                        fi

Reply via email to