diff --git a/srcpkgs/hardened_malloc/INSTALL.msg b/srcpkgs/hardened_malloc/INSTALL.msg new file mode 100644 index 00000000000000..8948bb7e442a0c --- /dev/null +++ b/srcpkgs/hardened_malloc/INSTALL.msg @@ -0,0 +1,32 @@ + +The shared library will be installed at: + + /usr/lib/libhardened_malloc.so + /usr/lib/libhardened_malloc-light.so + +It's will NOT become active on its own. To enable it system-wide, you must preload it. + +1. Test it first! Make sure a normal binary still runs: + + LD_PRELOAD=/usr/lib/libhardened_malloc.so /bin/true && echo OK + LD_PRELOAD=/usr/lib/libhardened_malloc-light.so /bin/true && echo OK + + If that prints OK, the library loads cleanly on this system. + +2. Enable system-wide by adding this line to /etc/ld.so.preload + (create if file doesn't exist): + + /usr/lib/libhardened_malloc.so + + for light variant: + /usr/lib/libhardened_malloc-light.so + + Per-process alternative (safer to trial): just export LD_PRELOAD as above + for the programs you want, instead of editing ld.so.preload. + +################ WARNING ################ + +/etc/ld.so.preload is loaded by EVERY dynamically-linked program. +If provided .so files are ever missing or broken while listed there, essential +tools (your shell, sudo , xbps) may fail to start and you can lock +yourself out of a running system. diff --git a/srcpkgs/hardened_malloc/template b/srcpkgs/hardened_malloc/template new file mode 100644 index 00000000000000..eb02b7bed0ae13 --- /dev/null +++ b/srcpkgs/hardened_malloc/template @@ -0,0 +1,28 @@ +# Template file for 'hardened_malloc' +pkgname=hardened_malloc +version=14 +revision=1 +archs="x86_64" +checkdepends="python3" +short_desc="Hardened memory allocator from GrapheneOS" +maintainer="utsuro " +license="MIT" +homepage="https://github.com/GrapheneOS/hardened_malloc" +distfiles="https://github.com/GrapheneOS/hardened_malloc/archive/refs/tags/${version}.tar.gz" +checksum=4cd95ff3b83c433ebc6269d0778d79eb3480b7d5bc873503e1cc3768546bdbec + +do_build() { + make ${makejobs} VARIANT=default + make ${makejobs} VARIANT=light +} + +do_install() { + vinstall out/libhardened_malloc.so 755 usr/lib + vinstall out-light/libhardened_malloc-light.so 755 usr/lib + + vlicense LICENSE +} + +do_check() { + make test +}