Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 469326

Summary: net-fs/nfs-utils should check kernel config not [only] in init-script, but during installation
Product: Gentoo Linux Reporter: Sergey S. Starikoff <Ikonta>
Component: Current packagesAssignee: Gentoo's Team for Core System packages <base-system>
Status: RESOLVED OBSOLETE    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Sergey S. Starikoff 2013-05-10 14:37:25 UTC
Yestarday I've needed to setup for some tests an NFS-server (=net-fs/nfs-utils-1.2.3-r1).
After installation of net-fs/nfs-utils I've seen no error messages.
But when I've tryed to run server, I've got an error message about misconfigured kernel.
Installing NFS-served I expect to see results of this check at install-time, not when I'm getting to run it.

$ einfo 
Portage 2.1.11.62 (default/linux/amd64/13.0, gcc-4.6.3, glibc-2.15-r3, 3.7.10-gentoo-r1 x86_64)
=================================================================
System uname: Linux-3.7.10-gentoo-r1-x86_64-Intel-R-_Core-TM-_i5_CPU_661_@_3.33GHz-with-gentoo-2.2
KiB Mem:     7978480 total,   5585020 free
KiB Swap:    4024240 total,   4024240 free
Timestamp of tree: Thu, 09 May 2013 04:15:01 +0000
ld GNU ld (GNU Binutils) 2.22
app-shells/bash:          4.2_p45
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.9
dev-util/pkgconfig:       0.28
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.12.6
sys-devel/binutils:       2.22-r1
sys-devel/gcc:            4.6.3
sys-devel/gcc-config:     1.7.3
sys-devel/libtool:        2.4-r1
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.15-r3
Repositories: gentoo rion zugaina ftn-local
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA GPL* skype-eula"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/conf.d/clock /etc/rc.conf /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--ask=y --verbose --autounmask=n"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildsyspkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://xeon.gentoo.ru/mirrors/gentoo/distfiles/ 		ftp://mirror2.corbina.ru/gentoo-distfiles/ 		http://mirror2.corbina.ru/gentoo-distfiles/ 		http://mirror.yandex.ru/gentoo-distfiles/ 		ftp://mirror.yandex.ru/gentoo-distfiles/ 		http://gentoo.bloodhost.ru/ 		ftp://gentoo.bloodhost.ru/ 		distfiles.gentoo.org"
LANG="ru_RU.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/rion /var/lib/layman/zugaina /usr/local/portage"
SYNC="rsync://mirror.yandex.ru/gentoo-portage/"
USE="X a52 acl alsa amd64 berkdb bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus djvu dri dv dvd ffmpeg flac fortran gdbm gif gtk iconv icu jpeg jpeg2k kpathsea mac mmx modules mp3 mpeg mudflap multilib ncurses nls nptl ogg openmp pam pcre pdf png policykit qt3support readline session sse sse2 ssl tcpd tiff truetype unicode utf8 v4l v4l2 vorbis zlib" ABI_X86="64" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd 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 cgi cgid 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" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" FOO2ZJS_DEVICES="hp1018" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="ru" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386" QEMU_USER_TARGETS="i386" RUBY_TARGETS="ruby18 ruby19" SANE_BACKENDS="genesys" USERLAND="GNU" VIDEO_CARDS="intel" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 SpanKY gentoo-dev 2016-06-05 21:25:32 UTC
what messages are you talking about exactly ?  i'm not keen on adding kernel config checks to the ebuild as i'm not convinced they're that useful.
Comment 2 Sergey S. Starikoff 2016-06-13 18:45:19 UTC
(In reply to SpanKY from comment #1)
> what messages are you talking about exactly ?  i'm not keen on adding kernel
> config checks to the ebuild as i'm not convinced they're that useful.

Bug was opened years ago, at that time I've built needed modules and got operable NFS client.

The minimal solution would be to show einfo messages with remind to check kernel config.

In the complete I think reasonable to see minimal USE for this package, when +minimal installing only client, when -minimal installing both client and server.

In all cases first mandatory check is CONFIG_NFS_COMMON value.

For client also should be checked CONFIG_NFS_FS, with echoing supported protocol versions for CONFIG_NFS_V2 and CONFIG_NFS_V3. When enabled nfsv4* USE — also for CONFIG_NFS_V4.

And similiar check for server (-minimal): CONFIG_NFSD, CONFIG_NFSD_V3 and USE-dependent CONFIG_NFSD_V4 for server's available protocols.

With einfo comment about other kernel-version dependent options for fine tuning NFS.
Comment 3 SpanKY gentoo-dev 2016-06-14 23:27:22 UTC
(In reply to Sergey S. Starikoff from comment #2)

checking/warning about uncommon options is one thing, but it's kind of unreasonable i think to say "make sure to turn on NFS if you want to use NFS".  we don't do that in most other packages either.
Comment 4 Sergey S. Starikoff 2016-06-20 14:10:13 UTC
(In reply to SpanKY from comment #3)
> checking/warning about uncommon options is one thing

What options are common and what not?
This bug is the result of my system's migration on new hardware with complete review of kernel's configuration.
Finally, after I've needed to restore NFS client I was woundered discovering that NFS-support became (possibly reasonable) uncommon options.

Generally I see the question: what kernel options we consider being common (skipping check) and what not?
Or even the question about common Linux kernel configuration guide.