104 lines
3.0 KiB
Bash
104 lines
3.0 KiB
Bash
#!/usr/bin/bash
|
|
# JOBoRun : Jwm OpenBox Obarun RUNit
|
|
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
|
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
|
|
# Website : https://pozol.eu
|
|
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
|
|
|
pkgname=libcap
|
|
pkgver=2.69
|
|
pkgrel=04
|
|
pkgdesc='POSIX 1003.1e capabilities'
|
|
url="https://sites.google.com/site/fullycapable/"
|
|
depends=(glibc pam gcc-libs)
|
|
makedepends=('linux-api-headers' 'go')
|
|
provides=('libcap.so' 'libpsx.so')
|
|
#options=(debug) ## removed 20230206 by arch as an option
|
|
# we can not use LTO as otherwise we get no reproducible package with full RELRO
|
|
options=(!lto)
|
|
source=(https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/$pkgname-$pkgver.tar.{xz,sign}
|
|
libcap-2.69-cgo_flags.patch) # provide flags to go build (sent upstream)
|
|
|
|
# NOTE: with CGO_ENABLED we need all relevant make options in build(), check() and package() otherwise the package is not reproducible
|
|
_common_make_options=(
|
|
CGO_CPPFLAGS="$CPPFLAGS"
|
|
CGO_CFLAGS="$CFLAGS"
|
|
CGO_CXXFLAGS="$CXXFLAGS"
|
|
CGO_LDFLAGS="$LDFLAGS"
|
|
CGO_REQUIRED="1"
|
|
GOFLAGS="-buildmode=pie -mod=readonly -modcacherw"
|
|
GO_BUILD_FLAGS="-ldflags '-compressdwarf=false -linkmode=external'"
|
|
)
|
|
|
|
prepare() {
|
|
# ensure to use CGO_ENABLED all the way (so that we can have full RELRO)
|
|
patch -Np1 -d $pkgname-$pkgver -i ../libcap-2.69-cgo_flags.patch
|
|
}
|
|
|
|
build() {
|
|
export GOPATH="$srcdir"
|
|
|
|
local make_options=(
|
|
"${_common_make_options[@]}"
|
|
DYNAMIC=yes
|
|
KERNEL_HEADERS=/usr/include
|
|
lib=lib
|
|
prefix=/usr
|
|
sbindir=bin
|
|
-C $pkgname-$pkgver
|
|
)
|
|
|
|
make "${make_options[@]}"
|
|
}
|
|
|
|
## 2 tests failed due to a go bug rerun makepkg -e --nocheck
|
|
|
|
check() {
|
|
export GOPATH="$srcdir"
|
|
|
|
local make_options=(
|
|
"${_common_make_options[@]}"
|
|
test
|
|
-k
|
|
-C $pkgname-$pkgver
|
|
)
|
|
|
|
make "${make_options[@]}"
|
|
}
|
|
|
|
package() {
|
|
export GOPATH="$srcdir"
|
|
|
|
local make_options=(
|
|
"${_common_make_options[@]}"
|
|
|
|
DESTDIR="$pkgdir"
|
|
RAISE_SETFCAP=no
|
|
lib=lib
|
|
prefix=/usr
|
|
sbindir=bin
|
|
install
|
|
-C $pkgname-$pkgver
|
|
)
|
|
|
|
make "${make_options[@]}"
|
|
install -vDm 644 $pkgname-$pkgver/{CHANGELOG,README} -t "$pkgdir/usr/share/doc/$pkgname/"
|
|
install -vDm 644 $pkgname-$pkgver/License -t "$pkgdir/usr/share/licenses/$pkgname/"
|
|
install -vDm 644 $pkgname-$pkgver/pam_cap/capability.conf -t "$pkgdir/usr/share/doc/$pkgname/examples/"
|
|
}
|
|
|
|
#---- arch license gpg-key & sha256sums ----
|
|
|
|
arch=(x86_64)
|
|
|
|
license=('BSD-3-Clause OR GPL-2.0-only')
|
|
|
|
validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan <morgan@kernel.org>
|
|
|
|
sha256sums=(f311f8f3dad84699d0566d1d6f7ec943a9298b28f714cae3c931dfd57492d7eb # libcap-2.69.tar.xz
|
|
40407278583f276879e9e0e36ad37ab3cac235910fad74037c5113d1aa943849 # libcap-2.69.tar.sign
|
|
f7c0e863879c76a1fd20654932e8b13af64405ce969c5cae52a75731b6ea8a2e) # libcap-2.69-cgo_flags.patch
|
|
|
|
## b39118f960c8c561ed3435f57a739055e4c23eedf6dea49cbaf1de7f15f58888 libcap-2.69-04-x86_64.pkg.tar.lz
|
|
|