Commit Graph
130 Commits
Author SHA1 Message Date
Oliver Smith c61f0dae5e Revert "cross/binutils-*: update to 2.32-r0"
This reverts commit 593fe01bb8.

Binaries in binutils-armhf etc. break the build system:

Error loading shared library libopcodes-2.32.so: Exec format error (needed by /usr/bin/as)
Error loading shared library libbfd-2.32.so: Exec format error (needed by /usr/bin/as)
Error loading shared library libz.so.1: Exec format error (needed by /usr/bin/as)
Error relocating /usr/bin/as: bfd_errmsg: symbol not found
Error relocating /usr/bin/as: deflateEnd: symbol not found
Error relocating /usr/bin/as: bfd_arch_bits_per_address: symbol not found
Error relocating /usr/bin/as: bfd_set_error_program_name: symbol not found
Error relocating /usr/bin/as: xcalloc: symbol not found

Reverting for now. The upstream compatibility CI test is expected to fail.
The postmarketOS binary repositories still have the old binutils package.

I'm analyzing this issue in #295.

[ci:skip-vercheck]: package downgrade
2019-06-09 22:44:04 +02:00
Oliver Smith 593fe01bb8 cross/binutils-*: update to 2.32-r0 2019-06-09 21:24:16 +02:00
Oliver Smith 974fa8e028 cross/musl-*: update to 1.1.22-r2 2019-06-06 22:22:51 +02:00
Oliver Smith 2cba912d15 cross/grub-x86: fix pmb:strict option name
This package should use the pmb:strict option, in order to force
pmbootstrap to always build it in strict mode. Otherwise it can have
a conflict with packages installed earlier.

I've just noticed that the merged patch was still using the early name
of the option, "pmbootstrap-strict". It was later changed to
"pmb:strict" in the related pmbootstrap!1771 merge request, for
consistency with !pmb:kconfig-check. Fix grub-x86 to use the proper
option name.

[ci:skip-vercheck]: version bump not needed
2019-06-04 23:28:39 +02:00
Oliver Smith f45faa2c2a cross/grub-efi-x86: update to 2.0.2-r17 2019-05-28 23:21:13 +02:00
Oliver Smith 4e9d08d39e cross/gcc-*: re-generate with pmbootstrap aportgen
Adjust the depends of the GCC-8 cross compiler packages after the change
from pmbootstrap!1778. This does not have any effect (since the GCC-8
aports don't have !tracedeps in options, in contrary to the other GCC
aports we ship). But it makes sure that we don't get any changes after
running the repository maintenance script from here:
https://wiki.postmarketos.org/wiki/Repository_maintenance

[ci:skip-build]: cosmetic change, build would take too long anyway
2019-04-30 19:12:56 +02:00
Oliver Smith c6e854b186 main/gcc{4,6}, cross/gcc{4,6}*: fix depends
Explicitly depend on mpc1. Our generated gcc aports use the !tracedeps
option, so we need to explicitly set the libraries it depends on.

This has mostly not been an issue, as we are installing our gcc
packages together with Alpine's gcc package, which causes the libraries
to get installed anyway.

Fixes #236.

[ci:skip-build]: takes too long to build.
2019-04-26 22:45:54 +02:00
Oliver Smith b4ed4fce33 cross/busybox-static-*: update to 1.30.1-r1 2019-04-26 21:02:37 +02:00
Oliver Smith 2c07f28419 cross/crossdirect: use qemu when linking (!318)
Cross linker (e.g. ld from binutils-armhf) does not support any method
of setting additional link paths, and this causes problems when building
various packages. Work around this problem by calling the qemu binary
instead of the cross binary from the native chroot, whenever we are
linking.

I have tested that this allows successfully building hello-world,
coreinfo, libhybris for armhf. So this fixes #227 and fixes #228.

Regarding performance, this is the same way as distcc does it. We would
get a performance gain if we were able to use the cross-linker. But so
far I could not figure out how to patch the binutils source to make it
work like we want to have it. Maybe I'll ask on some binutils mailing
list for advice. In the meantime, this workaround should make
crossdirect work for all use-cases, and it is still faster than the
previous distcc setup, because we can avoid the overhead of setting up
and running a ssh server locally to work around missing authentication
in distcc (see pmbootstrap!1649). Let's test this for some more time,
and then make a pmbootstrap release that rolls out crossdirect for
everyone.
2019-04-14 04:03:21 +02:00
Oliver Smith 9b6ea60690 cross/musl-*: update to 1.1.22-r0 2019-04-11 23:48:26 +02:00
Oliver Smith 3928475fd6 cross/grub-efi-x86: update to 2.02-15 (!302) 2019-04-06 01:30:29 +02:00
Nick Reitemeyer 39971739fa surftab-wintron7.0: new device (TrekStor Surftab wintron 7.0) (!290)
This device is x86_64 and has a 32-bit UEFI, so I need to install
32-bit grub (AFAIK it's the only bootloader capable of loading a 64-bit
kernel from 32-bit).

The grub-efi-x86 package has been generated with pmbootstrap.
2019-04-04 19:58:24 +02:00
Oliver Smith 958f597a6c cross/crossdirect: use ccache, execve, -Werror (!299)
Instead of running compilers directly, let them go through the native
ccache binary. Note that it will still use the foreign arches cache dir
because the native cache dir would be at /native/home/pmos/.ccache.

Use execve instead of setenv and execv, because that didn't work with
LD_LIBRARY_PATH (ccache was complaining that it couldn't load zlib).

Enable -Werror, because we are maintaining this program and it helps
us catching bugs early.
2019-04-03 21:26:12 +02:00
Oliver Smith 9c90da7969 ccache-cross-symlinks: all arches, relative, clang (!299)
Create symlinks for all supported arches (armhf, armv7, aarch64, x86_64,
x86), not only armhf and aarch64. Skip creating symlinks for the arch
that the package gets built for, so we can include x86_64 in the list
without conflicting with the ccache package from Alpine.

Link to ../../../bin/ccache instead of /usr/bin/ccache, so it works
properly with crossdirect (where we mount the native chroot to /native
in the foreign chroot).

Add symlinks for clang and clang++.
2019-04-03 21:26:12 +02:00
Oliver Smith c6aae11598 cross/musl-*: update to 1.1.21-r2 2019-03-26 23:19:56 +01:00
Zhuowei Zhang 68c1d5d2bd cross: add crossdirect package (!222)
A set of wrapper executables that launch native cross compilers inside
foreign chroots. Speeds up cross compilation a lot, compared to the
distcc-sshd method.
2019-03-23 01:05:40 +01:00
Oliver Smith 0d966c7a6f cross/musl-*: update to 1.1.21-r1 2019-03-20 08:23:39 +01:00
Oliver Smith f1121b5e07 cross/musl-*: regenerate pmaports (!270)
Regenerated with:
$ pmbootstrap aportgen musl-armhf musl-aarch64 musl-aarch64

This new version fixes the build for gitlab-ci and builds.sr.ht:
https://gitlab.com/postmarketOS/pmaports/issues/26
2019-03-10 02:01:23 +01:00
Oliver Smith 17dae7d98c cross/gcc4-{aarch64,armv7}: add generated aports
Make it possible to build old kernels with gcc4 for armv7 and aarch64.

The packages have been generated with (as usually):
$ pmbootstrap aportgen gcc4-aarch64 gcc4-armv7

[ci:skip-build]: I have tested that this builds locally.

Fixes #193.
2019-02-28 13:29:03 +01:00
Martijn Braam 021640f04b cross/gcc-*: update to 8.3.0-r0 2019-02-26 13:22:07 +01:00
Oliver Smith 3de8300f91 cross/busybox-static-*: update to 1.30.1 2019-02-16 18:39:41 +01:00
Oliver Smith bc0a942628 cross/musl-*: update to 1.1.21 2019-02-15 11:00:38 +01:00
Daniele Debernardi 7b3702e2dd Add gcc4 and gcc4-armhf packages (!216)
Successfully tested both the gcc4 compiler on x86_64 with a simple
program (fbdebug) and the gcc4-armhf cross-compiler to build a very old
u-boot port for Galaxy Nexus (a MR will follow soon) which failed to
boot with either newer version (6 and 8).

[skip ci]: already went through
2019-02-12 21:03:12 +00:00
Oliver Smith dcaf388c44 cross/busybox-static-*: update to 1.29.3-r12 2019-02-07 06:53:58 +01:00
Oliver Smith 7828c621da busybox-static-*: update to 1.29.3-r10 2019-01-25 08:37:02 +01:00
Oliver Smith 6e7778f4bd cross/busybox-static-*: update to 1.29.3-r9 2019-01-18 07:29:57 +01:00
Martijn Braam 093cc7d002 cross/busybox-static-*: update to 1.29.3-r7 2019-01-14 22:48:40 +01:00
Oliver Smith ab9d05eea6 cross/arch-bin-masquerade: add armv7
Make our distcc+ccache+cross compiling setup work with armv7.
2019-01-10 22:43:13 +01:00
Oliver Smith f9c6aa17cc cross/busybox-static-*: update to 1.29.3-r6 2019-01-10 22:26:56 +01:00
Oliver Smith 6225dfa554 cross/musl-*: update to 1.1.20-r3 2019-01-04 21:07:23 +01:00
Oliver Smith 9b4435bcd0 cross/gcc-*: add missing patch file
I forgot to add it with the last commit, sorry for that.
2019-01-03 16:03:55 +01:00
Oliver Smith 81b184522a cross/gcc-*: update to 8.2.0-r2
[skip ci], as the build takes too long.
2019-01-03 15:57:32 +01:00
Oliver Smith b682ed3a98 cross/binutils-*: update to 2.31.1-r2 2019-01-03 09:47:29 +01:00
Oliver Smith ac2730385b cross/busybox-static-*: update to 1.29.3-r5 2019-01-02 09:07:03 +01:00
Oliver Smith 984476227f cross/binutils-*: regenerate with pmbootstrap
Changes spaces to tabs in the APKBUILDs, thanks to this fix:
https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1734

Alpine uses tabs in almost all their APKBUILDs, so we should do it the
same way. [skip ci].
2018-12-31 08:55:09 +01:00
Oliver Smith 14cf39a836 cross/gcc6-{aarch64,armhf}: regenerate with pmbootstrap
Run 'pmbootstrap aportgen gcc6-aarch64 gcc6-armhf' again and commit
the resulting changes, as these packages are meant to be always
auto-generated and therefore in sync with main/gcc6.

This changes the pkgver to 9999, as it was required in main/gcc6 to
avoid conflicts with Alpine's gcc6 package.
2018-12-31 08:45:39 +01:00
Grant Miller 74941fe0d4 Add cross/{binutils,busybox-static,gcc,gcc6,musl}-armv7 (!110)
Generated with:
$ pmbootstrap aportgen binutils-armv7 busybox-static-armv7 gcc-armv7 \
  gcc7-armv7 musl-armv7

[skip ci]
2018-12-22 23:25:26 +01:00
Oliver Smith 15ff816233 cross/binutils-*, cross/musl-*: add armv7
Regenerate these aports, so the test case does not complain anymore
that they are outdated. Adds armv7 to the arch lines, as that is the
aportgen change which was done in pmbootstrap!1730.
2018-12-22 09:29:47 +01:00
Oliver Smith 017376be29 cross/busybox-static-*: update to 1.29.3-r4 2018-12-10 07:45:05 +01:00
Oliver Smith ffee5d6a4a cross/busybox-static-*: update to 1.29.3-r3 2018-11-27 07:47:11 +01:00
Oliver Smith 1358b1a91d cross/gcc-*: update to upstream (8.2.0-r1) 2018-11-27 07:47:11 +01:00
Oliver Smith 80a704e1c6 cross/binutils-*: regenerate aports (update src url)
Download URL was changed from HTTP to HTTPS in Alpine's binutils
aport. Adjust our automatically generated binutils-* aports.
2018-11-27 07:47:11 +01:00
Oliver Smith 2f125587fe cross/busybox-static-*: update to 1.29.3-r2 2018-11-27 07:47:11 +01:00
Oliver Smith 70a3d3b9d5 cross/*-x86_64: remove aports
These can be manually generated when one really wants to cross compile
from arm to x86_64. Usually this is not needed, so let's save the
compile time. [skip ci]
2018-11-27 07:47:11 +01:00
Oliver Smith 2e7437825b cross/gcc*: set arch to x86_64 only
This covers most use cases and saves a lot of build time. Can be
changed on demand. Again, this simplifies package building as part of
the new build infrastructure effort. [skip ci]
2018-11-27 07:47:11 +01:00
Oliver Smith 61489b8367 cross/busybox-static-*: update to 1.29.3-r1 2018-11-27 07:47:11 +01:00
Oliver Smith dd17dc5c06 */gcc6*: properly regenerate aports with aportgen
I did it manually in the previous commit and replaced the wrong for
loop in gcc6-armhf. [skip ci]
2018-11-27 07:47:11 +01:00
Oliver Smith 1b78e64748 */gcc6*: add symlinks for all binutils [skip ci]
I thought only having specific symlinks was enough, and it was for one
kernel. However, to make sure it works with all kernels, let's just add
symlinks for all the binutils.
2018-11-27 07:47:11 +01:00
Oliver Smith 7e89296ab4 */gcc6*: bump pkgrel [skip ci] 2018-11-27 07:47:11 +01:00
Oliver Smith 4dbef543cd */gcc6*: add objdump symlink [skip ci]
Without this symlink, lots of messages like this one appear while
compiling kernels:

/bin/sh: gcc6-armv6-alpine-linux-muslgnueabihf-objdump: not found
2018-11-27 07:47:11 +01:00