From: sgn <sgn@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] xbps-src: bootstrap from foreign distro fix
Date: Thu, 20 Aug 2020 15:36:29 +0200 [thread overview]
Message-ID: <20200820133629.3kt0-Nj9FdQrSo77jyocLNdp1n1YvnVGSBxCOsR7VwI@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-24343@inbox.vuxu.org>
[-- Attachment #1: Type: text/plain, Size: 423 bytes --]
There is an updated pull request by sgn against master on the void-packages repository
https://github.com/sgn/void-packages xbps-src-bootstrap-foreign
https://github.com/void-linux/void-packages/pull/24343
xbps-src: bootstrap from foreign distro fix
Trying to binary-bootstrap from Ubuntu 20.04 today.
This is a preliminary fix.
A patch file from https://github.com/void-linux/void-packages/pull/24343.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-xbps-src-bootstrap-foreign-24343.patch --]
[-- Type: text/x-diff, Size: 4573 bytes --]
From 8da930c48dc5ed8338bfdc108997f1f9f62c36f9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 18 Aug 2020 19:53:55 +0700
Subject: [PATCH 1/3] xbps-src: use internal config in foreign environment
When xbps-install is called without "-C", xbps-install will pick
configuration from the location configured at build time.
Should the default location not have a valid repository configuration,
we couldn't run binary-bootstrap.
On bootstrapping from scratch, without this change, xbps looks into
system configuration, which isn't what we want.
Run xbps-install with our internal configuration instead.
---
xbps-src | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbps-src b/xbps-src
index 2462ddc0b89..1c83708c8da 100755
--- a/xbps-src
+++ b/xbps-src
@@ -613,8 +613,8 @@ if [ "$IN_CHROOT" ]; then
readonly XBPS_BUILDDIR=/builddir
else
readonly XBPS_UHELPER_CMD="xbps-uhelper -r $XBPS_MASTERDIR"
- readonly XBPS_INSTALL_CMD="xbps-install -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR"
- readonly XBPS_QUERY_CMD="xbps-query -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR"
+ readonly XBPS_INSTALL_CMD="xbps-install -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d"
+ readonly XBPS_QUERY_CMD="xbps-query -c $XBPS_HOSTDIR/repocache-$XBPS_MACHINE -r $XBPS_MASTERDIR -C etc/xbps.d"
readonly XBPS_RECONFIGURE_CMD="xbps-reconfigure -r $XBPS_MASTERDIR"
readonly XBPS_REMOVE_CMD="xbps-remove -r $XBPS_MASTERDIR"
readonly XBPS_CHECKVERS_CMD="xbps-checkvers -r $XBPS_MASTERDIR"
From 820fbce84300afb40add4eda8dc17b51032c7c8d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Tue, 18 Aug 2020 20:42:51 +0700
Subject: [PATCH 2/3] xbps-src: environment: keep LD_LIBRARY_PATH outside of
chroot
Using self-built xbps in non-standard location requires setting
LD_LIBRARY_PATH. Thus, bootstrapping from foreign distribution
with those binaries failed.
---
common/environment/setup/sourcepkg.sh | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/common/environment/setup/sourcepkg.sh b/common/environment/setup/sourcepkg.sh
index bc06f745b78..d7253459be3 100644
--- a/common/environment/setup/sourcepkg.sh
+++ b/common/environment/setup/sourcepkg.sh
@@ -16,9 +16,13 @@ unset -v go_import_path go_package go_mod_mode
unset -v patch_args disable_parallel_build keep_libtool_archives make_use_env
unset -v reverts subpackages makedepends hostmakedepends checkdepends depends restricted
unset -v nopie build_options build_options_default bootstrap repository reverts
-unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS LD_LIBRARY_PATH
+unset -v CFLAGS CXXFLAGS FFLAGS CPPFLAGS LDFLAGS
unset -v CC CXX CPP GCC LD AR AS RANLIB NM OBJDUMP OBJCOPY STRIP READELF PKG_CONFIG
+if [ "$IN_CHROOT" ]; then
+ unset -v LD_LIBRARY_PATH
+fi
+
# hooks/do-extract/00-distfiles
unset -v skip_extraction
From fa43f300b6150ab2ce35fa6c10119ebe2e016ddd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Thu, 20 Aug 2020 20:24:52 +0700
Subject: [PATCH 3/3] glibc: fix bootstrap with gcc -fcf-protection
Some distros ship gcc that implicitly enables the "-fcf-protection".
Upstream GCC does not do that, so the glibc configure logic is not
prepared for that. Hence, bootstrapping glibc on such system will
result in error:
elf/ld.so.new: hidden symbol `_dl_cet_open_check' isn't defined
We must --enable-cet to fix it.
Future glibc will --enable-cet automatically if -fcf-protection.
Reference:
1: https://stackoverflow.com/a/59006638
2: https://sourceware.org/bugzilla/show_bug.cgi?id=25225
---
srcpkgs/glibc/template | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/srcpkgs/glibc/template b/srcpkgs/glibc/template
index 4ea327aa1fa..5f0868ceb77 100644
--- a/srcpkgs/glibc/template
+++ b/srcpkgs/glibc/template
@@ -88,8 +88,11 @@ do_configure() {
configure_args+=" --host=${XBPS_CROSS_TRIPLET}"
configure_args+=" --with-sysroot=${XBPS_CROSS_BASE}"
configure_args+=" --with-headers=${XBPS_CROSS_BASE}/usr/include"
- else
+ elif [ ! "$CHROOT_READY" ]; then
configure_args+=" --with-headers=${XBPS_MASTERDIR}/usr/include"
+ # TODO: remove when upgrade to newer version
+ configure_args+=" --enable-cet"
+ CPPFLAGS+=" -isystem ${XBPS_MASTERDIR}/usr/include"
fi
# Disable SSP from CFLAGS (enabled below)
next prev parent reply other threads:[~2020-08-20 13:36 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-18 13:54 [PR PATCH] " sgn
2020-08-20 13:36 ` sgn [this message]
2020-08-22 1:11 ` [PR PATCH] [Updated] " sgn
2020-08-24 14:17 ` sgn
2020-08-24 14:22 ` sgn
2020-08-25 12:25 ` [PR PATCH] [Updated] " sgn
2020-09-19 3:42 ` [PR PATCH] [Closed]: " sgn
2020-12-07 0:04 ` sgn
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=20200820133629.3kt0-Nj9FdQrSo77jyocLNdp1n1YvnVGSBxCOsR7VwI@z \
--to=sgn@users.noreply.github.com \
--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).