summaryrefslogtreecommitdiffstats
path: root/packages/app-admin
diff options
context:
space:
mode:
authorcoast <coasteen@proton.me>2026-10-12 14:41:07 +0330
committercoast <coasteen@proton.me>2026-10-12 14:41:07 +0330
commit25922912c7e37f3bc3000e71b647e77677d8f2c5 (patch)
tree8383c5569a668613eee384ee31ea8cddc2113ee5 /packages/app-admin
downloadexherbo-overlay-main.tar.gz
exherbo-overlay-main.tar.bz2
exherbo-overlay-main.tar.xz
exherbo-overlay-main.tar.zst
Diffstat (limited to 'packages/app-admin')
-rw-r--r--packages/app-admin/ananicy-cpp/ananicy-cpp-1.2.0.exheres-047
-rw-r--r--packages/app-admin/ananicy-rules-cachyos/ananicy-rules-cachyos-1.1.49.exheres-027
-rw-r--r--packages/app-admin/sudo-rs/files/sudo-rs-0.2.15-pam-service.patch11
-rw-r--r--packages/app-admin/sudo-rs/files/sudoers-rs11
-rw-r--r--packages/app-admin/sudo-rs/sudo-rs-0.2.15.exheres-060
5 files changed, 156 insertions, 0 deletions
diff --git a/packages/app-admin/ananicy-cpp/ananicy-cpp-1.2.0.exheres-0 b/packages/app-admin/ananicy-cpp/ananicy-cpp-1.2.0.exheres-0
new file mode 100644
index 0000000..7734048
--- /dev/null
+++ b/packages/app-admin/ananicy-cpp/ananicy-cpp-1.2.0.exheres-0
@@ -0,0 +1,47 @@
+# Copyright 2026 Gurov <thuggerthugger1@duck.com>
+# Distributed under the terms of the GNU General Public License v2
+
+require cmake
+
+SUMMARY="Ananicy rewritten in C++ for lower resource usage"
+HOMEPAGE="https://gitlab.com/ananicy-cpp/ananicy-cpp"
+DOWNLOADS="${HOMEPAGE}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2 -> ${PNV}.tar.bz2"
+
+LICENCES="GPL-3"
+SLOT="0"
+PLATFORMS="~amd64"
+
+DEPENDENCIES="
+ build:
+ dev-libs/json[>=3.9]
+
+ build+run:
+ dev-libs/fmt[>=8]
+ dev-libs/spdlog[>=1.9]
+ sys-apps/systemd
+
+ suggestion:
+ app-admin/ananicy-rules-cachyos [[ description = [ CachyOS rules and configuration ] ]]
+"
+
+CMAKE_SOURCE="${WORKBASE}/${PN}-v${PV}"
+
+CMAKE_SRC_CONFIGURE_PARAMS=(
+ -DENABLE_SYSTEMD=ON
+ -DUSE_BPF_PROC_IMPL=OFF
+ -DUSE_EXTERNAL_FMTLIB=ON
+ -DUSE_EXTERNAL_JSON=ON
+ -DUSE_EXTERNAL_SPDLOG=ON
+ -DVERSION="${PV}"
+ -DCCACHE=OFF
+)
+
+src_prepare() {
+ cmake_src_prepare
+ edo sed -i '/#include <string_view>/a #include <unistd.h>' src/platform/linux/debug.cpp
+ edo sed -i '/#include <thread>/a #include <unistd.h>' src/platform/linux/process.cpp
+ edo sed -i '/#include <systemd\/sd-login.h>/a #include <unistd.h>' src/platform/systemd/service.cpp
+ edo sed -i '/#include <cstdlib>/a #include <cstdint>' src/platform/linux/backtrace.cpp
+ edo sed -i '/#include <cstdlib>/a #include <cstring>' src/utility/argument_parsing/argument.cpp
+ edo sed -i '/#include <cerrno>/a #include <cstring>' src/platform/linux/singleton_process.cpp
+}
diff --git a/packages/app-admin/ananicy-rules-cachyos/ananicy-rules-cachyos-1.1.49.exheres-0 b/packages/app-admin/ananicy-rules-cachyos/ananicy-rules-cachyos-1.1.49.exheres-0
new file mode 100644
index 0000000..d6552e7
--- /dev/null
+++ b/packages/app-admin/ananicy-rules-cachyos/ananicy-rules-cachyos-1.1.49.exheres-0
@@ -0,0 +1,27 @@
+# Copyright 2026 Gurov <thuggerthugger1@duck.com>
+# Distributed under the terms of the GNU General Public License v2
+
+SUMMARY="CachyOS rules for ananicy-cpp"
+HOMEPAGE="https://github.com/CachyOS/ananicy-rules"
+DOWNLOADS="${HOMEPAGE}/archive/refs/tags/${PV}.tar.gz -> ${PNV}.tar.gz"
+
+LICENCES="GPL-3"
+SLOT="0"
+PLATFORMS="~amd64"
+
+DEPENDENCIES="
+ run:
+ app-admin/ananicy-cpp
+"
+
+WORK="${WORKBASE}/ananicy-rules-${PV}"
+
+src_compile() {
+ :
+}
+
+src_install() {
+ insinto /etc/ananicy.d
+ doins -r 00-default
+ doins 00-cgroups.cgroups 00-types.types ananicy.conf
+}
diff --git a/packages/app-admin/sudo-rs/files/sudo-rs-0.2.15-pam-service.patch b/packages/app-admin/sudo-rs/files/sudo-rs-0.2.15-pam-service.patch
new file mode 100644
index 0000000..3fde656
--- /dev/null
+++ b/packages/app-admin/sudo-rs/files/sudo-rs-0.2.15-pam-service.patch
@@ -0,0 +1,11 @@
+--- a/src/sudo/pam.rs
++++ b/src/sudo/pam.rs
+@@ -40,7 +40,7 @@
+ ) -> PamResult<PamContext> {
+ let service_name = match launch {
+ LaunchType::Login if cfg!(feature = "pam-login") => "sudo-i",
+- LaunchType::Login | LaunchType::Shell | LaunchType::Direct => "sudo",
++ LaunchType::Login | LaunchType::Shell | LaunchType::Direct => "sudo-rs",
+ };
+ let mut pam = PamContext::new_cli(
+ "sudo",
diff --git a/packages/app-admin/sudo-rs/files/sudoers-rs b/packages/app-admin/sudo-rs/files/sudoers-rs
new file mode 100644
index 0000000..17f3550
--- /dev/null
+++ b/packages/app-admin/sudo-rs/files/sudoers-rs
@@ -0,0 +1,11 @@
+Defaults secure_path="/usr/local/bin:/usr/local/sbin:/usr/host/bin"
+
+root ALL=(ALL:ALL) ALL
+
+# Uncomment to allow members of wheel to use sudo-rs.
+# %wheel ALL=(ALL:ALL) ALL
+
+# Uncomment to allow members of sudo to use sudo-rs.
+# %sudo ALL=(ALL:ALL) ALL
+
+@includedir /etc/sudoers.d
diff --git a/packages/app-admin/sudo-rs/sudo-rs-0.2.15.exheres-0 b/packages/app-admin/sudo-rs/sudo-rs-0.2.15.exheres-0
new file mode 100644
index 0000000..113814b
--- /dev/null
+++ b/packages/app-admin/sudo-rs/sudo-rs-0.2.15.exheres-0
@@ -0,0 +1,60 @@
+# Copyright 2026 Gurov <thuggerthugger1@duck.com>
+# Distributed under the terms of the GNU General Public License v2
+
+require cargo [ rust_minimum_version=1.85 ] github [ user=trifectatechfoundation tag=v${PV} ] pam
+
+SUMMARY="Memory-safe implementation of sudo"
+
+LICENCES="|| ( Apache-2.0 MIT )"
+SLOT="0"
+PLATFORMS="~amd64 ~armv8"
+MYOPTIONS="native-names"
+
+DEPENDENCIES+="
+ build+run:
+ sys-libs/pam
+
+ run:
+ native-names? ( !app-admin/sudo )
+"
+
+CARGO_SRC_COMPILE_PARAMS=( --bin sudo --bin visudo )
+CARGO_SRC_INSTALL_PARAMS=( --bin sudo --bin visudo )
+
+src_prepare() {
+ default
+ if ! option native-names; then
+ expatch "${FILES}/${PNV}-pam-service.patch"
+ fi
+}
+
+src_install() {
+ local suffix= name= bin="${IMAGE}/usr/$(exhost --target)/bin"
+
+ cargo_src_install
+ if ! option native-names; then
+ suffix=-rs
+ edo mv "${bin}/sudo" "${bin}/sudo-rs"
+ edo mv "${bin}/visudo" "${bin}/visudo-rs"
+ fi
+ edo chmod 4755 "${bin}/sudo${suffix}"
+ dosym sudo${suffix} /usr/$(exhost --target)/bin/sudoedit${suffix}
+
+ edo sed -i 's@/etc/sudoers\\f@/etc/sudoers-rs\\f@g' docs/man/sudo.8.man docs/man/visudo.8.man
+ edo sed -i '8s@/etc/sudoers@/etc/sudoers-rs@' docs/man/sudoers.5.man
+
+ newman docs/man/sudo.8.man sudo${suffix}.8
+ newman docs/man/visudo.8.man visudo${suffix}.8
+ newman docs/man/sudoers.5.man sudoers${suffix}.5
+ dosym sudo${suffix}.8 /usr/share/man/man8/sudoedit${suffix}.8
+
+ dodoc SECURITY.md
+
+ keepdir /etc/sudoers.d
+ name=sudo${suffix}
+ pamd_mimic_system "${name}" auth auth account password session
+
+ insinto /etc
+ insopts -m 0440
+ doins "${FILES}/sudoers-rs"
+}