diff options
author | Max Rees <maxcrees@me.com> | 2019-09-13 18:46:39 -0500 |
---|---|---|
committer | Max Rees <maxcrees@me.com> | 2019-09-17 14:29:47 -0500 |
commit | badaa27d5febffd453f89d2f1a3bd3f5338bfef0 (patch) | |
tree | 342cf8867f8f4fde8a38ddce3ecff6d49ed65cdf /legacy/paxmark | |
parent | f61d72061bf3a1af6937a37fd6d79a3ebf129f8d (diff) | |
download | packages-badaa27d5febffd453f89d2f1a3bd3f5338bfef0.tar.gz packages-badaa27d5febffd453f89d2f1a3bd3f5338bfef0.tar.bz2 packages-badaa27d5febffd453f89d2f1a3bd3f5338bfef0.tar.xz packages-badaa27d5febffd453f89d2f1a3bd3f5338bfef0.zip |
system/paxmark: move to legacy/
Diffstat (limited to 'legacy/paxmark')
-rw-r--r-- | legacy/paxmark/APKBUILD | 23 | ||||
-rw-r--r-- | legacy/paxmark/paxmark | 33 |
2 files changed, 56 insertions, 0 deletions
diff --git a/legacy/paxmark/APKBUILD b/legacy/paxmark/APKBUILD new file mode 100644 index 000000000..3c9c69400 --- /dev/null +++ b/legacy/paxmark/APKBUILD @@ -0,0 +1,23 @@ +# Contributor: Timo Teräs <timo.teras@iki.fi> +# Maintainer: A. Wilcox <awilfox@adelielinux.org> +pkgname=paxmark +pkgver=0.11 +pkgrel=1 +pkgdesc="Manage PaX marking of executables" +url="https://alpinelinux.org" +arch="noarch" +options="!check" +license="GPL-2.0-only" +depends="attr bash" +makedepends="" +install="" +subpackages="" +source="paxmark" + +package() { + mkdir -p "$pkgdir"/usr/sbin + install -m755 "$srcdir"/paxmark "$pkgdir"/usr/sbin + ln -s paxmark "$pkgdir"/usr/sbin/paxmark.sh +} + +sha512sums="ed904790bfa6c86e216e2c8c1ed8fb1f997b7d1a55f997459655e402d8eec6447095709e38472cf909ea4d03e623e3e0eeddc0da57378901fe9d18d8c14b68d8 paxmark" diff --git a/legacy/paxmark/paxmark b/legacy/paxmark/paxmark new file mode 100644 index 000000000..87a84f4f7 --- /dev/null +++ b/legacy/paxmark/paxmark @@ -0,0 +1,33 @@ +#!/bin/bash + +ret=0 +flags="${1//[!zPpEeMmRrSs]}" +[ -n "${flags}" ] || exit 0 +shift + +# Create XATTR_PAX marking using attr +xval="" +[ "${flags//[!P]}" ] && xval="${xval}P" +[ "${flags//[!p]}" -a -z "${flags//[!P]}" ] && xval="${xval}p" +[ "${flags//[!E]}" ] && xval="${xval}E" +[ "${flags//[!e]}" -a -z "${flags//[!E]}" ] && xval="${xval}e" +[ -z "${flags//[!zEe]}" ] && xval="${xval}e" +[ "${flags//[!M]}" ] && xval="${xval}M" +[ "${flags//[!m]}" -a -z "${flags//[!M]}" ] && xval="${xval}m" +[ "${flags//[!R]}" ] && xval="${xval}R" +[ "${flags//[!r]}" -a -z "${flags//[!R]}" ] && xval="${xval}r" +[ "${flags//[!S]}" ] && xval="${xval}S" +[ "${flags//[!s]}" -a -z "${flags//[!S]}" ] && xval="${xval}s" + +for f in "$@"; do + if [ -n "FAKEROOTKEY" ]; then + # fakeroot does not set xattr's on disk. + # explicitly do that, because the marked binary might + # be executed next during install. + LD_PRELOAD="" FAKEROOTKEY="" attr -q -s pax.flags -V "${xval}" "${f}" >/dev/null || ret=1 + fi + attr -q -s pax.flags -V "${xval}" "${f}" >/dev/null || ret=1 +done + +exit $ret + |