Bug 445027 - Review Request: dnrd - A caching, forwarding DNS proxy server
Review Request: dnrd - A caching, forwarding DNS proxy server
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Kevin Fenzi
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-05-02 15:19 EDT by Rakesh Pandit
Modified: 2008-08-12 14:25 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-08-11 23:01:04 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
kevin: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Rakesh Pandit 2008-05-02 15:19:40 EDT
Spec URL: 
http://rishi.fedorapeople.org/dnrd.spec

SRPM URL:
http://rishi.fedorapeople.org/dnrd-2.20.3-1.fc8.src.rpm

Description: 
dnrd is a proxying nameserver. It forwards DNS queries to the appropriate nameserver, but can also act as the primary nameserver for a subnet behind a firewall. It also has features such as caching DNS requests, support for DNS servers, cache poisoning prevention, TCP support, etc..

This is my first package submission and I am seeking a sponsor.
Comment 1 Jason Tibbitts 2008-06-06 14:00:59 EDT
This fails to build for me in mock:

+ dos2unix COPYING
/var/tmp/rpm-tmp.50471: line 39: dos2unix: command not found

mock (and hence the Fedora buildsystem) will build packages in a minimal
environment, consisting of a few packages (listed in the Exceptions section of
http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRequires) plus any
packages listed in your BuildRequires:.  This means that if you want to call
something like dos2unix, you need to specify a dependency on it manually:
  BuildRequires: dos2unix
or you can use
  sed -i 's/\r//' COPYING
instead which has no dependencies.

The package builds fine if I make either of those two changes.

It's strongly preferred that if your going to use macro forms like %{__install}
 (on the make install line) that you use them everywhere.  Alternately, just using:
  make install INSTALL="install -p" DESTDIR=$RPM_BUILD_ROOT
works fine and is less typing, although to be honest I don't actually see any
dfference when I change that to:
  make install DESTDIR=$RPM_BUILD_ROOT
Perhaps I'm missing something.

I'm confused about how dnrd itself is to be used.  If it's a system daemon,
shouldn't it have initscripts and such?

The executable will expect to see configuration files in /etc/dnrd, so I'd
expect that this package would provide that directory.  Is it possible to
provide any kind of initial configuration file that would be useful?  Perhaps a
caching-only server if one can be setup without requiring local customization.
Comment 2 Rakesh Pandit 2008-06-16 16:15:39 EDT
>or you can use
>  sed -i 's/\r//' COPYING
>instead which has no dependencies.

Done.

>  make install INSTALL="install -p" DESTDIR=$RPM_BUILD_ROOT
>works fine and is less typing, although to be honest I don't actually see any
>dfference when I change that to:
>  make install DESTDIR=$RPM_BUILD_ROOT
>Perhaps I'm missing something.

Done (make install INSTALL="install -p" DESTDIR=$RPM_BUILD_ROOT)

As http://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps
using 'install -p' saves files' timestamps.

Dnrd has to be used with command line arguments, it does not have any
configuration files as such now. It just uses master and blacklist files for
master DNS and blocking respectively.

There are only few values like cache marks, or DNRD chroot directory which are
configurable. No configuration file is supported right now. 

New SPEC: http://rakesh.gnulinuxcentar.org/dnrd.spec
New SRPM: http://rakesh.gnulinuxcentar.org/dnrd-2.20.3-1.fc8.src.rpm

> expect package would provide that directory (/etc/dnrd/)

Done

--
Rakesh Pandit
Comment 3 Rakesh Pandit 2008-06-17 02:47:03 EDT
dnrd does not resolve dns lookups. It only forwards the requests to an
upstream server. So, we cannot have a default config for
dnrd. User needs to set up upstream DNS server from ISP.

Yes it should have init.d script as it is a daemon 
I will get one init.d script in package ASAP

--
Rakesh Pandit
Comment 4 Rakesh Pandit 2008-06-17 19:42:20 EDT
>Yes it should have init.d script as it is a daemon 
>I will get one init.d script in package ASAP

Updated with init.d script and an example conf sample file

New SRPM: http://rakesh.gnulinuxcentar.org/dnrd-2.20.3-1.fc8.src.rpm
New SPEC http://rakesh.gnulinuxcentar.org/dnrd.spec

Comment 5 Rakesh Pandit 2008-07-14 13:32:28 EDT
Corrected release number:
SPEC: http://rakesh.fedorapeople.org/spec/dnrd.spec
SRPM: http://rakesh.fedorapeople.org/srpm/dnrd-2.20.3-2.fc8.src.rpm
Comment 6 Kevin Fenzi 2008-07-14 20:17:06 EDT
I would be happy to review this package. Look for a full review in a bit.
Comment 7 Kevin Fenzi 2008-07-14 21:53:06 EDT
OK - Package meets naming and packaging guidelines
OK - Spec file matches base package name.
OK - Spec has consistant macro usage.
OK - Meets Packaging Guidelines.
See below - License
See below - License field in spec matches
See below - License file included in package
OK - Spec in American English
OK - Spec is legible.
OK - Sources match upstream md5sum:
41c9b070aae8ed403fc8c2aac7ab157c  dnrd-2.20.3.tar.gz
41c9b070aae8ed403fc8c2aac7ab157c  dnrd-2.20.3.tar.gz.orig
OK - BuildRequires correct
OK - Package has %defattr and permissions on files is good.
OK - Package has a correct %clean section.
OK - Package has correct buildroot
OK - Package is code or permissible content.
OK - Doc subpackage needed/used.
OK - Packages %doc files don't affect runtime.
OK - Package has rm -rf RPM_BUILD_ROOT at top of %install

OK - Package compiles and builds on at least one arch.
See below - Package has no duplicate files in %files.
OK - Package doesn't own any directories other packages own.
OK - Package owns all the directories it creates.
OK - No rpmlint output.
OK - final provides and requires are sane:

SHOULD Items:

OK - Should build in mock.
OK - Should build on all supported archs
OK - Should have sane scriptlets.
OK - Should have dist tag
OK - Should package latest version

Issues:

1. There looks to be a slight license issue.
The qid.h file appears to be under just the GPLv2, while everything else is either
GPLv2+ or "Public domain". So, the entire package looks like it will be under GPLv2.
You might however talk to upstream about this and see thats what the intend.
They might have just missed a file in a relicense.

2. You have a file listed twice in %files:
warning: File listed twice: /etc/dnrd/dnrd.conf
You probibly want to make the %{_sysconfdir}/%{name} just use a %dir to only include
the directory there.
Comment 8 Rakesh Pandit 2008-07-15 10:14:41 EDT
1. Fixed 

I discussed with upstream today in mailing list and confirmed that GPLv2 is 
fine for this release. They have corrected it, so that next release has no 
issues.

2. Fixed

SPEC: http://rakesh.fedorapeople.org/spec/dnrd.spec
SRPM: http://rakesh.fedorapeople.org/srpm/dnrd-2.20.3-3.fc8.src.rpm


Comment 9 Kevin Fenzi 2008-07-15 18:23:34 EDT
Humm... the spec still shows 'GPLv2+'. That should be 'GPLv2'. ;) 
Comment 11 Kevin Fenzi 2008-07-16 20:25:37 EDT
That solves all the issues I see here, so this package is APPROVED. 
Comment 12 Rakesh Pandit 2008-07-16 22:33:34 EDT
New Package CVS Request
=======================
Package Name: dnrd
Short Description: A caching, forwarding DNS proxy server
Owners: rakesh
Branches: F-8 F-9
InitialCC: rakesh
Cvsextras Commits: yes
Comment 13 Kevin Fenzi 2008-07-17 14:25:57 EDT
cvs done.
Comment 14 Fedora Update System 2008-07-18 00:42:24 EDT
dnrd-2.20.3-4.fc8 has been submitted as an update for Fedora 8
Comment 15 Fedora Update System 2008-07-18 00:43:17 EDT
dnrd-2.20.3-4.fc9 has been submitted as an update for Fedora 9
Comment 16 Fedora Update System 2008-07-19 05:43:12 EDT
dnrd-2.20.3-4.fc8 has been pushed to the Fedora 8 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update dnrd'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F8/FEDORA-2008-6534
Comment 17 Fedora Update System 2008-08-12 14:21:38 EDT
dnrd-2.20.3-4.fc8 has been pushed to the Fedora 8 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 18 Fedora Update System 2008-08-12 14:25:16 EDT
dnrd-2.20.3-4.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.