Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 531448 - =net-dns/knot-1.6.0 version bump
Summary: =net-dns/knot-1.6.0 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Ondřej Surý
URL: https://www.knot-dns.cz/pages/downloa...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-12-02 15:19 UTC by Sergey Popov
Modified: 2015-05-15 09:53 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,1.99 KB, text/plain)
2015-05-03 15:18 UTC, Karl-Johan Karlsson
Details
Patch to adapt upstream Makefile to Gentoo QA standards (1.6.3-dont-create-extra-directories.patch,499 bytes, patch)
2015-05-03 15:19 UTC, Karl-Johan Karlsson
Details | Diff
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,1.99 KB, text/plain)
2015-05-03 19:57 UTC, Karl-Johan Karlsson
Details
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,2.02 KB, text/plain)
2015-05-10 08:22 UTC, Karl-Johan Karlsson
Details
metadata.xml with descriptions for the new USE flags. (metadata.xml,620 bytes, text/xml)
2015-05-10 08:24 UTC, Karl-Johan Karlsson
Details
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,1.84 KB, text/plain)
2015-05-10 13:00 UTC, Karl-Johan Karlsson
Details
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,2.10 KB, text/plain)
2015-05-10 16:26 UTC, Karl-Johan Karlsson
Details
Proposed ebuild for 1.6.3. (knot-1.6.3.ebuild,2.17 KB, text/plain)
2015-05-15 08:02 UTC, Karl-Johan Karlsson
Details
metadata.xml with descriptions for the new USE flags. (metadata.xml,775 bytes, text/xml)
2015-05-15 08:06 UTC, Karl-Johan Karlsson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Popov gentoo-dev 2014-12-02 15:19:20 UTC
Knot 1.6.0 is out at Oct 23, as per URL

Please bump it in tree, thanks
Comment 1 Karl-Johan Karlsson 2015-05-03 15:18:06 UTC
Created attachment 402546 [details]
Proposed ebuild for 1.6.3.
Comment 2 Karl-Johan Karlsson 2015-05-03 15:19:20 UTC
Created attachment 402548 [details, diff]
Patch to adapt upstream Makefile to Gentoo QA standards
Comment 3 Karl-Johan Karlsson 2015-05-03 15:27:07 UTC
1.6.3 is out. I adapted the in-tree ebuild for 1.5.3.

It's been a while since I last wrote an ebuild, and I'm uncomfortable with some of the hacks (patching Makefile.in instead of patching Makefile.am and rerunning Automake is the big one). The dependencies on libcap-ng, lmdb and libsystemd are documented ( https://www.knot-dns.cz/docs/1.6/html/installation.html ) to be automagic, but I hope I got them right. I haven't tested with systemd, and there is no unit file. Upstream requires recent enough versions of dev-libs/userspace-rcu and sys-libs/libcap-ng, which I included. But the oldest version in Portage is newer than the oldest version they support, so maybe the version dependency is unnecessary.

Changes:

* Change Git repo to git://git.nic.cz/knot-dns.git (see https://www.knot-dns.cz/pages/development.html ). Not tested.
* Use .xz tarballs instead of .gz, since they have GnuPG signatures
* Depend on specific versions of dev-libs/openssl, dev-libs/userspace-rcu, and sys-libs/libcap-ng (see https://www.knot-dns.cz/docs/1.6/html/installation.html )
* Depend on systemd if USE=systemd. Not tested.
* Depend on sys-devel/bison instead of virtual/yacc, since the build system explicitly checks what kind of yacc it has and only accepts bison.
* Depend on dev-python/sphinx (HTML), dev-tex/texlive-core (PDF), and sys-apps/texinfo (Info) for documentation.
* Upstream ships a Makefile that explicitly creates /var/run/knot, which gives a QA warning. Patch the Makefile to remove that bit. Also remove explicit creation of /var/lib/knot (moved to a "keepdir" call) and /etc/knot (we get that anyway with the sample configuration).
* Remove configure flags --disable-lto and --enable-recvmmsg, since they just reduntantly specify default values.
* Enable lmdb and systemd if USE flags are set.
* If USE=doc, build and install documentation in HTML, HTML-single, PDF, and TeXInfo formats.
Comment 4 Karl-Johan Karlsson 2015-05-03 19:57:10 UTC
Created attachment 402568 [details]
Proposed ebuild for 1.6.3.

New version of the ebuild, now with more correct dependencies.
Comment 5 Ian Delaney (RETIRED) gentoo-dev 2015-05-10 02:42:01 UTC
Could maintainer add endorsement or otherwise to the submitted patch and ebuild. Timeout 2 weeks
Comment 6 Ondřej Surý 2015-05-10 04:32:56 UTC
lgtm with one comment - if you have src_check() phase, please add it as well (and run make check in it)
Comment 7 Karl-Johan Karlsson 2015-05-10 08:22:02 UTC
Created attachment 402932 [details]
Proposed ebuild for 1.6.3.

The default src_test() function doesn't work, because the upstream makefile gives an error when Portage runs "make -n check" to see if there is a "check" target. Added a custom src_check() which just runs "emake -j1 check" unconditionally.
Comment 8 Karl-Johan Karlsson 2015-05-10 08:24:25 UTC
Created attachment 402934 [details]
metadata.xml with descriptions for the new USE flags.

The point of the "fastparser" USE flag has changed (no longer requires external programs to build, but does require a lot of memory and CPU time). The "lmdb" USE flag has been added. Document both of these in metadata.xml.
Comment 9 Karl-Johan Karlsson 2015-05-10 08:28:48 UTC
I still can't test the systemd functionality, and there still isn't any unit file. Can systemd use the OpenRC init file?
Comment 10 Karl-Johan Karlsson 2015-05-10 08:52:05 UTC
Is there any point to having the live VCS code (-9999) in the same ebuild file as the released version? It was there in 1.5.3, so I just kept it for 1.6.3, but since upstream is about to release a new major version (latest is 2.0.0-beta), I wouldn't expect the build system to stay perfectly compatible.
Comment 11 Ondřej Surý 2015-05-10 12:06:36 UTC
(In reply to Karl-Johan Karlsson from comment #10)
> Is there any point to having the live VCS code (-9999) in the same ebuild
> file as the released version? It was there in 1.5.3, so I just kept it for
> 1.6.3, but since upstream is about to release a new major version (latest is
> 2.0.0-beta), I wouldn't expect the build system to stay perfectly compatible.

Agreed, it doesn't make any sense now, because the 2.0 release has switched from OpenSSL to GnuTLS+Nettle for crypto, so this will need a rehaul.

BTW (with upstream hat on): Thank you very much for taking care of the ebuilds.
Comment 12 Ondřej Surý 2015-05-10 12:10:14 UTC
(In reply to Karl-Johan Karlsson from comment #9)
> I still can't test the systemd functionality, and there still isn't any unit
> file. Can systemd use the OpenRC init file?

With my Debian maintainer hat on, I use:

--cut here--
[Unit]
Description=Knot DNS server
Wants=network-online.target
After=network-online.target

[Service]
Environment=CONFFILE=/etc/knot/knot.conf
ExecStartPre=/usr/lib/knot/prepare-environment $CONFFILE
ExecReload=/usr/sbin/knotc reload
ExecStart=/usr/sbin/knotd -c $CONFFILE
Restart=on-abort

[Install]
WantedBy=multi-user.target
--cut here--

You probably want to strip the prepare-environment which is just a shared script between sysv-rc and systemd scripts to create and chown Knot DNS rundir (/run/knot)

I will add this to our TODO list to add this the repository.
Comment 13 Ondřej Surý 2015-05-10 12:12:02 UTC
(In reply to Karl-Johan Karlsson from comment #7)
> Created attachment 402932 [details]
> Proposed ebuild for 1.6.3.
> 
> The default src_test() function doesn't work, because the upstream makefile
> gives an error when Portage runs "make -n check" to see if there is a
> "check" target. Added a custom src_check() which just runs "emake -j1 check"
> unconditionally.

With my upstream hat again - could you please send us (echo knot-dnsZZZZ@ZZZZlabs.nic.cz | sed -e s/ZZZZZ//g) the failing output?  (Or just to me.)  This would be appreciated (and hopefully fixed).
Comment 14 Karl-Johan Karlsson 2015-05-10 13:00:23 UTC
Created attachment 402956 [details]
Proposed ebuild for 1.6.3.

Removed the live VCS support from the ebuild, since upstream has changed things. Revisit after the 2.0.0 release.
Comment 15 Karl-Johan Karlsson 2015-05-10 13:11:29 UTC
(In reply to Ondřej Surý from comment #11)
> (In reply to Karl-Johan Karlsson from comment #10)
> > Is there any point to having the live VCS code (-9999) in the same ebuild
> > file as the released version? It was there in 1.5.3, so I just kept it for
> > 1.6.3, but since upstream is about to release a new major version (latest is
> > 2.0.0-beta), I wouldn't expect the build system to stay perfectly compatible.
> 
> Agreed, it doesn't make any sense now, because the 2.0 release has switched
> from OpenSSL to GnuTLS+Nettle for crypto, so this will need a rehaul.

OK. I removed the support code from the -1.6.3 ebuild, and someone with write access should remove the -9999 ebuild from the tree.

> BTW (with upstream hat on): Thank you very much for taking care of the
> ebuilds.

Hooray for enlightened self-interest: I wanted a DNS server that makes DNSSEC easy, and it seemed that getting the latest release of Knot into Portage was the easiest way. Speaking of which, I'd like to report that I have been running these ebuilds for the last week as a primary NS (with NSD as slave) for a small DNSSEC-enabled domain, and they work for me.

(In reply to Ondřej Surý from comment #12)
> (In reply to Karl-Johan Karlsson from comment #9)
> > I still can't test the systemd functionality, and there still isn't any unit
> > file. Can systemd use the OpenRC init file?
> 
> With my Debian maintainer hat on, I use:
> [...]

OK. As I said, I can't test for systemd, so I'm not going to blindly add that. I'll leave the USE flag in to make the automagic dependency on libsystemd explicit, but any more support than that I'll gladly leave to someone who actually runs systemd.

(In reply to Ondřej Surý from comment #13)
> (In reply to Karl-Johan Karlsson from comment #7)
> > The default src_test() function doesn't work, because the upstream makefile
> > gives an error when Portage runs "make -n check" to see if there is a
> > "check" target. Added a custom src_check() which just runs "emake -j1 check"
> > unconditionally.
> 
> With my upstream hat again - could you please send us (echo
> knot-dnsZZZZ@ZZZZlabs.nic.cz | sed -e s/ZZZZZ//g) the failing output?  (Or
> just to me.)  This would be appreciated (and hopefully fixed).

Done.
Comment 16 Ondřej Surý 2015-05-10 14:40:49 UTC
As for 'make check -n' - our automakegic looks correct, libtap.a should be built only for tests, hence it's placed in check_LIBRARIES, but as an result it's not built during 'make all' phase and thus 'make check -n' fails.  Even the fail looks correct with this perspective.

You can either do what you already do (e.g. skip automatics and run make check manually), or this little patch should do the trick:

diff --git a/libtap/Makefile.am b/libtap/Makefile.am
index 3246e14..9a88264 100644
--- a/libtap/Makefile.am
+++ b/libtap/Makefile.am
@@ -3,7 +3,7 @@ libtap_a_SOURCES = \
        tap/float.c tap/float.h \
        tap/macros.h
 
-check_LIBRARIES = libtap.a
+noinst_LIBRARIES = libtap.a
 
 check_PROGRAMS = \
        runtests

The only downside is that libtap.a is built during make all.  I would suggest to stay with overriding automatics in gentoo builds.
Comment 17 Karl-Johan Karlsson 2015-05-10 15:53:01 UTC
(In reply to Ondřej Surý from comment #16)
> The only downside is that libtap.a is built during make all.  I would
> suggest to stay with overriding automatics in gentoo builds.

Sound reasonable.

So, that would mean we're done here?

Ondřej, since you're the maintainer on record, could you please bump it to the proxy maintainers?

Proxy maintainers, could you please check that I haven't done anything stupid? Areas with high potential for stupidity include:

* Patching Makefile.in instead of Makefile.am to avoid having to re-run automake.
* Building with untested libsystemd support and not shipping a unit file.

If it's OK, these attached files are submitted for inclusion in the Portage tree:

net-dns/knot/knot-1.6.3.ebuild
net-dns/knot/metadata.xml
net-dns/knot/files/1.6.3-dont-create-extra-directories.patch

and this file should be removed from the tree:

net-dns/knot/knot-9999.ebuild  (needs a rewrite to adapt to upstream changes)
Comment 18 Karl-Johan Karlsson 2015-05-10 16:26:39 UTC
Created attachment 402972 [details]
Proposed ebuild for 1.6.3.

Depend on dev-db/lmdb if USE=lmdb.
Comment why we override src_test().
Update copyright year.
Comment 19 Karl-Johan Karlsson 2015-05-10 19:50:03 UTC
Since I had the Knot build system fresh in memory, I created bug 549104 for a bump to 2.0.0-beta.
Comment 20 Ondřej Surý 2015-05-10 19:57:34 UTC
(In reply to Karl-Johan Karlsson from comment #17)
> Ondřej, since you're the maintainer on record, could you please bump it to
> the proxy maintainers?

Eh, bump? :)

Well, if you can help me with how to do that, I will do that.  I sort-of-maintain the package by talking to scarabeus :).

Me being "maintainer on record" is sort-of a last resort since I don't use Gentoo, so if you want to step up and become maintainer of Knot DNS in Gentoo, I would really appreciated, since it's already much better to have an active user of the software in the distribution to maintain it.
Comment 21 Karl-Johan Karlsson 2015-05-10 20:15:28 UTC
(In reply to Ondřej Surý from comment #20)
> (In reply to Karl-Johan Karlsson from comment #17)
> > Ondřej, since you're the maintainer on record, could you please bump it to
> > the proxy maintainers?
> 
> Eh, bump? :)
> 
> Well, if you can help me with how to do that, I will do that.  I
> sort-of-maintain the package by talking to scarabeus :).

Ah, the joys of a Swede and a Czech talking past each other in English :) What I meant was: if you think what I wrote in comment #17 is a good idea, please use whatever small official powers you have to ask scarabeus to 
do what it says in comment #17.

> Me being "maintainer on record" is sort-of a last resort since I don't use
> Gentoo, so if you want to step up and become maintainer of Knot DNS in
> Gentoo, I would really appreciated, since it's already much better to have
> an active user of the software in the distribution to maintain it.

An interesting suggestion, but perhaps a bit premature since I've only just switched to Knot from NSD a week ago. Ask me again after 2.0.0 is released.
Comment 22 Ondřej Surý 2015-05-10 20:31:04 UTC
(In reply to Karl-Johan Karlsson from comment #21)
> (In reply to Ondřej Surý from comment #20)
> > (In reply to Karl-Johan Karlsson from comment #17)
> > > Ondřej, since you're the maintainer on record, could you please bump it to
> > > the proxy maintainers?
> > 
> > Eh, bump? :)
> > 
> > Well, if you can help me with how to do that, I will do that.  I
> > sort-of-maintain the package by talking to scarabeus :).
> 
> Ah, the joys of a Swede and a Czech talking past each other in English :)

And the Czech is in Amsterdam right now :)

> What I meant was: if you think what I wrote in comment #17 is a good idea,
> please use whatever small official powers you have to ask scarabeus to 
> do what it says in comment #17.

Ok, I am asking scarabeus to do what is says in comment #17, since it seems good to me.

> > Me being "maintainer on record" is sort-of a last resort since I don't use
> > Gentoo, so if you want to step up and become maintainer of Knot DNS in
> > Gentoo, I would really appreciated, since it's already much better to have
> > an active user of the software in the distribution to maintain it.
> 
> An interesting suggestion, but perhaps a bit premature since I've only just
> switched to Knot from NSD a week ago. Ask me again after 2.0.0 is released.

OK, will do.  Thank you.
Comment 23 Yixun Lan archtester gentoo-dev 2015-05-15 02:29:30 UTC
hi Karl-Johan Karlsson, you didn't introduce USE=dnstap for 1.6.3, while do for 2.0.0_beta, is it intentional?
and i'm sure the live version (-9999) is out-dated, do you have problem if I drop it? (we usually don't help to maintain live ebuild)

since @scarabeus is away, we @proxy-maint team will help to commit this ebuild (plus 2.0.0_beta bug 549106), I'll prmote Karl-Johan Karlsson as primary maintainer, which mean further bugs will be assigned to him, and CCed to Ondrej Sury. many thanks
Comment 24 Karl-Johan Karlsson 2015-05-15 08:01:45 UTC
(In reply to Yixun Lan from comment #23)
> hi Karl-Johan Karlsson, you didn't introduce USE=dnstap for 1.6.3, while do
> for 2.0.0_beta, is it intentional?

Somewhat :) I didn't want to make too large a change for the releasd version, so I saved that for the beta. But then it turned out the dnstap support was just two lines, so I should have included it in 1.6.3 as well. I'll upload a new ebuild.

> and i'm sure the live version (-9999) is out-dated, do you have problem if I
> drop it? (we usually don't help to maintain live ebuild)

As I said in comment #17, and Ondřej accepted in comment #22, we want it to be removed since it doesn't work. If someone asks for it, a new one could be created based on the 2.0.0_beta ebuild.

> since @scarabeus is away, we @proxy-maint team will help to commit this
> ebuild (plus 2.0.0_beta bug 549106),

Thanks.

> I'll prmote Karl-Johan Karlsson as
> primary maintainer, which mean further bugs will be assigned to him, and
> CCed to Ondrej Sury.

As I said in comment #21, please wait a while, until I'm comfortable running the software and know I will continue doing so. We can revisit the question after 2.0.0 is released.
Comment 25 Karl-Johan Karlsson 2015-05-15 08:02:59 UTC
Created attachment 403312 [details]
Proposed ebuild for 1.6.3.

Include dnstap support (backported from 2.0.0_beta).
Correct list of debug subsystems.
Comment 26 Karl-Johan Karlsson 2015-05-15 08:06:05 UTC
Created attachment 403316 [details]
metadata.xml with descriptions for the new USE flags.

Describe USE=dnstab.
Comment 27 Yixun Lan archtester gentoo-dev 2015-05-15 09:53:22 UTC
+*knot-2.0.0_beta (15 May 2015)
+*knot-1.6.3 (15 May 2015)
+
+  15 May 2015; Yixun Lan <dlan@gentoo.org> +knot-1.6.3.ebuild,
+  +knot-2.0.0_beta.ebuild, -knot-9999.ebuild,
+  +files/1.6.3-dont-create-extra-directories.patch,
+  +files/2.0.0_beta-dont-create-extra-directories.patch,
+  +files/2.0.0_beta-spell-enable-vars-correctly.patch, metadata.xml:
+  version bump, bug 531448, 549104, thanks Karl-Johan Karlsson and Ondřej
+  Surý

thanks all