RL9: how to install ddclient?

I installed Rocky Linux 9 yesterday and I am configuring my new server.
There does not seem to be a package for ddclient as in RH/Centos/RL 8.
I have installed and enabled EPEL 9 repo:

# dnf install epel-release
Last metadata expiration check: 0:20:58 ago on Sun 17 Jul 2022 01:23:30 PM CEST.
Package epel-release-9-3.el9.noarch is already installed.
Dependencies resolved.
Nothing to do.
[root@localhost ~]#

Do I have to install /compile it from scratch using GitHub - ddclient/ddclient: This is the new home for ddclient. Ddclient is a Perl client used to update dynamic DNS entries for accounts on 'Dynamic DNS Network Services' free DNS service. It currently supports a lot of different routers and a few different services. ?
ddcient is essential for my server.

As Rocky/Alma are missing a lot of packages I want, I am finding that most of the time I can build them from FC34 srpms. I just tried to build it, I didn’t need anything when I ran sudo dnf -y builddep ddclient.spec, then running rpmbuild -ba ddclient placed an rpm in RPMS/noarch. The whole process only took a few minutes.
If you like, I can upload the rpm to my site, but as you don’t know me, if you’re familiar with building srpms it’s better if you do it yourself.

Thanks Scottro!

I haven’t built any Rpms so far, but would like to try! Can you guide me to where you downloaded the srpm? Any other commands that I need to use? Or did you mention all required steps already?

Den 17 juli 2022, kI 17:17, Scott Robbins via Rocky Linux Forum <notifications@rockylinux.discoursemail.com> skrev:

I have a page it that perhaps oversimplifies and covers editing a firefox.spec file to avoid pulseaudio.
The brief steps, first install rpm-build and rpmdevtools. I also install other things I think I will need such as make automake gcc c++ tar and bzip2 as a minimal install doesn’t have some of that.
Once installed do rpmdev-setuptree, which creates an rpmbuild directory in your home directory.
To avoid cosmetic errors I do useradd mockbuild;groupadd mock otherwise you’ll get error about no mock user or group, using root, though it will work. Get that srpm from the link above, save it to the rpmbuild/SRPMS directory. Run rpm -ivh on the srpm, you don’t need sudo.

You will now see a ddclient.spec file in the rpmbuild/SPECS directory. In the spec directory do

dnf -y bulddep ddclient.spec. Hopefully, you have all needed packages. I tried after I’d already installed extra stuff, enabled crb, included rpmfusion, etc. Anyway, all needed packages install, then run, no need for sudo rpmbuild -ba ddclient.spec

It will take some time, but not to long. When done, look in the rpmbuild/RPMS directory. I think that ddclient used RPM/noarch. Look in there and you can run sudo rpm -ivh ddclient.spec. If you have no problem with the builddep part, it’s pretty simple. If you do get errors like no matching package for whatever, you’ll have to track that down but we’lll worry about that when we get to it.

Many thanks Scottro!!
It looks possible to do! I will give it a try the coming days. If I run into “serious problems”, I’ll post it here.

So this was really a piece of cake, using your very clear guidelines to buid your own rpm!
ddclient is now up and running now with an " el9.rpm", built from ddclient.xxx.el8.src.rpm which was used to create the el8 version of the ddclient rpm.
Can only recommend others to use Scottro’s great guidelines!!

1 Like

Thank you!. I’m very glad that it helped.