1063 Commits

Author SHA1 Message Date
MilhouseVH
e69922455f scripts/pkgbuilder.py: bookend combined log with searchable tags 2020-01-21 17:07:18 +00:00
Matthias Reichl
2cb65bbaa2
Merge pull request #4094 from dhewg/pull/load
build: add load average limit to reduce CPU overcommitment
2020-01-21 00:14:18 +01:00
Matthias Reichl
80f1b14da0
Merge pull request #4092 from MilhouseVH/le10_generator
buildsystem: switch to dynamic scheduler
2020-01-21 00:13:51 +01:00
MilhouseVH
d8e11007fe config/multithread: dump stats only on success 2020-01-17 16:31:59 +00:00
Andre Heider
2d12b7ebe8 build: add load average limit to reduce CPU overcommitment
For make and ninja based build systems, no new jobs are started if the load
average is greater than number_of_cores * 1.5.
2020-01-17 09:16:37 +01:00
MilhouseVH
fe1dd1e8ac buildsystem: use an update lock when updating image and sysroot
cp (and potentially mkdir -p) are not atomic, and we have seen situations where two packages
concurrently copying the same file (eg. the udev rule for xf86-video-nvidia and
xf86-video-nvidia-legacy) will succeed for one package but the other package fails with
a "file exists" error (as the file didn't exist when it checked, but does exist when it
actually copies the file). Not even cp -f will avoid this issue.

There are several workarounds, but the most practical (and general) solution is to ensure
sequential updates of the image and shared sysroot directories.
2020-01-15 18:49:15 +00:00
Andre Heider
978cdeb5a6 build: use xargs to collect packages' json info 2020-01-15 18:49:15 +00:00
MilhouseVH
f173e38e54 buildsystem: dynamic schedule requires fewer locks; pkgbuilder.py now handles failed jobs 2020-01-15 18:49:15 +00:00
MilhouseVH
96c510394d buildsystem: add is_sequential_build() helper 2020-01-15 18:49:14 +00:00
MilhouseVH
439f38bcff config/functions: store config info in history 2020-01-15 18:49:14 +00:00
MilhouseVH
748befe904 scripts/genbuildplan.py: drop --reorder; cleanup args handling, and other processing. 2020-01-15 18:49:14 +00:00
MilhouseVH
00faa81294 scripts/pkgbuilder.py: replace parallel with something smarter 2020-01-15 18:49:11 +00:00
MilhouseVH
da94ecfb2f config/functions: major/minor version helper 2020-01-13 21:18:40 +00:00
Jonas Karlman
d350bbdf85 gcc-arm-aarch64-linux-gnu: update to 9.2-2019.12 and rename 2020-01-12 21:23:36 +00:00
MilhouseVH
06e0928840
Merge pull request #3140 from InuSasha/features/build-root
buildsystem: add possibility to move the build paths outside the git …
2020-01-08 15:21:22 +00:00
Christian Hewitt
d3323bb577
Merge pull request #4023 from MilhouseVH/le10_eabihf
config/arm: use eabihf for hard float
2020-01-08 19:04:51 +04:00
MilhouseVH
e48447f305 config/multithread: dump stats after a build 2019-12-31 13:50:00 +00:00
Andre Heider
8e4663912a build: move install dirs out of the build dir
Instead of cluttering $BUILD we now have
- $BUILD/build         sources and builds of packages
- $BUILD/install_pkg   installed packages
- $BUILD/install_init  installed packages for initramfs
2019-12-31 11:26:49 +01:00
Andre Heider
ae663c98e9 build: fix calculate_stamp() for multiple corner cases
- follow symlinks (as used by RPi/Slice)
- don't include hidden files like vi swap files (lol)
- remove duplicates (like $LINUX_DEPENDS for linux itself)
- sort by filename, not by hash
- don't use one sha256sum process per file, use xargs to pass all files to
  one process.
2019-12-31 11:26:49 +01:00
Andre Heider
b56c0f0619 build: add missing build stamp input data
Always include project specific package files
(e.g. projects/Amlogic/packages/systemd).
2019-12-31 11:26:49 +01:00
Andre Heider
3c8862a701 build: add and use get_install_dir()
Don't hardcode get_build_dir()/.install_pkg in multiple places.
2019-12-31 11:26:49 +01:00
Andre Heider
267d57d7f3 build: add and use PKG_INSTALL
Set it depending on the target, so there's no need to hardcode
$PKG_BUILD/.install_[pkg|init] in multiple places.
2019-12-31 11:26:49 +01:00
Andre Heider
4cca6adcb8 build: remove dead variabe STAMPS_NOARCH 2019-12-31 11:26:49 +01:00
Andre Heider
b40cfcaa41 build: remove dead variable INSTALL_INIT 2019-12-31 11:26:49 +01:00
Jernej Škrabec
679c235e01
Merge pull request #4070 from MilhouseVH/le10_fix_addons_error
buildsystem: "set -e" error handling not working for addon builds
2019-12-28 19:21:25 +01:00
MilhouseVH
3e8a33500d buildsystem: "set -e" error handling not working for addon builds 2019-12-19 08:11:50 +00:00
Andre Heider
882ecdecc9 llvm: fix cross compilation issues
llvm-config is a compiled host binary used to get infos about the
target installation (sic). It currently lives in the target sysroot,
which may not be usable because now we're mixing build host and
target libraries:

toolchain/x86_64-libreelec-linux-gnu/sysroot/usr/bin/llvm-config-host:
  relocation error: /lib/x86_64-linux-gnu/libpthread.so.0: symbol
                    __libc_vfork version GLIBC_PRIVATE not defined in file
                    libc.so.6 with link time reference

Move it to $TOOLCHAIN/bin where host binaries belong. But llvm-config
doesn't support spitting out a library path from a different prefix than
its own (which explains the placement in sysroot). Patch that in to
prevail sanity.

Then disable the z3 solver so the target doesn't use build host libraries.
But that's broken too, use debian's patch to fix it up (with the
addition to default to "OFF" instead on "ON").

Finally, disable new options and use the build type "MinSizeRel" for the
host as well, courtesy if @MilhouseVH.
2019-12-16 17:54:26 +01:00
MilhouseVH
b28a93e0a6
Merge pull request #3970 from chewitt/options
options: support per-buildsystem options
2019-12-15 02:00:16 +00:00
Sascha Kühndel
ebaff1375f
Merge pull request #4054 from MilhouseVH/le10_fix_flag_enabled_var
flag_enabled(): declare is local by default - remove it
2019-12-13 13:50:28 +01:00
MilhouseVH
8a7a9f3efe flag_enabled(): declare is local by default - remove it 2019-12-12 03:16:31 +00:00
chewitt
cf58340a27 options: support per-buildsystem options 2019-12-01 07:59:44 +00:00
MilhouseVH
e545d5b081 config/arm: use eabihf for hard float 2019-11-27 16:53:41 +00:00
MilhouseVH
6105f67998 post_install_addon: new package function 2019-11-17 20:50:31 +00:00
Jernej Škrabec
b4663fc070
Merge pull request #3965 from MilhouseVH/le10_python3_le_scripts
buildsystem: use /usr/bin/python3 in scripts
2019-11-15 08:06:47 +01:00
MilhouseVH
db6d111ecf scripts/checkdeps: can't install gcc if gcc not installed. Duh. 2019-11-08 00:09:26 +00:00
MilhouseVH
6eb226b1fb buildsystem: use /usr/bin/python3 in scripts 2019-11-07 10:33:47 +00:00
MilhouseVH
f03406f33b buildsystem: fix BUILD_WITH_DEBUG usage in config/optimize (v2) 2019-11-04 16:42:14 +00:00
MilhouseVH
021a47be35 buildsystem: fix BUILD_WITH_DEBUG usage in config/optimize 2019-11-04 16:34:55 +00:00
MilhouseVH
8df34cfa11 buildsystem: remove obsolete variable 2019-11-04 16:34:55 +00:00
MilhouseVH
0dea1a8b17 buildsystem: optimize for size when building with debug 2019-11-04 16:34:55 +00:00
MilhouseVH
a41d4f1e6b buildsystem: fix Python native modules that are using build host ABI (PEP3149) 2019-10-29 12:19:07 +00:00
MilhouseVH
fcfee6ff42 config/functions: add Python bytecode/source code helper functions 2019-10-29 12:19:07 +00:00
MilhouseVH
4ce4965f5a config: use Python3 package to set PKG_PYTHON_VERSION 2019-10-29 12:19:07 +00:00
MilhouseVH
a28a9c9980 tools/checkunpack: mass unpack tester 2019-10-25 02:25:11 +01:00
MilhouseVH
e9562ab488 config/functions: ensure enable_service tells us why it failed 2019-10-22 19:25:51 +01:00
5schatten
9df3cbaded setup_toolchain: add OpenGL_GL_PREFERENCE to target config 2019-09-27 14:36:17 +02:00
CvH
ff7b77aa5b
Merge pull request #3796 from MilhouseVH/le10_buildsystem_fixup3
buildsystem: more fixups
2019-09-24 21:14:23 +02:00
Sascha Kuehndel (InuSasha)
266f0932c8
buildsystem: swap setup_toolchain parameter 2019-09-19 11:14:43 +02:00
Sascha Kuehndel (InuSasha)
73eef7432f
buildsystem: convert to support mesonbuild >= 0.51.0
- meson needs a host environment for cross-compile
- allow setup_toolchain to setup toolchain based on used build-system
- adjust creation of meson.conf
2019-09-19 11:14:43 +02:00
MilhouseVH
baeacecab7 config/options: log PWD when the current directory includes a space 2019-09-16 02:51:03 +01:00