Bug 7742

Summary: dhcp lacks important features when BR2_ENABLE_DEBUG
Product: buildroot Reporter: Thomas Claveirole <thomas.claveirole>
Component: OtherAssignee: unassigned
Status: RESOLVED FIXED    
Severity: minor CC: buildroot
Priority: P5    
Version: 2014.11   
Target Milestone: ---   
Hardware: All   
OS: All   
Host: Target:
Build:
Attachments: Fix the reported bug at least partially.

Description Thomas Claveirole 2014-12-22 16:14:06 UTC
Created attachment 5804 [details]
Fix the reported bug at least partially.

Hi,

When configured with --enable-debug, the DHCP server built from the dhcp package has some important features disabled.  Most notably, it cannot go background, change its UID and GID, nor create PID files (see server/dhcpd.c from the package's sources)...

... and setting BR2_ENABLE_DEBUG does add a --enable-debug option to all target packages that use the Autotools, including the dhcp package (code is in package/Makefile.in:387 and package/pkg-autotools.mk:205).  

However, the help for BR2_ENABLE_DEBUG states that this option should only impact debugging symbols.  Therefore, disabling dhcp features when BR2_ENABLE_DEBUG is on is a bit harsh.

I am not sure what a proper fix for this would be.  *Maybe* a solution is not to give --enable-debug to dhcp when BR2_ENABLE_DEBUG, but the Autotools infrastructure does not allow this.  Attached is a patch I use for the dhcp package that keeps the aforementioned features even when one configures the package with --enable-debug.  But I only looked quickly at dhcpd's source code, and --enable-debug might disable other features I am not aware of (and possibly in other programs, e.g., the DHCP client).

Cheers,
Thomas
Comment 1 Thomas Petazzoni 2014-12-23 11:24:02 UTC
Interesting, thanks for the report.

We have seen several cases of --enable-debug causing problems, and indeed the help text of BR2_ENABLE_DEBUG only mentions that it's causing the packages to be built with debugging symbols.

So, I would personally suggest that we simply do not pass --enable-debug when BR2_ENABLE_DEBUG is set, and make BR2_ENABLE_DEBUG only enable debugging symbols.
Comment 2 Thomas Petazzoni 2015-07-30 10:12:08 UTC
We are no longer passing --enable-debug to all packages when BR2_ENABLE_DEBUG=y since commit http://git.buildroot.net/buildroot/commit/package/Makefile.in?id=0552a367dbdc27a211daaac3359d81dd537e384f. Therefore, this bug is fixed.