sys-apps/seedfiles: Add new package

This adds a new package sys-apps/seedfiles which provides a (mostly) drop-in replacement for systemd-tmpfiles
Some features are missing from seedfiles but it has been tested on my machine and worked without any issues on my gentoo install using the default tmpfiles installed.

Signed-off-by: Rose Hellsing <rose@pinkro.se>
Part-of: https://codeberg.org/gentoo/gentoo/pulls/377
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Rose Hellsing
2026-03-20 14:56:42 +01:00
committed by Sam James
parent d1d32662e7
commit b60d7bb3d2
8 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST seedfiles-1.1.tar.gz 47156 BLAKE2B 8d24034ed6264bc4da621791eb10d376464fbb3eea265bb2ee09ce24e6dc13838588181b80bb8422d4c0660a104dd055473234dba2ca034fb21302fcb14ded1f SHA512 337f9b275bf8d3f379ad54edb6687be91e03973b4f1ebfc15adecd7a10fe141d3c3b563f47a431884ff85c346fb583ddca202512086ba7da1930d7f0da26cc66

View File

@@ -0,0 +1,3 @@
# Based on legacy.conf from systemd
d /run/lock
L /var/lock - - - - ../run/lock

View File

@@ -0,0 +1,18 @@
#!/sbin/openrc-run
# Copyright 2026 Gentoo Authors
# Released under the 2-clause BSD license.
description="Create Volatile Files and Directories"
depend()
{
provide tmpfiles-setup tmpfiles.setup
need localmount
}
start()
{
ebegin "${description}"
/usr/bin/seedfiles --create --remove --boot --exclude-prefix=/dev
eend $?
}

View File

@@ -0,0 +1,20 @@
#!/sbin/openrc-run
# Copyright 2026 Gentoo Authors
# Released under the 2-clause BSD license.
description="Create Static Devices Nodes in /dev"
depend()
{
provide tmpfiles-dev tmpfiles.dev
use dev-mount
before dev
keyword -prefix -vserver
}
start()
{
ebegin "${description}"
/usr/bin/seedfiles --prefix=/dev --create --boot
eend $?
}

View File

@@ -0,0 +1,2 @@
q /tmp 1777 root root
q /var/tmp 1777 root root

View File

@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>rose@pinkro.se</email>
<name>Rose Hellsing</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<remote-id type="codeberg">axtlos/seedfiles</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,34 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="A portable drop-in reimplementation of systemd-tmpfiles."
HOMEPAGE="https://git.pinkro.se/Rose/gardenhouse/seedfiles.git/about/"
if [[ ${PV} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://clone.git.pinkro.se/Rose/gardenhouse/seedfiles.git"
EGIT_BRANCH="main"
else
SRC_URI="https://git.pinkro.se/Rose/gardenhouse/seedfiles.git/snapshot/${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3+"
SLOT="0"
RDEPEND="virtual/acl"
DEPEND="${RDEPEND}"
src_install() {
meson_src_install
doinitd "${FILESDIR}"/seedfiles-setup
doinitd "${FILESDIR}"/seedfiles-setup-dev
# We want to avoid tmpfiles.eclass because we provide it
insinto /usr/lib/tmpfiles.d
doins "${FILESDIR}"/{tmp,legacy}.conf
}

View File

@@ -0,0 +1,34 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit meson
DESCRIPTION="A portable drop-in reimplementation of systemd-tmpfiles."
HOMEPAGE="https://git.pinkro.se/Rose/gardenhouse/seedfiles.git/about/"
if [[ ${PV} = 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://clone.git.pinkro.se/Rose/gardenhouse/seedfiles.git"
EGIT_BRANCH="main"
else
SRC_URI="https://git.pinkro.se/Rose/gardenhouse/seedfiles.git/snapshot/${P}.tar.gz"
KEYWORDS="~amd64"
fi
LICENSE="GPL-3+"
SLOT="0"
RDEPEND="virtual/acl"
DEPEND="${RDEPEND}"
src_install() {
meson_src_install
doinitd "${FILESDIR}"/seedfiles-setup
doinitd "${FILESDIR}"/seedfiles-setup-dev
# We want to avoid tmpfiles.eclass because we provide it
insinto /usr/lib/tmpfiles.d
doins "${FILESDIR}"/{tmp,legacy}.conf
}