Patch from Yann Morin to look for modules.conf in the right place on 2.6. Fixes http://bugs.busybox.net/view.php?id=942
This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)
No binary (build failed)
—
(log yok)
| @@ -545,28 +545,36 @@ static struct dep_t *build_dep ( void ) | |
| } | |
| close ( fd ); | |
| + | /* |
| + | * First parse system-specific options and aliases |
| + | * as they take precedence over the kernel ones. |
| + | */ |
| if (!ENABLE_FEATURE_2_6_MODULES | |
| || ( fd = open ( "/etc/modprobe.conf", O_RDONLY )) < 0 ) | |
| if (( fd = open ( "/etc/modules.conf", O_RDONLY )) < 0 ) | |
| - | if (( fd = open ( "/etc/conf.modules", O_RDONLY )) < 0 ) |
| - | return first; |
| + | fd = open ( "/etc/conf.modules", O_RDONLY ); |
| - | include_conf (&first, ¤t, buffer, sizeof(buffer), fd); |
| - | close(fd); |
| + | if (fd >= 0) { |
| + | include_conf (&first, ¤t, buffer, sizeof(buffer), fd); |
| + | close(fd); |
| + | } |
| - | filename = bb_xasprintf("/lib/modules/%s/modules.alias", un.release); |
| - | fd = open ( filename, O_RDONLY ); |
| - | if (ENABLE_FEATURE_CLEAN_UP) |
| - | free(filename); |
| - | if (fd < 0) { |
| - | /* Ok, that didn't work. Fall back to looking in /lib/modules */ |
| - | if (( fd = open ( "/lib/modules/modules.alias", O_RDONLY )) < 0 ) { |
| - | return first; |
| + | /* Only 2.6 has a modules.alias file */ |
| + | if (ENABLE_FEATURE_2_6_MODULES) { |
| + | /* Parse kernel-declared aliases */ |
| + | filename = bb_xasprintf("/lib/modules/%s/modules.alias", un.release); |
| + | if ((fd = open ( filename, O_RDONLY )) < 0) { |
| + | /* Ok, that didn't work. Fall back to looking in /lib/modules */ |
| + | fd = open ( "/lib/modules/modules.alias", O_RDONLY ); |
| } | |
| - | } |
| + | if (ENABLE_FEATURE_CLEAN_UP) |
| + | free(filename); |
| - | include_conf (&first, ¤t, buffer, sizeof(buffer), fd); |
| - | close(fd); |
| + | if (fd >= 0) { |
| + | include_conf (&first, ¤t, buffer, sizeof(buffer), fd); |
| + | close(fd); |
| + | } |
| + | } |
| return first; | |
| } | |