Skip to content

Commit bd240c8

Browse files
committed
Initial import: kdevops goes on a diet
As discussed on the kdevops mailing list [0] kdevops was growing too big with the inclusion of results, over 200 MiB and having each guest clone that is insane. So we move the results into a new git tree: rm -rf .git/ rm -rf workflows/fstests/results/ rm -rf workflows/blktests/results/ git init git add . git commit -a -s [0] https://lkml.kernel.org/r/[email protected] Signed-off-by: Luis Chamberlain <[email protected]>
0 parents  commit bd240c8

39 files changed

+14882
-0
lines changed

.gitignore

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#
2+
# Generated files
3+
#
4+
*.moc
5+
*.lex.c
6+
7+
#
8+
# configuration programs
9+
#
10+
conf
11+
mconf
12+
nconf
13+
qconf
14+
gconf
15+
16+
parser.tab.h
17+
parser.tab.c
18+
19+
*.o
20+
*.o.cmd
21+
22+
lxdialog/*.o.cmd
23+
lxdialog/*.o
24+

GPL-2.0

Lines changed: 359 additions & 0 deletions
Large diffs are not rendered by default.

Kbuild.include

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
####
2+
# SPDX-License-Identifier: GPL-2.0
3+
#
4+
# kbuild: Generic definitions
5+
#
6+
# Simplified Generic definitions for subtree uses. This file is purposely
7+
# maintained to be as simple as possible. We only carry what we need.
8+
#
9+
# Part of the https://github.com/mcgrof/kconfig.git
10+
11+
# Convenient variables
12+
comma := ,
13+
quote := "
14+
squote := '
15+
empty :=
16+
space := $(empty) $(empty)
17+
space_escape := _-_SPACE_-_
18+
pound := \#
19+
20+
###
21+
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
22+
dot-target = $(dir $@).$(notdir $@)
23+
24+
###
25+
# The temporary file to save gcc -MD generated dependencies must not
26+
# contain a comma
27+
depfile = $(subst $(comma),_,$(dot-target).d)
28+
29+
###
30+
# filename of target with directory and extension stripped
31+
basetarget = $(basename $(notdir $@))
32+
33+
###
34+
# filename of first prerequisite with directory and extension stripped
35+
baseprereq = $(basename $(notdir $<))
36+
37+
###
38+
# Escape single quote for use in echo statements
39+
escsq = $(subst $(squote),'\$(squote)',$1)
40+
41+
###
42+
# Easy method for doing a status message
43+
kecho := :
44+
quiet_kecho := echo
45+
silent_kecho := :
46+
kecho := $($(quiet)kecho)
47+
48+
###
49+
# filechk is used to check if the content of a generated file is updated.
50+
# Sample usage:
51+
# define filechk_sample
52+
# echo $KERNELRELEASE
53+
# endef
54+
# version.h : Makefile
55+
# $(call filechk,sample)
56+
# The rule defined shall write to stdout the content of the new file.
57+
# The existing file will be compared with the new one.
58+
# - If no file exist it is created
59+
# - If the content differ the new file is used
60+
# - If they are equal no change, and no timestamp update
61+
# - stdin is piped in from the first prerequisite ($<) so one has
62+
# to specify a valid file as first prerequisite (often the kbuild file)
63+
define filechk
64+
$(Q)set -e; \
65+
mkdir -p $(dir $@); \
66+
$(filechk_$(1)) > [email protected]; \
67+
if [ -r $@ ] && cmp -s $@ [email protected]; then \
68+
69+
else \
70+
$(kecho) ' UPD $@'; \
71+
mv -f [email protected] $@; \
72+
fi
73+
endef

Makefile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
#
3+
# Simplified kconfig Makefile for subtree uses. This file is purposely
4+
# maintained to be as simple as possible. The rest of the files in this
5+
# directory are meant to match upstream.
6+
#
7+
# Part of the https://github.com/mcgrof/kconfig.git
8+
9+
CFLAGS=-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer
10+
LXDIALOG := lxdialog/checklist.o lxdialog/inputbox.o lxdialog/menubox.o lxdialog/textbox.o lxdialog/util.o lxdialog/yesno.o
11+
12+
default: mconf
13+
14+
common-objs := confdata.o expr.o menu.o parser.tab.o lexer.lex.c \
15+
preprocess.o symbol.o util.o
16+
17+
lexer.lex.c: lexer.l
18+
@flex -olexer.lex.c -L lexer.l
19+
20+
parser.tab.c: parser.y
21+
@bison -oparser.tab.c --defines=parser.tab.h -t -l parser.y
22+
23+
conf: conf.o $(common-objs)
24+
$(CC) -o conf $^
25+
26+
mconf_CFLAGS := $(shell test -f $(CURDIR)/.mconf-cfg && . $(CURDIR)/.mconf-cfg && echo $$cflags) -DLOCALE
27+
mconf_LDFLAGS := $(shell test -f $(CURDIR)/.mconf-cfg && . $(CURDIR)/.mconf-cfg && echo $$libs)
28+
mconf: CFLAGS += ${mconf_CFLAGS}
29+
30+
nconf_CFLAGS := $(shell test -f $(CURDIR)/.nconf-cfg && . $(CURDIR)/.nconf-cfg && echo $$cflags) -DLOCALE
31+
nconf_LDFLAGS := $(shell test -f $(CURDIR)/.nconf-cfg && . $(CURDIR)/.nconf-cfg && echo $$libs)
32+
nconf: CFLAGS += ${nconf_CFLAGS}
33+
34+
include $(CURDIR)/Kbuild.include
35+
# check if necessary packages are available, and configure build flags
36+
define filechk_conf_cfg
37+
$(CURDIR)/$<
38+
endef
39+
40+
.%conf-cfg: %conf-cfg.sh
41+
$(call filechk,conf_cfg)
42+
43+
MCONF_DEPS := mconf.o $(LXDIALOG) $(common-objs)
44+
mconf: .mconf-cfg conf $(MCONF_DEPS)
45+
$(CC) -o mconf $(MCONF_DEPS) $(mconf_LDFLAGS)
46+
47+
NCONF_DEPS := nconf.o nconf.gui.o parser.tab.c
48+
nconf: .nconf-cfg conf $(NCONF_DEPS)
49+
$(CC) -o nconf $(NCONF_DEPS) $(nconf_LDFLAGS)
50+
51+
.PHONY: help
52+
help:
53+
@echo "Configuration options:"
54+
@echo "menuconfig - demos the menuconfig functionality"
55+
@echo "nconfig - demos the nconfig functionality"
56+
@echo "allyesconfig - enables all bells and whistles"
57+
@echo "allnoconfig - disables all bells and whistles"
58+
@echo "randconfig - random configuration"
59+
@echo "defconfig-* - If you have files in the defconfig directory use default config from there"
60+
@echo
61+
@echo "Variable options:"
62+
@echo "make V=n [targets] 1: verbose build (Makefile)"
63+
@echo " 2: verbose playbooks (Ansible)"
64+
@echo " V=1 and V=2 can be combined with V=12"
65+
66+
.PHONY: clean
67+
clean:
68+
@rm -f conf mconf conf *.o lxdialog/*.o *.o parser.tab.c .mconf-cfg *.lex.c
69+
@rm -rf *.o.d

README.kconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Project home page:
2+
3+
https://github.com/linux-kdevops/kconfig
4+
5+
This project lives under the linux-kdevops organization to let anyone
6+
with write access modify that code.
7+
8+
This effort allows for independent projects to use the Linux kernel's
9+
kconfig on external projects, and make updates of config really easy
10+
to do. It does this by letting you use this tree as a git subtree.
11+
12+
For more details and to keep this small please refer to a simple demo
13+
project which demonstrates how to use this and uses it itself:
14+
15+
https://github.com/mcgrof/init-kconfig
16+
17+
The following projects use this git tree as a git subtree as well:
18+
19+
* https://github.com/linux-kdevops/kdevops
20+
* https://github.com/mcgrof/fio-tests

0 commit comments

Comments
 (0)