Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 421483 - Building a linux kernel from source depends on perl which is no longer in @system
Summary: Building a linux kernel from source depends on perl which is no longer in @sy...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers
URL:
Whiteboard:
Keywords:
: 421521 422719 423029 435010 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-06-16 19:51 UTC by Jeff (JD) Horelick (RETIRED)
Modified: 2012-09-16 03:04 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Adds dev-lang/perl to kernel source's RDEPEND (add-depend-perl.patch,355 bytes, patch)
2012-06-24 03:09 UTC, Anthony Basile
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeff (JD) Horelick (RETIRED) gentoo-dev 2012-06-16 19:51:24 UTC
Apparently perl was removed from @system (it is no longer in the stage3 tarballs) and either the kernel requires it or genkernel requires it to build the kernel so it should either be re-added to @system or *-sources or genkernel should RDEPEND on it.

Reproducible: Always
Comment 1 Sebastian Pipping gentoo-dev 2012-06-19 18:33:48 UTC
I cannot find any traces of perl in genkernel.  Re-assigning to kernel@g.o.
Comment 2 Mike Pagano gentoo-dev 2012-06-20 13:12:21 UTC
I do see where perl can be needed in the make process. Our kernels should depend on perl.  I've talked to blueness from hardened and will work with other maintainers.
Comment 3 Anthony Basile gentoo-dev 2012-06-20 14:03:05 UTC
genkernel does not need perl, but all linux sources do.  Its part of the build process of the linux kernel.  Here's just one eg from a typical file:

make -f scripts/Makefile.build obj=arch/x86/kernel/cpu
  perl /usr/src/linux-3.2.12-gentoo/arch/x86/kernel/cpu/mkcapflags.pl arch/x86/kernel/cpu/../../include/asm/cpufeature.h arch/x86/kernel/cpu/capflags.c
/bin/sh: perl: command not found
make[3]: *** [arch/x86/kernel/cpu/capflags.c] Error 127
make[2]: *** [arch/x86/kernel/cpu] Error 2
make[1]: *** [arch/x86/kernel] Error 2
make: *** [arch/x86] Error 2


Okay so we have some choices as discussed in irc:

1) we could re-introduce perl into the profiles.  It would best go into default/linux on the interpretation that "linux" means the linux kernel.

This solves the problem but some might argue that they don't want perl in their stage3.  One can bootstrap out of our current stage3's and get perl.  So please keep perl out and those who want it can re-introduce it.

2) we could make kernel-2.eclass depend on perl since presumeably if you are emerging a linux source, you want to next build it.

3) we could argue the same for genkernel.  If you emerge genkernle, presumeably you want to use it to compile a kernel, so we need perl.


#2 seems the best to me because its closest to the problem.  ie.  I may emerge a linux source and build it without genkernel.  So I still need perl.


Comments?  I'm cc-ing base system to see how they feel about re-introducing perl into the profiles.  One can argue that many other systems, like gnu autotools, are heavily perl dependant and maybe we should bring it back?  (I personally don't think so, but others may know something I don't --- I feel a slippery slope with python and others.)
Comment 4 Mike Pagano gentoo-dev 2012-06-20 22:46:40 UTC
*** Bug 421521 has been marked as a duplicate of this bug. ***
Comment 5 Ben de Groot (RETIRED) gentoo-dev 2012-06-21 05:54:01 UTC
(In reply to comment #3)
> genkernel does not need perl, but all linux sources do.  Its part of the
> build process of the linux kernel. 
[...]
> 2) we could make kernel-2.eclass depend on perl since presumeably if you are
> emerging a linux source, you want to next build it.

This seems to be the most logical solution. Please apply ASAP.
Comment 6 Ben de Groot (RETIRED) gentoo-dev 2012-06-21 05:54:13 UTC
*** Bug 422719 has been marked as a duplicate of this bug. ***
Comment 7 Chí-Thanh Christopher Nguyễn gentoo-dev 2012-06-23 02:52:25 UTC
*** Bug 423029 has been marked as a duplicate of this bug. ***
Comment 8 SpanKY gentoo-dev 2012-06-24 00:05:35 UTC
perl doesn't belong in @system
Comment 9 Anthony Basile gentoo-dev 2012-06-24 03:09:48 UTC
Created attachment 316117 [details, diff]
Adds dev-lang/perl to kernel source's RDEPEND

This should do it.  Mike comments?
Comment 10 Doug Goldstein (RETIRED) gentoo-dev 2012-06-24 03:30:40 UTC
(In reply to comment #9)
> Created attachment 316117 [details, diff] [details, diff]
> Adds dev-lang/perl to kernel source's RDEPEND
> 
> This should do it.  Mike comments?

That'll do the trick.
Comment 11 Mike Pagano gentoo-dev 2012-06-24 16:54:34 UTC
I'll add it. Sounds right to me, also.
Comment 12 Mike Pagano gentoo-dev 2012-06-24 17:53:24 UTC
This is complete. Thanks, everyone. And thanks, Anthony, for taking point.
Comment 13 calculuspenguin 2012-07-09 20:50:22 UTC
I am posting on behalf of a collegue (Rob Landley) with an alternate solution.  He has a patch set that removes the perl requirements from the kernel build system (and hence the need not to add to RDEPEND).  Perl was first introduced in 2.6.25 and has been there ever since.  His patches (three of them) are available here[1] as linux-noperl*.patch.

[1] http://landley.net/hg/aboriginal/file/tip/sources/patches/
Comment 14 SpanKY gentoo-dev 2012-07-15 22:54:01 UTC
(In reply to comment #13)

get it merged into mainline then.  while we might be able to patch gentoo-sources, it's not really something we want to maintain, and we wouldn't be patching other source pkgs like vanilla-sources.
Comment 15 Dave Wiltshire 2012-09-16 03:04:29 UTC
*** Bug 435010 has been marked as a duplicate of this bug. ***