summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* kernel-build.eclass: drop EAPI 7 supportDavid Seifert2022-12-241-5/+5
| | | | | Signed-off-by: David Seifert <soap@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* Move {virtual -> app-alternatives}/yaccSam James2022-12-021-1/+1
| | | | Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: Account for PV/KV mismatchMichał Górny2022-10-291-17/+26
| | | | | Closes: https://github.com/gentoo/gentoo/pull/27949 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Revert "Respect KV_FULL"Michał Górny2022-10-291-3/+3
| | | | | Reverts: 27eaf5e24de59baadb8f6042085af172cd56de5d Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Respect KV_FULLMichał Górny2022-10-191-3/+3
| | | | | Closes: https://github.com/gentoo/gentoo/pull/27797 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: pass -q to xzSam James2022-10-171-1/+1
| | | | | | Avoids noise from memlimit-compress. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: add workaround for < xz 5.3.3_alpha 32-bit issueSam James2022-10-171-1/+1
| | | | | | | | | | | With older versions of xz, xz -T0 will on 32-bit systems try to allocate too much memory and bail out. After discussing with upstream, we set --memlimit-compress=50% as a way to make things work with both older & newer versions. This limiting is essentially already present with >= 5.3.3_alpha as -T0 includes it. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: silence tools searchSam James2022-10-131-5/+5
| | | | | | Fixes: b86d9482f6ff14401970092b3034ef1cc2813163 Fixes: 61f0eab4e3c0272449024e83f32734b0e6d392bb Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: use pbzip2/lbzip2 for parallel compression if availableSam James2022-10-131-2/+8
| | | | | | | | Note that this will only take effect if compressing modules with bzip2 (COMPRESS_MODULE_BZIP2 is set) or compressing the kernel with bzip2 (CONFIG_KERNEL_BZIP2 is set). Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: use pigz for parallel compression if availableSam James2022-10-131-0/+7
| | | | | | | | Note that this will only take effect if compressing modules with gzip (COMPRESS_MODULE_GZIP is set) or compressing the kernel with gzip (CONFIG_KERNEL_GZIP is set). Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: compress xz/zstd in parallelSam James2022-10-131-1/+9
| | | | | | | | | | | Note that this will only take effect if compressing modules with xz or zstd (COMPRESS_MODULE_XZ is set or COMPRESS_MODULE_ZSTD is set respectively) ... or if compiling the kernel with xz or zstd (COMPRESS_KERNEL_XZ or COMPRESS_KERNEL_ZSTD is set respectiely). Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: support EAPI 8Mike Gilbert2022-09-091-10/+4
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* kernel-build.eclass: Properly install vmlinux(.debug)Martin Kletzander2022-07-041-7/+8
| | | | | | | | | | | | | | | Previously, in commit ad3b55e32736 we installed vmlinux with debug symbols, but two issues remained. Firstly, the debug symbols were stripped (and optionally extracted), and secondly the build-id was changed due to how estrip works. In order to make systemtap work without complaining about missing debuginfo and mismatch of build-id from the running kernel install the whole vmlinux and exclude it from stripping. Signed-off-by: Martin Kletzander <nert.pinx@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/26065 Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: Enable py3.11Michał Górny2022-06-081-2/+3
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Use install directoryMartin Kletzander2022-06-081-1/+1
| | | | | | | | | | | Unfortunately commit ad3b55e32736 forgot to specify the install directory path, so fix that. See: https://github.com/gentoo/gentoo/pull/25789 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Martin Kletzander <nert.pinx@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/25803 Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: add missing || die for debug mvSam James2022-06-071-1/+3
| | | | | See: https://github.com/gentoo/gentoo/pull/25789 Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: Allow installation of vmlinuxMartin Kletzander2022-06-071-0/+5
| | | | | | | | | | | It is used by systemtap to reliably find kernel debuginfo. Thankfully the build path is one of the searched ones so we do not need to install it into /boot. There is a use flag for compiling the dist kernels with debuginfo, but it is not being installed afterwards. Signed-off-by: Martin Kletzander <nert.pinx@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/25789 Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: add HPPA supportSam James2022-04-241-1/+15
| | | | | | | | | | | | | | | | | | | | | | | Support HPPA kernel builds. Notes: - HPPA 2.0 supports 32-bit and 64-bit kernels (HPPA 2.0 userland remains 32-bit for now as toolchain support isn't there yet for 64-bit). I've decided to only accommodate 64-bit kernels here unless/until someone requests & can help figure out an acceptable solution for 32-bit kernels for HPPA 2.0. - HPPA 1.x should be fine as there's no need for a cross-compiler there, unlike HPPA 2.x for 64-bit (sys-devel/kgcc64). It should Just Work, but not tested. Not adding a BDEPEND on sys-devel/kgcc64 as it's unclear how to do this cleanly only for HPPA 2.0. Tested on RP3440 and C8000. Signed-off-by: Sam James <sam@gentoo.org>
* kernel-build.eclass: Set @PROVIDESMichał Górny2021-09-021-0/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: add cpio to BDEPENDDavid Michael2021-06-221-0/+1
| | | | | | | | | When CONFIG_IKHEADERS is set, a script is run that requires cpio to be installed. The default config files enable this setting. Closes: https://bugs.gentoo.org/797613 Signed-off-by: David Michael <fedora.dm0@gmail.com> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Do not pass INSTALL_PATH in src_testMichał Górny2021-06-161-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Enable py3.10Michał Górny2021-06-161-1/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Depend on PythonMichał Górny2021-02-181-0/+1
| | | | Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Use pythonMichał Górny2021-02-181-1/+3
| | | | | Closes: https://bugs.gentoo.org/771207 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* dist-kernel-utils.eclass: Introduce eclass for helper functionsMichał Górny2021-01-131-3/+3
| | | | | | | | | | | | Move some of the utility functions from kernel-install.eclass into dist-kernel-utils.eclass, in order to permit using them without having all kernel-install phases exported. This will be used in order to support rebuilding initramfs in sys-fs/zfs-kmod. Since the eclasses are used only by dist-kernel project eclasses and ebuilds, update the function prefix while moving them. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Support merging config filesMichał Górny2020-11-141-0/+32
| | | | | | | Add a convenience function to merge kernel config files from within the build tree, and support merging user configs. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/kernel-build.eclass: don't strip ppc64 kernelsGeorgy Yakovlev2020-08-281-0/+3
| | | | | | it breaks external module builds Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
* eclass/kernel-build.eclass: copy module.lds linker scriptGeorgy Yakovlev2020-08-231-0/+5
| | | | | | | | | | without it it's impossible to build external kernel modules on some arches (zfs-kmod on arm64 for example) Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org> Closes: https://github.com/gentoo/gentoo/pull/17225 Closes: https://bugs.gentoo.org/737302 Signed-off-by: Sam James <sam@gentoo.org>
* kernel-{build,install}.eclass: support Kconfig LOCALVERSIONDavid GUGLIELMI2020-06-291-11/+18
| | | | | | Signed-off-by: David GUGLIELMI <david.guglielmi@gmail.com> Closes: https://bugs.gentoo.org/720930 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: add req'd tools to BDEPENDmatoro2020-06-241-1/+3
| | | | | Closes: https://github.com/gentoo/gentoo/pull/16326 Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/kernel-build.eclass: fix messed up dtbs_installAlexey Shvetsov2020-05-221-8/+4
| | | | | Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-{build,install}.eclass: more ARM supportAlexey Shvetsov2020-05-211-2/+17
| | | | | Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: permit savedconfig without predef .configAlexey Shvetsov2020-05-211-1/+1
| | | | | Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> Signed-off-by: Michał Górny <mgorny@gentoo.org>
* kernel-build.eclass: Build logic for dist-kernelsMichał Górny2020-01-091-0/+175
Introduce a new eclass that contains common logic for building distribution kernels from source. Signed-off-by: Michał Górny <mgorny@gentoo.org>