mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
Kbuild updates for v4.17 (2nd)
- pass HOSTLDFLAGS when compiling single .c host programs - build genksyms lexer and parser files instead of using shipped versions - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency - let the top .gitignore globally ignore artifacts generated by flex, bison, and asn1_compiler - let the top Makefile globally clean artifacts generated by flex, bison, and asn1_compiler - use safer .SECONDARY marker instead of .PRECIOUS to prevent intermediate files from being removed - support -fmacro-prefix-map option to make __FILE__ a relative path - fix # escaping to prepare for the future GNU Make release - clean up deb-pkg by using debian tools instead of handrolled source/changes generation - improve rpm-pkg portability by supporting kernel-install as a fallback of new-kernel-pkg - extend Kconfig listnewconfig target to provide more information -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJa0krLAAoJED2LAQed4NsGyCAP/3Vsb8A4sea7sE3LV6/aFUJp WcAm6PXcip1MXy7GI5yxFciwen3Z3ghQUer7fJKDcHR5c4mRSfKaqWp+TLHd6uux 7I4pV0FNx2PapcPu5T7wNZHN96p3xZC0Z66sq9BCZ/+gNyYmZLIDcBUSIOEk0nzJ IsvD46zy6R6KtEnycShKVscg4JyPXJIw1UBqsPDEFHg5l16ARkghND7e5zTW62Fi 2MqQxNXAksIKpxxoxPH/fIcNp1kFKVxYBH2CW4LQtOjC3GmrozdeV5PUc7yTezPc dpqOuEcIAbMH91bkvhhF+ZBi34YrxRoT4S8B3G9iCXRz+2LRZZaitqO4dAH8Kjbn 0KjkqzNc5TosJXQ8RPTcQlRBi+JmE1bHxICvTx3XNJcqJMqIH0vs3ez/LJKOwhB4 DbAROoxQNfVcOdouHcx2EuCSdHn24BEyzaGFhi04LACpbRLxr8IJS7hSGXRloBYp K3ydRvG/dCZjFRTS+xWWSi3Nzjih2mCctQlH3D4nf4M3vtCX+/k5B9IMEYFfHlvL KoNlK4/1vP/dAJZj0iOqd2ksCA1G6iLoHrFp3E5pdtmb4sVe2Ez3gMt+pxz3htR9 XvjuHOzkWE9eiihs1NsFgQuyP/o3UmNKpDDW0irQ06IFEPXkA/y1mVmeTU3qtrII ZDiwGozIkMMEy/MLkcjE =tD6R -----END PGP SIGNATURE----- Merge tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull more Kbuild updates from Masahiro Yamada: - pass HOSTLDFLAGS when compiling single .c host programs - build genksyms lexer and parser files instead of using shipped versions - rename *-asn1.[ch] to *.asn1.[ch] for suffix consistency - let the top .gitignore globally ignore artifacts generated by flex, bison, and asn1_compiler - let the top Makefile globally clean artifacts generated by flex, bison, and asn1_compiler - use safer .SECONDARY marker instead of .PRECIOUS to prevent intermediate files from being removed - support -fmacro-prefix-map option to make __FILE__ a relative path - fix # escaping to prepare for the future GNU Make release - clean up deb-pkg by using debian tools instead of handrolled source/changes generation - improve rpm-pkg portability by supporting kernel-install as a fallback of new-kernel-pkg - extend Kconfig listnewconfig target to provide more information * tag 'kbuild-v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: kconfig: extend output of 'listnewconfig' kbuild: rpm-pkg: use kernel-install as a fallback for new-kernel-pkg Kbuild: fix # escaping in .cmd files for future Make kbuild: deb-pkg: split generating packaging and build kbuild: use -fmacro-prefix-map to make __FILE__ a relative path kbuild: mark $(targets) as .SECONDARY and remove .PRECIOUS markers kbuild: rename *-asn1.[ch] to *.asn1.[ch] kbuild: clean up *-asn1.[ch] patterns from top-level Makefile .gitignore: move *-asn1.[ch] patterns to the top-level .gitignore kbuild: add %.dtb.S and %.dtb to 'targets' automatically kbuild: add %.lex.c and %.tab.[ch] to 'targets' automatically genksyms: generate lexer and parser during build instead of shipping kbuild: clean up *.lex.c and *.tab.[ch] patterns from top-level Makefile .gitignore: move *.lex.c *.tab.[ch] patterns to the top-level .gitignore kbuild: use HOSTLDFLAGS for single .c executables
This commit is contained in:
commit
ca71b3ba4c
7
.gitignore
vendored
7
.gitignore
vendored
|
@ -11,6 +11,7 @@
|
||||||
#
|
#
|
||||||
.*
|
.*
|
||||||
*.a
|
*.a
|
||||||
|
*.asn1.[ch]
|
||||||
*.bin
|
*.bin
|
||||||
*.bz2
|
*.bz2
|
||||||
*.c.[012]*.*
|
*.c.[012]*.*
|
||||||
|
@ -22,6 +23,7 @@
|
||||||
*.gz
|
*.gz
|
||||||
*.i
|
*.i
|
||||||
*.ko
|
*.ko
|
||||||
|
*.lex.c
|
||||||
*.ll
|
*.ll
|
||||||
*.lst
|
*.lst
|
||||||
*.lz4
|
*.lz4
|
||||||
|
@ -37,6 +39,7 @@
|
||||||
*.so.dbg
|
*.so.dbg
|
||||||
*.su
|
*.su
|
||||||
*.symtypes
|
*.symtypes
|
||||||
|
*.tab.[ch]
|
||||||
*.tar
|
*.tar
|
||||||
*.xz
|
*.xz
|
||||||
Module.symvers
|
Module.symvers
|
||||||
|
@ -129,7 +132,3 @@ all.config
|
||||||
|
|
||||||
# Kdevelop4
|
# Kdevelop4
|
||||||
*.kdev4
|
*.kdev4
|
||||||
|
|
||||||
#Automatically generated by ASN.1 compiler
|
|
||||||
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.c
|
|
||||||
net/ipv4/netfilter/nf_nat_snmp_basic-asn1.h
|
|
||||||
|
|
5
Makefile
5
Makefile
|
@ -846,6 +846,9 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types)
|
||||||
# Require designated initializers for all marked structures
|
# Require designated initializers for all marked structures
|
||||||
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
|
||||||
|
|
||||||
|
# change __FILE__ to the relative path from the srctree
|
||||||
|
KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
|
||||||
|
|
||||||
# use the deterministic mode of AR if available
|
# use the deterministic mode of AR if available
|
||||||
KBUILD_ARFLAGS := $(call ar-option,D)
|
KBUILD_ARFLAGS := $(call ar-option,D)
|
||||||
|
|
||||||
|
@ -1615,6 +1618,8 @@ clean: $(clean-dirs)
|
||||||
-o -name '*.dwo' -o -name '*.lst' \
|
-o -name '*.dwo' -o -name '*.lst' \
|
||||||
-o -name '*.su' \
|
-o -name '*.su' \
|
||||||
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
|
-o -name '.*.d' -o -name '.*.tmp' -o -name '*.mod.c' \
|
||||||
|
-o -name '*.lex.c' -o -name '*.tab.[ch]' \
|
||||||
|
-o -name '*.asn1.[ch]' \
|
||||||
-o -name '*.symtypes' -o -name 'modules.order' \
|
-o -name '*.symtypes' -o -name 'modules.order' \
|
||||||
-o -name modules.builtin -o -name '.tmp_*.o.*' \
|
-o -name modules.builtin -o -name '.tmp_*.o.*' \
|
||||||
-o -name .cache.mk \
|
-o -name .cache.mk \
|
||||||
|
|
|
@ -9,8 +9,6 @@ endif
|
||||||
obj-y += $(builtindtb-y).dtb.o
|
obj-y += $(builtindtb-y).dtb.o
|
||||||
dtb-y := $(builtindtb-y).dtb
|
dtb-y := $(builtindtb-y).dtb
|
||||||
|
|
||||||
.SECONDARY: $(obj)/$(builtindtb-y).dtb.S
|
|
||||||
|
|
||||||
# for CONFIG_OF_ALL_DTBS test
|
# for CONFIG_OF_ALL_DTBS test
|
||||||
dtstree := $(srctree)/$(src)
|
dtstree := $(srctree)/$(src)
|
||||||
dtb- := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
|
dtb- := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
|
||||||
|
|
|
@ -67,4 +67,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv4.pl
|
||||||
$(call cmd,perl)
|
$(call cmd,perl)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PRECIOUS: $(obj)/sha256-core.S $(obj)/sha512-core.S
|
targets += sha256-core.S sha512-core.S
|
||||||
|
|
|
@ -78,4 +78,4 @@ $(src)/sha512-core.S_shipped: $(src)/sha512-armv8.pl
|
||||||
$(call cmd,perlasm)
|
$(call cmd,perlasm)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PRECIOUS: $(obj)/sha256-core.S $(obj)/sha512-core.S
|
targets += sha256-core.S sha512-core.S
|
||||||
|
|
|
@ -29,9 +29,7 @@ vdso_img_cfiles := $(vdso_img-y:%=vdso-image-%.c)
|
||||||
vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg)
|
vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg)
|
||||||
obj-y += $(vdso_img_objs)
|
obj-y += $(vdso_img_objs)
|
||||||
targets += $(vdso_img_cfiles)
|
targets += $(vdso_img_cfiles)
|
||||||
targets += $(vdso_img_sodbg)
|
targets += $(vdso_img_sodbg) $(vdso_img-y:%=vdso%.so)
|
||||||
.SECONDARY: $(vdso_img-y:%=$(obj)/vdso-image-%.c) \
|
|
||||||
$(vdso_img-y:%=$(obj)/vdso%.so)
|
|
||||||
|
|
||||||
export CPPFLAGS_vdso.lds += -P -C
|
export CPPFLAGS_vdso.lds += -P -C
|
||||||
|
|
||||||
|
|
|
@ -42,9 +42,7 @@ vdso_img_cfiles := $(vdso_img-y:%=vdso-image-%.c)
|
||||||
vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg)
|
vdso_img_sodbg := $(vdso_img-y:%=vdso%.so.dbg)
|
||||||
obj-y += $(vdso_img_objs)
|
obj-y += $(vdso_img_objs)
|
||||||
targets += $(vdso_img_cfiles)
|
targets += $(vdso_img_cfiles)
|
||||||
targets += $(vdso_img_sodbg)
|
targets += $(vdso_img_sodbg) $(vdso_img-y:%=vdso%.so)
|
||||||
.SECONDARY: $(vdso_img-y:%=$(obj)/vdso-image-%.c) \
|
|
||||||
$(vdso_img-y:%=$(obj)/vdso%.so)
|
|
||||||
|
|
||||||
export CPPFLAGS_vdso.lds += -P -C
|
export CPPFLAGS_vdso.lds += -P -C
|
||||||
|
|
||||||
|
|
1
crypto/.gitignore
vendored
1
crypto/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
*-asn1.[ch]
|
|
|
@ -35,14 +35,12 @@ dh_generic-y := dh.o
|
||||||
dh_generic-y += dh_helper.o
|
dh_generic-y += dh_helper.o
|
||||||
obj-$(CONFIG_CRYPTO_DH) += dh_generic.o
|
obj-$(CONFIG_CRYPTO_DH) += dh_generic.o
|
||||||
|
|
||||||
$(obj)/rsapubkey-asn1.o: $(obj)/rsapubkey-asn1.c $(obj)/rsapubkey-asn1.h
|
$(obj)/rsapubkey.asn1.o: $(obj)/rsapubkey.asn1.c $(obj)/rsapubkey.asn1.h
|
||||||
$(obj)/rsaprivkey-asn1.o: $(obj)/rsaprivkey-asn1.c $(obj)/rsaprivkey-asn1.h
|
$(obj)/rsaprivkey.asn1.o: $(obj)/rsaprivkey.asn1.c $(obj)/rsaprivkey.asn1.h
|
||||||
$(obj)/rsa_helper.o: $(obj)/rsapubkey-asn1.h $(obj)/rsaprivkey-asn1.h
|
$(obj)/rsa_helper.o: $(obj)/rsapubkey.asn1.h $(obj)/rsaprivkey.asn1.h
|
||||||
clean-files += rsapubkey-asn1.c rsapubkey-asn1.h
|
|
||||||
clean-files += rsaprivkey-asn1.c rsaprivkey-asn1.h
|
|
||||||
|
|
||||||
rsa_generic-y := rsapubkey-asn1.o
|
rsa_generic-y := rsapubkey.asn1.o
|
||||||
rsa_generic-y += rsaprivkey-asn1.o
|
rsa_generic-y += rsaprivkey.asn1.o
|
||||||
rsa_generic-y += rsa.o
|
rsa_generic-y += rsa.o
|
||||||
rsa_generic-y += rsa_helper.o
|
rsa_generic-y += rsa_helper.o
|
||||||
rsa_generic-y += rsa-pkcs1pad.o
|
rsa_generic-y += rsa-pkcs1pad.o
|
||||||
|
|
1
crypto/asymmetric_keys/.gitignore
vendored
1
crypto/asymmetric_keys/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
*-asn1.[ch]
|
|
|
@ -17,35 +17,30 @@ obj-$(CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE) += public_key.o
|
||||||
#
|
#
|
||||||
obj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
|
obj-$(CONFIG_X509_CERTIFICATE_PARSER) += x509_key_parser.o
|
||||||
x509_key_parser-y := \
|
x509_key_parser-y := \
|
||||||
x509-asn1.o \
|
x509.asn1.o \
|
||||||
x509_akid-asn1.o \
|
x509_akid.asn1.o \
|
||||||
x509_cert_parser.o \
|
x509_cert_parser.o \
|
||||||
x509_public_key.o
|
x509_public_key.o
|
||||||
|
|
||||||
$(obj)/x509_cert_parser.o: \
|
$(obj)/x509_cert_parser.o: \
|
||||||
$(obj)/x509-asn1.h \
|
$(obj)/x509.asn1.h \
|
||||||
$(obj)/x509_akid-asn1.h
|
$(obj)/x509_akid.asn1.h
|
||||||
|
|
||||||
$(obj)/x509-asn1.o: $(obj)/x509-asn1.c $(obj)/x509-asn1.h
|
$(obj)/x509.asn1.o: $(obj)/x509.asn1.c $(obj)/x509.asn1.h
|
||||||
$(obj)/x509_akid-asn1.o: $(obj)/x509_akid-asn1.c $(obj)/x509_akid-asn1.h
|
$(obj)/x509_akid.asn1.o: $(obj)/x509_akid.asn1.c $(obj)/x509_akid.asn1.h
|
||||||
|
|
||||||
clean-files += x509-asn1.c x509-asn1.h
|
|
||||||
clean-files += x509_akid-asn1.c x509_akid-asn1.h
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# PKCS#7 message handling
|
# PKCS#7 message handling
|
||||||
#
|
#
|
||||||
obj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
|
obj-$(CONFIG_PKCS7_MESSAGE_PARSER) += pkcs7_message.o
|
||||||
pkcs7_message-y := \
|
pkcs7_message-y := \
|
||||||
pkcs7-asn1.o \
|
pkcs7.asn1.o \
|
||||||
pkcs7_parser.o \
|
pkcs7_parser.o \
|
||||||
pkcs7_trust.o \
|
pkcs7_trust.o \
|
||||||
pkcs7_verify.o
|
pkcs7_verify.o
|
||||||
|
|
||||||
$(obj)/pkcs7_parser.o: $(obj)/pkcs7-asn1.h
|
$(obj)/pkcs7_parser.o: $(obj)/pkcs7.asn1.h
|
||||||
$(obj)/pkcs7-asn1.o: $(obj)/pkcs7-asn1.c $(obj)/pkcs7-asn1.h
|
$(obj)/pkcs7.asn1.o: $(obj)/pkcs7.asn1.c $(obj)/pkcs7.asn1.h
|
||||||
|
|
||||||
clean-files += pkcs7-asn1.c pkcs7-asn1.h
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# PKCS#7 parser testing key
|
# PKCS#7 parser testing key
|
||||||
|
@ -62,9 +57,7 @@ obj-$(CONFIG_SIGNED_PE_FILE_VERIFICATION) += verify_signed_pefile.o
|
||||||
verify_signed_pefile-y := \
|
verify_signed_pefile-y := \
|
||||||
verify_pefile.o \
|
verify_pefile.o \
|
||||||
mscode_parser.o \
|
mscode_parser.o \
|
||||||
mscode-asn1.o
|
mscode.asn1.o
|
||||||
|
|
||||||
$(obj)/mscode_parser.o: $(obj)/mscode-asn1.h $(obj)/mscode-asn1.h
|
$(obj)/mscode_parser.o: $(obj)/mscode.asn1.h $(obj)/mscode.asn1.h
|
||||||
$(obj)/mscode-asn1.o: $(obj)/mscode-asn1.c $(obj)/mscode-asn1.h
|
$(obj)/mscode.asn1.o: $(obj)/mscode.asn1.c $(obj)/mscode.asn1.h
|
||||||
|
|
||||||
clean-files += mscode-asn1.c mscode-asn1.h
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
#include <linux/oid_registry.h>
|
#include <linux/oid_registry.h>
|
||||||
#include <crypto/pkcs7.h>
|
#include <crypto/pkcs7.h>
|
||||||
#include "verify_pefile.h"
|
#include "verify_pefile.h"
|
||||||
#include "mscode-asn1.h"
|
#include "mscode.asn1.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Parse a Microsoft Individual Code Signing blob
|
* Parse a Microsoft Individual Code Signing blob
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#include <linux/oid_registry.h>
|
#include <linux/oid_registry.h>
|
||||||
#include <crypto/public_key.h>
|
#include <crypto/public_key.h>
|
||||||
#include "pkcs7_parser.h"
|
#include "pkcs7_parser.h"
|
||||||
#include "pkcs7-asn1.h"
|
#include "pkcs7.asn1.h"
|
||||||
|
|
||||||
MODULE_DESCRIPTION("PKCS#7 parser");
|
MODULE_DESCRIPTION("PKCS#7 parser");
|
||||||
MODULE_AUTHOR("Red Hat, Inc.");
|
MODULE_AUTHOR("Red Hat, Inc.");
|
||||||
|
|
|
@ -17,8 +17,8 @@
|
||||||
#include <linux/oid_registry.h>
|
#include <linux/oid_registry.h>
|
||||||
#include <crypto/public_key.h>
|
#include <crypto/public_key.h>
|
||||||
#include "x509_parser.h"
|
#include "x509_parser.h"
|
||||||
#include "x509-asn1.h"
|
#include "x509.asn1.h"
|
||||||
#include "x509_akid-asn1.h"
|
#include "x509_akid.asn1.h"
|
||||||
|
|
||||||
struct x509_parse_context {
|
struct x509_parse_context {
|
||||||
struct x509_certificate *cert; /* Certificate being constructed */
|
struct x509_certificate *cert; /* Certificate being constructed */
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/fips.h>
|
#include <linux/fips.h>
|
||||||
#include <crypto/internal/rsa.h>
|
#include <crypto/internal/rsa.h>
|
||||||
#include "rsapubkey-asn1.h"
|
#include "rsapubkey.asn1.h"
|
||||||
#include "rsaprivkey-asn1.h"
|
#include "rsaprivkey.asn1.h"
|
||||||
|
|
||||||
int rsa_get_n(void *context, size_t hdrlen, unsigned char tag,
|
int rsa_get_n(void *context, size_t hdrlen, unsigned char tag,
|
||||||
const void *value, size_t vlen)
|
const void *value, size_t vlen)
|
||||||
|
|
1
drivers/crypto/qat/qat_common/.gitignore
vendored
1
drivers/crypto/qat/qat_common/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
*-asn1.[ch]
|
|
|
@ -21,8 +21,6 @@ obj-$(CONFIG_OF_OVERLAY) += overlay.dtb.o \
|
||||||
overlay_bad_symbol.dtb.o \
|
overlay_bad_symbol.dtb.o \
|
||||||
overlay_base.dtb.o
|
overlay_base.dtb.o
|
||||||
|
|
||||||
targets += $(foreach suffix, dtb dtb.S, $(patsubst %.dtb.o,%.$(suffix),$(obj-y)))
|
|
||||||
|
|
||||||
# enable creation of __symbols__ node
|
# enable creation of __symbols__ node
|
||||||
DTC_FLAGS_overlay += -@
|
DTC_FLAGS_overlay += -@
|
||||||
DTC_FLAGS_overlay_bad_phandle += -@
|
DTC_FLAGS_overlay_bad_phandle += -@
|
||||||
|
@ -32,7 +30,3 @@ DTC_FLAGS_testcases += -@
|
||||||
|
|
||||||
# suppress warnings about intentional errors
|
# suppress warnings about intentional errors
|
||||||
DTC_FLAGS_testcases += -Wno-interrupts_property
|
DTC_FLAGS_testcases += -Wno-interrupts_property
|
||||||
|
|
||||||
.PRECIOUS: \
|
|
||||||
$(obj)/%.dtb.S \
|
|
||||||
$(obj)/%.dtb
|
|
||||||
|
|
|
@ -28,10 +28,9 @@ obj-$(CONFIG_NF_REJECT_IPV4) += nf_reject_ipv4.o
|
||||||
obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
|
obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
|
||||||
obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o
|
obj-$(CONFIG_NF_NAT_PPTP) += nf_nat_pptp.o
|
||||||
|
|
||||||
nf_nat_snmp_basic-y := nf_nat_snmp_basic-asn1.o nf_nat_snmp_basic_main.o
|
nf_nat_snmp_basic-y := nf_nat_snmp_basic.asn1.o nf_nat_snmp_basic_main.o
|
||||||
$(obj)/nf_nat_snmp_basic_main.o: $(obj)/nf_nat_snmp_basic-asn1.h
|
$(obj)/nf_nat_snmp_basic_main.o: $(obj)/nf_nat_snmp_basic.asn1.h
|
||||||
obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
|
obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
|
||||||
clean-files := nf_nat_snmp_basic-asn1.c nf_nat_snmp_basic-asn1.h
|
|
||||||
|
|
||||||
obj-$(CONFIG_NF_NAT_MASQUERADE_IPV4) += nf_nat_masquerade_ipv4.o
|
obj-$(CONFIG_NF_NAT_MASQUERADE_IPV4) += nf_nat_masquerade_ipv4.o
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
#include <net/netfilter/nf_conntrack_expect.h>
|
#include <net/netfilter/nf_conntrack_expect.h>
|
||||||
#include <net/netfilter/nf_conntrack_helper.h>
|
#include <net/netfilter/nf_conntrack_helper.h>
|
||||||
#include <linux/netfilter/nf_conntrack_snmp.h>
|
#include <linux/netfilter/nf_conntrack_snmp.h>
|
||||||
#include "nf_nat_snmp_basic-asn1.h"
|
#include "nf_nat_snmp_basic.asn1.h"
|
||||||
|
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
MODULE_AUTHOR("James Morris <jmorris@intercode.com.au>");
|
MODULE_AUTHOR("James Morris <jmorris@intercode.com.au>");
|
||||||
|
|
|
@ -10,6 +10,7 @@ space := $(empty) $(empty)
|
||||||
space_escape := _-_SPACE_-_
|
space_escape := _-_SPACE_-_
|
||||||
right_paren := )
|
right_paren := )
|
||||||
left_paren := (
|
left_paren := (
|
||||||
|
pound := \#
|
||||||
|
|
||||||
###
|
###
|
||||||
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
|
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
|
||||||
|
@ -322,11 +323,11 @@ endif
|
||||||
|
|
||||||
# Replace >$< with >$$< to preserve $ when reloading the .cmd file
|
# Replace >$< with >$$< to preserve $ when reloading the .cmd file
|
||||||
# (needed for make)
|
# (needed for make)
|
||||||
# Replace >#< with >\#< to avoid starting a comment in the .cmd file
|
# Replace >#< with >$(pound)< to avoid starting a comment in the .cmd file
|
||||||
# (needed for make)
|
# (needed for make)
|
||||||
# Replace >'< with >'\''< to be able to enclose the whole string in '...'
|
# Replace >'< with >'\''< to be able to enclose the whole string in '...'
|
||||||
# (needed for the shell)
|
# (needed for the shell)
|
||||||
make-cmd = $(call escsq,$(subst \#,\\\#,$(subst $$,$$$$,$(cmd_$(1)))))
|
make-cmd = $(call escsq,$(subst $(pound),$$(pound),$(subst $$,$$$$,$(cmd_$(1)))))
|
||||||
|
|
||||||
# Find any prerequisites that is newer than target or that does not exist.
|
# Find any prerequisites that is newer than target or that does not exist.
|
||||||
# PHONY targets skipped in both cases.
|
# PHONY targets skipped in both cases.
|
||||||
|
|
|
@ -430,9 +430,7 @@ quiet_cmd_asn1_compiler = ASN.1 $@
|
||||||
cmd_asn1_compiler = $(objtree)/scripts/asn1_compiler $< \
|
cmd_asn1_compiler = $(objtree)/scripts/asn1_compiler $< \
|
||||||
$(subst .h,.c,$@) $(subst .c,.h,$@)
|
$(subst .h,.c,$@) $(subst .c,.h,$@)
|
||||||
|
|
||||||
.PRECIOUS: $(objtree)/$(obj)/%-asn1.c $(objtree)/$(obj)/%-asn1.h
|
$(obj)/%.asn1.c $(obj)/%.asn1.h: $(src)/%.asn1 $(objtree)/scripts/asn1_compiler
|
||||||
|
|
||||||
$(obj)/%-asn1.c $(obj)/%-asn1.h: $(src)/%.asn1 $(objtree)/scripts/asn1_compiler
|
|
||||||
$(call cmd,asn1_compiler)
|
$(call cmd,asn1_compiler)
|
||||||
|
|
||||||
# Build the compiled-in targets
|
# Build the compiled-in targets
|
||||||
|
@ -538,6 +536,21 @@ $(call multi_depend, $(multi-used-m), .o, -objs -y -m)
|
||||||
targets += $(multi-used-m)
|
targets += $(multi-used-m)
|
||||||
targets := $(filter-out $(PHONY), $(targets))
|
targets := $(filter-out $(PHONY), $(targets))
|
||||||
|
|
||||||
|
# Add intermediate targets:
|
||||||
|
# When building objects with specific suffix patterns, add intermediate
|
||||||
|
# targets that the final targets are derived from.
|
||||||
|
intermediate_targets = $(foreach sfx, $(2), \
|
||||||
|
$(patsubst %$(strip $(1)),%$(sfx), \
|
||||||
|
$(filter %$(strip $(1)), $(targets))))
|
||||||
|
# %.asn1.o <- %.asn1.[ch] <- %.asn1
|
||||||
|
# %.dtb.o <- %.dtb.S <- %.dtb <- %.dts
|
||||||
|
# %.lex.o <- %.lex.c <- %.l
|
||||||
|
# %.tab.o <- %.tab.[ch] <- %.y
|
||||||
|
targets += $(call intermediate_targets, .asn1.o, .asn1.c .asn1.h) \
|
||||||
|
$(call intermediate_targets, .dtb.o, .dtb.S .dtb) \
|
||||||
|
$(call intermediate_targets, .lex.o, .lex.c) \
|
||||||
|
$(call intermediate_targets, .tab.o, .tab.c .tab.h)
|
||||||
|
|
||||||
# Descending
|
# Descending
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -574,6 +587,10 @@ $(shell mkdir -p $(obj-dirs))
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Some files contained in $(targets) are intermediate artifacts.
|
||||||
|
# We never want them to be removed automatically.
|
||||||
|
.SECONDARY: $(targets)
|
||||||
|
|
||||||
# Declare the contents of the .PHONY variable as phony. We keep that
|
# Declare the contents of the .PHONY variable as phony. We keep that
|
||||||
# information in a variable se we can use it in if_changed and friends.
|
# information in a variable se we can use it in if_changed and friends.
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ hostcxx_flags = -Wp,-MD,$(depfile) $(__hostcxx_flags)
|
||||||
# Create executable from a single .c file
|
# Create executable from a single .c file
|
||||||
# host-csingle -> Executable
|
# host-csingle -> Executable
|
||||||
quiet_cmd_host-csingle = HOSTCC $@
|
quiet_cmd_host-csingle = HOSTCC $@
|
||||||
cmd_host-csingle = $(HOSTCC) $(hostc_flags) -o $@ $< \
|
cmd_host-csingle = $(HOSTCC) $(hostc_flags) $(HOSTLDFLAGS) -o $@ $< \
|
||||||
$(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
|
$(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F))
|
||||||
$(host-csingle): $(obj)/%: $(src)/%.c FORCE
|
$(host-csingle): $(obj)/%: $(src)/%.c FORCE
|
||||||
$(call if_changed_dep,host-csingle)
|
$(call if_changed_dep,host-csingle)
|
||||||
|
|
|
@ -184,14 +184,7 @@ endef
|
||||||
quiet_cmd_flex = LEX $@
|
quiet_cmd_flex = LEX $@
|
||||||
cmd_flex = $(LEX) -o$@ -L $<
|
cmd_flex = $(LEX) -o$@ -L $<
|
||||||
|
|
||||||
ifdef REGENERATE_PARSERS
|
$(obj)/%.lex.c: $(src)/%.l FORCE
|
||||||
.PRECIOUS: $(src)/%.lex.c_shipped
|
|
||||||
$(src)/%.lex.c_shipped: $(src)/%.l
|
|
||||||
$(call cmd,flex)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PRECIOUS: $(obj)/%.lex.c
|
|
||||||
$(filter %.lex.c,$(targets)): $(obj)/%.lex.c: $(src)/%.l FORCE
|
|
||||||
$(call if_changed,flex)
|
$(call if_changed,flex)
|
||||||
|
|
||||||
# YACC
|
# YACC
|
||||||
|
@ -199,27 +192,13 @@ $(filter %.lex.c,$(targets)): $(obj)/%.lex.c: $(src)/%.l FORCE
|
||||||
quiet_cmd_bison = YACC $@
|
quiet_cmd_bison = YACC $@
|
||||||
cmd_bison = $(YACC) -o$@ -t -l $<
|
cmd_bison = $(YACC) -o$@ -t -l $<
|
||||||
|
|
||||||
ifdef REGENERATE_PARSERS
|
$(obj)/%.tab.c: $(src)/%.y FORCE
|
||||||
.PRECIOUS: $(src)/%.tab.c_shipped
|
|
||||||
$(src)/%.tab.c_shipped: $(src)/%.y
|
|
||||||
$(call cmd,bison)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PRECIOUS: $(obj)/%.tab.c
|
|
||||||
$(filter %.tab.c,$(targets)): $(obj)/%.tab.c: $(src)/%.y FORCE
|
|
||||||
$(call if_changed,bison)
|
$(call if_changed,bison)
|
||||||
|
|
||||||
quiet_cmd_bison_h = YACC $@
|
quiet_cmd_bison_h = YACC $@
|
||||||
cmd_bison_h = bison -o/dev/null --defines=$@ -t -l $<
|
cmd_bison_h = bison -o/dev/null --defines=$@ -t -l $<
|
||||||
|
|
||||||
ifdef REGENERATE_PARSERS
|
$(obj)/%.tab.h: $(src)/%.y FORCE
|
||||||
.PRECIOUS: $(src)/%.tab.h_shipped
|
|
||||||
$(src)/%.tab.h_shipped: $(src)/%.y
|
|
||||||
$(call cmd,bison_h)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PRECIOUS: $(obj)/%.tab.h
|
|
||||||
$(filter %.tab.h,$(targets)): $(obj)/%.tab.h: $(src)/%.y FORCE
|
|
||||||
$(call if_changed,bison_h)
|
$(call if_changed,bison_h)
|
||||||
|
|
||||||
# Shipped files
|
# Shipped files
|
||||||
|
@ -297,8 +276,8 @@ cmd_dt_S_dtb= \
|
||||||
echo '.balign STRUCT_ALIGNMENT'; \
|
echo '.balign STRUCT_ALIGNMENT'; \
|
||||||
) > $@
|
) > $@
|
||||||
|
|
||||||
$(obj)/%.dtb.S: $(obj)/%.dtb
|
$(obj)/%.dtb.S: $(obj)/%.dtb FORCE
|
||||||
$(call cmd,dt_S_dtb)
|
$(call if_changed,dt_S_dtb)
|
||||||
|
|
||||||
quiet_cmd_dtc = DTC $@
|
quiet_cmd_dtc = DTC $@
|
||||||
cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
||||||
|
|
|
@ -1319,7 +1319,7 @@ static void render(FILE *out, FILE *hdr)
|
||||||
fprintf(out, " * ASN.1 parser for %s\n", grammar_name);
|
fprintf(out, " * ASN.1 parser for %s\n", grammar_name);
|
||||||
fprintf(out, " */\n");
|
fprintf(out, " */\n");
|
||||||
fprintf(out, "#include <linux/asn1_ber_bytecode.h>\n");
|
fprintf(out, "#include <linux/asn1_ber_bytecode.h>\n");
|
||||||
fprintf(out, "#include \"%s-asn1.h\"\n", grammar_name);
|
fprintf(out, "#include \"%s.asn1.h\"\n", grammar_name);
|
||||||
fprintf(out, "\n");
|
fprintf(out, "\n");
|
||||||
if (ferror(out)) {
|
if (ferror(out)) {
|
||||||
perror(outputname);
|
perror(outputname);
|
||||||
|
|
3
scripts/dtc/.gitignore
vendored
3
scripts/dtc/.gitignore
vendored
|
@ -1,4 +1 @@
|
||||||
dtc
|
dtc
|
||||||
dtc-lexer.lex.c
|
|
||||||
dtc-parser.tab.c
|
|
||||||
dtc-parser.tab.h
|
|
||||||
|
|
|
@ -27,8 +27,3 @@ HOSTCFLAGS_dtc-parser.tab.o := $(HOSTCFLAGS_DTC)
|
||||||
|
|
||||||
# dependencies on generated files need to be listed explicitly
|
# dependencies on generated files need to be listed explicitly
|
||||||
$(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
|
$(obj)/dtc-lexer.lex.o: $(obj)/dtc-parser.tab.h
|
||||||
|
|
||||||
# generated files need to include *.cmd and be cleaned explicitly
|
|
||||||
generated-files := dtc-lexer.lex.c dtc-parser.tab.c dtc-parser.tab.h
|
|
||||||
targets := $(generated-files)
|
|
||||||
clean-files := $(generated-files)
|
|
||||||
|
|
3
scripts/genksyms/.gitignore
vendored
3
scripts/genksyms/.gitignore
vendored
|
@ -1,4 +1 @@
|
||||||
*.lex.c
|
|
||||||
*.tab.c
|
|
||||||
*.tab.h
|
|
||||||
genksyms
|
genksyms
|
||||||
|
|
|
@ -5,11 +5,34 @@ always := $(hostprogs-y)
|
||||||
|
|
||||||
genksyms-objs := genksyms.o parse.tab.o lex.lex.o
|
genksyms-objs := genksyms.o parse.tab.o lex.lex.o
|
||||||
|
|
||||||
|
# FIXME: fix the ambiguous grammar in parse.y and delete this hack
|
||||||
|
#
|
||||||
|
# Suppress shift/reduce, reduce/reduce conflicts warnings
|
||||||
|
# unless W=1 is specified.
|
||||||
|
#
|
||||||
|
# Just in case, run "$(YACC) --version" without suppressing stderr
|
||||||
|
# so that 'bison: not found' will be displayed if it is missing.
|
||||||
|
ifeq ($(findstring 1,$(KBUILD_ENABLE_EXTRA_GCC_CHECKS)),)
|
||||||
|
|
||||||
|
quiet_cmd_bison_no_warn = $(quet_cmd_bison)
|
||||||
|
cmd_bison_no_warn = $(YACC) --version >/dev/null; \
|
||||||
|
$(cmd_bison) 2>/dev/null
|
||||||
|
|
||||||
|
$(obj)/parse.tab.c: $(src)/parse.y FORCE
|
||||||
|
$(call if_changed,bison_no_warn)
|
||||||
|
|
||||||
|
quiet_cmd_bison_h_no_warn = $(quet_cmd_bison_h)
|
||||||
|
cmd_bison_h_no_warn = $(YACC) --version >/dev/null; \
|
||||||
|
$(cmd_bison_h) 2>/dev/null
|
||||||
|
|
||||||
|
$(obj)/parse.tab.h: $(src)/parse.y FORCE
|
||||||
|
$(call if_changed,bison_h_no_warn)
|
||||||
|
|
||||||
|
endif
|
||||||
|
|
||||||
# -I needed for generated C source (shipped source)
|
# -I needed for generated C source (shipped source)
|
||||||
HOSTCFLAGS_parse.tab.o := -I$(src)
|
HOSTCFLAGS_parse.tab.o := -I$(src)
|
||||||
HOSTCFLAGS_lex.lex.o := -I$(src)
|
HOSTCFLAGS_lex.lex.o := -I$(src)
|
||||||
|
|
||||||
# dependencies on generated files need to be listed explicitly
|
# dependencies on generated files need to be listed explicitly
|
||||||
$(obj)/lex.lex.o: $(obj)/parse.tab.h
|
$(obj)/lex.lex.o: $(obj)/parse.tab.h
|
||||||
|
|
||||||
clean-files := lex.lex.c parse.tab.c parse.tab.h
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -1,119 +0,0 @@
|
||||||
/* A Bison parser, made by GNU Bison 2.7. */
|
|
||||||
|
|
||||||
/* Bison interface for Yacc-like parsers in C
|
|
||||||
|
|
||||||
Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation, either version 3 of the License, or
|
|
||||||
(at your option) any later version.
|
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
GNU General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
/* As a special exception, you may create a larger work that contains
|
|
||||||
part or all of the Bison parser skeleton and distribute that work
|
|
||||||
under terms of your choice, so long as that work isn't itself a
|
|
||||||
parser generator using the skeleton or a modified version thereof
|
|
||||||
as a parser skeleton. Alternatively, if you modify or redistribute
|
|
||||||
the parser skeleton itself, you may (at your option) remove this
|
|
||||||
special exception, which will cause the skeleton and the resulting
|
|
||||||
Bison output files to be licensed under the GNU General Public
|
|
||||||
License without this special exception.
|
|
||||||
|
|
||||||
This special exception was added by the Free Software Foundation in
|
|
||||||
version 2.2 of Bison. */
|
|
||||||
|
|
||||||
#ifndef YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED
|
|
||||||
# define YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED
|
|
||||||
/* Enabling traces. */
|
|
||||||
#ifndef YYDEBUG
|
|
||||||
# define YYDEBUG 1
|
|
||||||
#endif
|
|
||||||
#if YYDEBUG
|
|
||||||
extern int yydebug;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Tokens. */
|
|
||||||
#ifndef YYTOKENTYPE
|
|
||||||
# define YYTOKENTYPE
|
|
||||||
/* Put the tokens into the symbol table, so that GDB and other debuggers
|
|
||||||
know about them. */
|
|
||||||
enum yytokentype {
|
|
||||||
ASM_KEYW = 258,
|
|
||||||
ATTRIBUTE_KEYW = 259,
|
|
||||||
AUTO_KEYW = 260,
|
|
||||||
BOOL_KEYW = 261,
|
|
||||||
CHAR_KEYW = 262,
|
|
||||||
CONST_KEYW = 263,
|
|
||||||
DOUBLE_KEYW = 264,
|
|
||||||
ENUM_KEYW = 265,
|
|
||||||
EXTERN_KEYW = 266,
|
|
||||||
EXTENSION_KEYW = 267,
|
|
||||||
FLOAT_KEYW = 268,
|
|
||||||
INLINE_KEYW = 269,
|
|
||||||
INT_KEYW = 270,
|
|
||||||
LONG_KEYW = 271,
|
|
||||||
REGISTER_KEYW = 272,
|
|
||||||
RESTRICT_KEYW = 273,
|
|
||||||
SHORT_KEYW = 274,
|
|
||||||
SIGNED_KEYW = 275,
|
|
||||||
STATIC_KEYW = 276,
|
|
||||||
STRUCT_KEYW = 277,
|
|
||||||
TYPEDEF_KEYW = 278,
|
|
||||||
UNION_KEYW = 279,
|
|
||||||
UNSIGNED_KEYW = 280,
|
|
||||||
VOID_KEYW = 281,
|
|
||||||
VOLATILE_KEYW = 282,
|
|
||||||
TYPEOF_KEYW = 283,
|
|
||||||
VA_LIST_KEYW = 284,
|
|
||||||
EXPORT_SYMBOL_KEYW = 285,
|
|
||||||
ASM_PHRASE = 286,
|
|
||||||
ATTRIBUTE_PHRASE = 287,
|
|
||||||
TYPEOF_PHRASE = 288,
|
|
||||||
BRACE_PHRASE = 289,
|
|
||||||
BRACKET_PHRASE = 290,
|
|
||||||
EXPRESSION_PHRASE = 291,
|
|
||||||
CHAR = 292,
|
|
||||||
DOTS = 293,
|
|
||||||
IDENT = 294,
|
|
||||||
INT = 295,
|
|
||||||
REAL = 296,
|
|
||||||
STRING = 297,
|
|
||||||
TYPE = 298,
|
|
||||||
OTHER = 299,
|
|
||||||
FILENAME = 300
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
|
||||||
typedef int YYSTYPE;
|
|
||||||
# define YYSTYPE_IS_TRIVIAL 1
|
|
||||||
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
|
|
||||||
# define YYSTYPE_IS_DECLARED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern YYSTYPE yylval;
|
|
||||||
|
|
||||||
#ifdef YYPARSE_PARAM
|
|
||||||
#if defined __STDC__ || defined __cplusplus
|
|
||||||
int yyparse (void *YYPARSE_PARAM);
|
|
||||||
#else
|
|
||||||
int yyparse ();
|
|
||||||
#endif
|
|
||||||
#else /* ! YYPARSE_PARAM */
|
|
||||||
#if defined __STDC__ || defined __cplusplus
|
|
||||||
int yyparse (void);
|
|
||||||
#else
|
|
||||||
int yyparse ();
|
|
||||||
#endif
|
|
||||||
#endif /* ! YYPARSE_PARAM */
|
|
||||||
|
|
||||||
#endif /* !YY_YY_SCRIPTS_GENKSYMS_PARSE_TAB_H_SHIPPED_INCLUDED */
|
|
3
scripts/kconfig/.gitignore
vendored
3
scripts/kconfig/.gitignore
vendored
|
@ -1,9 +1,6 @@
|
||||||
#
|
#
|
||||||
# Generated files
|
# Generated files
|
||||||
#
|
#
|
||||||
*.lex.c
|
|
||||||
*.tab.c
|
|
||||||
*.tab.h
|
|
||||||
*.moc
|
*.moc
|
||||||
gconf.glade.h
|
gconf.glade.h
|
||||||
*.pot
|
*.pot
|
||||||
|
|
|
@ -207,9 +207,9 @@ gconf-objs := gconf.o zconf.tab.o
|
||||||
|
|
||||||
hostprogs-y := conf nconf mconf kxgettext qconf gconf
|
hostprogs-y := conf nconf mconf kxgettext qconf gconf
|
||||||
|
|
||||||
targets += zconf.tab.c zconf.lex.c
|
targets += zconf.lex.c
|
||||||
clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
|
clean-files := qconf.moc .tmp_qtcheck .tmp_gtkcheck
|
||||||
clean-files += zconf.tab.c zconf.lex.c gconf.glade.h
|
clean-files += gconf.glade.h
|
||||||
clean-files += config.pot linux.pot
|
clean-files += config.pot linux.pot
|
||||||
|
|
||||||
# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
|
# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
|
||||||
|
|
|
@ -422,8 +422,18 @@ static void check_conf(struct menu *menu)
|
||||||
if (sym_is_changable(sym) ||
|
if (sym_is_changable(sym) ||
|
||||||
(sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
|
(sym_is_choice(sym) && sym_get_tristate_value(sym) == yes)) {
|
||||||
if (input_mode == listnewconfig) {
|
if (input_mode == listnewconfig) {
|
||||||
if (sym->name && !sym_is_choice_value(sym)) {
|
if (sym->name) {
|
||||||
printf("%s%s\n", CONFIG_, sym->name);
|
const char *str;
|
||||||
|
|
||||||
|
if (sym->type == S_STRING) {
|
||||||
|
str = sym_get_string_value(sym);
|
||||||
|
str = sym_escape_string_value(str);
|
||||||
|
printf("%s%s=%s\n", CONFIG_, sym->name, str);
|
||||||
|
free((void *)str);
|
||||||
|
} else {
|
||||||
|
str = sym_get_string_value(sym);
|
||||||
|
printf("%s%s=%s\n", CONFIG_, sym->name, str);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!conf_cnt++)
|
if (!conf_cnt++)
|
||||||
|
|
|
@ -24,6 +24,7 @@
|
||||||
# Remove hyphens since they have special meaning in RPM filenames
|
# Remove hyphens since they have special meaning in RPM filenames
|
||||||
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
|
KERNELPATH := kernel-$(subst -,_,$(KERNELRELEASE))
|
||||||
KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
|
KDEB_SOURCENAME ?= linux-$(KERNELRELEASE)
|
||||||
|
KBUILD_PKG_ROOTCMD ?="fakeroot -u"
|
||||||
export KDEB_SOURCENAME
|
export KDEB_SOURCENAME
|
||||||
# Include only those top-level files that are needed by make, plus the GPL copy
|
# Include only those top-level files that are needed by make, plus the GPL copy
|
||||||
TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \
|
TAR_CONTENT := $(KBUILD_ALLDIRS) .config .scmversion Makefile \
|
||||||
|
@ -66,35 +67,20 @@ binrpm-pkg: FORCE
|
||||||
|
|
||||||
clean-files += $(objtree)/*.spec
|
clean-files += $(objtree)/*.spec
|
||||||
|
|
||||||
# Deb target
|
|
||||||
# ---------------------------------------------------------------------------
|
|
||||||
quiet_cmd_builddeb = BUILDDEB
|
|
||||||
cmd_builddeb = set -e; \
|
|
||||||
test `id -u` = 0 || \
|
|
||||||
test -n "$(KBUILD_PKG_ROOTCMD)" || { \
|
|
||||||
which fakeroot >/dev/null 2>&1 && \
|
|
||||||
KBUILD_PKG_ROOTCMD="fakeroot -u"; \
|
|
||||||
} || { \
|
|
||||||
echo; \
|
|
||||||
echo "builddeb must be run as root (or using fakeroot)."; \
|
|
||||||
echo "KBUILD_PKG_ROOTCMD is unset and fakeroot not found."; \
|
|
||||||
echo "Try setting KBUILD_PKG_ROOTCMD to a command to acquire"; \
|
|
||||||
echo "root privileges (e.g., 'fakeroot -u' or 'sudo')."; \
|
|
||||||
false; \
|
|
||||||
} && \
|
|
||||||
\
|
|
||||||
$$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \
|
|
||||||
$(srctree)/scripts/package/builddeb $@
|
|
||||||
|
|
||||||
deb-pkg: FORCE
|
deb-pkg: FORCE
|
||||||
$(MAKE) clean
|
$(MAKE) clean
|
||||||
|
$(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
|
||||||
$(call cmd,src_tar,$(KDEB_SOURCENAME))
|
$(call cmd,src_tar,$(KDEB_SOURCENAME))
|
||||||
$(MAKE) KBUILD_SRC=
|
origversion=$$(dpkg-parsechangelog -SVersion |sed 's/-[^-]*$$//');\
|
||||||
+$(call cmd,builddeb)
|
mv $(KDEB_SOURCENAME).tar.gz ../$(KDEB_SOURCENAME)_$${origversion}.orig.tar.gz
|
||||||
|
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -i.git -us -uc
|
||||||
|
|
||||||
bindeb-pkg: FORCE
|
bindeb-pkg: FORCE
|
||||||
$(MAKE) KBUILD_SRC=
|
$(CONFIG_SHELL) $(srctree)/scripts/package/mkdebian
|
||||||
+$(call cmd,builddeb)
|
+dpkg-buildpackage -r$(KBUILD_PKG_ROOTCMD) -a$$(cat debian/arch) -b -nc -uc
|
||||||
|
|
||||||
|
intdeb-pkg: FORCE
|
||||||
|
+$(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
|
||||||
|
|
||||||
clean-dirs += $(objtree)/debian/
|
clean-dirs += $(objtree)/debian/
|
||||||
|
|
||||||
|
|
|
@ -30,67 +30,11 @@ create_package() {
|
||||||
chmod -R a+rX "$pdir"
|
chmod -R a+rX "$pdir"
|
||||||
|
|
||||||
# Create the package
|
# Create the package
|
||||||
dpkg-gencontrol $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir"
|
dpkg-gencontrol -p$pname -P"$pdir"
|
||||||
dpkg --build "$pdir" ..
|
dpkg --build "$pdir" ..
|
||||||
}
|
}
|
||||||
|
|
||||||
set_debarch() {
|
|
||||||
# Attempt to find the correct Debian architecture
|
|
||||||
case "$UTS_MACHINE" in
|
|
||||||
i386|ia64|alpha)
|
|
||||||
debarch="$UTS_MACHINE" ;;
|
|
||||||
x86_64)
|
|
||||||
debarch=amd64 ;;
|
|
||||||
sparc*)
|
|
||||||
debarch=sparc ;;
|
|
||||||
s390*)
|
|
||||||
debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
|
|
||||||
ppc*)
|
|
||||||
debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
|
|
||||||
parisc*)
|
|
||||||
debarch=hppa ;;
|
|
||||||
mips*)
|
|
||||||
debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
|
|
||||||
aarch64|arm64)
|
|
||||||
debarch=arm64 ;;
|
|
||||||
arm*)
|
|
||||||
if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
|
|
||||||
if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
|
|
||||||
debarch=armhf
|
|
||||||
else
|
|
||||||
debarch=armel
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
debarch=arm
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
debarch=$(dpkg --print-architecture)
|
|
||||||
echo "" >&2
|
|
||||||
echo "** ** ** WARNING ** ** **" >&2
|
|
||||||
echo "" >&2
|
|
||||||
echo "Your architecture doesn't have its equivalent" >&2
|
|
||||||
echo "Debian userspace architecture defined!" >&2
|
|
||||||
echo "Falling back to using your current userspace instead!" >&2
|
|
||||||
echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
|
|
||||||
echo "" >&2
|
|
||||||
esac
|
|
||||||
if [ -n "$KBUILD_DEBARCH" ] ; then
|
|
||||||
debarch="$KBUILD_DEBARCH"
|
|
||||||
fi
|
|
||||||
forcearch="-DArchitecture=$debarch"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
# Some variables and settings used throughout the script
|
|
||||||
version=$KERNELRELEASE
|
version=$KERNELRELEASE
|
||||||
revision=$(cat .version)
|
|
||||||
if [ -n "$KDEB_PKGVERSION" ]; then
|
|
||||||
packageversion=$KDEB_PKGVERSION
|
|
||||||
else
|
|
||||||
packageversion=$version-$revision
|
|
||||||
fi
|
|
||||||
sourcename=$KDEB_SOURCENAME
|
|
||||||
tmpdir="$objtree/debian/tmp"
|
tmpdir="$objtree/debian/tmp"
|
||||||
kernel_headers_dir="$objtree/debian/hdrtmp"
|
kernel_headers_dir="$objtree/debian/hdrtmp"
|
||||||
libc_headers_dir="$objtree/debian/headertmp"
|
libc_headers_dir="$objtree/debian/headertmp"
|
||||||
|
@ -99,9 +43,6 @@ packagename=linux-image-$version
|
||||||
kernel_headers_packagename=linux-headers-$version
|
kernel_headers_packagename=linux-headers-$version
|
||||||
libc_headers_packagename=linux-libc-dev
|
libc_headers_packagename=linux-libc-dev
|
||||||
dbg_packagename=$packagename-dbg
|
dbg_packagename=$packagename-dbg
|
||||||
debarch=
|
|
||||||
forcearch=
|
|
||||||
set_debarch
|
|
||||||
|
|
||||||
if [ "$ARCH" = "um" ] ; then
|
if [ "$ARCH" = "um" ] ; then
|
||||||
packagename=user-mode-linux-$version
|
packagename=user-mode-linux-$version
|
||||||
|
@ -212,105 +153,6 @@ EOF
|
||||||
chmod 755 "$tmpdir/DEBIAN/$script"
|
chmod 755 "$tmpdir/DEBIAN/$script"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Try to determine maintainer and email values
|
|
||||||
if [ -n "$DEBEMAIL" ]; then
|
|
||||||
email=$DEBEMAIL
|
|
||||||
elif [ -n "$EMAIL" ]; then
|
|
||||||
email=$EMAIL
|
|
||||||
else
|
|
||||||
email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
|
|
||||||
fi
|
|
||||||
if [ -n "$DEBFULLNAME" ]; then
|
|
||||||
name=$DEBFULLNAME
|
|
||||||
elif [ -n "$NAME" ]; then
|
|
||||||
name=$NAME
|
|
||||||
else
|
|
||||||
name="Anonymous"
|
|
||||||
fi
|
|
||||||
maintainer="$name <$email>"
|
|
||||||
|
|
||||||
# Try to determine distribution
|
|
||||||
if [ -n "$KDEB_CHANGELOG_DIST" ]; then
|
|
||||||
distribution=$KDEB_CHANGELOG_DIST
|
|
||||||
# In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
|
|
||||||
elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then
|
|
||||||
: # nothing to do in this case
|
|
||||||
else
|
|
||||||
distribution="unstable"
|
|
||||||
echo >&2 "Using default distribution of 'unstable' in the changelog"
|
|
||||||
echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Generate a simple changelog template
|
|
||||||
cat <<EOF > debian/changelog
|
|
||||||
$sourcename ($packageversion) $distribution; urgency=low
|
|
||||||
|
|
||||||
* Custom built Linux kernel.
|
|
||||||
|
|
||||||
-- $maintainer $(date -R)
|
|
||||||
EOF
|
|
||||||
|
|
||||||
# Generate copyright file
|
|
||||||
cat <<EOF > debian/copyright
|
|
||||||
This is a packacked upstream version of the Linux kernel.
|
|
||||||
|
|
||||||
The sources may be found at most Linux archive sites, including:
|
|
||||||
https://www.kernel.org/pub/linux/kernel
|
|
||||||
|
|
||||||
Copyright: 1991 - 2017 Linus Torvalds and others.
|
|
||||||
|
|
||||||
The git repository for mainline kernel development is at:
|
|
||||||
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
|
||||||
it under the terms of the GNU General Public License as published by
|
|
||||||
the Free Software Foundation; version 2 dated June, 1991.
|
|
||||||
|
|
||||||
On Debian GNU/Linux systems, the complete text of the GNU General Public
|
|
||||||
License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
|
|
||||||
build_depends="bc, kmod, cpio "
|
|
||||||
|
|
||||||
# Generate a control file
|
|
||||||
cat <<EOF > debian/control
|
|
||||||
Source: $sourcename
|
|
||||||
Section: kernel
|
|
||||||
Priority: optional
|
|
||||||
Maintainer: $maintainer
|
|
||||||
Build-Depends: $build_depends
|
|
||||||
Homepage: http://www.kernel.org/
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ "$ARCH" = "um" ]; then
|
|
||||||
cat <<EOF >> debian/control
|
|
||||||
|
|
||||||
Package: $packagename
|
|
||||||
Architecture: any
|
|
||||||
Description: User Mode Linux kernel, version $version
|
|
||||||
User-mode Linux is a port of the Linux kernel to its own system call
|
|
||||||
interface. It provides a kind of virtual machine, which runs Linux
|
|
||||||
as a user process under another Linux kernel. This is useful for
|
|
||||||
kernel development, sandboxes, jails, experimentation, and
|
|
||||||
many other things.
|
|
||||||
.
|
|
||||||
This package contains the Linux kernel, modules and corresponding other
|
|
||||||
files, version: $version.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
else
|
|
||||||
cat <<EOF >> debian/control
|
|
||||||
|
|
||||||
Package: $packagename
|
|
||||||
Architecture: any
|
|
||||||
Description: Linux kernel, version $version
|
|
||||||
This package contains the Linux kernel, modules and corresponding other
|
|
||||||
files, version: $version.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build kernel header package
|
# Build kernel header package
|
||||||
(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
|
(cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
|
||||||
(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles"
|
(cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles"
|
||||||
|
@ -331,27 +173,6 @@ mkdir -p "$destdir"
|
||||||
ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
|
ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build"
|
||||||
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
|
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
|
||||||
|
|
||||||
cat <<EOF >> debian/control
|
|
||||||
|
|
||||||
Package: $kernel_headers_packagename
|
|
||||||
Architecture: any
|
|
||||||
Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch}
|
|
||||||
This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch}
|
|
||||||
.
|
|
||||||
This is useful for people who need to build external modules
|
|
||||||
EOF
|
|
||||||
|
|
||||||
cat <<EOF >> debian/control
|
|
||||||
|
|
||||||
Package: $libc_headers_packagename
|
|
||||||
Section: devel
|
|
||||||
Provides: linux-kernel-headers
|
|
||||||
Architecture: any
|
|
||||||
Description: Linux support headers for userspace development
|
|
||||||
This package provides userspaces headers from the Linux kernel. These headers
|
|
||||||
are used by the installed headers for GNU glibc and other system libraries.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if [ "$ARCH" != "um" ]; then
|
if [ "$ARCH" != "um" ]; then
|
||||||
create_package "$kernel_headers_packagename" "$kernel_headers_dir"
|
create_package "$kernel_headers_packagename" "$kernel_headers_dir"
|
||||||
create_package "$libc_headers_packagename" "$libc_headers_dir"
|
create_package "$libc_headers_packagename" "$libc_headers_dir"
|
||||||
|
@ -370,47 +191,7 @@ if [ -n "$BUILD_DEBUG" ] ; then
|
||||||
ln -s ../lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/boot/vmlinux-$version
|
ln -s ../lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/boot/vmlinux-$version
|
||||||
# kdump-tools
|
# kdump-tools
|
||||||
ln -s lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/vmlinux-$version
|
ln -s lib/modules/$version/vmlinux $dbg_dir/usr/lib/debug/vmlinux-$version
|
||||||
|
|
||||||
cat <<EOF >> debian/control
|
|
||||||
|
|
||||||
Package: $dbg_packagename
|
|
||||||
Section: debug
|
|
||||||
Architecture: any
|
|
||||||
Description: Linux kernel debugging symbols for $version
|
|
||||||
This package will come in handy if you need to debug the kernel. It provides
|
|
||||||
all the necessary debug symbols for the kernel and its modules.
|
|
||||||
EOF
|
|
||||||
|
|
||||||
create_package "$dbg_packagename" "$dbg_dir"
|
create_package "$dbg_packagename" "$dbg_dir"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "x$1" = "xdeb-pkg" ]
|
|
||||||
then
|
|
||||||
cat <<EOF > debian/rules
|
|
||||||
#!/usr/bin/make -f
|
|
||||||
|
|
||||||
build:
|
|
||||||
\$(MAKE)
|
|
||||||
|
|
||||||
binary-arch:
|
|
||||||
\$(MAKE) KDEB_SOURCENAME=${sourcename} KDEB_PKGVERSION=${packageversion} bindeb-pkg
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -rf debian/*tmp debian/files
|
|
||||||
mv debian/ debian.backup # debian/ might be cleaned away
|
|
||||||
\$(MAKE) clean
|
|
||||||
mv debian.backup debian
|
|
||||||
|
|
||||||
binary: binary-arch
|
|
||||||
EOF
|
|
||||||
mv ${sourcename}.tar.gz ../${sourcename}_${version}.orig.tar.gz
|
|
||||||
tar caf ../${sourcename}_${packageversion}.debian.tar.gz debian/{copyright,rules,changelog,control}
|
|
||||||
dpkg-source -cdebian/control -ldebian/changelog --format="3.0 (custom)" --target-format="3.0 (quilt)" \
|
|
||||||
-b / ../${sourcename}_${version}.orig.tar.gz ../${sourcename}_${packageversion}.debian.tar.gz
|
|
||||||
mv ${sourcename}_${packageversion}*dsc ..
|
|
||||||
dpkg-genchanges -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes
|
|
||||||
else
|
|
||||||
dpkg-genchanges -b -Vkernel:debarch="${debarch}" > ../${sourcename}_${packageversion}_${debarch}.changes
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|
189
scripts/package/mkdebian
Executable file
189
scripts/package/mkdebian
Executable file
|
@ -0,0 +1,189 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright 2003 Wichert Akkerman <wichert@wiggy.net>
|
||||||
|
#
|
||||||
|
# Simple script to generate a debian/ directory for a Linux kernel.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
set_debarch() {
|
||||||
|
# Attempt to find the correct Debian architecture
|
||||||
|
case "$UTS_MACHINE" in
|
||||||
|
i386|ia64|alpha)
|
||||||
|
debarch="$UTS_MACHINE" ;;
|
||||||
|
x86_64)
|
||||||
|
debarch=amd64 ;;
|
||||||
|
sparc*)
|
||||||
|
debarch=sparc ;;
|
||||||
|
s390*)
|
||||||
|
debarch=s390$(grep -q CONFIG_64BIT=y $KCONFIG_CONFIG && echo x || true) ;;
|
||||||
|
ppc*)
|
||||||
|
debarch=$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo ppc64el || echo powerpc) ;;
|
||||||
|
parisc*)
|
||||||
|
debarch=hppa ;;
|
||||||
|
mips*)
|
||||||
|
debarch=mips$(grep -q CPU_LITTLE_ENDIAN=y $KCONFIG_CONFIG && echo el || true) ;;
|
||||||
|
aarch64|arm64)
|
||||||
|
debarch=arm64 ;;
|
||||||
|
arm*)
|
||||||
|
if grep -q CONFIG_AEABI=y $KCONFIG_CONFIG; then
|
||||||
|
if grep -q CONFIG_VFP=y $KCONFIG_CONFIG; then
|
||||||
|
debarch=armhf
|
||||||
|
else
|
||||||
|
debarch=armel
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
debarch=arm
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
debarch=$(dpkg --print-architecture)
|
||||||
|
echo "" >&2
|
||||||
|
echo "** ** ** WARNING ** ** **" >&2
|
||||||
|
echo "" >&2
|
||||||
|
echo "Your architecture doesn't have its equivalent" >&2
|
||||||
|
echo "Debian userspace architecture defined!" >&2
|
||||||
|
echo "Falling back to using your current userspace instead!" >&2
|
||||||
|
echo "Please add support for $UTS_MACHINE to ${0} ..." >&2
|
||||||
|
echo "" >&2
|
||||||
|
esac
|
||||||
|
if [ -n "$KBUILD_DEBARCH" ] ; then
|
||||||
|
debarch="$KBUILD_DEBARCH"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Some variables and settings used throughout the script
|
||||||
|
version=$KERNELRELEASE
|
||||||
|
if [ -n "$KDEB_PKGVERSION" ]; then
|
||||||
|
packageversion=$KDEB_PKGVERSION
|
||||||
|
else
|
||||||
|
revision=$(cat .version 2>/dev/null||echo 1)
|
||||||
|
packageversion=$version-$revision
|
||||||
|
fi
|
||||||
|
sourcename=$KDEB_SOURCENAME
|
||||||
|
packagename=linux-image-$version
|
||||||
|
kernel_headers_packagename=linux-headers-$version
|
||||||
|
dbg_packagename=$packagename-dbg
|
||||||
|
debarch=
|
||||||
|
set_debarch
|
||||||
|
|
||||||
|
if [ "$ARCH" = "um" ] ; then
|
||||||
|
packagename=user-mode-linux-$version
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Try to determine maintainer and email values
|
||||||
|
if [ -n "$DEBEMAIL" ]; then
|
||||||
|
email=$DEBEMAIL
|
||||||
|
elif [ -n "$EMAIL" ]; then
|
||||||
|
email=$EMAIL
|
||||||
|
else
|
||||||
|
email=$(id -nu)@$(hostname -f 2>/dev/null || hostname)
|
||||||
|
fi
|
||||||
|
if [ -n "$DEBFULLNAME" ]; then
|
||||||
|
name=$DEBFULLNAME
|
||||||
|
elif [ -n "$NAME" ]; then
|
||||||
|
name=$NAME
|
||||||
|
else
|
||||||
|
name="Anonymous"
|
||||||
|
fi
|
||||||
|
maintainer="$name <$email>"
|
||||||
|
|
||||||
|
# Try to determine distribution
|
||||||
|
if [ -n "$KDEB_CHANGELOG_DIST" ]; then
|
||||||
|
distribution=$KDEB_CHANGELOG_DIST
|
||||||
|
# In some cases lsb_release returns the codename as n/a, which breaks dpkg-parsechangelog
|
||||||
|
elif distribution=$(lsb_release -cs 2>/dev/null) && [ -n "$distribution" ] && [ "$distribution" != "n/a" ]; then
|
||||||
|
: # nothing to do in this case
|
||||||
|
else
|
||||||
|
distribution="unstable"
|
||||||
|
echo >&2 "Using default distribution of 'unstable' in the changelog"
|
||||||
|
echo >&2 "Install lsb-release or set \$KDEB_CHANGELOG_DIST explicitly"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p debian/
|
||||||
|
echo $debarch > debian/arch
|
||||||
|
|
||||||
|
# Generate a simple changelog template
|
||||||
|
cat <<EOF > debian/changelog
|
||||||
|
$sourcename ($packageversion) $distribution; urgency=low
|
||||||
|
|
||||||
|
* Custom built Linux kernel.
|
||||||
|
|
||||||
|
-- $maintainer $(date -R)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Generate copyright file
|
||||||
|
cat <<EOF > debian/copyright
|
||||||
|
This is a packacked upstream version of the Linux kernel.
|
||||||
|
|
||||||
|
The sources may be found at most Linux archive sites, including:
|
||||||
|
https://www.kernel.org/pub/linux/kernel
|
||||||
|
|
||||||
|
Copyright: 1991 - 2018 Linus Torvalds and others.
|
||||||
|
|
||||||
|
The git repository for mainline kernel development is at:
|
||||||
|
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; version 2 dated June, 1991.
|
||||||
|
|
||||||
|
On Debian GNU/Linux systems, the complete text of the GNU General Public
|
||||||
|
License version 2 can be found in \`/usr/share/common-licenses/GPL-2'.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Generate a control file
|
||||||
|
cat <<EOF > debian/control
|
||||||
|
Source: $sourcename
|
||||||
|
Section: kernel
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: $maintainer
|
||||||
|
Build-Depends: bc, kmod, cpio
|
||||||
|
Homepage: http://www.kernel.org/
|
||||||
|
|
||||||
|
Package: $packagename
|
||||||
|
Architecture: $debarch
|
||||||
|
Description: Linux kernel, version $version
|
||||||
|
This package contains the Linux kernel, modules and corresponding other
|
||||||
|
files, version: $version.
|
||||||
|
|
||||||
|
Package: $kernel_headers_packagename
|
||||||
|
Architecture: $debarch
|
||||||
|
Description: Linux kernel headers for $version on $debarch
|
||||||
|
This package provides kernel header files for $version on $debarch
|
||||||
|
.
|
||||||
|
This is useful for people who need to build external modules
|
||||||
|
|
||||||
|
Package: linux-libc-dev
|
||||||
|
Section: devel
|
||||||
|
Provides: linux-kernel-headers
|
||||||
|
Architecture: $debarch
|
||||||
|
Description: Linux support headers for userspace development
|
||||||
|
This package provides userspaces headers from the Linux kernel. These headers
|
||||||
|
are used by the installed headers for GNU glibc and other system libraries.
|
||||||
|
|
||||||
|
Package: $dbg_packagename
|
||||||
|
Section: debug
|
||||||
|
Architecture: $debarch
|
||||||
|
Description: Linux kernel debugging symbols for $version
|
||||||
|
This package will come in handy if you need to debug the kernel. It provides
|
||||||
|
all the necessary debug symbols for the kernel and its modules.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF > debian/rules
|
||||||
|
#!$(command -v $MAKE) -f
|
||||||
|
|
||||||
|
build:
|
||||||
|
\$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC=
|
||||||
|
|
||||||
|
binary-arch:
|
||||||
|
\$(MAKE) KERNELRELEASE=${version} ARCH=${ARCH} KBUILD_SRC= intdeb-pkg
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf debian/*tmp debian/files
|
||||||
|
\$(MAKE) clean
|
||||||
|
|
||||||
|
binary: binary-arch
|
||||||
|
EOF
|
||||||
|
|
||||||
|
exit 0
|
|
@ -118,6 +118,8 @@ $S$M ln -sf /usr/src/kernels/$KERNELRELEASE source
|
||||||
%preun
|
%preun
|
||||||
if [ -x /sbin/new-kernel-pkg ]; then
|
if [ -x /sbin/new-kernel-pkg ]; then
|
||||||
new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img
|
new-kernel-pkg --remove $KERNELRELEASE --rminitrd --initrdfile=/boot/initramfs-$KERNELRELEASE.img
|
||||||
|
elif [ -x /usr/bin/kernel-install ]; then
|
||||||
|
kernel-install remove $KERNELRELEASE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
# Convenient variables
|
# Convenient variables
|
||||||
comma := ,
|
comma := ,
|
||||||
squote := '
|
squote := '
|
||||||
|
pound := \#
|
||||||
|
|
||||||
###
|
###
|
||||||
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
|
# Name of target with a '.' as filename prefix. foo/bar.o => foo/.bar.o
|
||||||
|
@ -43,11 +44,11 @@ echo-cmd = $(if $($(quiet)cmd_$(1)),\
|
||||||
###
|
###
|
||||||
# Replace >$< with >$$< to preserve $ when reloading the .cmd file
|
# Replace >$< with >$$< to preserve $ when reloading the .cmd file
|
||||||
# (needed for make)
|
# (needed for make)
|
||||||
# Replace >#< with >\#< to avoid starting a comment in the .cmd file
|
# Replace >#< with >$(pound)< to avoid starting a comment in the .cmd file
|
||||||
# (needed for make)
|
# (needed for make)
|
||||||
# Replace >'< with >'\''< to be able to enclose the whole string in '...'
|
# Replace >'< with >'\''< to be able to enclose the whole string in '...'
|
||||||
# (needed for the shell)
|
# (needed for the shell)
|
||||||
make-cmd = $(call escsq,$(subst \#,\\\#,$(subst $$,$$$$,$(cmd_$(1)))))
|
make-cmd = $(call escsq,$(subst $(pound),$$(pound),$(subst $$,$$$$,$(cmd_$(1)))))
|
||||||
|
|
||||||
###
|
###
|
||||||
# Find any prerequisites that is newer than target or that does not exist.
|
# Find any prerequisites that is newer than target or that does not exist.
|
||||||
|
|
|
@ -35,7 +35,7 @@ CFLAGS += -Wall -Werror $(WARNINGS) -fomit-frame-pointer -O2 -g $(INCLUDES)
|
||||||
LDFLAGS += -lelf $(LIBSUBCMD)
|
LDFLAGS += -lelf $(LIBSUBCMD)
|
||||||
|
|
||||||
# Allow old libelf to be used:
|
# Allow old libelf to be used:
|
||||||
elfshdr := $(shell echo '\#include <libelf.h>' | $(CC) $(CFLAGS) -x c -E - | grep elf_getshdr)
|
elfshdr := $(shell echo '$(pound)include <libelf.h>' | $(CC) $(CFLAGS) -x c -E - | grep elf_getshdr)
|
||||||
CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED)
|
CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED)
|
||||||
|
|
||||||
AWK = awk
|
AWK = awk
|
||||||
|
|
|
@ -120,3 +120,5 @@ ifneq ($(silent),1)
|
||||||
QUIET_UNINST = @printf ' UNINST %s\n' $1;
|
QUIET_UNINST = @printf ' UNINST %s\n' $1;
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
pound := \#
|
||||||
|
|
Loading…
Reference in a new issue