The static USE flags seems wired to "--enable-static=no" (which is the same as "--disable-static"). But both --enable-static and --disable-static are used by libtool, and have _nothing_ to do on whether the final executable will be static or not. Given that it only installs a single executable (nor the code seem to declare any other target) I don't see why we should be using --disable-static at all, or libtool at all. Besides, the cflags patch look silly, since it patches makefile.in and the package is running eautoreconf…
As an additional Gentoo issue, upnpscan-0.4-r1 runs configure twice because it is an EAPI=2 build. The first run comes from the default src_configure provided by Portage due to a lack of an override. The second run comes explicitly in src_compile, and triggers this QA notice: * QA Notice: econf called in src_compile instead of src_configure The cflags patch could probably be dropped entirely since the ebuild already forces CFLAGS in the emake line. I suspect the original report (bug #240868) about CFLAGS not respected was due to configure.in clearing CFLAGS on line 11. As an upstream issue, the program leaks memory every time it parses addresses. get_next_addr returns a pointer to allocated heap memory, but get_address_count does not save or free the returned pointer. When called by main, the return value of get_next_addr is saved, but still not freed.
I fixed the econf issue, that's how I found the rest of QA problems.
I put in -r2 which fixes all except the memory leak issue. But now I noticed another problem with the -r0 ebuild: because I no longer have automake 1.9 installs, a couple of silly symlinks are now dead, and this fails in configure: >>> Unpacking upnpscan-v0.4-src.tgz to /var/tmp/portage/net-analyzer/upnpscan-0.4/work * Applying upnpscan-0.4-cflags.patch ... [ ok ] >>> Source unpacked in /var/tmp/portage/net-analyzer/upnpscan-0.4/work >>> Compiling source in /var/tmp/portage/net-analyzer/upnpscan-0.4/work/upnpscan ... * econf: updating upnpscan/config.guess with /usr/share/gnuconfig/config.guess * econf: updating upnpscan/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-static=no configure: loading site script /usr/share/config.site configure: loading site script /usr/share/crossdev/include/site/linux configure: error: cannot find install-sh or install.sh in . ./.. ./../.. We can't set sys-devel/automake-1.9 as DEPEND because automake isn't even used, so I guess we quickly have x86 stabilise -r2.
We will do that.
Just so that you know, the tinderbox is now looking for symlinks in the automake files, should catch other possibly broken packages.
(In reply to comment #5) > Just so that you know, the tinderbox is now looking for symlinks in the > automake files, should catch other possibly broken packages. Nice. More bug reports. :)
Archtested on x86: Everything fine
x86 stable, thanks David