Ddns-scripts package dependency bloat?

While building my custom image from distclean tree I noticed that during the package "install" (running

scripts/feeds install ...

there were quite a few packages I could not relate to anything I installed. After trying one package after another I identified the victim - ddns-scripts package:

risa@gentoo-vb ~/openwrt/openwrt $ scripts/feeds install ddns-scripts
Collecting package info: done
Collecting target info: done
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/busybox/Makefile' has a build dependency on 'libpam', which does not exist
WARNING: Makefile 'package/boot/kexec-tools/Makefile' has a dependency on 'liblzma', which does not exist
WARNING: Makefile 'package/network/services/lldpd/Makefile' has a dependency on 'libnetsnmp', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a dependency on 'libpam', which does not exist
WARNING: Makefile 'package/utils/policycoreutils/Makefile' has a build dependency on 'libpam', which does not exist
Installing package 'ddns-scripts' from packages
Installing package 'curl' from packages
Installing package 'gnutls' from packages
Installing package 'libtasn1' from packages
Installing package 'p11-kit' from packages
Installing package 'unbound' from packages
Installing package 'libsodium' from packages
Installing package 'nghttp2' from packages
Installing package 'python3' from packages
Installing package 'bluez' from packages
Installing package 'glib2' from packages
Installing package 'libffi' from packages
Installing package 'attr' from packages
Installing package 'dbus' from packages
Installing package 'expat' from packages
Installing package 'libical' from packages
Installing package 'python-build' from packages
Installing package 'python-installer' from packages
Installing package 'python-flit-core' from packages
Installing package 'python-packaging' from packages
Installing package 'python-pyproject-hooks' from packages
Installing package 'python-wheel' from packages
Installing package 'python-setuptools' from packages
Installing package 'gdbm' from packages
Installing package 'xz' from packages
Installing package 'sqlite3' from packages
Installing package 'libedit' from packages
Installing package 'protobuf-c' from packages
Installing package 'protobuf' from packages
Installing package 'zstd' from packages
Installing package 'openldap' from packages
Installing package 'cyrus-sasl' from packages
Installing package 'db47' from packages
Installing package 'icu' from packages
Installing package 'libidn2' from packages
Installing package 'libssh2' from packages
Installing package 'bind' from packages
Installing package 'libuv' from packages
Installing package 'krb5' from packages
Installing package 'giflib' from packages
Installing package 'coreutils' from packages
Installing package 'acl' from packages

I do not know if it was the case since the beginning, but seeing things like krb5, or python, db47 (and sqlite3 together!) definitely does not seem right for something with "scripts" in the name. (Not to speak about why it needs bluez???)

Now I wonder how much of it makes it into the image.
I am running ddns with changeip provider which should be pretty simple protocol. Is there a leaner alternative?

What version of the SDK are you using?

I don't see any of the packages you listed as dependencies for ddns-scripts on 22.03.5.

The scripts are not required for DDNS.

I can answer that myself:

-rw-r--r--  1 risa risa   24891 Jun 25 13:58 ddns-scripts_2.8.2-38_all.ipk
-rw-r--r--  1 risa risa    4448 Jun 25 13:58 ddns-scripts-services_2.8.2-38_all.ipk

Which is actually not that much. The list of dependencies is scary though.

I am not sure, I build my image builder from the master branch of the git repo. The install command is the one used to "install" packages (I want to use) into the build tree.

These are dependencies of the built package, I was talking about the packages which are pulled in for actually building the package.

Ok, what could I use instead?

1 Like

The scripts aren't needed. You don't need an alternative, they're just scripts - you can omit the package.