# Copyright 2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 inherit savedconfig DESCRIPTION="Collection of services for suckless init" HOMEPAGE="https://github.com/Andrey0189/sinit-scripts" SRC_URI="https://github.com/Andrey0189/sinit-scripts/archive/refs/heads/main.tar.gz -> ${P}.tar.gz" S="${WORKDIR}"/"$PN"-main LICENSE="MIT" SLOT="0" KEYWORDS="~amd64" DEPEND="sys-apps/sinit" RDEPEND="${DEPEND} sys-process/daemontools-encore sys-apps/littkit" PATCHES=( "${FILESDIR}/${P}-fs-fix.diff" "${FILESDIR}/${P}-alsa-wo-udev.diff" ) src_prepare() { default cp -r "${FILESDIR}"/alsa-wo-udev ./var/rc/ chmod +x ./var/rc/alsa-wo-udev/run restore_config var/rc/dtinit/dtinit.sh } src_install() { dodir var/rc cp -r ./var/rc "${D}"/var/ keepdir etc/rc into / dobin ./bin/* dosbin ./sbin/* save_config var/rc/dtinit/dtinit.sh } pkg_postinst() { ln -s "${ROOT}"/sbin/sinit "${ROOT}"/sbin/init ln -s "${ROOT}"/sbin/shutdown "${ROOT}"/sbin/reboot ln -s "${ROOT}"/sbin/shutdown "${ROOT}"/sbin/poweroff ln -s "${ROOT}"/var/rc/* "${ROOT}"/etc/rc/ echo ewarn "You may need to add new services." ewarn "To add new services run:" ewarn "mkdir ${ROOT}/var/rc/service_name" ewarn "touch ${ROOT}/var/rc/service_name/run # main execution script for the service." ewarn "#Note: daemontools-encore is going to restart the service every time it finishes execution of the run file." ewarn "#If you want to avoid this add \"lk_forever 3600\" at the end of the script." ewarn "chmod u+x ${ROOT}/var/rc/service_name/run" ewarn "ln -s ${ROOT}/var/rc/service_name ${ROOT}/etc/rc/" ewarn "# Add \"log 'service_name'\" (optionally) and \"lk_runsvc ${ROOT}/etc/rc/service_name 0\" to ${ROOT}/etc/rc/dtinit/dtinit.sh" echo ewarn "If you have not done that already, please delete ${ROOT}/sbin/init, ${ROOT}/sbin/poweroff, ${ROOT}/sbin/reboot and ${ROOT}/sbin/shutdown before emerging this package" ewarn "Alternatively, unmerge your current init system and emerge this package again. It is safer to do this in a chroot environment" echo elog " -< Succeeded. Now you can reboot >- " echo [ -f ${ROOT}/etc/hostname ] || ewarn "File ${ROOT}/etc/hostname is missing. Copy ${ROOT}/etc/localhost or create one" }