From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750984AbeBLTfn (ORCPT ); Mon, 12 Feb 2018 14:35:43 -0500 Received: from server.eikelenboom.it ([91.121.65.215]:41326 "EHLO server.eikelenboom.it" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750881AbeBLTfl (ORCPT ); Mon, 12 Feb 2018 14:35:41 -0500 From: Sander Eikelenboom Subject: Linux 4.16-rc1: regression bisected, Debian kernel package tool make-kpkg stalls indefinitely during kernel build due to commit "kconfig: remove check_stdin()" To: Masahiro Yamada , Ulf Magnusson Cc: srivasta@debian.org, linux-kernel Message-ID: Date: Mon, 12 Feb 2018 20:01:54 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org L.S., The Debian kernel-package tool make-kpkg for easy building of upstream kernels on Debian fails with linux 4.16-rc1. The tool (perl script) while invoked with: make-kpkg --initrd --append_to_version -20180212 kernel_image On a git tree with a .config from the previous kernel release, so new KConfig questions have to be asked on new or changed options. The script stalls indefinitely while it seems to be excuting: exec make kpkg_version=13.018+nmu1 -f /usr/share/kernel-package/ruleset/minimal.mk debian APPEND_TO_VERSION=-t440s-20180212 INITRD=YES After using ctrl-c to break out it, i get: ^CFailed to create a ./debian directory: No such file or directory at /usr/bin/make-kpkg line 970. Bisection turned up as culprit: commit d2a04648a5dbc3d1d043b35257364f0197d4d868 kconfig: remove check_stdin() Except silentoldconfig, valid_stdin is 1, so check_stdin() is no-op. oldconfig and silentoldconfig work almost in the same way except that the latter generates additional files under include/. Both ask users for input for new symbols. I do not know why only silentoldconfig requires stdio be tty. $ rm -f .config; touch .config $ yes "" | make oldconfig > stdout $ rm -f .config; touch .config $ yes "" | make silentoldconfig > stdout make[1]: *** [silentoldconfig] Error 1 make: *** [silentoldconfig] Error 2 $ tail -n 4 stdout Console input/output is redirected. Run 'make oldconfig' to update configuration. scripts/kconfig/Makefile:40: recipe for target 'silentoldconfig' failed Makefile:507: recipe for target 'silentoldconfig' failed Redirection is useful, for example, for testing where we want to give particular key inputs from a test file, then check the result. Signed-off-by: Masahiro Yamada Reviewed-by: Ulf Magnusson Reverting this specific commit makes make-kpkg work again as usual. Version of the kernel-package used: ii kernel-package 13.018+nmu1 I also cc'ed the Debian developer who maintains the kernel-package package: Manoj Srivastava -- Sander