Bug 255916

Summary: [New port] dns/hetzner_ddns: Hetzner Dynamic DNS daemon
Product: Ports & Packages Reporter: Filip Parag <filip>
Component: Individual Port(s)Assignee: Kevin Bowling <kbowling>
Status: Closed FIXED    
Severity: Affects Only Me CC: diizzy, filip, kbowling
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/filiparag/hetzner_ddns
Attachments:
Description Flags
hetzner_ddns v0.1
filip: maintainer-approval+
hetzner_ddns v0.2
filip: maintainer-approval+
hetzner_ddns-0.2.2
filip: maintainer-approval+
proposed_changes
filip: maintainer-approval+
hetzner_ddns-0.2.2u1 filip: maintainer-approval+

Description Filip Parag 2021-05-16 02:33:11 UTC
Created attachment 224984 [details]
hetzner_ddns v0.1

I decided to share my DynDNS script for all users who rely on Hetzner DNS servers. This port is inspired by dns/namesilo_ddns.

Tested on FreeBSD 13.0 arm64
Portlint ok
Comment 1 Filip Parag 2021-05-16 23:14:40 UTC
Created attachment 225010 [details]
hetzner_ddns v0.2

Update port to version 0.2.0
Comment 2 Filip Parag 2021-06-08 22:27:32 UTC
Created attachment 225651 [details]
hetzner_ddns-0.2.2

Update port to version 0.2.2
Comment 3 Daniel Engberg freebsd_committer freebsd_triage 2021-06-09 08:05:56 UTC
L2 should be removed (and L1 can also be removed)
PORTVERSION --> DISTVERSION
https://docs.freebsd.org/en/books/porters-handbook/book.html#makefile-master_sites-github-description

USE_RC_SUBR seems to be missing?
https://docs.freebsd.org/en/books/porters-handbook/book.html#rc-scripts

Thanks for your contribution!

Best regards,
Daniel
Comment 4 Filip Parag 2021-06-09 11:13:36 UTC
Created attachment 225658 [details]
proposed_changes

(In reply to Daniel Engberg from comment #3)
Hello Daniel,

Thanks for your suggestions. I had some issues trying to implement them.

When I remove line L2, portlint says:
> FATAL: Makefile: no $FreeBSD$ line in comment section.
Removing both L1 and L2 gives even more errors.

Regarding the use of USE_RC_SUBR, I encounter a problem which I don't know how to fix. I scoured the Handbook, but I can't find how resolve the following:

The rc.d script for FreeBSD is named hetzner_ddns.freebsd.rc and it lies in ${WRKSRC} directory alongside the rest of the upstream code.
I copy it to ${FILESDIR}/${PORTNAME}.in in the do-patch target, but even though it runs before configuration step, I get an error:
> ** Missing /usr/ports/dns/hetzner_ddns/files/hetzner_ddns.in for hetzner_ddns-0.2.2.
Using post-extract target yields the same result, but running make package the second time resolves this issue.

I would like to keep the rc.d script upstream only, without a duplicate in port's files/ directory. Is it possible to do so?

Proposed changes are attached in proposed_changes file.

Best,
Filip
Comment 5 Daniel Engberg freebsd_committer freebsd_triage 2021-06-09 13:14:25 UTC
Portlint needs a bit of love in that regard (updating).
Regarding your rc.d-script I don't see a nice/viable solution except for hosting it in the ports tree, having a port modifying the ports tree is a no go.
Comment 6 Filip Parag 2021-06-09 14:14:23 UTC
Created attachment 225661 [details]
hetzner_ddns-0.2.2u1

Applied suggestions from comment #3.

Tested on FreeBSD 13.0 arm64
Comment 7 commit-hook freebsd_committer freebsd_triage 2021-06-15 19:04:17 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e529189733c23bd87509e82e5e17e915b1a6389a

commit e529189733c23bd87509e82e5e17e915b1a6389a
Author:     Filip Parag <filip@parag.rs>
AuthorDate: 2021-06-15 19:01:32 +0000
Commit:     Kevin Bowling <kbowling@FreeBSD.org>
CommitDate: 2021-06-15 19:03:53 +0000

    dns/hetzner_ddns: New port for Hetzner Dynamic DNS

    PR:             255916
    Reviewed by:    Daniel Engberg <daniel.engberg.lists@pyret.net>
    Approved by:    new maintainer

 dns/Makefile                                    |  1 +
 dns/hetzner_ddns/Makefile (new)                 | 34 +++++++++++++++++++++++++
 dns/hetzner_ddns/distinfo (new)                 |  3 +++
 dns/hetzner_ddns/files/hetzner_ddns.in (new +x) | 25 ++++++++++++++++++
 dns/hetzner_ddns/pkg-descr (new)                |  9 +++++++
 5 files changed, 72 insertions(+)
Comment 8 Kevin Bowling freebsd_committer freebsd_triage 2021-06-15 19:04:41 UTC
Thanks for your contribution!