I just wrote an ebuild for net-dns/knot-1.6.3 in bug 531448, so I thought I might as well write one for 2.0.0_beta while I'm on a roll. Since it is a beta, I'd suggest adding it without any KEYWORDS. Or just leave it in Bugzilla and use it as a template once 2.0.0 is released. Reproducible: Always
Created attachment 402994 [details] knot-2.0.0_beta.ebuild v1
Created attachment 402996 [details] metadata.xml with USE flag descriptions
Created attachment 402998 [details, diff] 2.0.0_beta-dont-create-extra-directories.patch If bug 531448 results in this kind of patch being a bad way of doing things, this patch should also be redone.
Created attachment 403000 [details, diff] 2.0.0_beta-spell-enable-vars-correctly.patch Submitted upstream, will hopefully be fixed for the 2.0.0 release.
$(usex systemd --enable-systemd=yes --enable-systemd=no) this would save complex "&& ||" logic .. I'm sure Ondreg should merge 2.0.0_beta-spell-enable-vars-correctly.patch into upstream (a simple typo) ;-)
hi all, one more thing, there is one additional USE=system-lmdb, so starting from knot-2.0.x, it will include bundled lmdb? what if this USE disabled? will it use internal lmdb, is it still configurable (since you dropped USE=lmdb)? https://wiki.gentoo.org/wiki/Why_not_bundle_dependencies
(In reply to Yixun Lan from comment #5) > I'm sure Ondrej should merge 2.0.0_beta-spell-enable-vars-correctly.patch > into upstream (a simple typo) ;-) Just to confirm, it has been already merged. Karl-Johan sent us the fix right away. (In reply to Yixun Lan from comment #6) > hi all, one more thing, there is one additional USE=system-lmdb, so starting > from knot-2.0.x, it will include bundled lmdb? what if this USE disabled? > will it use internal lmdb, is it still configurable (since you dropped > USE=lmdb)? lmdb is mandatory now and we (as in upstream) are bundling it since it's just two C files and two headers and some platforms are still not carrying lmdb (I know it's a trade-off and that was a hard decision to make). That said, I also think that USE=system-lmdb should be dropped and lmdb added as a hard dependency. I guess gentoo is also using lmdb in OpenLDAP, so it should be it excellent shape anyway :).
(In reply to Ondřej Surý from comment #7) > lmdb is mandatory now and we (as in upstream) are bundling it since it's > just two C files and two headers and some platforms are still not carrying > lmdb (I know it's a trade-off and that was a hard decision to make). That > said, I also think that USE=system-lmdb should be dropped and lmdb added as > a hard dependency. I guess gentoo is also using lmdb in OpenLDAP, so it > should be it excellent shape anyway :). ok, the sytem-XX type of USE is introduced to control ebuild to use either internal bundled library or Gentoo system wide library (eg, dev-db/lmdb here) what I'm not sure is that if knot at least provide a configurable option to use system lmdb (disable the internal one)? it's perfect to drop USE=system-lmdb and hard depend on system-wide.. try to look at openldap, it's quite brute to remove lmdb and depend on system library mandatory (I thought at least a choice has to be provided) try to take a look at app-emulation/xen-tools USE=system-qemu as example (sometimes internal bundled library/application are un-avoidable..)
Created attachment 403314 [details] knot-2.0.0_beta.ebuild v2 Always build with shared LMDB. Remove system-lmdb USE flag. Use $(usex) for use-flag conditional logic.
Comment on attachment 402996 [details] metadata.xml with USE flag descriptions 2.0.0_beta can now use the same metadata.xml as 1.6.3. See bug 531448 for a correct file.
(In reply to Yixun Lan from comment #8) > (In reply to Ondřej Surý from comment #7) > > lmdb is mandatory now and we (as in upstream) are bundling it since it's > > just two C files and two headers and some platforms are still not carrying > > lmdb (I know it's a trade-off and that was a hard decision to make). That > > said, I also think that USE=system-lmdb should be dropped and lmdb added as > > a hard dependency. I guess gentoo is also using lmdb in OpenLDAP, so it > > should be it excellent shape anyway :). > > ok, the system-XX type of USE is introduced to control ebuild to use either > internal bundled library or Gentoo system wide library (eg, dev-db/lmdb here) > > what I'm not sure is that if knot at least provide a configurable option to > use system lmdb (disable the internal one)? it's perfect to drop > USE=system-lmdb and hard depend on system-wide.. Yes, of course, and it is default to use system-wide when system-wide LMDB is found. We are well behaved upstream ;). > try to look at openldap, it's quite brute to remove lmdb and depend on > system library mandatory (I thought at least a choice has to be provided) [off-topic]Did you add SOVERSION to Gentoo? It might be a good idea to sync the SOVERSION across distros - the Debian (me) and Fedora maintainers have agreed to use .so.0
(In reply to Ondřej Surý from comment #11) > Yes, of course, and it is default to use system-wide when system-wide LMDB > is found. We are well behaved upstream ;). great! > [off-topic]Did you add SOVERSION to Gentoo? It might be a good idea to sync > the SOVERSION across distros - the Debian (me) and Fedora maintainers have > agreed to use .so.0 checking dev-db/lmdb, sound already done x86_64-pc-linux-gnu-gcc -Wl,-O1 -Wl,--as-needed -pthread -shared -Wl,-soname,liblmdb.so.0 -o liblmdb.so mdb.o midl.o this ebuild already in tree, closed..