diff options
| author | coast <coasteen@proton.me> | 2026-10-12 14:41:07 +0330 |
|---|---|---|
| committer | coast <coasteen@proton.me> | 2026-10-12 14:41:07 +0330 |
| commit | 25922912c7e37f3bc3000e71b647e77677d8f2c5 (patch) | |
| tree | 8383c5569a668613eee384ee31ea8cddc2113ee5 /packages/app-admin | |
| download | exherbo-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')
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" +} |
