pkgname = "NetworkManager" pkgver = "1.54.2" source = f"https://rocketleaguechatp.duckdns.org/NetworkManager-{pkgver}.tar.xz" builddir = f"/tmp/fempkg/build/{pkgname}/{pkgname}-{pkgver}" fembuilddir = f"/tmp/fempkg/build/{pkgname}" outputdir = "/home/gabry/lfs-repo/binpkg" manifestdir = "/home/gabry/lfs-repo/manifests" destdir = f"{fembuilddir}/DESTDIR" deps = ["libndp", "curl", "dhcpcd", "iptables", "libpsl", "newt", "NSS", "polkit", "elogind", "vala", "wpa_supplicant"] build = [ # Extract f"mkdir /tmp/fempkg/build {fembuilddir} || true && cd {fembuilddir} && tar -xvf /var/lib/fempkg/pkgs/{pkgname}-{pkgver}.tar.xz", # 64-bit build f"cd {builddir} && grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' && mkdir build && cd build && meson setup .. --prefix=/usr " f"--buildtype=release -D libaudit=no -D nmtui=true -D ovs=true -D ppp=false -D nbft=false -D selinux=false -D session_tracking=elogind " f"-D modem_manager=false -D systemdsystemunitdir=no -D systemd_journal=false -D nm_cloud_setup=false -D qt=false", f"cd {builddir}/build && ninja", f"cd {builddir}/build && DESTDIR={destdir} ninja install && mv -v {destdir}/usr/share/doc/NetworkManager{{,-{pkgver}}}", f"mkdir -p {destdir}/etc/NetworkManager/conf.d /usr/share/polkit-1/rules.d", f"""cat > {destdir}/etc/NetworkManager/NetworkManager.conf << "EOF" [main] plugins=keyfile EOF""", f"""cat > {destdir}/etc/NetworkManager/conf.d/polkit.conf << "EOF" [main] auth-polkit=true EOF""", f"""cat > {destdir}/etc/NetworkManager/conf.d/no-dns-update.conf << "EOF" [main] dns=none EOF""", f"""mkdir -p {destdir}/usr/share/polkit-1/rules.d && cat > {destdir}/usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF" polkit.addRule(function(action, subject) {{ if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {{ return polkit.Result.YES; }} }}); EOF""", f"install -v -d -m755 {destdir}/usr/share/licenses/{pkgname}/", f"cp -pv {builddir}/COPYING* {destdir}/usr/share/licenses/{pkgname}/", # Make tarball + manifests f"mkdir -p {outputdir} && cd {destdir} && tar --transform 's|^\\.||' -I zstd -cf {outputdir}/{pkgname}-{pkgver}.tar.zst .", f"mkdir -p {manifestdir} && tar -tf {outputdir}/{pkgname}-{pkgver}.tar.zst | grep -v '/$' > {manifestdir}/{pkgname}.txt", # Cleanup f"rm -rf {builddir} {fembuilddir}" ] triggers = [ f"cd /tmp && groupadd -fg 86 netdev || true", f"/usr/sbin/usermod -a -G netdev $(cat /var/lib/fempkg/username) || true", ]