feat: add package util-linux

Signed-off-by: sisungo <[email protected]>
This commit is contained in:
2026-07-24 15:49:11 +08:00
parent da5c4329bf
commit a7afab336b
+323
View File
@@ -0,0 +1,323 @@
import os
from lib.make import *
from lib import cpp
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("gettext")
builddep("bash")
builddep(f"linux-dev @{arch.get_target()}")
builddep(f"libintl-dev @{arch.get_target()}")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep(f"libncurses-dev @{arch.get_target()}")
version("2.42.2")
source_url("https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz")
def build():
cpp.configure([
"--prefix=/",
"--enable-fs-paths-default=/bin",
"--disable-su",
"--disable-sulogin",
"--disable-chfn-chsh",
"--disable-login",
"--without-systemd",
"--disable-makeinstall-setuid",
"--disable-makeinstall-chown",
"--disable-makeinstall-tty-setgid",
])
cpp.make()
cpp.make_install()
on_build(build)
def fix_pc(libname: str):
pkgname_lib = f"lib{libname}"
pkgname_dev = f"lib{libname}-dev"
pc_path = f"lib/pkgconfig/{libname}.pc"
with open(pc_path, "r") as file:
pc_content = file.read()
pc_content = pc_content.replace(
"libdir=//lib", f"libdir={get_prefix(pkgname_lib)}/lib"
).replace(
"includedir=//include", f"includedir={get_prefix(pkgname_dev)}/include"
)
with open(pc_path, "wt") as file:
file.write(pc_content)
def pack_lib(composer, name):
composer.makedir("lib")
for i in os.listdir("lib"):
if name in i and "so" in i:
composer.addfile(f"lib/{i}", f"lib/{i}")
def pack_dev(composer, name):
fix_pc(name)
composer.makedir("lib")
for i in os.listdir("lib"):
if name in i and "so" not in i:
composer.addfile(f"lib/{i}", f"lib/{i}")
composer.makedir("lib/pkgconfig")
composer.addfile(f"lib/pkgconfig/{name}.pc", f"lib/pkgconfig/{name}.pc")
composer.makedir("include")
for i in os.listdir("include"):
if name in i:
composer.add_dir(f"include/{i}", f"include/{i}")
def pack_bin(composer, list):
composer.makedir("bin")
for i in list:
if i.startswith("sbin/"):
i = i.replace("sbin/", "")
composer.addfile(f"sbin/{i}", f"bin/{i}")
else:
composer.addfile(f"bin/{i}", f"bin/{i}")
package("libblkid")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "blkid"))
package("libblkid-dev")
dep("libblkid (same)")
on_pack(lambda composer: pack_dev(composer, "blkid"))
package("libfdisk")
dep("libuuid (same)")
dep("libblkid (same)")
on_pack(lambda composer: pack_lib(composer, "fdisk"))
package("libfdisk-dev")
dep("libfdisk (same)")
on_pack(lambda composer: pack_dev(composer, "fdisk"))
package("libmount")
dep("libblkid (same)")
on_pack(lambda composer: pack_lib(composer, "mount"))
package("libmount-dev")
dep("libmount (same)")
on_pack(lambda composer: pack_dev(composer, "mount"))
package("libsmartcols")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "smartcols"))
package("libsmartcols-dev")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_dev(composer, "smartcols"))
package("libuuid")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "uuid"))
package("libuuid-dev")
dep("libuuid (same)")
on_pack(lambda composer: pack_dev(composer, "uuid"))
package("util-linux-swap")
dep("libblkid (same)")
dep("libmount (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, ["sbin/swaplabel", "sbin/swapoff", "sbin/swapon", "sbin/mkswap"]))
package("util-linux-mount")
provide("mount")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, ["mount", "umount"]))
package("util-linux-fdisk")
provide("fdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/fdisk"]))
package("util-linux-sfdisk")
provide("sfdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/sfdisk"]))
package("util-linux-cfdisk")
provide("cfdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/cfdisk"]))
package("util-linux-mkfs")
dep("semi-libc @same-arch")
dep("libz @same-arch")
provide("mkfs")
on_pack(lambda composer: pack_bin(composer, ["sbin/mkfs", "sbin/mkfs.bfs", "sbin/mkfs.cramfs", "sbin/mkfs.minix"]))
package("util-linux-fsck")
dep("libmount (same)")
dep("libblkid (same)")
dep("libz @same-arch")
provide("fsck")
on_pack(lambda composer: pack_bin(composer, ["sbin/fsck", "sbin/fsck.cramfs", "sbin/fsck.minix"]))
package("util-linux-fs")
dep("libblkid (same)")
dep("libsmartcols (same)")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, [
"sbin/addpart",
"sbin/resizepart",
"sbin/delpart",
"sbin/partx",
"sbin/losetup",
"sbin/blkdiscard",
"sbin/blkid",
"sbin/blkpr",
"sbin/blkzone",
"sbin/blockdev",
"sbin/findfs",
"sbin/fsfreeze",
"sbin/fstrim",
"copyfilerange",
"exch",
"fadvise",
"fallocate",
"fincore",
"flock",
"getino",
"hardlink",
"mountpoint",
"namei",
"rename",
"whereis",
"sbin/pivot_root",
"sbin/switch_root",
"sbin/wipefs",
"sbin/zramctl",
"findmnt",
]))
package("util-linux-security")
dep("libsmartcols (same)")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, [
"utmpdump",
"unshare",
"last",
"lastb",
"nsenter",
"lsns",
"sbin/nologin",
]))
package("util-linux-proc")
dep("libsmartcols (same)")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"uclampset",
"waitpid",
"setsid",
"setpgid",
"taskset",
"chrt",
"coresched",
"prlimit",
"renice",
"ionice",
]))
package("util-linux-text")
dep("libncurses @same-arch")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"bits",
"cal",
"colcrt",
"colrm",
"column",
"getopt",
"hexdump",
"look",
"mcookie",
"rev",
"ul",
]))
package("util-linux-term")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"setterm",
"mesg",
"script",
"scriptlive",
"scriptreplay",
"wall",
"sbin/agetty",
"sbin/ldattach",
]))
package("util-linux-ipc")
dep("libmount (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"ipcmk",
"ipcrm",
"ipcs",
"lslocks",
"pipesz",
"dmesg",
]))
package("util-linux-hardware")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"irqtop",
"lsirq",
"lsmem",
"wdctl",
"sbin/hwclock",
"sbin/readprofile",
"sbin/rfkill",
"sbin/rtcwake",
]))
package("isosize")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, ["isosize"]))
package("util-linux-arch")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, ["setarch", "uname26", "linux32", "linux64"]))
package("util-linux-uuid")
dep("libuuid (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"uuidgen",
"uuidparse",
"sbin/uuidd",
]))
package("util-linux")
dep("util-linux-swap (same)")
dep("util-linux-mount (same)")
dep("util-linux-fdisk (same)")
dep("util-linux-sfdisk (same)")
dep("util-linux-cfdisk (same)")
dep("util-linux-mkfs (same)")
dep("util-linux-fsck (same)")
dep("util-linux-fs (same)")
dep("util-linux-security (same)")
dep("util-linux-proc (same)")
dep("util-linux-text (same)")
dep("util-linux-term (same)")
dep("util-linux-ipc (same)")
dep("util-linux-hardware (same)")
dep("isosize (same)")
dep("util-linux-arch (same)")
dep("util-linux-uuid (same)")
on_pack(lambda _composer: None)