Hi, i've fixed some stuff into dnsmasq package: - paths in dbus support - dbus dependencies - make doesn't take into account ldflags Now it compiles fine, but i haven't yet tested it (actually i can't) I'm attacching four patches, because the fourth replaces spaces with tabs for dbus path support fix
Created attachment 551 [details] Fix dnsmasq compilation with dbus enabled
Created attachment 553 [details] Fix dnsmasq dependencies if dbus is enabled
Created attachment 555 [details] dnsmasq doesn't take into account ldflags for target
Created attachment 557 [details] Replaces spaces in tabs (it's for the first patch)
Can you try converting it to the new Makefile.autofools.in format? Thanks.
I'll try this evening
Hi, i've converted the package to new autotools format, actually it works with and without dbus with my external toolchain. Can someone check if it works with buildroot toolchain? The attached file isin't a patch but he entire .mk file
Created attachment 569 [details] dnsmasq.mk converted to new autotools package format
There's one broken bit: The old package set the different DNSMASQ_COPTS according to IPV6, LARGEFILE and TFTP settings and then passed a make COPTS="$(DNSMASQ_COPTS)" parameter when building. You are setting DNSMASQ_MAKE_OPT which doesn't fill up those values into the COPTS parameter for make. So if one of them is true then make gets passed -DWHATEVER which makes it fail. Then there's the redundant bits: DNSMASQ_AUTORECONF = NO -> it's default no, so no need to say that again DNSMASQ_INSTALL_TARGET = YES -> again, it's default DNSMASQ_INSTALL_TARGET_OPT .. -> you're using the same DNSMASQ_DEPENDENCIES = uclibc -> default too And the "why" thing: DNSMASQ_INSTALL_STAGING = YES -> why? As far as i know dnsmasq doesn't provide any library so it doesn't get linked to. It doesn't install any header required by some other package either. Detail: It's up to version 2.49, you could bump to the new one while doing this. Improvements: dnsmasq doesn't have a proper uninstall, you could write one that does this into dnsmasq.mk dnsmasq-2.49 introduced an option to disable the dhcp server thus a new option if you want to do something more.
My mistake, DNSMASQ_INSTALL_TARGET_OPT is required since it doesn't understand install-strip.
I've used gamin package as base, however, tomorrow i'll fix this stuff
(In reply to comment #11) > I've used gamin package as base, however, tomorrow i'll fix this stuff Care to send a fixed patch so it can get included in the 2009.08 release?
Sorry for the long delay, but i got some troubles with my git copy and being full of work i didn't have the time to fix. I just dropping all the stuff making a copy of my old tree and reappling patches. I hope to send patches for this evening
Hi, i've fixed the package, i think. Could you take a look to it or try to build it using uclibc? The package is attached
Created attachment 613 [details] dnsmasq.mk converted to new autotools package format
(In reply to comment #15) > Created an attachment (id=613) [details] > dnsmasq.mk converted to new autotools package format Thanks. I noticed: + $(SED) 's^--ldflags dbus-1^--ldflags dbus-1 \| sed s\\\#-I/\\\#-I$(STAGING_DIR)/\\\#g^' \ $(DNSMASQ_DIR)/Makefile There's no such line in the dnsmasq makefile and afaik pkg-config doesn't even accept the --ldflags option. Did you mean --libs instead?
Created attachment 625 [details] dnsmasq 2.50 Makefile.autotools.in plus some other improvements How do you like this take Daniele / Peter? * Bump to version 2.50 fixes security issues CVE 2009-2957 and 2009-2958. * No need for INSTALL_STAGING * Add uninstall target * Use PREFIX=/usr to avoid files in /usr/local * Install manpage conditionally * Introduce new DHCP server option * Add Peter's dbus fix (not tested, i don't use dbus)
(In reply to comment #17) > Created an attachment (id=625) [details] > dnsmasq 2.50 Makefile.autotools.in plus some other improvements > > How do you like this take Daniele / Peter? Looks good, except that it still tries to edit a line with --ldflags dbus-1, which isn't a valid pkg-config argument, so I left that out. Why was that line added in the first place? Committed to git, thanks both of you.