On Sun, Dec 29, 2013 at 12:03 AM, Thorsten Glaser <tg@xxxxxxxxx> wrote:
understand. But the question is, does the work you do there have any influence on the Debian configs? (Not that the work you were doing was useless, rather the contrary. But I think we need to get *both* the “Linux defconfigs” and whatever Debian uses into shape.) I’m trying again to understand how Debian generates its config. http://buildd.debian-ports.org/status/fetch.php?pkg=linux&arch=m68k&ver=3.12.6-1&stamp=1387760310 This is the autobuilder log from the latest kernel build. Please look at the following lines: python debian/bin/kconfig.py 'debian/build/config.m68k_none_m68k' \ debian/config/config debian/config/m68k/config This basically does the equivalent of: cat debian/config/config debian/config/m68k/config \ >debian/build/config.m68k_none_m68k Except that when you have 'CONFIG_X=y' followed by '# CONFIG_X is not set', only the latter will show up in the output, viceque versa.
IC. So you need a file that - Explicitly enables what we need, - Explicitly disables what we don't want. And the rest is defined by the base debian/config/config and "make oldconfig" on top.
env -u ABINAME -u ABINAME_PART -u ARCH -u FEATURESET -u FLAVOUR \ -u VERSION -u LOCALVERSION DISTRIBUTION_OFFICIAL_BUILD=1 \ DISTRIBUTOR="Debian" DISTRIBUTION_VERSION="3.12.6-1" \ KBUILD_BUILD_TIMESTAMP="Debian 3.12.6-1 (2013-12-21)" \ KBUILD_BUILD_USER="debian-kernel" \ KBUILD_BUILD_HOST="lists.debian.org" /usr/bin/make -C \ 'debian/build/source_none' \ O='/«PKGBUILDDIR»/debian/build/build_m68k_none_m68k' V=1 \ listnewconfig Immediately (after listnewconfig’s output) followed by: yes "" | env -u ABINAME -u ABINAME_PART -u ARCH -u FEATURESET \ -u FLAVOUR -u VERSION -u LOCALVERSION \ DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="Debian" \ DISTRIBUTION_VERSION="3.12.6-1" \ KBUILD_BUILD_TIMESTAMP="Debian 3.12.6-1 (2013-12-21)" \ KBUILD_BUILD_USER="debian-kernel" \ KBUILD_BUILD_HOST="lists.debian.org" /usr/bin/make -C \ 'debian/build/source_none' \ O='/«PKGBUILDDIR»/debian/build/build_m68k_none_m68k' \ oldconfig >/dev/null kernel/time/Kconfig:162:warning: range is invalid
Ugh, "yes", so everything else is enabled. Not silentoldconfig.
These two lines are “how” it generates the configuration that is actually used (in the immediately following gmake invocation) for the kernel. So basically, the mechanism of “define some stuff to y or m or not set, leave the rest undefined, then run make oldconfig” is what Debian uses, the “defconfigs” you were talking about are *not* (and cannot) be involved. I hope this clears things up from my side. Is there anything from your side I can do, now? I’ve attached the debian/bin/kconfig.py output from the SVN for sid (3.12.6-2~unreleased) and trunk (3.13~rc4-1~exp1~unreleased) so you can run both of these against “make oldconfig” on your, or probably better torvalds’, tree then look at what comes out and send me deltas to tweak the output. Deltas should indicate, for each CONFIG_* option, in which Kconfig file they are, since we use that (in comments) for grouping in the Debian config, see: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/debian/config/m68k/config?revision=20825&view=markup
Thanks, added to haystack of tasks. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html