60 lines
2.5 KiB
Python
60 lines
2.5 KiB
Python
pkgname = "NetworkManager"
|
|
pkgver = "1.54.3"
|
|
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",
|
|
] |