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") description("a random collection of Linux utilities") maintainer("sisungo ") 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)