Github messages for voidlinux
 help / color / mirror / Atom feed
From: voidlinux-github@inbox.vuxu.org
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] xbps-src: add back support for 32bit dependencies
Date: Sun, 29 Sep 2019 19:19:53 +0200	[thread overview]
Message-ID: <20190929171953.quEhIA_oP_RFV_eu2-PAQZH3GPVet68Z34ReY_bkLQQ@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-14822@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 611 bytes --]

There is an updated pull request by Duncaen against master on the void-packages repository

https://github.com/Duncaen/void-packages 32bit
https://github.com/void-linux/void-packages/pull/14822

xbps-src: add back support for 32bit dependencies
This will use xbps-query to see if packages that don't have a template file already exist and allows building packages like `gcc-multilib` again.
If the package doesn't exist already it will just error out, because `xbps-src` can't switch to a 32bit masterdir to build it. 

A patch file from https://github.com/void-linux/void-packages/pull/14822.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-32bit-14822.patch --]
[-- Type: text/x-diff, Size: 5890 bytes --]

From 5ec6456f680b80d16de14caa8399c4a2e46a7c1c Mon Sep 17 00:00:00 2001
From: Duncaen <duncaen@voidlinux.org>
Date: Sun, 29 Sep 2019 19:15:44 +0200
Subject: [PATCH] xbps-src: add back support for 32bit dependencies

https://github.com/void-linux/void-packages/issues/12990
---
 common/xbps-src/shutils/build_dependencies.sh | 59 +++++++++++++++----
 1 file changed, 47 insertions(+), 12 deletions(-)

diff --git a/common/xbps-src/shutils/build_dependencies.sh b/common/xbps-src/shutils/build_dependencies.sh
index 6d9d727e0d3..f2bc9288487 100644
--- a/common/xbps-src/shutils/build_dependencies.sh
+++ b/common/xbps-src/shutils/build_dependencies.sh
@@ -145,11 +145,20 @@ install_pkg_deps() {
     # Host build dependencies.
     #
     if [[ ${hostmakedepends} ]]; then
+        local _hostmakedepends=""
         # check validity
         for f in ${hostmakedepends}; do
-            if [ ! -f $XBPS_SRCPKGDIR/$f/template ]; then
-                msg_error "$pkgver: host dependency '$f' does not exist!\n"
+            if [ -f $XBPS_SRCPKGDIR/$f/template ]; then
+                _hostmakedepends+=" $f"
+                continue
+            fi
+            local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null)
+            if [ "$_repourl" ]; then
+                echo "   [host] ${f}: found (${_repourl})"
+                host_binpkg_deps+=("$f")
+                continue
             fi
+            msg_error "$pkgver: host dependency '$f' does not exist!\n"
         done
         while read -r _depname _deprepover _depver _subpkg _repourl; do
             _vpkg=${_subpkg}-${_depver}
@@ -179,18 +188,27 @@ install_pkg_deps() {
                 echo "   [host] ${_vpkg}: not found"
                 host_missing_deps+=("$_vpkg")
             fi
-        done < <($XBPS_CHECKVERS_CMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm ${hostmakedepends})
+        done < <($XBPS_CHECKVERS_CMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm $_hostmakedepends)
     fi
 
     #
     # Host check dependencies.
     #
     if [[ ${checkdepends} ]] && [[ $XBPS_CHECK_PKGS ]]; then
+        local _checkdepends=""
         # check validity
         for f in ${checkdepends}; do
-            if [ ! -f $XBPS_SRCPKGDIR/$f/template ]; then
-                msg_error "$pkgver: check dependency '$f' does not exist!\n"
+            if [ -f $XBPS_SRCPKGDIR/$f/template ]; then
+                _hostmakedepends+=" $f"
+                continue
+            fi
+            local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null)
+            if [ "$_repourl" ]; then
+                echo "   [host] ${f}: found (${_repourl})"
+                host_binpkg_deps+=("$f")
+                continue
             fi
+            msg_error "$pkgver: check dependency '$f' does not exist!\n"
         done
         while read -r _depname _deprepover _depver _subpkg _repourl; do
             _vpkg=${_subpkg}-${_depver}
@@ -220,18 +238,27 @@ install_pkg_deps() {
                 echo "   [check] ${_vpkg}: not found"
                 host_missing_deps+=("$_vpkg")
             fi
-        done < <($XBPS_CHECKVERS_CMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm ${checkdepends})
+        done < <($XBPS_CHECKVERS_CMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm ${_checkdepends})
     fi
 
     #
     # Target build dependencies.
     #
     if [[ ${makedepends} ]]; then
+        local _makedepends=""
         # check validity
         for f in ${makedepends}; do
-            if [ ! -f $XBPS_SRCPKGDIR/$f/template ]; then
-                msg_error "$pkgver: target dependency '$f' does not exist!\n"
+            if [ -f $XBPS_SRCPKGDIR/$f/template ]; then
+                _makedepends+=" $f"
+                continue;
             fi
+            local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null)
+            if [ "$_repourl" ]; then
+                echo "   [target] ${f}: found (${_repourl})"
+                binpkg_deps+=("$f")
+                continue
+            fi
+            msg_error "$pkgver: target dependency '$f' does not exist!\n"
         done
         while read -r _depname _deprepover _depver _subpkg _repourl; do
             _vpkg=${_subpkg}-${_depver}
@@ -261,18 +288,26 @@ install_pkg_deps() {
                 echo "   [target] ${_vpkg}: not found"
                 missing_deps+=("$_vpkg")
             fi
-        done < <($XBPS_CHECKVERS_XCMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm ${makedepends})
+        done < <($XBPS_CHECKVERS_XCMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm ${_makedepends})
     fi
 
     #
     # Target run time dependencies
     #
     if [[ ${depends} ]]; then
+        local __deps=""
         _deps=$(setup_pkg_depends "" 1) || exit 1
         for f in ${_deps}; do
-            if [ ! -f $XBPS_SRCPKGDIR/$f/template ]; then
-                msg_error "$pkgver: runtime dependency '$f' does not exist!\n"
+            if [ -f $XBPS_SRCPKGDIR/$f/template ]; then
+                _hostmakedepends+=" $f"
+                continue
+            fi
+            local _repourl=$($XBPS_QUERY_CMD -R -prepository "$f" 2>/dev/null)
+            if [ "$_repourl" ]; then
+                echo "   [target] ${f}: found (${_repourl})"
+                continue
             fi
+            msg_error "$pkgver: target dependency '$f' does not exist!\n"
         done
         while read -r _depname _deprepover _depver _subpkg _repourl; do
             _vpkg=${_subpkg}-${_depver}
@@ -301,7 +336,7 @@ install_pkg_deps() {
                 echo "   [runtime] ${_vpkg}: not found"
                 missing_rdeps+=("$_vpkg")
             fi
-        done < <($XBPS_CHECKVERS_XCMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm $_deps)
+        done < <($XBPS_CHECKVERS_XCMD ${XBPS_SKIP_REMOTEREPOS:+-i} -D $XBPS_DISTDIR -sm $__deps)
         unset _deps
     fi
 

  parent reply	other threads:[~2019-09-29 17:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-29 17:18 [PR PATCH] " voidlinux-github
2019-09-29 17:19 ` [PR PATCH] [Updated] " voidlinux-github
2019-09-29 17:19 ` voidlinux-github [this message]
2019-09-29 18:20 ` voidlinux-github
2019-09-29 18:20 ` voidlinux-github
2019-09-29 18:22 ` voidlinux-github
2019-09-29 18:22 ` voidlinux-github
2019-10-21 16:03 ` voidlinux-github
2019-10-21 16:03 ` voidlinux-github
2019-10-21 16:04 ` voidlinux-github
2019-10-21 16:04 ` voidlinux-github
2019-10-21 16:37 ` [PR PATCH] [Merged]: " voidlinux-github

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190929171953.quEhIA_oP_RFV_eu2-PAQZH3GPVet68Z34ReY_bkLQQ@z \
    --to=voidlinux-github@inbox.vuxu.org \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).