[OpenWrt-Devel] [PATCH v2 2/2] dnsmasq: fix dependency problems of the dnsmasq-full variant.

Yousong Zhou yszhou4tech at gmail.com
Wed Dec 31 05:48:44 EST 2014


Hi, Frank

On 31 December 2014 at 18:33, Frank Schäfer
<fschaefer.oss at googlemail.com> wrote:
> Am 30.12.2014 um 13:18 schrieb Yousong Zhou:
>> This patch tries to
>>
>>  - Let the DHCPv6 feature depend on CONFIG_IPV6.
>>  - Conditionally select libnettle, kmod-ipv6, kmod-ipt-ipset only if the
>>    corresponding features are enabled.
>>  - Install `trust-anchors.conf` only if DNSSEC is selected.
>>  - Add PKG_CONFIG_DEPENDS for the configurable options.
>>  - Add a patch to let the Makefile of dnsmasq be aware of changes in
>>    COPTS variable.
>>
>> Big thanks goes to Frank Schäfer <fschaefer.oss at googlemail.com> for
>> providing necessary information on connections and dependency relations
>> between these CONFIGs and packages.
>>
>> Signed-off-by: Yousong Zhou <yszhou4tech at gmail.com>
>> ---
>> v2 <- v1
>>
>>       - Add PKG_CONFIG_DEPENDS variable for better cooperation with OpenWrt build system.
>>       - Patch Makefile of dnsmasq to let it rebuild with changed COPTS variable.
>>       - Rename ipset, IPSET to IPset.
>>       - Break long lines into shorter ones.
>>       - Description text changes with the "configurable" feature in mind.
>>

<snip>

>
> tmp/.config-package.in:93:error: recursive dependency detected!
> tmp/.config-package.in:93:      symbol PACKAGE_dnsmasq-full depends on
> PACKAGE_dnsmasq_full_ipset
> tmp/.config-package.in:124:     symbol PACKAGE_dnsmasq_full_ipset
> depends on PACKAGE_dnsmasq-full
>
> If you make a menuconfig, the IPSET build option also doesn't show up
> unless you have selected DNSSEC...

There are 2 patches in this series, and the first one is needed to
avoid the recursive dependency problem [1] from showing up (it's a
necessary workaround for now).

[1] https://lists.openwrt.org/pipermail/openwrt-devel/2014-December/030211.html

>
> Can you please test your patches before sending them to the list ?
>


>> diff --git a/package/network/services/dnsmasq/patches/200-let-makefile-be-aware-of-config-changes.patch b/package/network/services/dnsmasq/patches/200-let-makefile-be-aware-of-config-changes.patch
>> new file mode 100644
>> index 0000000..663f0e9
>> --- /dev/null
>> +++ b/package/network/services/dnsmasq/patches/200-let-makefile-be-aware-of-config-changes.patch
>> @@ -0,0 +1,42 @@
>> +Index: dnsmasq-2.72/Makefile
>> +===================================================================
>> +--- dnsmasq-2.72.orig/Makefile       2014-12-30 19:46:10.484921940 +0800
>> ++++ dnsmasq-2.72/Makefile    2014-12-30 19:56:39.712926794 +0800
>> +@@ -74,6 +74,10 @@

<snip>

> Urgh... is it really necessary to patch dnsmasqs native Makefile ?
> Can you give us a practical and reproducable example that shows the
> problem you are trying to solve here ?

Patching Makefile of dnsmasq itself is necessary for the build system
of OpenWrt and Makefile of dnsmasq to pick up a possibly updated
config of dnsmasq-full variant.  Otherwise rebuild of dnsmasq-ful may
not happen as expected when users enable or disable a feature with
e.g. make menuconfig.

Regards.

               yousong
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list