Commit Graph

337 Commits

Author SHA1 Message Date
Ian Leonard
2cb6f17526 config/buildsystem: generate password hash in add_user using python
Python3's crypt module is capable of generating password hashes. Use that
instead of busybox:host's cryptpw function.

Move password hashing into config/function's add_user(), so one need not
remember to generate the hash and then pass it into add_user().

Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2021-08-12 00:15:01 +00:00
Ian Leonard
a055e09c3b buildsystem: add .tar.zst handling for package tarballs
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2021-08-11 17:56:42 +00:00
CvH
d9785e5a8c Merge pull request #5272 from heitbaum/tc
toolchain: enable correct handling of cmake-make in check_toolchain_config
2021-08-11 13:24:54 +02:00
CvH
4f8d8eabd3 Merge pull request #5276 from arthur-liberman/fix-glib
Update build system for new meson and fix up glib package
2021-08-11 13:19:20 +02:00
CvH
44d1b8dfb5 Merge pull request #5406 from antonlacon/le10-minors
Buildsystem minor cleanups
2021-08-11 13:08:00 +02:00
Alex Bee
f88d19b575 buildsystem: introduce $TARGET_KERNEL_PATCH_ARCH 2021-06-11 18:06:58 +02:00
Ian Leonard
c21412e1bd config/functions: drop unused fix_module_depends funnction
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2021-05-28 03:06:17 +00:00
Arthur Liberman
f5e7a83c88 glib: fix build on an aarch64 system for ARCH=arm 2021-03-27 17:31:09 +03:00
heitbaum
a1ce9ca5c5 toolchain: enable correct handling of cmake-make in check_toolchain_config 2021-03-26 09:44:10 +00:00
Wolfgang Haupt
bcfe027fc9 buildsystem: fix building meson:init 2021-03-03 14:57:04 +01:00
Portisch
7e418be01c config|scripts: keep source more generic 2021-01-26 16:26:56 +01:00
mglae
c03f7a75a2 build: check package for wrong toolchain configured 2021-01-08 20:13:02 +01:00
CvH
4018c2ec1c Merge pull request #4344 from HiassofT/le10-remote-gdb
Support building of a remote/cross gdb
2020-05-31 11:02:37 +02:00
MilhouseVH
4d15490c67 config/functions: add go_configure() helpers 2020-05-05 17:54:02 +02:00
Matthias Reichl
3524d12878 allow building with separate debug info
Add SPLIT_DEBUG_INFO option, when it's set to yes the debug info is
stored in separate .dwo files.

This is mainly useful for remote debugging and reduces image size a lot.

See also https://gcc.gnu.org/wiki/DebugFission

Signed-off-by: Matthias Reichl <hias@horus.com>
2020-04-22 20:28:23 +02:00
mglae
99cf8bb62c linux: initramfs: use initramfs config file(s) and directory structure
Cpio file is generated as part of the kernel build process. No need
to force fakeroot cpio build any more.
2020-02-26 06:42:44 +01:00
MilhouseVH
653298b18a buildsystem: allow onexit trap to be selectively ignored 2020-02-19 10:24:15 +00:00
MilhouseVH
a1e700fd87 buildsystem: log pkg_call that failed 2020-02-19 07:49:35 +00: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
a11e063083 build: auto remove build dirs 2020-02-10 08:53:39 +01:00
Andre Heider
a6991f0aba pkg-config: add support for multiple sysroots 2020-02-10 08:53:39 +01:00
Andre Heider
a98010df72 build: automatically add dependencies for kernel packages
And add the missing "linux" to PKG_DEPENDS_UNPACK while at it, the tree
is required for building kernel modules.
2020-02-10 08:53:39 +01:00
Matthias Reichl
e96a892a10 config/functions: fix safe_remove of multiple files
Several packages call safe_remove with a wildcard to remove
multiple files but safe_remove only deleted the first one.

Fix this by iterating over all arguments passed into safe_remove
so unwanted files don't end up in the image.

Signed-off-by: Matthias Reichl <hias@horus.com>
2020-02-09 12:00:24 +01:00
MilhouseVH
5e44eafa55 config/functions: drop unecessary / escaping 2020-02-02 21:11:54 +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
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
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
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
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
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
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
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
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
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