Hi Mike, I'm a bit surprised you haven't got any replies yet; Either nobody seems to care, or else nobody else seems to use avahi.
You might be better off emailing cshore [1] directly as he committed r27479. Failing that, you can email thepeople [2] and offer to be the avahi maintainer. Then just fix up the package as you like, and commit your own changes. ;-) Jon [1] Daniel Dickinson <dan...@cshore.neomailbox.net> [2] Travis Kemen <thepeo...@openwrt.org> On 6 November 2011 15:55, Mike Brady <mikebr...@eircom.net> wrote: > Hi everybody. > > This is a long note, and it's about the avahi package. It's about changes > made in Changeset 27479 (June 7, 2011). Sorry not to have commented earlier, > but I was busy on a separate project. > > To come directly to the point, and with respect, I think that Changeset 27479 > is flawed and needs to be undone. I think it is based on a number of > misunderstandings -- see (II) below -- and actually introduces problems which > I try to explain below in (I). There actually was a problem with the avahi > package prior to Changeset 27479 but I think it's due to the nature of the > build process and in any case there is a simple standard workaround. If > there's a full fix for it, I'd love to know it. I give my understanding of it > below -- see (III). > > Maybe it is me that misunderstands the situation. However, if you agree with > me, I'd be happy to change the avahi Makefile back to what it was before > Changeset 27479 (but including a change introduced in Changeset 27521, to > disable DBUS support on brcm-2.4, unrelated to the issues discussed here). > > FYI I'm compiling 10.03.1-RC6 for a Linksys NSLU2. > > Best wishes > Mike Brady > > (I) Problems with Changeset 27479 > 1. Changeset 27479 introduces two versions of the package avahi-autoipd; one > with DBUS support, and one without. The thing is, avahi-autoipd does not > depend on DBUS, so having a DBUS- and non-DBUS version of it makes no sense. > What's more, selecting: Network > IP Addresses and Names > avahi-autoipd-dbus > <*> (a) does not generate avahi-autoipd, and (b) causes DBUS to be generated > and included in the build, even though, as mentioned, avahi-autoipd doesn't > need DBUS at all. Also, oddly, the build log shows the avahi package being > compiled and installed three separate times, instead of just once. > > 2. It is possible to select the DBUS- and the non-DBUS versions of some avahi > packages at the same time. Of course, this makes no sense, but at least it's > pretty obvious when you do it. > However, similar problems can occur in a way that's hidden from you. For > example, if you select the non-DBUS version of the avahi-daemon package, then > the non-DBUS of libavahi will be selected. If you also select avahi-utils, > this needs the DBUS version of libavahi. Thus you will be implicitly asking > for two different versions of libavahi to be included -- the non-DBUS version > and the DBUS version. It's not clear which one will be included in the final > build. As mentioned above, the avahi package will be compiled and installed a > few times -- five times in this case -- instead of just once. > > (II) The Possible Misunderstanding in Changeset 27479 > It appears that the new Makefile was introduced in Changeset 27479 on the > basis of a misunderstanding. In the note accompanying Changeset 27479 it says: > > "The package was producing a package avahi which required dbus if > libavahi-dbus-support was selected (even as module), and without dbus if that > package was not select. This has been fixed..." > > Actually, no "fix" is needed -- this is exactly what is meant to happen: The > package libavahi-dbus-support was there to be automatically included if you > chose avahi-utils, since avahi-utils requires the DBUS version of libavahi. > The selection or omission of libavahi-dbus-support then automatically caused > the appropriate version (DBUS- or non-DBUS) of avahi-daemon and > avahi-dnsconfig to be compiled, if you had selected them, to correspond with > the selected version of libavahi. In summary, starting with a clean system, > you got non-DBUS versions of the relevant avahi packages by default, but if > you chose something than needed DBUS support (i.e. avahi-utils), or if you > selected libavahi-dbus-support manually, you got DBUS versions of all > relevant avahi packages. > > The Changeset 27479 note then goes on to explain that with the new Makefile: > > "... dbus versions of the binary packages and non-dbus versions of the ones > that can be without dbus, so that the smaller platformas can still have avahi > without dbus, and those who want the dbus avahi can have it as well." > > However, this was already the case: as noted above, if avahi-utils was not > selected, you were free to choose the DBUS- or non-DBUS version of the other > avahi packages by manually selecting or omitting the libavahi-dbus-support. > > (III) The problem with the avahi package prior to Changeset 27479. > There actually is a problem with the avahi package prior to Changeset 27479. > Here is a scenario: > > 1. Choose a set of avahi packages that include DBUS support, and then do a > complete build, you'll get the correct versions of the avahi packages and > libavahi. > > 2. Change your choice of avahi packages to omit DBUS support, including only > packages that don't need DBUS support, de-selecting avahi-dbus-support if > necessary. If you rebuild the system, you may still get the DBUS versions of > some of the avahi packages and/or libavahi (this may be the issue that > Changeset 27479 was intended to fix). > > As best I can understand it, the issue is that all releveant packages are not > necessarily recompiled, because the "make" dependencies don't seem to allow > the build system to force recompilation of the relevant packages. > > The workaround is to always do a "make clean" before a make when you have > changed selections in packages that have previously been compiled. I always > understood this was general advice when building OpenWrt, but I'm open to > correction. And if there is a way of dealing with this issue, I'd love to > hear it. > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel > _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel