Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] linux5.11: try to build scripts/ for cross targets.
@ 2021-04-02 15:41 ericonr
  2021-04-02 15:43 ` [PR PATCH] [Updated] " ericonr
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: ericonr @ 2021-04-02 15:41 UTC (permalink / raw)
  To: ml

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

There is a new pull request by ericonr against master on the void-packages repository

https://github.com/ericonr/void-packages linux5.11
https://github.com/void-linux/void-packages/pull/29952

linux5.11: try to build scripts/ for cross targets.
Since we are here, clean up unused args and add a few comments.

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

[ci skip]

Relevant for DKMS modules on cross archs, like aarch64.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-linux5.11-29952.patch --]
[-- Type: text/x-diff, Size: 3142 bytes --]

From 40e61ff638caa3a89e05294c95e61c2f19a4d8bf Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 2 Apr 2021 12:40:01 -0300
Subject: [PATCH] linux5.11: try to build scripts/ for cross targets.

Since we are here, clean up unused args and add a few comments.
---
 srcpkgs/linux5.11/template | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/linux5.11/template b/srcpkgs/linux5.11/template
index a75cd56b0de8..e8a56959c806 100644
--- a/srcpkgs/linux5.11/template
+++ b/srcpkgs/linux5.11/template
@@ -3,6 +3,7 @@ pkgname=linux5.11
 version=5.11.11
 revision=1
 wrksrc="linux-${version%.*}"
+build_helper=qemu
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-2.0-only"
@@ -26,6 +27,7 @@ preserve=yes
 
 hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel
  openssl-devel perl uboot-mkimage cpio pahole python3"
+makedepends="elfutils-devel openssl-devel"
 
 _kernver="${version}_${revision}"
 triggers="kernel-hooks"
@@ -52,9 +54,6 @@ export KBUILD_BUILD_HOST=voidlinux
 if [ "$CROSS_BUILD" ]; then
 	_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
 fi
-if [ "${_patchver}" ]; then
-	_version="EXTRAVERSION=${_patchver}"
-fi
 
 pre_patch() {
 	xzcat $XBPS_SRCDISTDIR/$pkgname-$version/patch-${version}.xz | patch -Np1
@@ -85,13 +84,6 @@ do_configure() {
 		msg_normal "Detected a .config file for your arch, using it.\n"
 		cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig .config
 		make ${makejobs} ARCH=$arch ${_cross} oldconfig
-	elif [ -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig ]; then
-		msg_normal "Detected a .config file for your cpu family, using it.\n"
-		cp -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig .config
-		make ${makejobs} ARCH=$arch ${_cross} oldconfig
-	else
-		msg_normal "Defaulting to 'allmodconfig'.\n"
-		make ${makejobs} ARCH=$arch ${_cross} allmodconfig
 	fi
 	# Always use our revision to CONFIG_LOCALVERSION to match our pkg version.
 	sed -i -e "s|^\(CONFIG_LOCALVERSION=\).*|\1\"_${revision}\"|" .config
@@ -109,8 +101,8 @@ do_build() {
 		mips*) _args="uImage modules dtbs"; arch=mips;;
 	esac
 	export LDFLAGS=
-	make ARCH=$arch ${_version} ${_cross} ${makejobs} prepare
-	make ARCH=$arch ${_version} ${_cross} ${makejobs} ${_args}
+	make ARCH=$arch ${_cross} ${makejobs} prepare
+	make ARCH=$arch ${_cross} ${makejobs} ${_args}
 }
 
 do_install() {
@@ -125,7 +117,7 @@ do_install() {
 		mips*) arch=mips;;
 	esac
 
-	# Run depmod after compressing modules.
+	# Run depmod after compressing modules - makes depmod.sh a noop
 	sed -i '2iexit 0' scripts/depmod.sh
 
 	# Install kernel, firmware and modules
@@ -203,6 +195,9 @@ do_install() {
 		make ${makejobs} ARCH=${subarch:-$arch} ${_cross} _mrproper_scripts
 		# remove host specific objects as well
 		find scripts -name '*.o' -delete
+		: make ${makejobs} ARCH=${subarch:-$arch} CC=$CC scripts
+		# TODO: this fails because it tries to run fixdep
+		# idea: use qemu?
 	fi
 
 	# Copy files necessary for later builds, like nvidia and vmware

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Updated] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
@ 2021-04-02 15:43 ` ericonr
  2021-04-02 19:00 ` [WIP] " ericonr
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-04-02 15:43 UTC (permalink / raw)
  To: ml

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

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

https://github.com/ericonr/void-packages linux5.11
https://github.com/void-linux/void-packages/pull/29952

linux5.11: try to build scripts/ for cross targets.
Since we are here, clean up unused args and add a few comments.

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

[ci skip]

Relevant for DKMS modules on cross archs, like aarch64.

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

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-linux5.11-29952.patch --]
[-- Type: text/x-diff, Size: 3146 bytes --]

From f8d084500df52abd014a96b9fefa01005ba9e1b6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico.erc@gmail.com>
Date: Fri, 2 Apr 2021 12:40:01 -0300
Subject: [PATCH] linux5.11: try to build scripts/ for cross targets.

Since we are here, clean up unused args and add a few comments.
---
 srcpkgs/linux5.11/template | 21 ++++++++-------------
 1 file changed, 8 insertions(+), 13 deletions(-)

diff --git a/srcpkgs/linux5.11/template b/srcpkgs/linux5.11/template
index a75cd56b0de8..11dd61dd2c9e 100644
--- a/srcpkgs/linux5.11/template
+++ b/srcpkgs/linux5.11/template
@@ -3,6 +3,7 @@ pkgname=linux5.11
 version=5.11.11
 revision=1
 wrksrc="linux-${version%.*}"
+build_helper=qemu
 short_desc="Linux kernel and modules (${version%.*} series)"
 maintainer="Érico Nogueira <ericonr@disroot.org>"
 license="GPL-2.0-only"
@@ -26,6 +27,7 @@ preserve=yes
 
 hostmakedepends="tar xz bc elfutils-devel flex gmp-devel kmod libmpc-devel
  openssl-devel perl uboot-mkimage cpio pahole python3"
+makedepends="elfutils-devel openssl-devel"
 
 _kernver="${version}_${revision}"
 triggers="kernel-hooks"
@@ -52,9 +54,6 @@ export KBUILD_BUILD_HOST=voidlinux
 if [ "$CROSS_BUILD" ]; then
 	_cross="CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
 fi
-if [ "${_patchver}" ]; then
-	_version="EXTRAVERSION=${_patchver}"
-fi
 
 pre_patch() {
 	xzcat $XBPS_SRCDISTDIR/$pkgname-$version/patch-${version}.xz | patch -Np1
@@ -85,13 +84,6 @@ do_configure() {
 		msg_normal "Detected a .config file for your arch, using it.\n"
 		cp -f ${FILESDIR}/${subarch:-$arch}-dotconfig .config
 		make ${makejobs} ARCH=$arch ${_cross} oldconfig
-	elif [ -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig ]; then
-		msg_normal "Detected a .config file for your cpu family, using it.\n"
-		cp -f ${FILESDIR}/${XBPS_TARGET_MACHINE%%-musl}-dotconfig .config
-		make ${makejobs} ARCH=$arch ${_cross} oldconfig
-	else
-		msg_normal "Defaulting to 'allmodconfig'.\n"
-		make ${makejobs} ARCH=$arch ${_cross} allmodconfig
 	fi
 	# Always use our revision to CONFIG_LOCALVERSION to match our pkg version.
 	sed -i -e "s|^\(CONFIG_LOCALVERSION=\).*|\1\"_${revision}\"|" .config
@@ -109,8 +101,8 @@ do_build() {
 		mips*) _args="uImage modules dtbs"; arch=mips;;
 	esac
 	export LDFLAGS=
-	make ARCH=$arch ${_version} ${_cross} ${makejobs} prepare
-	make ARCH=$arch ${_version} ${_cross} ${makejobs} ${_args}
+	make ARCH=$arch ${_cross} ${makejobs} prepare
+	make ARCH=$arch ${_cross} ${makejobs} ${_args}
 }
 
 do_install() {
@@ -125,7 +117,7 @@ do_install() {
 		mips*) arch=mips;;
 	esac
 
-	# Run depmod after compressing modules.
+	# Run depmod after compressing modules - makes depmod.sh a noop
 	sed -i '2iexit 0' scripts/depmod.sh
 
 	# Install kernel, firmware and modules
@@ -203,6 +195,9 @@ do_install() {
 		make ${makejobs} ARCH=${subarch:-$arch} ${_cross} _mrproper_scripts
 		# remove host specific objects as well
 		find scripts -name '*.o' -delete
+		: make ${makejobs} ARCH=${subarch:-$arch} HOSTCC=$CC scripts
+		# TODO: this fails because it tries to run fixdep
+		# idea: use qemu?
 	fi
 
 	# Copy files necessary for later builds, like nvidia and vmware

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
  2021-04-02 15:43 ` [PR PATCH] [Updated] " ericonr
@ 2021-04-02 19:00 ` ericonr
  2021-04-02 19:03 ` ericonr
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-04-02 19:00 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/29952#issuecomment-812667442

Comment:
I can't make it not rebuild `fixdep` using the new `HOSTCC`. One plan was to build it for host first, build the others programs and finally rebuild it for the target.

See `make -d` output:

```
Updating goal targets....
Considering target file '__build'.
 File '__build' does not exist.
  Considering target file 'scripts/basic/fixdep'.
    Considering target file 'scripts/basic/fixdep.c'.
     Looking for an implicit rule for 'scripts/basic/fixdep.c'.
     Trying pattern rule with stem 'fixdep.c'.
     Trying implicit prerequisite 'scripts/basic/fixdep.c_shipped'.
     Trying pattern rule with stem 'fixdep.c'.
     Trying implicit prerequisite 'scripts/basic/fixdep.c_shipped'.
     Looking for a rule with intermediate file 'scripts/basic/fixdep.c_shipped'.
      Avoiding implicit rule recursion.
     No implicit rule found for 'scripts/basic/fixdep.c'.
     Finished prerequisites of target file 'scripts/basic/fixdep.c'.
    No need to remake target 'scripts/basic/fixdep.c'.
    Considering target file 'FORCE'.
     File 'FORCE' does not exist.
     Finished prerequisites of target file 'FORCE'.
    Must remake target 'FORCE'.
    Successfully remade target file 'FORCE'.
   Considering target file 'FORCE'.
   File 'FORCE' was considered already.
   Finished prerequisites of target file 'scripts/basic/fixdep'.
   Prerequisite 'scripts/basic/fixdep.c' is older than target 'scripts/basic/fixdep'.
   Prerequisite 'FORCE' of target 'scripts/basic/fixdep' does not exist.
  Must remake target 'scripts/basic/fixdep'.
Putting child 0x55fc06c6f1c0 (scripts/basic/fixdep) PID 9052 on the chain.
Live child 0x55fc06c6f1c0 (scripts/basic/fixdep) PID 9052
  HOSTCC  scripts/basic/fixdep
/bin/sh: line 1: scripts/basic/fixdep: cannot execute binary file: Exec format error
```

I have no idea how to bypass this `FORCE` thing.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
  2021-04-02 15:43 ` [PR PATCH] [Updated] " ericonr
  2021-04-02 19:00 ` [WIP] " ericonr
@ 2021-04-02 19:03 ` ericonr
  2021-04-02 19:05 ` ericonr
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-04-02 19:03 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/29952#issuecomment-812667442

Comment:
I can't make it not rebuild `fixdep` using the new `HOSTCC`. One plan was to build it for host first, build the others programs and finally rebuild it for the target.

See `make -d` output:

```
Updating goal targets....
Considering target file '__build'.
 File '__build' does not exist.
  Considering target file 'scripts/basic/fixdep'.
    Considering target file 'scripts/basic/fixdep.c'.
     Looking for an implicit rule for 'scripts/basic/fixdep.c'.
     Trying pattern rule with stem 'fixdep.c'.
     Trying implicit prerequisite 'scripts/basic/fixdep.c_shipped'.
     Trying pattern rule with stem 'fixdep.c'.
     Trying implicit prerequisite 'scripts/basic/fixdep.c_shipped'.
     Looking for a rule with intermediate file 'scripts/basic/fixdep.c_shipped'.
      Avoiding implicit rule recursion.
     No implicit rule found for 'scripts/basic/fixdep.c'.
     Finished prerequisites of target file 'scripts/basic/fixdep.c'.
    No need to remake target 'scripts/basic/fixdep.c'.
    Considering target file 'FORCE'.
     File 'FORCE' does not exist.
     Finished prerequisites of target file 'FORCE'.
    Must remake target 'FORCE'.
    Successfully remade target file 'FORCE'.
   Considering target file 'FORCE'.
   File 'FORCE' was considered already.
   Finished prerequisites of target file 'scripts/basic/fixdep'.
   Prerequisite 'scripts/basic/fixdep.c' is older than target 'scripts/basic/fixdep'.
   Prerequisite 'FORCE' of target 'scripts/basic/fixdep' does not exist.
  Must remake target 'scripts/basic/fixdep'.
Putting child 0x55fc06c6f1c0 (scripts/basic/fixdep) PID 9052 on the chain.
Live child 0x55fc06c6f1c0 (scripts/basic/fixdep) PID 9052
  HOSTCC  scripts/basic/fixdep
/bin/sh: line 1: scripts/basic/fixdep: cannot execute binary file: Exec format error
```

I have no idea how to bypass this `FORCE` thing. `FORCE` is a `PHONY`, so it isn't even possible to temporarily create a file named FORCE.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
                   ` (2 preceding siblings ...)
  2021-04-02 19:03 ` ericonr
@ 2021-04-02 19:05 ` ericonr
  2021-04-09  1:06 ` sgn
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-04-02 19:05 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/29952#issuecomment-812669109

Comment:
And then they delete `fixdep`: `make[1]: *** Deleting file 'scripts/basic/fixdep'` :(

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
                   ` (3 preceding siblings ...)
  2021-04-02 19:05 ` ericonr
@ 2021-04-09  1:06 ` sgn
  2021-06-24 14:05 ` [PR PATCH] [Closed]: " ericonr
  2021-06-24 14:05 ` ericonr
  6 siblings, 0 replies; 8+ messages in thread
From: sgn @ 2021-04-09  1:06 UTC (permalink / raw)
  To: ml

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

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/29952#issuecomment-816331699

Comment:
Debian has a set of Makefile to build those tools.
My bigger concern is the tools usage:
- Is it for using natively on cross-target?
- Is it usable for cross-compiling an OOT module (let's say with -mklive)?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
                   ` (5 preceding siblings ...)
  2021-06-24 14:05 ` [PR PATCH] [Closed]: " ericonr
@ 2021-06-24 14:05 ` ericonr
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-06-24 14:05 UTC (permalink / raw)
  To: ml

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

New comment by ericonr on void-packages repository

https://github.com/void-linux/void-packages/pull/29952#issuecomment-867664841

Comment:
Will be fixed for 5.12 using leah's patch for 5.10. Should be imported into rpi-kernels once those are updated.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PR PATCH] [Closed]: [WIP] linux5.11: try to build scripts/ for cross targets.
  2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
                   ` (4 preceding siblings ...)
  2021-04-09  1:06 ` sgn
@ 2021-06-24 14:05 ` ericonr
  2021-06-24 14:05 ` ericonr
  6 siblings, 0 replies; 8+ messages in thread
From: ericonr @ 2021-06-24 14:05 UTC (permalink / raw)
  To: ml

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

There's a closed pull request on the void-packages repository

[WIP] linux5.11: try to build scripts/ for cross targets.
https://github.com/void-linux/void-packages/pull/29952

Description:
Since we are here, clean up unused args and add a few comments.

<!-- Mark items with [x] where applicable -->

#### General
- [ ] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [ ] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me
- [ ] I generally don't use the affected packages but briefly tested this PR

<!--
If GitHub CI cannot be used to validate the build result (for example, if the
build is likely to take several hours), make sure to
[skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration).
When skipping CI, uncomment and fill out the following section.
Note: for builds that are likely to complete in less than 2 hours, it is not
acceptable to skip CI.
-->
<!-- 
#### Does it build and run successfully? 
(Please choose at least one native build and, if supported, at least one cross build. More are better.)
- [ ] I built this PR locally for my native architecture, (ARCH-LIBC)
- [ ] I built this PR locally for these architectures (if supported. mark crossbuilds):
  - [ ] aarch64-musl
  - [ ] armv7l
  - [ ] armv6l-musl
-->

[ci skip]

Relevant for DKMS modules on cross archs, like aarch64.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-06-24 14:05 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-02 15:41 [PR PATCH] linux5.11: try to build scripts/ for cross targets ericonr
2021-04-02 15:43 ` [PR PATCH] [Updated] " ericonr
2021-04-02 19:00 ` [WIP] " ericonr
2021-04-02 19:03 ` ericonr
2021-04-02 19:05 ` ericonr
2021-04-09  1:06 ` sgn
2021-06-24 14:05 ` [PR PATCH] [Closed]: " ericonr
2021-06-24 14:05 ` ericonr

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).