Kbuild fixes for v4.19

- make setlocalversion more robust about -dirty check
 
  - loosen the pkg-config requirement for Kconfig
 
  - change missing depmod to a warning from an error
 
  - warn modules_install when System.map is missing
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iQIcBAABAgAGBQJblMNtAAoJED2LAQed4NsG618P/jJCMiSSqsuf9lLIGM+M+9kv
 ALiUPgx0pSx60PREu/oxMNLhmdCxGhYmn7PIDupWt7Wj0/Qq7IJsCe/c91UcDG+m
 ZTumArWstGXD+Cwfe7nOVIuV2V8/ntdBUNKky2zH4WstQ+BH/kjl4tV1f0NxR1WZ
 7vVGSpMjoOiVuhjloa02OFmpv/0KdTn+ChGV7R8nc2AqgTUY7s0X3cY3NLScsAxr
 OpI+4zmgi/PWBtfhA2VPWZWshKzmFlK4UZ5ZrRqChUFaYDTGoN7Lncmz4njI7sxm
 N9QrWNdkFhtj7rA+7ZKhYE1AeqbU9+K3XKw538fbG2hha/KfP1xWJ+m0hD4KrW7S
 dqYmTs+ntdF/f7c1A/ZAbQEo574o4TcTKQ2utJ5QfpbNTqVoVywvXuevI6mGLfDS
 DLRLfXBnP9THbEQNHD0HL0f9zLpTK0uVn6yT6gS2LmgEfXl5f3STFIytUQpxRi7A
 ujjaT9wEJIP41yICQa/bs7GS6DfIr0Ax+Pf7vr7mpo2Yv6FwRQ6XYBYZrAmjxSPQ
 Jk9h1nsrqLgUQs4OVikDDRfwy5Lz//+VwuKH54dQqMqd7Z2v6G0nIlJsNZT+azEV
 DZTE74MWhLvyZRGrKqy5fWR/+YVTh6wD4vAPBhtyy6sxlxvmSEwpAmE4Md8WG71R
 Fh6+u2dpY1SnLxHQ4R1J
 =BQVE
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-fixes-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild

Pull Kbuild fixes from Masahiro Yamada:

 - make setlocalversion more robust about -dirty check

 - loosen the pkg-config requirement for Kconfig

 - change missing depmod to a warning from an error

 - warn modules_install when System.map is missing

* tag 'kbuild-fixes-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
  kbuild: modules_install: warn when missing System.map file
  kbuild: make missing $DEPMOD a Warning instead of an Error
  kconfig: do not require pkg-config on make {menu,n}config
  kconfig: remove a spurious self-assignment
  scripts/setlocalversion: git: Make -dirty check more robust
This commit is contained in:
Linus Torvalds 2018-09-09 05:42:11 -07:00
commit 1d22577703
10 changed files with 49 additions and 38 deletions

View File

@ -86,7 +86,7 @@ pkg-config
The build system, as of 4.18, requires pkg-config to check for installed The build system, as of 4.18, requires pkg-config to check for installed
kconfig tools and to determine flags settings for use in kconfig tools and to determine flags settings for use in
'make {menu,n,g,x}config'. Previously pkg-config was being used but not 'make {g,x}config'. Previously pkg-config was being used but not
verified or documented. verified or documented.
Flex Flex

View File

@ -11,13 +11,14 @@ DEPMOD=$1
KERNELRELEASE=$2 KERNELRELEASE=$2
if ! test -r System.map ; then if ! test -r System.map ; then
echo "Warning: modules_install: missing 'System.map' file. Skipping depmod." >&2
exit 0 exit 0
fi fi
if [ -z $(command -v $DEPMOD) ]; then if [ -z $(command -v $DEPMOD) ]; then
echo "'make modules_install' requires $DEPMOD. Please install it." >&2 echo "Warning: 'make modules_install' requires $DEPMOD. Please install it." >&2
echo "This is probably in the kmod package." >&2 echo "This is probably in the kmod package." >&2
exit 1 exit 0
fi fi
# older versions of depmod require the version string to start with three # older versions of depmod require the version string to start with three

View File

@ -221,7 +221,6 @@ $(obj)/zconf.tab.o: $(obj)/zconf.lex.c
# check if necessary packages are available, and configure build flags # check if necessary packages are available, and configure build flags
define filechk_conf_cfg define filechk_conf_cfg
$(CONFIG_SHELL) $(srctree)/scripts/kconfig/check-pkgconfig.sh; \
$(CONFIG_SHELL) $< $(CONFIG_SHELL) $<
endef endef

View File

@ -1,8 +0,0 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Check for pkg-config presence
if [ -z $(command -v pkg-config) ]; then
echo "'make *config' requires 'pkg-config'. Please install it." 1>&2
exit 1
fi

View File

@ -3,6 +3,13 @@
PKG="gtk+-2.0 gmodule-2.0 libglade-2.0" PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
if [ -z "$(command -v pkg-config)" ]; then
echo >&2 "*"
echo >&2 "* 'make gconfig' requires 'pkg-config'. Please install it."
echo >&2 "*"
exit 1
fi
if ! pkg-config --exists $PKG; then if ! pkg-config --exists $PKG; then
echo >&2 "*" echo >&2 "*"
echo >&2 "* Unable to find the GTK+ installation. Please make sure that" echo >&2 "* Unable to find the GTK+ installation. Please make sure that"

View File

@ -4,20 +4,23 @@
PKG="ncursesw" PKG="ncursesw"
PKG2="ncurses" PKG2="ncurses"
if pkg-config --exists $PKG; then if [ -n "$(command -v pkg-config)" ]; then
echo cflags=\"$(pkg-config --cflags $PKG)\" if pkg-config --exists $PKG; then
echo libs=\"$(pkg-config --libs $PKG)\" echo cflags=\"$(pkg-config --cflags $PKG)\"
exit 0 echo libs=\"$(pkg-config --libs $PKG)\"
exit 0
fi
if pkg-config --exists $PKG2; then
echo cflags=\"$(pkg-config --cflags $PKG2)\"
echo libs=\"$(pkg-config --libs $PKG2)\"
exit 0
fi
fi fi
if pkg-config --exists $PKG2; then # Check the default paths in case pkg-config is not installed.
echo cflags=\"$(pkg-config --cflags $PKG2)\" # (Even if it is installed, some distributions such as openSUSE cannot
echo libs=\"$(pkg-config --libs $PKG2)\" # find ncurses by pkg-config.)
exit 0
fi
# Unfortunately, some distributions (e.g. openSUSE) cannot find ncurses
# by pkg-config.
if [ -f /usr/include/ncursesw/ncurses.h ]; then if [ -f /usr/include/ncursesw/ncurses.h ]; then
echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncursesw\" echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncursesw\"
echo libs=\"-lncursesw\" echo libs=\"-lncursesw\"

View File

@ -490,7 +490,6 @@ static void build_conf(struct menu *menu)
switch (prop->type) { switch (prop->type) {
case P_MENU: case P_MENU:
child_count++; child_count++;
prompt = prompt;
if (single_menu_mode) { if (single_menu_mode) {
item_make("%s%*c%s", item_make("%s%*c%s",
menu->data ? "-->" : "++>", menu->data ? "-->" : "++>",

View File

@ -4,20 +4,23 @@
PKG="ncursesw menuw panelw" PKG="ncursesw menuw panelw"
PKG2="ncurses menu panel" PKG2="ncurses menu panel"
if pkg-config --exists $PKG; then if [ -n "$(command -v pkg-config)" ]; then
echo cflags=\"$(pkg-config --cflags $PKG)\" if pkg-config --exists $PKG; then
echo libs=\"$(pkg-config --libs $PKG)\" echo cflags=\"$(pkg-config --cflags $PKG)\"
exit 0 echo libs=\"$(pkg-config --libs $PKG)\"
exit 0
fi
if pkg-config --exists $PKG2; then
echo cflags=\"$(pkg-config --cflags $PKG2)\"
echo libs=\"$(pkg-config --libs $PKG2)\"
exit 0
fi
fi fi
if pkg-config --exists $PKG2; then # Check the default paths in case pkg-config is not installed.
echo cflags=\"$(pkg-config --cflags $PKG2)\" # (Even if it is installed, some distributions such as openSUSE cannot
echo libs=\"$(pkg-config --libs $PKG2)\" # find ncurses by pkg-config.)
exit 0
fi
# Unfortunately, some distributions (e.g. openSUSE) cannot find ncurses
# by pkg-config.
if [ -f /usr/include/ncursesw/ncurses.h ]; then if [ -f /usr/include/ncursesw/ncurses.h ]; then
echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncursesw\" echo cflags=\"-D_GNU_SOURCE -I/usr/include/ncursesw\"
echo libs=\"-lncursesw -lmenuw -lpanelw\" echo libs=\"-lncursesw -lmenuw -lpanelw\"

View File

@ -4,6 +4,13 @@
PKG="Qt5Core Qt5Gui Qt5Widgets" PKG="Qt5Core Qt5Gui Qt5Widgets"
PKG2="QtCore QtGui" PKG2="QtCore QtGui"
if [ -z "$(command -v pkg-config)" ]; then
echo >&2 "*"
echo >&2 "* 'make xconfig' requires 'pkg-config'. Please install it."
echo >&2 "*"
exit 1
fi
if pkg-config --exists $PKG; then if pkg-config --exists $PKG; then
echo cflags=\"-std=c++11 -fPIC $(pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)\" echo cflags=\"-std=c++11 -fPIC $(pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets)\"
echo libs=\"$(pkg-config --libs $PKG)\" echo libs=\"$(pkg-config --libs $PKG)\"

View File

@ -74,7 +74,7 @@ scm_version()
fi fi
# Check for uncommitted changes # Check for uncommitted changes
if git diff-index --name-only HEAD | grep -qv "^scripts/package"; then if git status -uno --porcelain | grep -qv '^.. scripts/package'; then
printf '%s' -dirty printf '%s' -dirty
fi fi