#!/usr/bin/env bash source ./common.d/functions.sh source ./common.d/build_functions.sh require "debootstrap" fetch_base_system() { log "fetch_base_system is not implemented for rpm profiles" ierror log "Use distro specific type. Or implement your own" ierror return 3 } prepare_system() { log "prepare_system is not implemented for rpm imahe type" ierror log "Use distro-specific image type. Or implement your own" ierror return 3 } setup_zram_generator() { log "setup_zram_generator is not implemented for rpm imahe type" ierror log "Use distro-specific image type. Or implement your own" ierror return 3 } install_nabu_packages() { local rootdir="$1" [ ! -d "$rootdir" ] && { log "Rootdir [$rootdir] does not exists" ierror return 2 } cp ./packages/*.rpm "$rootdir/opt/" chroot "$rootdir" bash -c "rpm -i /opt/*.rpm" || { log "Failed to install packages" ierror return 1 } chroot "$rootdir" bash -c "rm /opt/*.rpm" log "Enabling userspace services" internal chroot "$rootdir" systemctl enable qrtr-ns pd-mapper tqftpserv rmtfs || { log "Failed to enable services" ierror return 1 } return 0 } # shellcheck disable=SC2086 install_packages() { local rootdir="$1" local packages="${*:2}" [ ! -d "$rootdir" ] && { log "Rootdir [$rootdir] does not exists" ierror return 2 } chroot "$rootdir" dnf install $packages -y || { log "Failed to install package(s)" ierror return 1 } return 0 } finish_system() { local rootdir="$1" [ ! -d "$rootdir" ] && { log "Rootdir [$rootdir] does not exists" ierror return 2 } log "Cleaning dnf cache" internal chroot "$rootdir" dnf clean all || { log "Failed to clean dnf cache" ierror return 1 } log "Updating runtime linker bindings" internal chroot "$rootdir" ldconfig || { log "Failed to update runtime linker bindings" ierror return 1 } [ -L "$rootdir/etc/resolv.conf.1" ] && { log "Restoring resolv.conf symlink" mv "$rootdir/etc/resolv.conf.1" "$rootdir/etc/resolv.conf" } return 0 }