Hi!

Reviving a old discussion, hence I'm quoting a bit more text that I normally 
would:

On 20.06.2012 15:22, Josh Boyer wrote:
> On Mon, Jun 18, 2012 at 10:05:38PM +0200, Thorsten Leemhuis wrote:
>> On 18.06.2012 15:09, Josh Boyer wrote:
>>> commit 3b37beedf48825354c42e25f7001677320958d38
>>> Author: Josh Boyer <[email protected]>
>>> Date:   Mon Jun 18 09:09:58 2012 -0400
>>>
>>>      Disable debugging options.
>>>
>>>   config-generic     |    8 ++--
>>>   config-nodebug     |  112 
>>> ++++++++++++++++++++++++++--------------------------
>>>   config-x86-generic |    2 +-
>>>   kernel.spec        |    9 +++-
>>>   4 files changed, 67 insertions(+), 64 deletions(-)
>>> [...]
>
> I hesitated to reply because I honestly don't know _why_ it's done this
> way.  You ask a good question though, and I didn't want you to think we
> were ignoring it so I'll reply with what I do know (which isn't much).
> 
>> Just out of curiosity: Why is enabling and disabling the debug options
>> done via "make {no,}debug" in the git checkout and not by an conditional
>> within the spec file? That afaics makes it harder to switch the debug
>> options off if you only have the SRPM at hand.
> 
> It's actually done with 'make debug' and 'make release'.  Those run a
> bunch of perl invocations to toggle the options on or off in various
> config- files.
> 
>> Or am I missing something obvious here?
> 
> I don't think you're missing anything obvious.  The config- file munging
> has been around longer than Fedora has so at this point it's "just how
> it's done".  If someone wanted to come up with a way to accomplish the
> same thing by toggling a value in the spec file, that might actually be
> good.

Find below a solution I worked out: It simply copies config-debug to 
config-nodebug when needed (e.g. when debugbuildsenabled is 0) during prep and 
enables the rawhide specific debug options directly -- similar to how the 
Makefiles do it now, but the source files remain untouched. In my testing it 
resulted in nearly the exact config files for rawhide kernels (I tested both 
debugbuildsenabled 0 and 1). There are two exceptions: 
CONFIG_MAC80211_MESSAGE_TRACING and CONFIG_EDAC_DEBUG are now enabled in the 
debugbuildsenabled 0 case (e.g. when a normal rawhide kernel is build). That's 
afaics how it was meant -- but the Makefile missed perl calls to enable these 
options this case.

Note, this also removes the extremedebug call in the makefile; does anyone use 
it? If yes I can work out a solution that fits better into this scheme. 

Copying config-debug to config-nodebug is still a kind of a hack -- but IMHO it 
is way more obvious what happens than before; and it's less error prone and 
easier to maintain afaics. 

How does the patch (against master) look to you guys? Did I miss anything that 
is needed? Please note that all the changes the patch does to the config-foo 
files are just those that a "make release" does now. And a lot of stuff is 
removed from the Makefiles, hence the patch looks big.

Scratch build with "debugbuildsenabled 0"
http://koji.fedoraproject.org/koji/taskinfo?taskID=4612876

Scratch build with "debugbuildsenabled 1" (i686 still building as of this 
writing, but everything looks sane so far)
http://koji.fedoraproject.org/koji/taskinfo?taskID=4612997

Cu
thl


diff --git a/Makefile b/Makefile
index 2a87029..4e4d4e1 100644
--- a/Makefile
+++ b/Makefile
@@ -22,83 +22,7 @@ noarch:
 local: noarch
        fedpkg -v local
 
-extremedebug:
-       @perl -pi -e 's/# CONFIG_DEBUG_PAGEALLOC is not 
set/CONFIG_DEBUG_PAGEALLOC=y/' config-nodebug
-
 debug:
-       @perl -pi -e 's/# CONFIG_SLUB_DEBUG_ON is not 
set/CONFIG_SLUB_DEBUG_ON=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_LOCK_STAT is not set/CONFIG_LOCK_STAT=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_STACK_USAGE is not 
set/CONFIG_DEBUG_STACK_USAGE=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_SLAB is not set/CONFIG_DEBUG_SLAB=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_MUTEXES is not 
set/CONFIG_DEBUG_MUTEXES=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_RT_MUTEXES is not 
set/CONFIG_DEBUG_RT_MUTEXES=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_LOCK_ALLOC is not 
set/CONFIG_DEBUG_LOCK_ALLOC=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_PROVE_LOCKING is not 
set/CONFIG_PROVE_LOCKING=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_PROVE_RCU is not set/CONFIG_PROVE_RCU=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_SPINLOCK is not 
set/CONFIG_DEBUG_SPINLOCK=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_VM is not set/CONFIG_DEBUG_VM=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_FAULT_INJECTION is not 
set/CONFIG_FAULT_INJECTION=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAILSLAB is not set/CONFIG_FAILSLAB=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_FAIL_PAGE_ALLOC is not 
set/CONFIG_FAIL_PAGE_ALLOC=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAIL_IO_TIMEOUT is not 
set/CONFIG_FAIL_IO_TIMEOUT=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAIL_MAKE_REQUEST is not 
set/CONFIG_FAIL_MAKE_REQUEST=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAIL_MMC_REQUEST is not 
set/CONFIG_FAIL_MMC_REQUEST=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAULT_INJECTION_DEBUG_FS is not 
set/CONFIG_FAULT_INJECTION_DEBUG_FS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not 
set/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_SG is not set/CONFIG_DEBUG_SG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_WRITECOUNT is not 
set/CONFIG_DEBUG_WRITECOUNT=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS is not 
set/CONFIG_DEBUG_OBJECTS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_FREE is not 
set/CONFIG_DEBUG_OBJECTS_FREE=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_TIMERS is not 
set/CONFIG_DEBUG_OBJECTS_TIMERS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_WORK is not 
set/CONFIG_DEBUG_OBJECTS_WORK=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not 
set/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not 
set/CONFIG_DEBUG_OBJECTS_RCU_HEAD=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_X86_PTDUMP is not set/CONFIG_X86_PTDUMP=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_CAN_DEBUG_DEVICES is not 
set/CONFIG_CAN_DEBUG_DEVICES=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_MODULE_FORCE_UNLOAD is not 
set/CONFIG_MODULE_FORCE_UNLOAD=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_SYSCTL_SYSCALL_CHECK is not 
set/CONFIG_SYSCTL_SYSCALL_CHECK=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_NOTIFIERS is not 
set/CONFIG_DEBUG_NOTIFIERS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DMA_API_DEBUG is not 
set/CONFIG_DMA_API_DEBUG=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_PM_TEST_SUSPEND is not 
set/CONFIG_PM_TEST_SUSPEND=y/' config-generic
-       @perl -pi -e 's/# CONFIG_PM_ADVANCED_DEBUG is not 
set/CONFIG_PM_ADVANCED_DEBUG=y/' config-generic
-       @perl -pi -e 's/# CONFIG_B43_DEBUG is not set/CONFIG_B43_DEBUG=y/' 
config-generic
-       @perl -pi -e 's/# CONFIG_B43LEGACY_DEBUG is not 
set/CONFIG_B43LEGACY_DEBUG=y/' config-generic
-       @perl -pi -e 's/# CONFIG_MMIOTRACE is not set/CONFIG_MMIOTRACE=y/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_STRIP_ASM_SYMS=y/# CONFIG_STRIP_ASM_SYMS is not 
set/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_CREDENTIALS is not 
set/CONFIG_DEBUG_CREDENTIALS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not 
set/CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_ACPI_DEBUG is not set/CONFIG_ACPI_DEBUG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_EXT4_DEBUG is not set/CONFIG_EXT4_DEBUG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_PERF_USE_VMALLOC is not 
set/CONFIG_DEBUG_PERF_USE_VMALLOC=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_JBD2_DEBUG is not set/CONFIG_JBD2_DEBUG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_NFSD_FAULT_INJECTION is not 
set/CONFIG_NFSD_FAULT_INJECTION=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_BLK_CGROUP is not 
set/CONFIG_DEBUG_BLK_CGROUP=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DRBD_FAULT_INJECTION is not 
set/CONFIG_DRBD_FAULT_INJECTION=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_ATH_DEBUG is not set/CONFIG_ATH_DEBUG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_CARL9170_DEBUGFS is not 
set/CONFIG_CARL9170_DEBUGFS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_IWLWIFI_DEVICE_TRACING is not 
set/CONFIG_IWLWIFI_DEVICE_TRACING=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DMADEVICES_DEBUG is not 
set/CONFIG_DMADEVICES_DEBUG=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DMADEVICES_VDEBUG is not 
set/CONFIG_DMADEVICES_VDEBUG=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_CEPH_LIB_PRETTYDEBUG is not 
set/CONFIG_CEPH_LIB_PRETTYDEBUG=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_QUOTA_DEBUG is not set/CONFIG_QUOTA_DEBUG=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_KGDB_KDB is not set/CONFIG_KGDB_KDB=y/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_KDB_KEYBOARD is not 
set/CONFIG_KDB_KEYBOARD=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not 
set/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_PER_CPU_MAPS is not 
set/CONFIG_DEBUG_PER_CPU_MAPS=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_TEST_LIST_SORT is not 
set/CONFIG_TEST_LIST_SORT=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_ATOMIC_SLEEP is not 
set/CONFIG_DEBUG_ATOMIC_SLEEP=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DETECT_HUNG_TASK is not 
set/CONFIG_DETECT_HUNG_TASK=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not 
set/CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y/' config-nodebug
-       @perl -pi -e 's/# CONFIG_DEBUG_KMEMLEAK is not 
set/CONFIG_DEBUG_KMEMLEAK=y/' config-nodebug
-
-       @# just in case we're going from extremedebug -> debug
-       @perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is 
not set/' config-nodebug
-
-       @perl -pi -e 's/# CONFIG_MAXSMP is not set/CONFIG_MAXSMP=y/' 
config-x86-generic
-
-       @# Try out UAS in rawhide builds.
-       @perl -pi -e 's/# CONFIG_USB_UAS is not set/CONFIG_USB_UAS=m/' 
config-generic
-
        @perl -pi -e 's/^%define debugbuildsenabled 1/%define 
debugbuildsenabled 0/' kernel.spec
        @perl -pi -e 's/^%define rawhide_skip_docs 0/%define rawhide_skip_docs 
1/' kernel.spec
        @rpmdev-bumpspec -c "Reenable debugging options." kernel.spec
@@ -107,13 +31,11 @@ nodebuginfo:
        @perl -pi -e 's/^%define with_debuginfo %\{\?_without_debuginfo: 0\} 
%\{\?\!_without_debuginfo: 1\}/%define with_debuginfo %\{\?_without_debuginfo: 
0\} %\{\?\!_without_debuginfo: 0\}/' kernel.spec
 nodebug: release
        @perl -pi -e 's/^%define debugbuildsenabled 1/%define 
debugbuildsenabled 0/' kernel.spec
-release: config-release
+release: 
        @perl -pi -e 's/^%define debugbuildsenabled 0/%define 
debugbuildsenabled 1/' kernel.spec
        @perl -pi -e 's/^%define rawhide_skip_docs 1/%define rawhide_skip_docs 
0/' kernel.spec
        @rpmdev-bumpspec -c "Disable debugging options." kernel.spec
 
-include Makefile.release
-
 unused-kernel-patches:
        @for f in *.patch; do if [ -e $$f ]; then (egrep -q 
"^Patch[[:digit:]]+:[[:space:]]+$$f" $(SPECFILE) || echo "Unused:    $$f") && 
egrep -q "^ApplyPatch[[:space:]]+$$f|^ApplyOptionalPatch[[:space:]]+$$f" 
$(SPECFILE) || echo "Unapplied: $$f"; fi; done
 
diff --git a/Makefile.release b/Makefile.release
deleted file mode 100644
index ee811ba..0000000
--- a/Makefile.release
+++ /dev/null
@@ -1,81 +0,0 @@
-# Make rules for configuration files.
-#
-# $Id$
-
-# This file contains only entries that change the config files.
-# Anything that changes kernel.spec itself should go in the main Makefile.
-
-config-release:
-       @perl -pi -e 's/CONFIG_SLUB_DEBUG_ON=y/# CONFIG_SLUB_DEBUG_ON is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_LOCK_STAT=y/# CONFIG_LOCK_STAT is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_STACK_USAGE=y/# CONFIG_DEBUG_STACK_USAGE 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_SLAB=y/# CONFIG_DEBUG_SLAB is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_MUTEXES=y/# CONFIG_DEBUG_MUTEXES is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_RT_MUTEXES=y/# CONFIG_DEBUG_RT_MUTEXES is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_LOCK_ALLOC=y/# CONFIG_DEBUG_LOCK_ALLOC is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_PROVE_LOCKING=y/# CONFIG_PROVE_LOCKING is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_PROVE_RCU=y/# CONFIG_PROVE_RCU is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_SPINLOCK=y/# CONFIG_DEBUG_SPINLOCK is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_VM=y/# CONFIG_DEBUG_VM is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_FAULT_INJECTION=y/# CONFIG_FAULT_INJECTION is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAILSLAB=y/# CONFIG_FAILSLAB is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_FAIL_PAGE_ALLOC=y/# CONFIG_FAIL_PAGE_ALLOC is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAIL_IO_TIMEOUT=y/# CONFIG_FAIL_IO_TIMEOUT is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAIL_MAKE_REQUEST=y/# CONFIG_FAIL_MAKE_REQUEST 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAIL_MMC_REQUEST=y/# CONFIG_FAIL_MMC_REQUEST is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAULT_INJECTION_DEBUG_FS=y/# 
CONFIG_FAULT_INJECTION_DEBUG_FS is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y/# 
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_SG=y/# CONFIG_DEBUG_SG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_WRITECOUNT=y/# CONFIG_DEBUG_WRITECOUNT is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS=y/# CONFIG_DEBUG_OBJECTS is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_FREE=y/# CONFIG_DEBUG_OBJECTS_FREE 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_TIMERS=y/# 
CONFIG_DEBUG_OBJECTS_TIMERS is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_WORK=y/# CONFIG_DEBUG_OBJECTS_WORK 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y/# 
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_OBJECTS_RCU_HEAD=y/# 
CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_X86_PTDUMP=y/# CONFIG_X86_PTDUMP is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_CAN_DEBUG_DEVICES=y/# CONFIG_CAN_DEBUG_DEVICES 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_MODULE_FORCE_UNLOAD=y/# 
CONFIG_MODULE_FORCE_UNLOAD is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_SYSCTL_SYSCALL_CHECK=y/# 
CONFIG_SYSCTL_SYSCALL_CHECK is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_NOTIFIERS=y/# CONFIG_DEBUG_NOTIFIERS is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DMA_API_DEBUG=y/# CONFIG_DMA_API_DEBUG is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_PM_TEST_SUSPEND=y/# CONFIG_PM_TEST_SUSPEND is 
not set/' config-generic
-       @perl -pi -e 's/CONFIG_PM_ADVANCED_DEBUG=y/# CONFIG_PM_ADVANCED_DEBUG 
is not set/' config-generic
-       @perl -pi -e 's/CONFIG_B43_DEBUG=y/# CONFIG_B43_DEBUG is not set/' 
config-generic
-       @perl -pi -e 's/CONFIG_B43LEGACY_DEBUG=y/# CONFIG_B43LEGACY_DEBUG is 
not set/' config-generic
-       @perl -pi -e 's/CONFIG_MMIOTRACE=y/# CONFIG_MMIOTRACE is not set/' 
config-nodebug
-       @perl -pi -e 's/# CONFIG_STRIP_ASM_SYMS is not 
set/CONFIG_STRIP_ASM_SYMS=y/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_CREDENTIALS=y/# CONFIG_DEBUG_CREDENTIALS 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y/# 
CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_ACPI_DEBUG=y/# CONFIG_ACPI_DEBUG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_EXT4_DEBUG=y/# CONFIG_EXT4_DEBUG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_PERF_USE_VMALLOC=y/# 
CONFIG_DEBUG_PERF_USE_VMALLOC is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_JBD2_DEBUG=y/# CONFIG_JBD2_DEBUG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_NFSD_FAULT_INJECTION=y/# 
CONFIG_NFSD_FAULT_INJECTION is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_BLK_CGROUP=y/# CONFIG_DEBUG_BLK_CGROUP is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DRBD_FAULT_INJECTION=y/# 
CONFIG_DRBD_FAULT_INJECTION is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_ATH_DEBUG=y/# CONFIG_ATH_DEBUG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_CARL9170_DEBUGFS=y/# CONFIG_CARL9170_DEBUGFS is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_IWLWIFI_DEVICE_TRACING=y/# 
CONFIG_IWLWIFI_DEVICE_TRACING is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DMADEVICES_DEBUG=y/# CONFIG_DMADEVICES_DEBUG is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DMADEVICES_VDEBUG=y/# CONFIG_DMADEVICES_VDEBUG 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_CEPH_LIB_PRETTYDEBUG=y/# 
CONFIG_CEPH_LIB_PRETTYDEBUG is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_QUOTA_DEBUG=y/# CONFIG_QUOTA_DEBUG is not set/' 
config-nodebug
-       @perl -pi -e 's/CONFIG_CPU_NOTIFIER_ERROR_INJECT=m/# 
CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_PER_CPU_MAPS=y/# CONFIG_DEBUG_PER_CPU_MAPS 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_TEST_LIST_SORT=y/# CONFIG_TEST_LIST_SORT is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_ATOMIC_SLEEP=y/# CONFIG_DEBUG_ATOMIC_SLEEP 
is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DETECT_HUNG_TASK=y/# CONFIG_DETECT_HUNG_TASK is 
not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y/# 
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set/' config-nodebug
-       @perl -pi -e 's/CONFIG_DEBUG_KMEMLEAK=y/# CONFIG_DEBUG_KMEMLEAK is not 
set/' config-nodebug
-       @perl -pi -e 's/CONFIG_MAC80211_MESSAGE_TRACING=y/# 
CONFIG_MAC80211_MESSAGE_TRACING is not set/' config-nodebug
-
-       @# Undo anything that make extremedebug might have set
-       @perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is 
not set/' config-debug
-       @perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is 
not set/' config-nodebug
-
-       @# Change defaults back to sane things.
-       @perl -pi -e 's/CONFIG_MAXSMP=y/# CONFIG_MAXSMP is not set/' 
config-x86-generic
-
-       @# Disable UAS for release until it's ready. (#717633, #744099)
-       @perl -pi -e 's/CONFIG_USB_UAS=m/# CONFIG_USB_UAS is not set/' 
config-generic
diff --git a/config-generic b/config-generic
index 4a8015f..1b9be57 100644
--- a/config-generic
+++ b/config-generic
@@ -1459,13 +1459,13 @@ CONFIG_B43_SDIO=y
 CONFIG_B43_BCMA=y
 # CONFIG_B43_BCMA_EXTRA is not set
 CONFIG_B43_BCMA_PIO=y
-CONFIG_B43_DEBUG=y
+# CONFIG_B43_DEBUG is not set
 CONFIG_B43_PHY_LP=y
 CONFIG_B43_PHY_N=y
 CONFIG_B43_PHY_HT=y
 # CONFIG_B43_FORCE_PIO is not set
 CONFIG_B43LEGACY=m
-CONFIG_B43LEGACY_DEBUG=y
+# CONFIG_B43LEGACY_DEBUG is not set
 CONFIG_B43LEGACY_DMA=y
 CONFIG_B43LEGACY_PIO=y
 CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
@@ -3031,7 +3031,7 @@ CONFIG_USB_STORAGE_REALTEK=m
 CONFIG_REALTEK_AUTOPM=y
 CONFIG_USB_STORAGE_ENE_UB6250=m
 # CONFIG_USB_LIBUSUAL is not set
-CONFIG_USB_UAS=m
+# CONFIG_USB_UAS is not set
 
 
 #
@@ -3984,7 +3984,7 @@ CONFIG_IBMASR=m
 CONFIG_PM_DEBUG=y
 CONFIG_PM_TRACE=y
 CONFIG_PM_TRACE_RTC=y
-CONFIG_PM_TEST_SUSPEND=y
+# CONFIG_PM_TEST_SUSPEND is not set
 CONFIG_PM_RUNTIME=y
 # CONFIG_PM_OPP is not set
 # CONFIG_PM_AUTOSLEEP is not set
diff --git a/config-nodebug b/config-nodebug
index b52b784..c471b85 100644
--- a/config-nodebug
+++ b/config-nodebug
@@ -2,111 +2,111 @@ CONFIG_SND_VERBOSE_PRINTK=y
 CONFIG_SND_DEBUG=y
 CONFIG_SND_PCM_XRUN_DEBUG=y
 
-CONFIG_DEBUG_ATOMIC_SLEEP=y
-
-CONFIG_DEBUG_MUTEXES=y
-CONFIG_DEBUG_RT_MUTEXES=y
-CONFIG_DEBUG_LOCK_ALLOC=y
-CONFIG_PROVE_LOCKING=y
-CONFIG_DEBUG_SPINLOCK=y
-CONFIG_PROVE_RCU=y
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_DEBUG_SPINLOCK is not set
+# CONFIG_PROVE_RCU is not set
 # CONFIG_PROVE_RCU_REPEATEDLY is not set
-CONFIG_DEBUG_PER_CPU_MAPS=y
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
 CONFIG_CPUMASK_OFFSTACK=y
 
-CONFIG_CPU_NOTIFIER_ERROR_INJECT=m
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
 
-CONFIG_FAULT_INJECTION=y
-CONFIG_FAILSLAB=y
-CONFIG_FAIL_PAGE_ALLOC=y
-CONFIG_FAIL_MAKE_REQUEST=y
-CONFIG_FAULT_INJECTION_DEBUG_FS=y
-CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
-CONFIG_FAIL_IO_TIMEOUT=y
-CONFIG_FAIL_MMC_REQUEST=y
+# CONFIG_FAULT_INJECTION is not set
+# CONFIG_FAILSLAB is not set
+# CONFIG_FAIL_PAGE_ALLOC is not set
+# CONFIG_FAIL_MAKE_REQUEST is not set
+# CONFIG_FAULT_INJECTION_DEBUG_FS is not set
+# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
+# CONFIG_FAIL_IO_TIMEOUT is not set
+# CONFIG_FAIL_MMC_REQUEST is not set
 
-CONFIG_SLUB_DEBUG_ON=y
+# CONFIG_SLUB_DEBUG_ON is not set
 
-CONFIG_LOCK_STAT=y
+# CONFIG_LOCK_STAT is not set
 
-CONFIG_DEBUG_STACK_USAGE=y
+# CONFIG_DEBUG_STACK_USAGE is not set
 
-CONFIG_ACPI_DEBUG=y
+# CONFIG_ACPI_DEBUG is not set
 # CONFIG_ACPI_DEBUG_FUNC_TRACE is not set
 
-CONFIG_DEBUG_SG=y
+# CONFIG_DEBUG_SG is not set
 
 # CONFIG_DEBUG_PAGEALLOC is not set
 
-CONFIG_DEBUG_WRITECOUNT=y
-CONFIG_DEBUG_OBJECTS=y
+# CONFIG_DEBUG_WRITECOUNT is not set
+# CONFIG_DEBUG_OBJECTS is not set
 # CONFIG_DEBUG_OBJECTS_SELFTEST is not set
-CONFIG_DEBUG_OBJECTS_FREE=y
-CONFIG_DEBUG_OBJECTS_TIMERS=y
-CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
+# CONFIG_DEBUG_OBJECTS_FREE is not set
+# CONFIG_DEBUG_OBJECTS_TIMERS is not set
+# CONFIG_DEBUG_OBJECTS_RCU_HEAD is not set
 CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
 
-CONFIG_X86_PTDUMP=y
+# CONFIG_X86_PTDUMP is not set
 
-CONFIG_CAN_DEBUG_DEVICES=y
+# CONFIG_CAN_DEBUG_DEVICES is not set
 
-CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
 
-CONFIG_SYSCTL_SYSCALL_CHECK=y
+# CONFIG_SYSCTL_SYSCALL_CHECK is not set
 
-CONFIG_DEBUG_NOTIFIERS=y
+# CONFIG_DEBUG_NOTIFIERS is not set
 
-CONFIG_DMA_API_DEBUG=y
+# CONFIG_DMA_API_DEBUG is not set
 
-CONFIG_MMIOTRACE=y
+# CONFIG_MMIOTRACE is not set
 
-CONFIG_DEBUG_CREDENTIALS=y
+# CONFIG_DEBUG_CREDENTIALS is not set
 
 # off in both production debug and nodebug builds,
 #  on in rawhide nodebug builds
-CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
 
-CONFIG_EXT4_DEBUG=y
+# CONFIG_EXT4_DEBUG is not set
 
-CONFIG_DEBUG_PERF_USE_VMALLOC=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
 
-CONFIG_JBD2_DEBUG=y
+# CONFIG_JBD2_DEBUG is not set
 
-CONFIG_NFSD_FAULT_INJECTION=y
+# CONFIG_NFSD_FAULT_INJECTION is not set
 
-CONFIG_DEBUG_BLK_CGROUP=y
+# CONFIG_DEBUG_BLK_CGROUP is not set
 
-CONFIG_DRBD_FAULT_INJECTION=y
+# CONFIG_DRBD_FAULT_INJECTION is not set
 
-CONFIG_ATH_DEBUG=y
-CONFIG_CARL9170_DEBUGFS=y
-CONFIG_IWLWIFI_DEVICE_TRACING=y
+# CONFIG_ATH_DEBUG is not set
+# CONFIG_CARL9170_DEBUGFS is not set
+# CONFIG_IWLWIFI_DEVICE_TRACING is not set
 
-CONFIG_DEBUG_OBJECTS_WORK=y
+# CONFIG_DEBUG_OBJECTS_WORK is not set
 
-CONFIG_DMADEVICES_DEBUG=y
-CONFIG_DMADEVICES_VDEBUG=y
+# CONFIG_DMADEVICES_DEBUG is not set
+# CONFIG_DMADEVICES_VDEBUG is not set
 
 CONFIG_PM_ADVANCED_DEBUG=y
 
-CONFIG_CEPH_LIB_PRETTYDEBUG=y
-CONFIG_QUOTA_DEBUG=y
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_QUOTA_DEBUG is not set
 
 CONFIG_PCI_DEFAULT_USE_CRS=y
 
 CONFIG_KGDB_KDB=y
 CONFIG_KDB_KEYBOARD=y
 
-CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
-CONFIG_TEST_LIST_SORT=y
+# CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER is not set
+# CONFIG_TEST_LIST_SORT is not set
 
-CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_DETECT_HUNG_TASK is not set
 CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
 # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
 
-CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
+# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
 
-CONFIG_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
 CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=1024
 # CONFIG_DEBUG_KMEMLEAK_TEST is not set
 CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
diff --git a/config-x86-generic b/config-x86-generic
index b209e66..09d63d4 100644
--- a/config-x86-generic
+++ b/config-x86-generic
@@ -319,7 +319,7 @@ CONFIG_STRICT_DEVMEM=y
 
 # CONFIG_MEMTEST is not set
 # CONFIG_DEBUG_TLBFLUSH is not set
-CONFIG_MAXSMP=y
+# CONFIG_MAXSMP is not set
 
 
 CONFIG_HP_ILO=m
diff --git a/kernel.spec b/kernel.spec
index 520615e..d4ea88f 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -162,7 +162,6 @@ Summary: The Linux kernel
 
 # Set debugbuildsenabled to 1 for production (build separate debug kernels)
 #  and 0 for rawhide (all kernels are debug kernels).
-# See also 'make debug' and 'make release'.
 %define debugbuildsenabled 0
 
 # Want to build a vanilla kernel build without any non-upstream patches?
@@ -567,7 +566,6 @@ Source16: mod-extra.list
 Source17: mod-extra.sh
 Source18: mod-extra-sign.sh
 
-Source19: Makefile.release
 Source20: Makefile.config
 Source21: config-debug
 Source22: config-nodebug
@@ -1283,10 +1281,20 @@ cp $RPM_SOURCE_DIR/config-* .
 cp %{SOURCE15} .
 
 %if !%{debugbuildsenabled}
-%if %{with_release}
-# The normal build is a really debug build and the user has explicitly 
requested
-# a release kernel. Change the config files into non-debug versions.
-make -f %{SOURCE19} config-release
+%if !%{with_release}
+# some additional debugging for rawhide builds
+perl -pi -e 's/# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not 
set/CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y/' config-debug
+perl -pi -e 's/# CONFIG_PM_TEST_SUSPEND is not set/CONFIG_PM_TEST_SUSPEND=y/' 
config-generic
+perl -pi -e 's/# CONFIG_PM_ADVANCED_DEBUG is not 
set/CONFIG_PM_ADVANCED_DEBUG=y/' config-generic
+perl -pi -e 's/# CONFIG_B43_DEBUG is not set/CONFIG_B43_DEBUG=y/' 
config-generic
+perl -pi -e 's/# CONFIG_B43LEGACY_DEBUG is not set/CONFIG_B43LEGACY_DEBUG=y/' 
config-generic
+# Enable Maximum number of SMP Processors and NUMA Nodes
+perl -pi -e 's/# CONFIG_MAXSMP is not set/CONFIG_MAXSMP=y/' config-x86-generic
+# Try out UAS in rawhide builds
+perl -pi -e 's/# CONFIG_USB_UAS is not set/CONFIG_USB_UAS=m/' config-generic
+
+# now make the nodebug config file actually a debug config
+cp config-debug config-nodebug
 %endif
 %endif
 


_______________________________________________
kernel mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/kernel

Reply via email to