Running "genkernel all" I got this errormessage and it is somewhat obvious that it should not find the file there as my PORTDIR (and DISTDIR) is placed as /var/portage but still genkernel searches for it files in /usr: * Copying config for successful build to /etc/kernels/kernel-config-x86-2.6.25-gentoo-r1 * Gentoo Linux Genkernel; Version 3.4.10_pre9 * Running with options: all * ERROR: Could not find busybox source tarball: /usr/portage/distfiles/busybox-1.7.4.tar.bz2! Portage 2.1.5_rc6 (hardened/linux/x86/2008.0/desktop, gcc-4.2.3, glibc-2.7-r2, 2.6.24-gentoo-r5 i686) ================================================================= System uname: 2.6.24-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz Timestamp of tree: Thu, 24 Apr 2008 20:00:01 +0000 app-shells/bash: 3.2_p33 dev-lang/python: 2.5.2-r2 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.2 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.25-r1 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -pipe -O2 -fforce-addr -ggdb -D_FORTIFY_SOURCE=2" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=pentium4 -pipe -O2 -fforce-addr -ggdb -D_FORTIFY_SOURCE=2" DISTDIR="/var/portage/distfiles" FEATURES="distlocks parallel-fetch sandbox sfperms splitdebug strict test unmerge-orphans userfetch" GENTOO_MIRRORS="ftp://ftp.sunet.se/pub/os/Linux/distributions/gentoo" LANG="sv" LC_ALL="sv_SE.UTF-8" LDFLAGS="" LINGUAS="sv" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/java-overlay /usr/portage/local/layman/nouveau /usr/portage/local/layman/java-gcj-overlay /usr/local/overlays/portage /usr/local/overlays/toolchain-overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="7zip X a52 aac acl acpi alsa amr amrnb amrwb applet asf attr audioscrobbler avahi bash bash-completion berkdb bogofilter branding bzip2 cairo cdda cddb cdr cli consolekit cracklib crypt cups dbus device-mapper disk-partition divx dpms dri dts dvd dvdnav dvdr dvdread eds emboss encode evo evolution fam fat fbcondecor ffmpeg firefox flac fontconfig freetype ftp galago gd gdbm gedit gif gimp glitz gmedia gmp gnome gnome-keyring gpm gsf gstreamer gtk gtk2 hal hardened hpn iconv inotify isdnlog jabber joystick jpeg kerberos keyring lcms ldap libnotify libsexy lm_sensors logrotate lzma lzo mad matroska midi mikmod mmx mng mp3 mpeg msn mudflap musepack musicbrainz nautilus ncurses network-cron networkmanager nfs nls nptl nptlonly ntfs ntp numeric obex offensive ogg opengl openmp pam pcre pdf perl pic pidgin png ppds pppd python qt3support quicktime readline reflection reiserfs samba scanner sdl session smp spamassasin spell spl srt sse sse2 ssh ssl startup-notification subtitles svg syslog tcpd test theora tiff tracker truetype unicode urandom usb utf8 vorbis win32codecs wma wmf wmp x264 x86 xattr xcb xinerama xinetd xml xorg xulrunner xv xvid zeroconf zlib" ALSA_CARDS="emu10k1 intel8x0 usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="sv" USERLAND="GNU" VIDEO_CARDS="nouveau vesa nv" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Set PORTDIR in /etc/genkernel.conf
Sorry, set DISTDIR
In my world that is a workaround. I still do not see why genkernel can't fetch this by itself. But if that is the word of the devs, I think I have to live with it. Thanks anyway for the great piece that is genkernel.
Because genkernel is designed to work on a non-Gentoo distro. Doing an automatic lookup would be adding portage-specific code, which is a no-no in our eyes.
But then comes the problem when it relies on portage to fetch the files it needs, and to put it where it wants it. But I guess that making genkernel do that would add non-necessary things to the code, so maybe it is best as is.
While genkernel is designed for use by any distribution, we only really support its use on Gentoo. We set default versions for the external packages and test only those versions. As such, we explicitly list them in the ebuild and modify the installed genkernel.conf respectively. Anyone outside of Gentoo is welcome to use any versions that they deem fit. It's up to them to put the tarballs in the correct place, in that case. If they find bugs and report them, we'll fix them, so long as the bug is not introduced by moving to an unapproved/untested version of an external package, and even then is judged on a case-by-case basis. All of that being said, I see no reason why genkernel couldn't do the following: - Check command line for setting - Check genkernel.conf for setting - Check for existence of make.conf and check for setting - Fall back to internal defaults Doing this would allow for these settings to be pulled correctly on a Gentoo machine without making Gentoo a requirement for the system. I see nothing wrong with adding small Gentoo-specific enhancements. The main concern is that we don't start pushing in too many Gentoo-specific things, causing the code to be forked internally.
Adding checking of make.conf seems like a reasonable thing to do, provided that we don't *depend* on it being present. I see no problem with having make.conf variables as a lower priority than genkernel.conf or the command line, but higher than the built-in defaults.
*** Bug 220111 has been marked as a duplicate of this bug. ***
Per bug#220111, the gentoo DISTDIR should not be used in order to store long term sources. The genkernel ebuild should copy these sources into ROOT for genkernel use. This solves the need to lookup the /etc/make.conf and the issue of user clears the DISTDIR cache.
This is no longer an issue since the final release of 3.4.10 puts the distfiles in /var/cache/genkernel/src, which is the default value.