Commit Graph

1005 Commits

Author SHA1 Message Date
MilhouseVH
a1e700fd87 buildsystem: log pkg_call that failed 2020-02-19 07:49:35 +00:00
dhewg
c6e17d2b06 Merge pull request #4177 from MilhouseVH/le10-pkgbuilder-setsid
scripts/pkgbuilder.py: assign each subprocess a process group
2020-02-19 08:47:22 +01:00
MilhouseVH
ef86eb88ae scripts/pkgbuilder.py: drop redundant test 2020-02-19 07:41:18 +00:00
MilhouseVH
a6f81e49d5 scripts/pkgbuilder.py: enable percent/load/mem info with --progress 2020-02-19 07:33:42 +00:00
MilhouseVH
e488126c36 scripts/get_archive: try two times to download file 2020-02-15 19:18:18 +01:00
MilhouseVH
70b69ebffa Merge pull request #4191 from HiassofT/le10-fix-obj-remove
allow packages to install *.o files into the image
2020-02-13 17:26:09 +00:00
MilhouseVH
8e2c02f464 scripts/pkgbuilder.py: assign each subprocess a process group
When pkgbuilder.py is terminated with SIGINT (ie. ctrl-c), or exits
immediately due to a failed job, it is sometimes possible for child
subprocesses (ie. build tasks) to remain alive and continue running
in the background.

To fix this, assign each subprocess a new process group identifier,
and capture the pid of each child subprocess so that on shutdown we
can kill the entire child process group (ie. kill the child subprocess,
and all subprocesses the child subprocess may have created) for any
builder processes that are still running.
2020-02-10 08:14:04 +00:00
MilhouseVH
a11e063083 build: auto remove build dirs 2020-02-10 08:53:39 +01:00
Andre Heider
e1ec1c7a5d unpack: don't wipe build stamps
That's the job of the clean script, don't force a rebuild after
build & autoremove & unpack
2020-02-10 08:53:39 +01:00
Andre Heider
64c73805fe build: add PKG_DEPENDS_CONFIG to set PKG_CONFIG_PATH for packages
To be used for "-sysroot" packages.
2020-02-10 08:53:39 +01:00
Matthias Reichl
24c4c14ab2 scripts/build: allow installation of *.o files
commit c468820ba9 "scripts/build: cleanup"
started to silently remove *.o files from the installation without
giving an explanation why this should be needed.

Drop that as it prevents packages from including *.o files in the
image, which eg is needed to include IR BPF decoders in LibreELEC.

Packages which install *.o files that should not end up in the image
should manually remove these in post_makeinstall_target.

Signed-off-by: Matthias Reichl <hias@horus.com>
2020-02-09 11:27:26 +01:00
Christian Hewitt
44a6266465 Merge pull request #4103 from Kwiboo/mkimage-box
scripts/mkimage: only configure extlinux for valid uboot_helper dtb
2020-01-31 10:55:35 +03:00
MilhouseVH
6d9bccebe5 scripts/pkgbuilder.py: need at least one process 2020-01-30 08:23:57 +00:00
MilhouseVH
893a7870c4 scripts/pkgbuilder.py: small cleanup 2020-01-28 12:51:10 +00:00
MilhouseVH
aaf5f0e466 scripts/pkgbuilder.py: allow active jobs to finish once an error occurs 2020-01-28 11:01:13 +00:00
MilhouseVH
c567e7a9e8 scripts/pkgbuilder.py: avoid returning negative timeout which is fatal 2020-01-26 06:54:25 +00:00
MilhouseVH
e69922455f scripts/pkgbuilder.py: bookend combined log with searchable tags 2020-01-21 17:07:18 +00: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
21fd61ef7c Merge pull request #4107 from HiassofT/le10-kernel-overlays-run
kernel-overlays: move volatile runtime data to /run
2020-01-19 19:27:18 +00:00
MilhouseVH
ecbbddd3d6 scripts/image: send all u-boot output to stdout 2020-01-18 09:29:38 +00:00
MilhouseVH
50e6f13896 scripts/pkgbuilder.py: fix failure to queue jobs to idle slots due to race 2020-01-17 20:08:10 +00:00
MilhouseVH
d4392ee718 scripts/pkgbuilder.py: use distinct colours 2020-01-17 15:07:07 +00: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
204d6d4f74 scripts/install: recursively install initramfs:target dependencies after PR4042 2020-01-15 18:49:15 +00:00
MilhouseVH
99ed1d6e31 buildsystem: recursive unpack & build is only needed by sequential builds 2020-01-15 18:49:15 +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
Jonas Karlman
d698731d42 scripts/clean: print build message with color 2020-01-12 21:28:09 +00:00
Jonas Karlman
dc8a2e1783 Amlogic: mkimage: do not configure extlinux for box 2020-01-12 21:19:58 +00:00
Jonas Karlman
5045ba2274 scripts/mkimage: configure extlinux for valid uboot_helper dtb 2020-01-12 21:19:58 +00:00
Jonas Karlman
3f06a76a4e scripts: remove UBOOT_VERSION 2020-01-12 21:19:58 +00:00
Matthias Reichl
dad3581441 kernel-overlays: move volatile runtime data to /run
Create the module and firmware symlink trees in /run/kernel-overlays
instead of /var/lib as recommended by FHS 3.0. This also allows us
to drop the After=var.mount ordering in the systemd service.

Signed-off-by: Matthias Reichl <hias@horus.com>
2020-01-10 12:03:23 +01: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
MilhouseVH
42e7cb439f scripts/genbuildplan.py: output detailed plan in json format 2020-01-07 04:46:38 +00: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
61af0490ef image: don't fish out kernel files out of its build dir
Install the files required by $SCRIPTS/image to a hidden directory. That
way, the files won't get copied to the system filesystem, but the script
can access them without requiring access to the build directory,
2019-12-31 11:26:49 +01:00
Andre Heider
1dffafae2a build: add a "sysroot" build flag
Some addon dependencies do this locally on their own. With this, these
packages can now use the standard makeinstall() functions and access build
artifacts using get_install_dir() without polluting the sysroot folder.
2019-12-31 11:26:49 +01:00
Andre Heider
d31c44664c build: clean usr/local/ on packages too
Some packages use configure_target() but don't set the /usr prefix.
2019-12-31 11:26:49 +01:00
Andre Heider
912a91619b build: don't wipe devel files from packages, just don't install them
With the upcoming usage of the standard install_pkg folder for addon
dependencies, the devel files need to be accessible, e.g. ffmpegx for
tvheadend.

So don't wipe them from the package install folder, just skip copying
them to the image.
2019-12-31 11:26:49 +01:00
Andre Heider
4197b75c8e build: include initramfs:init in the build plan
Now with the dependencies in initramfs:init, we can include it in the
build plan to parallalize it. But just build them there, the kernel package
keeps installing them.
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
Jonas Karlman
30d63b56a0 Rockchip: drop rockchip-4.4 linux support 2019-12-31 09:09:33 +00:00
Jonas Karlman
09b236900e Rockchip: add mainline linux support 2019-12-31 09:09:33 +00:00
Jernej Skrabec
01c80a2b9f uboot_helper: Add Allwinner A20 boards 2019-12-29 09:08:50 +01:00
MilhouseVH
3e8a33500d buildsystem: "set -e" error handling not working for addon builds 2019-12-19 08:11:50 +00:00
Matthias Reichl
635f750dfb script/install: also install hwdb.d files from packages
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-23 12:48:48 +01:00
MilhouseVH
a58fc6d645 scripts/checkdeps: add file 2019-11-10 02:36:25 +00:00
MilhouseVH
7d47eded56 scripts/checkdeps: add xz 2019-11-10 02:26:04 +00:00