[{"content":"This is a quick guide to enable systemd-resolved support for connman package in arch because arch wiki being arch wiki, it RTFMed the reader with no futher explanation on how to actually rebuild this package.\nPrerequisites Install a few packages before we start rebuilding. These are the required dependencies as per connman\u0026rsquo;s PKGBUILD.\nbase-devel devtools bluez iwd openconnect openvpn ppp wpa_supplicant devtools is required as well since it has the tools for rebuilding the package.\nCommand for installing:\n1 2 3 4 5 6 7 8 sudo pacman -S bluez \\ iwd \\ openconnect \\ openvpn \\ ppp \\ wpa_supplicant \\ devtools \\ base-devel Re-Building the Package First, We need to get the source files of connman package from arch\u0026rsquo;s gitlab.\n1 2 pkgctl repo clone --protocol=https connman cd connman Now, Open up PKGBUILD and modify it to add --with-dns-backend=systemd-resolved option.\n1 2 3 4 5 6 7 8 9 10 11 12 13 ... build() { cd $pkgname-$pkgver ./configure \\ --prefix=/usr \\ ... --with-dns-backend=systemd-resolved ... --enable-pie \\ --enable-iwd make } ... Write the changes and re-build the package.\n1 makepkg --syncdeps --rmdeps --syncdeps: Installs required dependencies. --rmdeps: Removes make dependencies after building, which are not needed.\nps. If makepkg fails due to PGP key not being verified, you can pass --skippgpcheck flag to the command.\n1 2 3 ==\u0026gt; ERROR: One or more PGP signatures could not be verified! $ makepkg --syncdeps --skippgpcheck Installing the Modified Version Once the building process is complete, a package file (connman-pkgver.pkg.tar.zst) will be created in the working directory.\nTo install it, use makepkg\u0026rsquo;s -i flag\n1 makepkg --install Final setup After installing the modified package, setup the stub resolver as /etc/resolv.conf\n1 ln -sf ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf Then, Restart connman.service, systemd-resolved.service and (if you\u0026rsquo;re using it) tailscale.service.\n1 2 sudo systemctl restart connman.service sudo systemctl restart systemd-resolved.service That\u0026rsquo;s it. :)\n","date":"2024-09-03T00:00:00+05:30","permalink":"https://eeper.me/writing/adding-systemd-resolved-support-to-connman/","title":"Adding systemd-resolved Support to Connman"}]