Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#47088 - [ddclient] Missing JSON::Any Perl dependency for cloudflare

Attached to Project: Community Packages
Opened by Michael Herold (mherold) - Monday, 16 November 2015, 22:26 GMT
Last edited by Johannes Löthberg (demize) - Tuesday, 17 November 2015, 17:51 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Johannes Löthberg (demize)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

ddclient fails to start when using the cloudflare module. It says that it is missing the JSON::Any Perl module. This leads me to believe that there should be a dependency (or optional dependency) on perl-json. However, when I tried installing perl-json, it didn't help.

I first noticed this today, so I'm not sure when it broke.

Additional info:

This happens for this version of the package.

ddclient-3.8.3-1

Here's a log from journalctl.

> journalctl -xe | grep ddclient

-- Subject: Unit ddclient.service has begun start-up
-- Unit ddclient.service has begun starting up.
Nov 16 15:56:02 zeromus ddclient[16163]: FATAL: Error loading the Perl module JSON::Any needed for cloudflare update.
Nov 16 15:56:02 zeromus ddclient[16168]: FATAL: Error loading the Perl module JSON::Any needed for cloudflare update.
Nov 16 15:56:02 zeromus systemd[1]: ddclient.service: Control process exited, code=exited status=1
-- Subject: Unit ddclient.service has failed
-- Unit ddclient.service has failed.
Nov 16 15:56:02 zeromus systemd[1]: ddclient.service: Unit entered failed state.
Nov 16 15:56:02 zeromus systemd[1]: ddclient.service: Failed with result 'exit-code'.

Here's a redacted configuration:

> cat /etc/ddclient/ddclient.conf | grep -ve "^$\|^#"
daemon=300
syslog=yes
pid=/var/run/ddclient.pid
ssl=yes
use=web, web=http://ipv4.wtfismyip.com/text
protocol=cloudflare, \
zone=<site>, \
server=www.cloudflare.com, \
login=<username>, \
password=<api_key> \
<record>

With variable description:

<site>: The main site you want to update (e.g. mysite.com)
<username>: The username you log in with (e.g. test@example.com)
<record>: The record you want to update (e.g. home.mysite.com)
<api_key>: Hex string API key from https://www.cloudflare.com/a/account/my-account

Steps to reproduce:

1. Use configuration above
2. Run systemctl start ddclient.service
This task depends upon

Closed by  Johannes Löthberg (demize)
Tuesday, 17 November 2015, 17:51 GMT
Reason for closing:  Implemented
Additional comments about closing:  Optdep added in 3.8.3-2
Comment by Doug Newgard (Scimmia) - Tuesday, 17 November 2015, 00:05 GMT Comment by Johannes Löthberg (demize) - Tuesday, 17 November 2015, 01:43 GMT
Yeah, I'll move the perl-json-any package over tomorrow and add it as an optdepend, not at home right now.
Comment by Michael Herold (mherold) - Tuesday, 17 November 2015, 02:37 GMT
Installing perl-json-any did the trick! I feel silly; I thought that the ::Any package was a meta-package that would take any implementation of Perl::JSON automagically.

Thank you for the quick turnaround.

Loading...