upgrades
This commit is contained in:
parent
7edba3e970
commit
de1d9dfe83
|
@ -6,8 +6,8 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=apparmor
|
||||
pkgver=3.0.4
|
||||
pkgrel=03
|
||||
pkgver=3.0.6
|
||||
pkgrel=01
|
||||
pkgdesc="Mandatory Access Control (MAC) using Linux Security Module (LSM) w/o systemd"
|
||||
arch=(x86_64)
|
||||
url="https://gitlab.com/apparmor/apparmor"
|
||||
|
@ -26,29 +26,19 @@ backup=('etc/apparmor/easyprof.conf'
|
|||
'etc/apparmor/severity.db')
|
||||
# NOTE: debug package currently contains invalid /build dir
|
||||
# LTO is currently still broken: https://gitlab.com/apparmor/apparmor/-/issues/214
|
||||
options=(!lto)
|
||||
source=("https://launchpad.net/${pkgname}/${pkgver%.[0-9]}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz"{,.asc})
|
||||
#options=(!lto)
|
||||
#options=(debug) ## uncomment this line to have the debug pkg produced
|
||||
source=(https://launchpad.net/$pkgname/${pkgver%.[0-9]}/$pkgver/+download/$pkgname-$pkgver.tar.gz{,.asc}
|
||||
$pkgname-3.0.6-python.patch)
|
||||
_core_perl="/usr/bin/core_perl"
|
||||
|
||||
prepare() {
|
||||
cd "${pkgname}-${pkgver}"
|
||||
# fix issues with python-setuptools version detection: https://gitlab.com/apparmor/apparmor/-/issues/259
|
||||
# and hardcoded LDPATH/ PYTHONPATH https://gitlab.com/apparmor/apparmor/-/issues/39
|
||||
patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-3.0.6-python.patch
|
||||
|
||||
# remove test for help output that hardcodes expected output:
|
||||
# https://gitlab.com/apparmor/apparmor/-/issues/220
|
||||
sed '147,179d' -i utils/test/test-aa-notify.py
|
||||
|
||||
# fix PYTHONPATH and add LD_LIBRARY_PATH for aa-logprof based check:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/39
|
||||
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
||||
local path="${PWD}/libraries/libapparmor/swig/python/build/lib.linux-${CARCH}-${python_version}/"
|
||||
local libs="${PWD}/libraries/libapparmor/src/.libs"
|
||||
|
||||
sed -e "/PYTHONPATH/ s|utils\ |utils:$path\ LD_LIBRARY_PATH=$libs\ |" \
|
||||
-i profiles/Makefile
|
||||
(
|
||||
cd libraries/libapparmor/
|
||||
cd $pkgname-$pkgver/libraries/libapparmor/
|
||||
autoreconf -fiv
|
||||
)
|
||||
}
|
||||
|
||||
build() {
|
||||
|
@ -108,6 +98,7 @@ check() {
|
|||
|
||||
package() {
|
||||
depends+=('libcrypt.so')
|
||||
|
||||
cd "$pkgname-$pkgver"
|
||||
make -C libraries/libapparmor DESTDIR="${pkgdir}" install
|
||||
make -C changehat/pam_apparmor DESTDIR="${pkgdir}/usr" install
|
||||
|
@ -120,7 +111,7 @@ package() {
|
|||
SBINDIR="${pkgdir}/usr/bin" \
|
||||
USR_SBINDIR="${pkgdir}/usr/bin" \
|
||||
APPARMOR_BIN_PREFIX="${pkgdir}/usr/lib/apparmor" \
|
||||
# install install-systemd
|
||||
# install
|
||||
make -C profiles DESTDIR="${pkgdir}" install
|
||||
make -C utils DESTDIR="${pkgdir}" \
|
||||
SBINDIR="${pkgdir}/usr/bin" \
|
||||
|
@ -138,8 +129,7 @@ package() {
|
|||
rm -rv "${pkgdir}"/usr/lib/perl5/*/core_perl
|
||||
# move ruby bindings to vendor_ruby:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/35
|
||||
mv -v "${pkgdir}/usr/lib/ruby/site_ruby/" \
|
||||
"${pkgdir}/usr/lib/ruby/vendor_ruby/"
|
||||
mv -v "${pkgdir}/usr/lib/ruby/"{site,vendor}_ruby
|
||||
# adding files below /etc/apparmor.d to backup array
|
||||
cd "${pkgdir}"
|
||||
# trick extract_function_variable() in makepkg into not detecting the
|
||||
|
@ -157,6 +147,7 @@ license=(GPL2 LGPL2.1)
|
|||
|
||||
validpgpkeys=('3ECDCBA5FB34D254961CC53F6689E64E3D3664BB') # AppArmor Development Team (AppArmor signing key) <apparmor@lists.ubuntu.com>
|
||||
|
||||
sha256sums=(09bf48d7a171f9790c39a1404bad105a788934cfe77b7490c7f5c63c2576b725 # apparmor-3.0.4.tar.gz
|
||||
fc5d5cfb71dd48e8e8a5321f84359e3131f9e5780804d154ea769d543c35be61) # apparmor-3.0.4.tar.gz.asc
|
||||
sha256sums=(0f4c599ee4864e4e412e18133a3b5990f9f81ab6ba75f0f351f024bb722fa368 # apparmor-3.0.6.tar.gz
|
||||
438b2605aabe4cdbf2b23bfa7ff8e73fda98d601d5835d0166a59b5616064436 # apparmor-3.0.6.tar.gz.asc
|
||||
b3501f780becbd0fb26293503366968874484598a7ecc237be331009133208a0) # apparmor-3.0.6-python.patch
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Maintainer: David Runge <dvzrv@archlinux.org>
|
||||
|
||||
pkgname=apparmor
|
||||
pkgver=3.0.4
|
||||
pkgrel=2
|
||||
pkgver=3.0.6
|
||||
pkgrel=1
|
||||
pkgdesc="Mandatory Access Control (MAC) using Linux Security Module (LSM)"
|
||||
arch=(x86_64)
|
||||
url="https://gitlab.com/apparmor/apparmor"
|
||||
|
@ -10,61 +10,55 @@ license=(GPL2 LGPL2.1)
|
|||
depends=(audit glibc pam python)
|
||||
makedepends=(apache libxcrypt python-setuptools ruby swig)
|
||||
checkdepends=(dejagnu perl-locale-gettext python-notify2 python-psutil)
|
||||
optdepends=('perl: for perl bindings'
|
||||
optdepends=(
|
||||
'perl: for perl bindings'
|
||||
'python-notify2: for aa-notify'
|
||||
'python-psutil: for aa-notify'
|
||||
'ruby: for ruby bindings')
|
||||
provides=(libapparmor.so)
|
||||
backup=('etc/apparmor/easyprof.conf'
|
||||
'etc/apparmor/logprof.conf'
|
||||
'etc/apparmor/notify.conf'
|
||||
'etc/apparmor/parser.conf'
|
||||
'etc/apparmor/severity.db')
|
||||
# NOTE: debug package currently contains invalid /build dir
|
||||
# LTO is currently still broken: https://gitlab.com/apparmor/apparmor/-/issues/214
|
||||
options=(!lto)
|
||||
source=(
|
||||
"https://launchpad.net/${pkgname}/${pkgver%.[0-9]}/${pkgver}/+download/${pkgname}-${pkgver}.tar.gz"{,.asc}
|
||||
'ruby: for ruby bindings'
|
||||
)
|
||||
sha512sums=('1edd800771f46fab9bc5274842e64482b7fd4a5ba4de9855d621baf1d08c8236bfa7752dd9ab3dee095f8e0798129241a9aebf68ed1c994ae5597086a4a1a8ca'
|
||||
'SKIP')
|
||||
b2sums=('831ea65ed0972ad8a6e335e438e7b0a8a2a3977dc4360ad1923d48cc7b21b1941ec011d3894d8bdc98934b953a3f1d89a859fc27ec2530f5dd9b3cc850fe66f0'
|
||||
'SKIP')
|
||||
provides=(libapparmor.so)
|
||||
backup=(
|
||||
etc/apparmor/easyprof.conf
|
||||
etc/apparmor/logprof.conf
|
||||
etc/apparmor/notify.conf
|
||||
etc/apparmor/parser.conf
|
||||
etc/apparmor/severity.db
|
||||
)
|
||||
options=(debug)
|
||||
source=(
|
||||
https://launchpad.net/$pkgname/${pkgver%.[0-9]}/$pkgver/+download/$pkgname-$pkgver.tar.gz{,.asc}
|
||||
$pkgname-3.0.6-python.patch
|
||||
)
|
||||
sha512sums=('e200b4d7f2214ac8d3c7fff57ccbaf2c4f5e3831c75287add974c7c3cd5cb70d632cda16043396b11b77ab661b097a3904c7851da79920b0caee13abc885dbef'
|
||||
'SKIP'
|
||||
'afea70b4406e948bce5cdd8b8d62d0dc9d30bca3861545a5a463ba2909c08f1110cb0c638d9f871c8e4451a22015ce037ca829c789a916175d32c7d9cfbf2232')
|
||||
b2sums=('6809f77d75283033971009d460476d0357344241f209d3d1eb9322d819182dc4196e12a070735196ef0e56a84dc3cf8c1786f9cf4615ed1b69b2d72a041ffbc4'
|
||||
'SKIP'
|
||||
'689038f910155d23a196a612e992d5e841de352305fab1e2b22d3efebaa31978d2bfdd999bfbd58db46e6dd68dcfd4e86a256fa87fe55ebd0f53067e004811f4')
|
||||
validpgpkeys=('3ECDCBA5FB34D254961CC53F6689E64E3D3664BB') # AppArmor Development Team (AppArmor signing key) <apparmor@lists.ubuntu.com>
|
||||
_core_perl="/usr/bin/core_perl"
|
||||
|
||||
prepare() {
|
||||
cd "${pkgname}-${pkgver}"
|
||||
# fix issues with python-setuptools version detection: https://gitlab.com/apparmor/apparmor/-/issues/259
|
||||
# and hardcoded LDPATH/ PYTHONPATH https://gitlab.com/apparmor/apparmor/-/issues/39
|
||||
patch -Np1 -d $pkgname-$pkgver -i ../$pkgname-3.0.6-python.patch
|
||||
|
||||
# remove test for help output that hardcodes expected output:
|
||||
# https://gitlab.com/apparmor/apparmor/-/issues/220
|
||||
sed '147,179d' -i utils/test/test-aa-notify.py
|
||||
|
||||
# fix PYTHONPATH and add LD_LIBRARY_PATH for aa-logprof based check:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/39
|
||||
local python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:2])))')
|
||||
local path="${PWD}/libraries/libapparmor/swig/python/build/lib.linux-${CARCH}-${python_version}/"
|
||||
local libs="${PWD}/libraries/libapparmor/src/.libs"
|
||||
|
||||
sed -e "/PYTHONPATH/ s|utils\ |utils:$path\ LD_LIBRARY_PATH=$libs\ |" \
|
||||
-i profiles/Makefile
|
||||
(
|
||||
cd libraries/libapparmor/
|
||||
cd $pkgname-$pkgver/libraries/libapparmor/
|
||||
autoreconf -fiv
|
||||
)
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${pkgname}-${pkgver}"
|
||||
cd $pkgname-$pkgver
|
||||
|
||||
# export required perl executable locations
|
||||
export MAKEFLAGS+=" POD2MAN=${_core_perl}/pod2man"
|
||||
export MAKEFLAGS+=" POD2HTML=${_core_perl}/pod2html"
|
||||
export MAKEFLAGS+=" PODCHECKER=${_core_perl}/podchecker"
|
||||
export MAKEFLAGS+=" PROVE=${_core_perl}/prove"
|
||||
export MAKEFLAGS+=" POD2MAN=$_core_perl/pod2man"
|
||||
export MAKEFLAGS+=" POD2HTML=$_core_perl/pod2html"
|
||||
export MAKEFLAGS+=" PODCHECKER=$_core_perl/podchecker"
|
||||
export MAKEFLAGS+=" PROVE=$_core_perl/prove"
|
||||
(
|
||||
cd "libraries/libapparmor/"
|
||||
./configure --prefix=/usr \
|
||||
cd libraries/libapparmor/
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--sbindir=/usr/bin \
|
||||
--with-perl \
|
||||
--with-python \
|
||||
|
@ -82,11 +76,11 @@ build() {
|
|||
# copy to test location as some tests render the resulting python bytecode
|
||||
# unreproducible: https://gitlab.com/apparmor/apparmor/-/issues/184
|
||||
cd ..
|
||||
cp -av "${pkgname}-${pkgver}" "${pkgname}-${pkgver}-test"
|
||||
cp -av $pkgname-$pkgver $pkgname-$pkgver-test
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$pkgname-$pkgver-test"
|
||||
cd $pkgname-$pkgver-test
|
||||
echo "INFO: Running check: libraries/libapparmor"
|
||||
make -C libraries/libapparmor check
|
||||
echo "INFO: Running check binutils"
|
||||
|
@ -109,42 +103,30 @@ check() {
|
|||
}
|
||||
|
||||
package() {
|
||||
depends+=('libcrypt.so')
|
||||
cd "$pkgname-$pkgver"
|
||||
make -C libraries/libapparmor DESTDIR="${pkgdir}" install
|
||||
make -C changehat/pam_apparmor DESTDIR="${pkgdir}/usr" install
|
||||
make -C changehat/mod_apparmor DESTDIR="${pkgdir}" install
|
||||
make -C binutils DESTDIR="${pkgdir}" \
|
||||
SBINDIR="${pkgdir}/usr/bin" \
|
||||
USR_SBINDIR="${pkgdir}/usr/bin" \
|
||||
install
|
||||
make -C parser -j1 DESTDIR="${pkgdir}" \
|
||||
SBINDIR="${pkgdir}/usr/bin" \
|
||||
USR_SBINDIR="${pkgdir}/usr/bin" \
|
||||
APPARMOR_BIN_PREFIX="${pkgdir}/usr/lib/apparmor" \
|
||||
install install-systemd
|
||||
make -C profiles DESTDIR="${pkgdir}" install
|
||||
make -C utils DESTDIR="${pkgdir}" \
|
||||
SBINDIR="${pkgdir}/usr/bin" \
|
||||
USR_SBINDIR="${pkgdir}/usr/bin" \
|
||||
BINDIR="${pkgdir}/usr/bin" \
|
||||
VIM_INSTALL_PATH="${pkgdir}/usr/share/vim/vimfiles/syntax" \
|
||||
install
|
||||
depends+=(libcrypt.so)
|
||||
|
||||
cd $pkgname-$pkgver
|
||||
make -C libraries/libapparmor DESTDIR="$pkgdir" install
|
||||
make -C changehat/pam_apparmor DESTDIR="$pkgdir/usr" install
|
||||
make -C changehat/mod_apparmor DESTDIR="$pkgdir" install
|
||||
make -C binutils DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" install
|
||||
make -C parser -j1 DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" APPARMOR_BIN_PREFIX="$pkgdir/usr/lib/apparmor" install install-systemd
|
||||
make -C profiles DESTDIR="$pkgdir" install
|
||||
make -C utils DESTDIR="$pkgdir" SBINDIR="$pkgdir/usr/bin" USR_SBINDIR="$pkgdir/usr/bin" BINDIR="$pkgdir/usr/bin" VIM_INSTALL_PATH="$pkgdir/usr/share/vim/vimfiles/syntax" install
|
||||
|
||||
# set file mode to allow the perl library to be stripped:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/34
|
||||
find "${pkgdir}/usr/lib/perl5/" -type f -iname "*.so" -exec chmod 755 {} \;
|
||||
find "$pkgdir/usr/lib/perl5/" -type f -iname "*.so" -exec chmod 755 {} \;
|
||||
|
||||
# remove empty core_perl directory:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/40
|
||||
rm -rv "${pkgdir}"/usr/lib/perl5/*/core_perl
|
||||
# move ruby bindings to vendor_ruby:
|
||||
# https://gitlab.com/apparmor/apparmor/issues/35
|
||||
mv -v "${pkgdir}/usr/lib/ruby/site_ruby/" \
|
||||
"${pkgdir}/usr/lib/ruby/vendor_ruby/"
|
||||
mv -v "$pkgdir/usr/lib/ruby/"{site,vendor}_ruby
|
||||
# adding files below /etc/apparmor.d to backup array
|
||||
cd "${pkgdir}"
|
||||
cd "$pkgdir"
|
||||
# trick extract_function_variable() in makepkg into not detecting the
|
||||
# backup array modification and adding remaining configuration files
|
||||
[[ /usr/bin/true ]] && backup=( ${backup[@]} $(find "etc/${pkgname}.d/" -type f | LC_ALL=C sort) )
|
||||
[[ /usr/bin/true ]] && backup=( ${backup[@]} $(find "etc/$pkgname.d/" -type f | LC_ALL=C sort) )
|
||||
}
|
||||
|
|
26
apparmor/apparmor-3.0.6-python.patch
Normal file
26
apparmor/apparmor-3.0.6-python.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
diff --git c/libraries/libapparmor/swig/python/test/buildpath.py w/libraries/libapparmor/swig/python/test/buildpath.py
|
||||
index 6b805c1b..13596975 100644
|
||||
--- c/libraries/libapparmor/swig/python/test/buildpath.py
|
||||
+++ w/libraries/libapparmor/swig/python/test/buildpath.py
|
||||
@@ -3,7 +3,7 @@
|
||||
import sys
|
||||
import sysconfig
|
||||
import setuptools
|
||||
-if tuple(map(int,setuptools.__version__.split("."))) >= (61, 2):
|
||||
+if tuple(map(int,setuptools.__version__.split("."))) >= (62, 0):
|
||||
identifier = sys.implementation.cache_tag
|
||||
else:
|
||||
identifier = "%d.%d" % sys.version_info[:2]
|
||||
diff --git c/profiles/Makefile w/profiles/Makefile
|
||||
index 0b7f2655..19d39a79 100644
|
||||
--- c/profiles/Makefile
|
||||
+++ w/profiles/Makefile
|
||||
@@ -41,7 +41,7 @@ ifdef USE_SYSTEM
|
||||
LOGPROF?=aa-logprof
|
||||
else
|
||||
# PYTHON_DIST_BUILD_PATH based on libapparmor/swig/python/test/Makefile.am
|
||||
- PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) -c "import sysconfig; print(\"lib.%s-%s\" %(sysconfig.get_platform(), sysconfig.get_python_version()))")
|
||||
+ PYTHON_DIST_BUILD_PATH = ../libraries/libapparmor/swig/python/build/$$($(PYTHON) ../libraries/libapparmor/swig/python/test/buildpath.py)
|
||||
LIBAPPARMOR_PATH=../libraries/libapparmor/src/.libs/
|
||||
LD_LIBRARY_PATH=$(LIBAPPARMOR_PATH):$(PYTHON_DIST_BUILD_PATH)
|
||||
PYTHONPATH=../utils/:$(PYTHON_DIST_BUILD_PATH)
|
5
apparmor/time
Normal file
5
apparmor/time
Normal file
|
@ -0,0 +1,5 @@
|
|||
|
||||
real 6m47.520s
|
||||
user 5m14.273s
|
||||
sys 1m28.046s
|
||||
|
|
@ -6,8 +6,8 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=dkms
|
||||
pkgver=3.0.5
|
||||
pkgrel=02
|
||||
pkgver=3.0.6
|
||||
pkgrel=01
|
||||
pkgdesc='Dynamic Kernel Modules System'
|
||||
arch=('any')
|
||||
url='https://github.com/dell/dkms'
|
||||
|
@ -22,8 +22,7 @@ source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
|
|||
'hook.install'
|
||||
'hook.remove'
|
||||
'hook.upgrade'
|
||||
'hook.sh'
|
||||
'01-fix-sign-file-path.patch')
|
||||
'hook.sh')
|
||||
|
||||
prepare() {
|
||||
cd dkms
|
||||
|
@ -76,6 +75,4 @@ sha256sums=(SKIP
|
|||
acdc5b45cc018cea04ee1aec56fd8fc3a2de62cf7bc41acf53b3790872120998 # hook.install
|
||||
326515cc7d00f93760beb844434ca7442caf7a9424614aa95a8f6d1ab79e15df # hook.remove
|
||||
4f8dff7716e73a8bba885638f12e3cdc9e87daec1896f75e700b981527e43870 # hook.upgrade
|
||||
c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01 # hook.sh
|
||||
ce83bb1aac6d83dbd3ef73266913e38aa0e55740dc06075d4a40b8eff1079405) # 01-fix-sign-file-path.patch
|
||||
|
||||
c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01) # hook.sh
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
# Contributor: Balwinder S "bsd" Dheeman (bdheeman AT gmail.com)
|
||||
|
||||
pkgname=dkms
|
||||
pkgver=3.0.5
|
||||
pkgrel=2
|
||||
pkgver=3.0.6
|
||||
pkgrel=1
|
||||
pkgdesc='Dynamic Kernel Modules System'
|
||||
arch=('any')
|
||||
url='https://github.com/dell/dkms'
|
||||
|
@ -20,14 +20,12 @@ source=("git+https://github.com/dell/dkms.git#tag=v$pkgver"
|
|||
'hook.install'
|
||||
'hook.remove'
|
||||
'hook.upgrade'
|
||||
'hook.sh'
|
||||
'01-fix-sign-file-path.patch')
|
||||
'hook.sh')
|
||||
sha256sums=('SKIP'
|
||||
'acdc5b45cc018cea04ee1aec56fd8fc3a2de62cf7bc41acf53b3790872120998'
|
||||
'326515cc7d00f93760beb844434ca7442caf7a9424614aa95a8f6d1ab79e15df'
|
||||
'4f8dff7716e73a8bba885638f12e3cdc9e87daec1896f75e700b981527e43870'
|
||||
'c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01'
|
||||
'ce83bb1aac6d83dbd3ef73266913e38aa0e55740dc06075d4a40b8eff1079405')
|
||||
'c1b4a4e2e4e0e0e59ee0887403e79d60b209f3878dbbec6612573f13b90cce01')
|
||||
|
||||
prepare() {
|
||||
cd dkms
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=ell
|
||||
pkgver=0.51
|
||||
pkgver=0.52
|
||||
pkgrel=01
|
||||
pkgdesc="Embedded Linux library"
|
||||
arch=(x86_64)
|
||||
|
@ -15,7 +15,7 @@ url="https://01.org/ell"
|
|||
depends=('gcc-libs')
|
||||
checkdepends=('dbus')
|
||||
options=('!lto')
|
||||
#options=('!lto' 'debug') # uncomment if you want debug pkg
|
||||
#options=('!lto' 'debug') # uncomment if you want debug pkg produced
|
||||
# https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc
|
||||
source=(https://mirrors.edge.kernel.org/pub/linux/libs/$pkgname/$pkgname-$pkgver.tar.{xz,sign})
|
||||
|
||||
|
@ -49,5 +49,5 @@ license=('LGPL2.1')
|
|||
|
||||
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # "Marcel Holtmann <marcel@holtmann.org>"
|
||||
|
||||
sha256sums=(ba86cfa4aaf10151443edd63a7687914465d969f5dda00a2c1fcb11bd85e417f # ell-0.51.tar.xz
|
||||
61d8566e16cd15942c7d1ef2b8ab2fc93d7f2644c0855ed624662b38e11b72af) # ell-0.51.tar.sign
|
||||
sha256sums=(83099b14beda2b253a2c69460f9613c5e955b63349e3c00cf2fd506f5b3ba7d0 # ell-0.52.tar.xz
|
||||
57959a24e260a5b0d78b3f656607f8dd844982f64a15fd8ea03ffde2160ce7d6) # ell-0.52.tar.sign
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
# Contributor: Jameson Pugh <imntreal@gmail.com>
|
||||
|
||||
pkgname=ell
|
||||
pkgver=0.51
|
||||
pkgver=0.52
|
||||
pkgrel=1
|
||||
pkgdesc="Embedded Linux library"
|
||||
arch=(x86_64)
|
||||
|
@ -14,7 +14,7 @@ checkdepends=('dbus')
|
|||
options=('!lto' 'debug')
|
||||
# https://mirrors.edge.kernel.org/pub/linux/libs/ell/sha256sums.asc
|
||||
source=(https://mirrors.edge.kernel.org/pub/linux/libs/$pkgname/$pkgname-$pkgver.tar.{xz,sign})
|
||||
sha256sums=('ba86cfa4aaf10151443edd63a7687914465d969f5dda00a2c1fcb11bd85e417f'
|
||||
sha256sums=('83099b14beda2b253a2c69460f9613c5e955b63349e3c00cf2fd506f5b3ba7d0'
|
||||
'SKIP')
|
||||
validpgpkeys=('E932D120BC2AEC444E558F0106CA9F5D1DCF2659') # "Marcel Holtmann <marcel@holtmann.org>"
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=glib-networking
|
||||
pkgver=2.72.1
|
||||
pkgver=2.72.2
|
||||
pkgrel=01
|
||||
epoch=1
|
||||
pkgdesc="Network extensions for GLib w/o systemd"
|
||||
|
@ -16,7 +16,7 @@ depends=(glib2 libproxy gnutls gsettings-desktop-schemas)
|
|||
makedepends=(meson git)
|
||||
checkdepends=(ca-certificates)
|
||||
# options=(debug) ## uncomment this line to have the debug pkg produced
|
||||
_commit=ef728aeac99f8f0338d9691afa3c1534140ffd14 # tags/2.72.1^0
|
||||
_commit=f462ee496f7979df96fa928f34e1262a8148febc # tags/2.72.2^0
|
||||
source=("git+https://gitlab.gnome.org/GNOME/glib-networking.git#commit=$_commit")
|
||||
|
||||
pkgver() {
|
||||
|
@ -48,3 +48,4 @@ license=(GPL2)
|
|||
|
||||
sha256sums=(SKIP)
|
||||
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
||||
|
||||
pkgname=glib-networking
|
||||
pkgver=2.72.1
|
||||
pkgver=2.72.2
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc="Network extensions for GLib"
|
||||
|
@ -12,7 +12,7 @@ depends=(glib2 libproxy gnutls gsettings-desktop-schemas)
|
|||
makedepends=(meson git)
|
||||
checkdepends=(ca-certificates)
|
||||
options=(debug)
|
||||
_commit=ef728aeac99f8f0338d9691afa3c1534140ffd14 # tags/2.72.1^0
|
||||
_commit=f462ee496f7979df96fa928f34e1262a8148febc # tags/2.72.2^0
|
||||
source=("git+https://gitlab.gnome.org/GNOME/glib-networking.git#commit=$_commit")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
|
|
|
@ -3,3 +3,5 @@ gsettings-desktop-schemas
|
|||
git
|
||||
meson
|
||||
gettext
|
||||
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=libwacom
|
||||
pkgver=2.3.0
|
||||
pkgver=2.4.0
|
||||
pkgrel=01
|
||||
pkgdesc="Library to identify Wacom tablets and their features w/o systemd"
|
||||
arch=('x86_64')
|
||||
|
@ -15,6 +15,7 @@ depends=('glib2' 'libgudev')
|
|||
makedepends=('libxml2' 'meson')
|
||||
checkdepends=('python-pytest' 'python-libevdev' 'python-pyudev')
|
||||
optdepends=('python-libevdev: for libwacom-show-stylus')
|
||||
#options=('debug') #### uncomment this to have the debug pkg produced
|
||||
source=(https://github.com/linuxwacom/libwacom/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.xz{,.sig})
|
||||
|
||||
build() {
|
||||
|
@ -43,6 +44,5 @@ validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') ## E23B7E70B467F0BF: "
|
|||
|
||||
# https://github.com/linuxwacom/libwacom/releases
|
||||
|
||||
sha256sums=(2fb22a7072cdbcf742d91c38246b0f91bbfd753b934ef5227e31554effb62334 # libwacom-2.3.0.tar.xz
|
||||
d3dcc4dc36d4347c3d5598f84d8fb55f1731bd8c20b30f46cc5332590f499a03) # libwacom-2.3.0.tar.xz.sig
|
||||
|
||||
sha256sums=(d0d022761e3f9ab23e329583b7d2bd470b0450dfb077caeb22c5a0d66c2bd414 # libwacom-2.4.0.tar.xz
|
||||
d8d5c90d62432f6e81b8d942e645a675a682f2f518eb79d8b4d6be321249512c) # libwacom-2.4.0.tar.xz.sig
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
|
||||
|
||||
pkgname=libwacom
|
||||
pkgver=2.3.0
|
||||
pkgver=2.4.0
|
||||
pkgrel=1
|
||||
pkgdesc="Library to identify Wacom tablets and their features"
|
||||
arch=('x86_64')
|
||||
|
@ -11,10 +11,11 @@ depends=('glib2' 'systemd' 'libgudev')
|
|||
makedepends=('libxml2' 'meson')
|
||||
checkdepends=('python-pytest' 'python-libevdev' 'python-pyudev')
|
||||
optdepends=('python-libevdev: for libwacom-show-stylus')
|
||||
options=('debug')
|
||||
validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF')
|
||||
source=(https://github.com/linuxwacom/libwacom/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.xz{,.sig})
|
||||
# https://github.com/linuxwacom/libwacom/releases
|
||||
sha256sums=('2fb22a7072cdbcf742d91c38246b0f91bbfd753b934ef5227e31554effb62334'
|
||||
sha256sums=('d0d022761e3f9ab23e329583b7d2bd470b0450dfb077caeb22c5a0d66c2bd414'
|
||||
'SKIP')
|
||||
|
||||
build() {
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
pkgname=('llvm' 'llvm-libs')
|
||||
pkgver=14.0.6
|
||||
pkgrel=02
|
||||
pkgrel=03
|
||||
arch=('x86_64')
|
||||
url="https://llvm.org/"
|
||||
makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
|
||||
|
@ -16,16 +16,13 @@ makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
|
|||
options=('staticlibs' '!lto') # Getting thousands of test failures with LTO
|
||||
_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
|
||||
source=($_source_base/$pkgname-$pkgver.src.tar.xz{,.sig}
|
||||
# don-t-accept-nullptr-as-GEP-element-type.patch
|
||||
# don-t-override-__attribute__-no_stack_protector.patch
|
||||
# don-t-move-DBG_VALUE-instructions.patch
|
||||
# no-strict-aliasing-DwarfCompileUnit.patch
|
||||
# disable-A-B-A-B-and-BSWAP-in-InstCombine.patch
|
||||
# disable-DIArgList-in-SPIR-V.patch
|
||||
llvm-coroutines-ubsan.patch
|
||||
llvm-config.h)
|
||||
|
||||
prepare() {
|
||||
cd llvm-$pkgver.src
|
||||
# https://github.com/llvm/llvm-project/issues/49689
|
||||
patch -Np2 -i ../llvm-coroutines-ubsan.patch
|
||||
mkdir build
|
||||
}
|
||||
|
||||
|
@ -123,5 +120,7 @@ validpgpkeys=(474E22316ABF4785A88C6E8EA2C794A986419D8A) # Tom Stellard <tstellar
|
|||
|
||||
sha256sums=(050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a # llvm-14.0.6.src.tar.xz
|
||||
98fee8942d6f8c508760d76197018b3ceb0542bcf58d061c768a3e03ceeaa6e2 # llvm-14.0.6.src.tar.xz.sig
|
||||
ee9baf6df05474083857044d92f26f59d3ee709cdf82ba3bdb2792e6645f71d9 # llvm-coroutines-ubsan.patch
|
||||
597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48) # llvm-config.h
|
||||
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
pkgname=('llvm' 'llvm-libs')
|
||||
pkgver=14.0.6
|
||||
pkgrel=2
|
||||
pkgrel=3
|
||||
arch=('x86_64')
|
||||
url="https://llvm.org/"
|
||||
license=('custom:Apache 2.0 with LLVM Exception')
|
||||
|
@ -13,15 +13,20 @@ makedepends=('cmake' 'ninja' 'libffi' 'libedit' 'ncurses' 'libxml2'
|
|||
options=('staticlibs' '!lto') # Getting thousands of test failures with LTO
|
||||
_source_base=https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver
|
||||
source=($_source_base/llvm-$pkgver.src.tar.xz{,.sig}
|
||||
llvm-coroutines-ubsan.patch
|
||||
llvm-config.h)
|
||||
sha256sums=('050922ecaaca5781fdf6631ea92bc715183f202f9d2f15147226f023414f619a'
|
||||
'SKIP'
|
||||
'ee9baf6df05474083857044d92f26f59d3ee709cdf82ba3bdb2792e6645f71d9'
|
||||
'597dc5968c695bbdbb0eac9e8eb5117fcd2773bc91edf5ec103ecffffab8bc48')
|
||||
validpgpkeys=('474E22316ABF4785A88C6E8EA2C794A986419D8A') # Tom Stellard <tstellar@redhat.com>
|
||||
|
||||
prepare() {
|
||||
cd llvm-$pkgver.src
|
||||
mkdir build
|
||||
|
||||
# https://github.com/llvm/llvm-project/issues/49689
|
||||
patch -Np2 -i ../llvm-coroutines-ubsan.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
|
|
288
llvm/llvm-coroutines-ubsan.patch
Normal file
288
llvm/llvm-coroutines-ubsan.patch
Normal file
|
@ -0,0 +1,288 @@
|
|||
From 1030297d77ae5110b7873530f645aeec3a4264ba Mon Sep 17 00:00:00 2001
|
||||
From: Yuanfang Chen <yuanfang.chen@sony.com>
|
||||
Date: Mon, 27 Jun 2022 11:33:45 -0700
|
||||
Subject: [PATCH 1/2] [ubsan] Using metadata instead of prologue data for
|
||||
function sanitizer
|
||||
|
||||
Information in the function `Prologue Data` is intentionally opaque.
|
||||
When a function with `Prologue Data` is duplicated. The self (global
|
||||
value) references inside `Prologue Data` is still pointing to the
|
||||
original function. This may cause errors like `fatal error: error in backend: Cannot represent a difference across sections`.
|
||||
|
||||
This patch detaches the information from function `Prologue Data`
|
||||
and attaches it to a function metadata node.
|
||||
|
||||
This and D116130 fix https://github.com/llvm/llvm-project/issues/49689.
|
||||
|
||||
Reviewed By: pcc
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D115844
|
||||
|
||||
(cherry picked from commit 6678f8e505b19069a9dbdc3e3ee088d543752412)
|
||||
---
|
||||
llvm/docs/LangRef.rst | 22 ++++++++++++++++++-
|
||||
llvm/include/llvm/IR/FixedMetadataKinds.def | 1 +
|
||||
llvm/include/llvm/IR/MDBuilder.h | 4 ++++
|
||||
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 18 +++++++++++++++
|
||||
llvm/lib/IR/MDBuilder.cpp | 8 +++++++
|
||||
.../Instrumentation/AddressSanitizer.cpp | 10 ++++-----
|
||||
llvm/test/CodeGen/X86/func-sanitizer.ll | 18 +++++++++++++++
|
||||
7 files changed, 75 insertions(+), 6 deletions(-)
|
||||
create mode 100644 llvm/test/CodeGen/X86/func-sanitizer.ll
|
||||
|
||||
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
|
||||
index 920834b10897..a5a84a2f297b 100644
|
||||
--- a/llvm/docs/LangRef.rst
|
||||
+++ b/llvm/docs/LangRef.rst
|
||||
@@ -5194,7 +5194,7 @@ multiple metadata attachments with the same identifier.
|
||||
|
||||
A transformation is required to drop any metadata attachment that it does not
|
||||
know or know it can't preserve. Currently there is an exception for metadata
|
||||
-attachment to globals for ``!type`` and ``!absolute_symbol`` which can't be
|
||||
+attachment to globals for ``!func_sanitize``, ``!type`` and ``!absolute_symbol`` which can't be
|
||||
unconditionally dropped unless the global is itself deleted.
|
||||
|
||||
Metadata attached to a module using named metadata may not be dropped, with
|
||||
@@ -7080,6 +7080,26 @@ Example:
|
||||
%a.addr = alloca float*, align 8, !annotation !0
|
||||
!0 = !{!"auto-init"}
|
||||
|
||||
+'``func_sanitize``' Metadata
|
||||
+^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+
|
||||
+The ``func_sanitize`` metadata is used to attach two values for the function
|
||||
+sanitizer instrumentation. The first value is the ubsan function signature.
|
||||
+The second value is the address of the proxy variable which stores the address
|
||||
+of the RTTI descriptor. If :ref:`prologue <prologuedata>` and '``func_sanitize``'
|
||||
+are used at the same time, :ref:`prologue <prologuedata>` is emitted before
|
||||
+'``func_sanitize``' in the output.
|
||||
+
|
||||
+Example:
|
||||
+
|
||||
+.. code-block:: text
|
||||
+
|
||||
+ @__llvm_rtti_proxy = private unnamed_addr constant i8* bitcast ({ i8*, i8* }* @_ZTIFvvE to i8*)
|
||||
+ define void @_Z3funv() !func_sanitize !0 {
|
||||
+ return void
|
||||
+ }
|
||||
+ !0 = !{i32 846595819, i8** @__llvm_rtti_proxy}
|
||||
+
|
||||
Module Flags Metadata
|
||||
=====================
|
||||
|
||||
diff --git a/llvm/include/llvm/IR/FixedMetadataKinds.def b/llvm/include/llvm/IR/FixedMetadataKinds.def
|
||||
index 31979cd2f9db..baa7a91cbf56 100644
|
||||
--- a/llvm/include/llvm/IR/FixedMetadataKinds.def
|
||||
+++ b/llvm/include/llvm/IR/FixedMetadataKinds.def
|
||||
@@ -42,3 +42,4 @@ LLVM_FIXED_MD_KIND(MD_preserve_access_index, "llvm.preserve.access.index", 27)
|
||||
LLVM_FIXED_MD_KIND(MD_vcall_visibility, "vcall_visibility", 28)
|
||||
LLVM_FIXED_MD_KIND(MD_noundef, "noundef", 29)
|
||||
LLVM_FIXED_MD_KIND(MD_annotation, "annotation", 30)
|
||||
+LLVM_FIXED_MD_KIND(MD_func_sanitize, "func_sanitize", 31)
|
||||
diff --git a/llvm/include/llvm/IR/MDBuilder.h b/llvm/include/llvm/IR/MDBuilder.h
|
||||
index 42829388b79a..21d7b8b6da71 100644
|
||||
--- a/llvm/include/llvm/IR/MDBuilder.h
|
||||
+++ b/llvm/include/llvm/IR/MDBuilder.h
|
||||
@@ -108,6 +108,10 @@ public:
|
||||
/// Merge the new callback encoding \p NewCB into \p ExistingCallbacks.
|
||||
MDNode *mergeCallbackEncodings(MDNode *ExistingCallbacks, MDNode *NewCB);
|
||||
|
||||
+ /// Return metadata feeding to the CodeGen about how to generate a function
|
||||
+ /// prologue for the "function" santizier.
|
||||
+ MDNode *createRTTIPointerPrologue(Constant *PrologueSig, Constant *RTTI);
|
||||
+
|
||||
//===------------------------------------------------------------------===//
|
||||
// AA metadata.
|
||||
//===------------------------------------------------------------------===//
|
||||
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
|
||||
index 3e8e190eecc3..091f16567a36 100644
|
||||
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
|
||||
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
|
||||
@@ -844,6 +844,24 @@ void AsmPrinter::emitFunctionHeader() {
|
||||
// Emit the prologue data.
|
||||
if (F.hasPrologueData())
|
||||
emitGlobalConstant(F.getParent()->getDataLayout(), F.getPrologueData());
|
||||
+
|
||||
+ // Emit the function prologue data for the indirect call sanitizer.
|
||||
+ if (const MDNode *MD = F.getMetadata(LLVMContext::MD_func_sanitize)) {
|
||||
+ assert(TM.getTargetTriple().getArch() == Triple::x86 ||
|
||||
+ TM.getTargetTriple().getArch() == Triple::x86_64);
|
||||
+ assert(MD->getNumOperands() == 2);
|
||||
+
|
||||
+ auto *PrologueSig = mdconst::extract<Constant>(MD->getOperand(0));
|
||||
+ auto *FTRTTIProxy = mdconst::extract<Constant>(MD->getOperand(1));
|
||||
+ assert(PrologueSig && FTRTTIProxy);
|
||||
+ emitGlobalConstant(F.getParent()->getDataLayout(), PrologueSig);
|
||||
+
|
||||
+ const MCExpr *Proxy = lowerConstant(FTRTTIProxy);
|
||||
+ const MCExpr *FnExp = MCSymbolRefExpr::create(CurrentFnSym, OutContext);
|
||||
+ const MCExpr *PCRel = MCBinaryExpr::createSub(Proxy, FnExp, OutContext);
|
||||
+ // Use 32 bit since only small code model is supported.
|
||||
+ OutStreamer->emitValue(PCRel, 4u);
|
||||
+ }
|
||||
}
|
||||
|
||||
/// EmitFunctionEntryLabel - Emit the label that is the entrypoint for the
|
||||
diff --git a/llvm/lib/IR/MDBuilder.cpp b/llvm/lib/IR/MDBuilder.cpp
|
||||
index 35af8490287b..fc59fda9fe22 100644
|
||||
--- a/llvm/lib/IR/MDBuilder.cpp
|
||||
+++ b/llvm/lib/IR/MDBuilder.cpp
|
||||
@@ -150,6 +150,14 @@ MDNode *MDBuilder::mergeCallbackEncodings(MDNode *ExistingCallbacks,
|
||||
return MDNode::get(Context, Ops);
|
||||
}
|
||||
|
||||
+MDNode *MDBuilder::createRTTIPointerPrologue(Constant *PrologueSig,
|
||||
+ Constant *RTTI) {
|
||||
+ SmallVector<Metadata *, 4> Ops;
|
||||
+ Ops.push_back(createConstant(PrologueSig));
|
||||
+ Ops.push_back(createConstant(RTTI));
|
||||
+ return MDNode::get(Context, Ops);
|
||||
+}
|
||||
+
|
||||
MDNode *MDBuilder::createAnonymousAARoot(StringRef Name, MDNode *Extra) {
|
||||
SmallVector<Metadata *, 3> Args(1, nullptr);
|
||||
if (Extra)
|
||||
diff --git a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
|
||||
index 8f94172a6402..9d11ef26c1f0 100644
|
||||
--- a/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
|
||||
+++ b/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
|
||||
@@ -1405,7 +1405,11 @@ static GlobalVariable *createPrivateGlobalForSourceLoc(Module &M,
|
||||
/// Check if \p G has been created by a trusted compiler pass.
|
||||
static bool GlobalWasGeneratedByCompiler(GlobalVariable *G) {
|
||||
// Do not instrument @llvm.global_ctors, @llvm.used, etc.
|
||||
- if (G->getName().startswith("llvm."))
|
||||
+ if (G->getName().startswith("llvm.") ||
|
||||
+ // Do not instrument gcov counter arrays.
|
||||
+ G->getName().startswith("__llvm_gcov_ctr") ||
|
||||
+ // Do not instrument rtti proxy symbols for function sanitizer.
|
||||
+ G->getName().startswith("__llvm_rtti_proxy"))
|
||||
return true;
|
||||
|
||||
// Do not instrument asan globals.
|
||||
@@ -1414,10 +1418,6 @@ static bool GlobalWasGeneratedByCompiler(GlobalVariable *G) {
|
||||
G->getName().startswith(kODRGenPrefix))
|
||||
return true;
|
||||
|
||||
- // Do not instrument gcov counter arrays.
|
||||
- if (G->getName() == "__llvm_gcov_ctr")
|
||||
- return true;
|
||||
-
|
||||
return false;
|
||||
}
|
||||
|
||||
diff --git a/llvm/test/CodeGen/X86/func-sanitizer.ll b/llvm/test/CodeGen/X86/func-sanitizer.ll
|
||||
new file mode 100644
|
||||
index 000000000000..b8d96a346d0c
|
||||
--- /dev/null
|
||||
+++ b/llvm/test/CodeGen/X86/func-sanitizer.ll
|
||||
@@ -0,0 +1,18 @@
|
||||
+; RUN: llc -mtriple=x86_64-unknown-linux-gnu < %s | FileCheck %s
|
||||
+
|
||||
+; CHECK: _Z3funv:
|
||||
+; CHECK: .cfi_startproc
|
||||
+; CHECK: .long 846595819
|
||||
+; CHECK: .long .L__llvm_rtti_proxy-_Z3funv
|
||||
+; CHECK: .L__llvm_rtti_proxy:
|
||||
+; CHECK: .quad i
|
||||
+; CHECK: .size .L__llvm_rtti_proxy, 8
|
||||
+
|
||||
+@i = linkonce_odr constant i32 1
|
||||
+@__llvm_rtti_proxy = private unnamed_addr constant i32* @i
|
||||
+
|
||||
+define dso_local void @_Z3funv() !func_sanitize !0 {
|
||||
+ ret void
|
||||
+}
|
||||
+
|
||||
+!0 = !{i32 846595819, i32** @__llvm_rtti_proxy}
|
||||
|
||||
From 640a28cc0fe12741daa4c22f34b618ad57195528 Mon Sep 17 00:00:00 2001
|
||||
From: Yuanfang Chen <yuanfang.chen@sony.com>
|
||||
Date: Mon, 27 Jun 2022 11:36:32 -0700
|
||||
Subject: [PATCH 2/2] [Coroutine] Remove the '!func_sanitize' metadata for
|
||||
split functions
|
||||
|
||||
There is no proper RTTI for these split functions. So just delete the
|
||||
metadata.
|
||||
|
||||
Fixes https://github.com/llvm/llvm-project/issues/49689.
|
||||
|
||||
Reviewed By: rjmccall
|
||||
|
||||
Differential Revision: https://reviews.llvm.org/D116130
|
||||
|
||||
(cherry picked from commit e2e9e708e5c2c3d5357b4bb355285ef55cd060d9)
|
||||
---
|
||||
llvm/lib/Transforms/Coroutines/CoroSplit.cpp | 6 ++++++
|
||||
llvm/test/Transforms/Coroutines/coro-split-00.ll | 12 +++++++-----
|
||||
2 files changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
|
||||
index b5129809c6a6..78134fd297da 100644
|
||||
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
|
||||
+++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
|
||||
@@ -923,6 +923,12 @@ void CoroCloner::create() {
|
||||
NewF->setVisibility(savedVisibility);
|
||||
NewF->setUnnamedAddr(savedUnnamedAddr);
|
||||
NewF->setDLLStorageClass(savedDLLStorageClass);
|
||||
+ // The function sanitizer metadata needs to match the signature of the
|
||||
+ // function it is being attached to. However this does not hold for split
|
||||
+ // functions here. Thus remove the metadata for split functions.
|
||||
+ if (Shape.ABI == coro::ABI::Switch &&
|
||||
+ NewF->hasMetadata(LLVMContext::MD_func_sanitize))
|
||||
+ NewF->eraseMetadata(LLVMContext::MD_func_sanitize);
|
||||
|
||||
// Replace the attributes of the new function:
|
||||
auto OrigAttrs = NewF->getAttributes();
|
||||
diff --git a/llvm/test/Transforms/Coroutines/coro-split-00.ll b/llvm/test/Transforms/Coroutines/coro-split-00.ll
|
||||
index d5c6279a6a87..cf2dc10549e7 100644
|
||||
--- a/llvm/test/Transforms/Coroutines/coro-split-00.ll
|
||||
+++ b/llvm/test/Transforms/Coroutines/coro-split-00.ll
|
||||
@@ -1,7 +1,7 @@
|
||||
; Tests that coro-split pass splits the coroutine into f, f.resume and f.destroy
|
||||
; RUN: opt < %s -passes='cgscc(coro-split),simplifycfg,early-cse' -S | FileCheck %s
|
||||
|
||||
-define i8* @f() "coroutine.presplit"="1" {
|
||||
+define i8* @f() "coroutine.presplit"="1" !func_sanitize !0 {
|
||||
entry:
|
||||
%id = call token @llvm.coro.id(i32 0, i8* null, i8* null, i8* null)
|
||||
%need.alloc = call i1 @llvm.coro.alloc(token %id)
|
||||
@@ -32,7 +32,7 @@ suspend:
|
||||
ret i8* %hdl
|
||||
}
|
||||
|
||||
-; CHECK-LABEL: @f(
|
||||
+; CHECK-LABEL: @f() !func_sanitize !0 {
|
||||
; CHECK: call i8* @malloc
|
||||
; CHECK: @llvm.coro.begin(token %id, i8* %phi)
|
||||
; CHECK: store void (%f.Frame*)* @f.resume, void (%f.Frame*)** %resume.addr
|
||||
@@ -43,7 +43,7 @@ suspend:
|
||||
; CHECK-NOT: call void @free(
|
||||
; CHECK: ret i8* %hdl
|
||||
|
||||
-; CHECK-LABEL: @f.resume(
|
||||
+; CHECK-LABEL: @f.resume({{.*}}) {
|
||||
; CHECK-NOT: call i8* @malloc
|
||||
; CHECK-NOT: call void @print(i32 0)
|
||||
; CHECK: call void @print(i32 1)
|
||||
@@ -51,13 +51,13 @@ suspend:
|
||||
; CHECK: call void @free(
|
||||
; CHECK: ret void
|
||||
|
||||
-; CHECK-LABEL: @f.destroy(
|
||||
+; CHECK-LABEL: @f.destroy({{.*}}) {
|
||||
; CHECK-NOT: call i8* @malloc
|
||||
; CHECK-NOT: call void @print(
|
||||
; CHECK: call void @free(
|
||||
; CHECK: ret void
|
||||
|
||||
-; CHECK-LABEL: @f.cleanup(
|
||||
+; CHECK-LABEL: @f.cleanup({{.*}}) {
|
||||
; CHECK-NOT: call i8* @malloc
|
||||
; CHECK-NOT: call void @print(
|
||||
; CHECK-NOT: call void @free(
|
||||
@@ -77,3 +77,5 @@ declare i1 @llvm.coro.end(i8*, i1)
|
||||
declare noalias i8* @malloc(i32)
|
||||
declare void @print(i32)
|
||||
declare void @free(i8*) willreturn
|
||||
+
|
||||
+!0 = !{i32 846595819, i8** null}
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
real 98m41.395s
|
||||
user 378m9.033s
|
||||
sys 12m14.902s
|
||||
real 114m13.308s
|
||||
user 401m29.576s
|
||||
sys 13m33.030s
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
pkgname=rsync
|
||||
_tag='db2a0aed76cfedeb87179017167c29cc2ab7a1e8' # git rev-parse v${pkgver}
|
||||
pkgver=3.2.4
|
||||
pkgrel=01
|
||||
pkgdesc='A fast and versatile file copying tool for remote and local files w/o systemd'
|
||||
pkgrel=02
|
||||
pkgdesc='A fast and versatile file copying tool for remote and local files w/o systemd zstd ipv6'
|
||||
arch=('x86_64')
|
||||
url='https://rsync.samba.org/'
|
||||
depends=('acl' 'libacl.so' 'lz4' 'openssl' 'perl' 'popt' 'xxhash' 'libxxhash.so'
|
||||
|
@ -20,6 +20,12 @@ backup=('etc/rsyncd.conf'
|
|||
source=("git+https://github.com/WayneD/rsync#tag=${_tag}?signed"
|
||||
'rsyncd.conf')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/rsync"
|
||||
|
||||
git show 'b7231c7d02cfb65d291af74ff66e7d8c507ee871' | git apply --exclude='rsync.1.md'
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/rsync"
|
||||
|
||||
|
@ -28,7 +34,9 @@ build() {
|
|||
--disable-debug \
|
||||
--with-included-popt=no \
|
||||
--with-included-zlib=no \
|
||||
--with-systemd=no
|
||||
--with-systemd=no \
|
||||
--disable-zstd \
|
||||
--disable-ipv6
|
||||
make
|
||||
}
|
||||
|
||||
|
@ -48,10 +56,9 @@ package() {
|
|||
|
||||
#---- license gpg-key sha256sums ----
|
||||
|
||||
license=('GPL3')
|
||||
license=(GPL3)
|
||||
|
||||
validpgpkeys=('0048C8B026D4C96F0E589C2F6C859FB14B96A8C5') # Wayne Davison <wayned@users.sourceforge.net>
|
||||
|
||||
sha256sums=('SKIP'
|
||||
'733ccb571721433c3a6262c58b658253ca6553bec79c2bdd0011810bb4f2156b')
|
||||
validpgpkeys=(0048C8B026D4C96F0E589C2F6C859FB14B96A8C5) # Wayne Davison <wayned@users.sourceforge.net>
|
||||
|
||||
sha256sums=(SKIP
|
||||
733ccb571721433c3a6262c58b658253ca6553bec79c2bdd0011810bb4f2156b) # rsyncd.conf
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
pkgname=rsync
|
||||
_tag='db2a0aed76cfedeb87179017167c29cc2ab7a1e8' # git rev-parse v${pkgver}
|
||||
pkgver=3.2.4
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc='A fast and versatile file copying tool for remote and local files'
|
||||
arch=('x86_64')
|
||||
url='https://rsync.samba.org/'
|
||||
|
@ -19,6 +19,12 @@ source=("git+https://github.com/WayneD/rsync#tag=${_tag}?signed"
|
|||
sha256sums=('SKIP'
|
||||
'733ccb571721433c3a6262c58b658253ca6553bec79c2bdd0011810bb4f2156b')
|
||||
|
||||
prepare() {
|
||||
cd "$srcdir/rsync"
|
||||
|
||||
git show 'b7231c7d02cfb65d291af74ff66e7d8c507ee871' | git apply --exclude='rsync.1.md'
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$srcdir/rsync"
|
||||
|
||||
|
|
117
rsync/configure
vendored
Normal file
117
rsync/configure
vendored
Normal file
|
@ -0,0 +1,117 @@
|
|||
`configure' configures rsync to adapt to many kinds of systems.
|
||||
|
||||
Usage: /src/pkg/jobextra/rsync/src/rsync/configure.sh [OPTION]... [VAR=VALUE]...
|
||||
|
||||
To assign environment variables (e.g., CC, CFLAGS...), specify them as
|
||||
VAR=VALUE. See below for descriptions of some of the useful variables.
|
||||
|
||||
Defaults for the options are specified in brackets.
|
||||
|
||||
Configuration:
|
||||
-h, --help display this help and exit
|
||||
--help=short display options specific to this package
|
||||
--help=recursive display the short help of all the included packages
|
||||
-V, --version display version information and exit
|
||||
-q, --quiet, --silent do not print `checking ...' messages
|
||||
--cache-file=FILE cache test results in FILE [disabled]
|
||||
-C, --config-cache alias for `--cache-file=config.cache'
|
||||
-n, --no-create do not create output files
|
||||
--srcdir=DIR find the sources in DIR [configure dir or `..']
|
||||
|
||||
Installation directories:
|
||||
--prefix=PREFIX install architecture-independent files in PREFIX
|
||||
[/usr/local]
|
||||
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
|
||||
[PREFIX]
|
||||
|
||||
By default, `make install' will install all the files in
|
||||
`/usr/local/bin', `/usr/local/lib' etc. You can specify
|
||||
an installation prefix other than `/usr/local' using `--prefix',
|
||||
for instance `--prefix=$HOME'.
|
||||
|
||||
For better control, use the options below.
|
||||
|
||||
Fine tuning of the installation directories:
|
||||
--bindir=DIR user executables [EPREFIX/bin]
|
||||
--sbindir=DIR system admin executables [EPREFIX/sbin]
|
||||
--libexecdir=DIR program executables [EPREFIX/libexec]
|
||||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
|
||||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
|
||||
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
|
||||
--runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
|
||||
--libdir=DIR object code libraries [EPREFIX/lib]
|
||||
--includedir=DIR C header files [PREFIX/include]
|
||||
--oldincludedir=DIR C header files for non-gcc [/usr/include]
|
||||
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
|
||||
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
|
||||
--infodir=DIR info documentation [DATAROOTDIR/info]
|
||||
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
|
||||
--mandir=DIR man documentation [DATAROOTDIR/man]
|
||||
--docdir=DIR documentation root [DATAROOTDIR/doc/rsync]
|
||||
--htmldir=DIR html documentation [DOCDIR]
|
||||
--dvidir=DIR dvi documentation [DOCDIR]
|
||||
--pdfdir=DIR pdf documentation [DOCDIR]
|
||||
--psdir=DIR ps documentation [DOCDIR]
|
||||
|
||||
System types:
|
||||
--build=BUILD configure for building on BUILD [guessed]
|
||||
--host=HOST cross-compile to build programs to run on HOST [BUILD]
|
||||
|
||||
Optional Features:
|
||||
--disable-option-checking ignore unrecognized --enable/--with options
|
||||
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
|
||||
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
|
||||
--disable-debug disable to omit debugging symbols and features
|
||||
--enable-profile enable to turn on CPU profiling
|
||||
--disable-md2man disable to omit manpage creation
|
||||
--enable-maintainer-mode
|
||||
enable to turn on extra debug features
|
||||
--enable-roll-simd enable/disable to control rolling-checksum SIMD
|
||||
optimizations (requires c++)
|
||||
--disable-largefile omit support for large files
|
||||
--disable-ipv6 disable to omit ipv6 support
|
||||
--disable-locale disable to omit locale features
|
||||
--disable-openssl disable to omit openssl crypto library
|
||||
--enable-md5-asm enable/disable to control MD5 ASM optimizations
|
||||
--enable-roll-asm enable/disable to control rolling-checksum ASM
|
||||
optimizations (requires --enable-roll-simd)
|
||||
--disable-xxhash disable to omit xxhash checksums
|
||||
--disable-zstd disable to omit zstd compression
|
||||
--disable-lz4 disable to omit LZ4 compression
|
||||
--disable-iconv-open disable to avoid all use of iconv_open()
|
||||
--disable-iconv disable to omit the --iconv option
|
||||
--disable-acl-support disable to omit ACL support
|
||||
--disable-xattr-support disable to omit extended attributes
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
|
||||
--with-rrsync also install the rrsync script and its manpage
|
||||
--with-included-popt use bundled popt library, not from system
|
||||
--with-included-zlib use bundled zlib library, not from system
|
||||
--with-protected-args make --protected-args option the default
|
||||
--with-rsync-path=PATH set default --rsync-path to PATH (default: rsync)
|
||||
--with-rsyncd-conf=PATH set configuration file for rsync server to PATH
|
||||
(default: /etc/rsyncd.conf)
|
||||
--with-rsh=CMD set remote shell command to CMD (default: ssh)
|
||||
--with-nobody-user=USER set the default unprivileged user (default nobody)
|
||||
--with-nobody-group=GROUP
|
||||
set the default unprivileged group (default nobody
|
||||
or nogroup)
|
||||
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
CFLAGS C compiler flags
|
||||
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
|
||||
nonstandard directory <lib dir>
|
||||
LIBS libraries to pass to the linker, e.g. -l<library>
|
||||
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
|
||||
you have headers in a nonstandard directory <include dir>
|
||||
CPP C preprocessor
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
|
||||
Report bugs to <https://rsync.samba.org/bug-tracking.html>.
|
|
@ -4,3 +4,4 @@ git
|
|||
python-commonmark
|
||||
automake
|
||||
autoconf
|
||||
|
||||
|
|
|
@ -2,10 +2,11 @@
|
|||
# JOBoRun : Jwm OpenBox Obarun RUNit
|
||||
# Maintainer : Joe Bo Run <joborun@disroot.org>
|
||||
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
|
||||
# Website : https://pozol.eu
|
||||
#-----------------------------------------| DESCRIPTION |---------------------------------------
|
||||
|
||||
pkgname=wayland-protocols
|
||||
pkgver=1.25
|
||||
pkgver=1.26
|
||||
pkgrel=01
|
||||
pkgdesc='Specifications of extended Wayland protocols'
|
||||
arch=('any')
|
||||
|
@ -48,5 +49,5 @@ license=('MIT')
|
|||
validpgpkeys=('8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A' # Jonas Ådahl
|
||||
'A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone
|
||||
|
||||
sha256sums=(f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460 # wayland-protocols-1.25.tar.xz
|
||||
5bda0debbaf77ccf4841171f9bcbe9cf562c58d768f3a0cf5199a14e2fbd6176) # wayland-protocols-1.25.tar.xz.sig
|
||||
sha256sums=(c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13 # wayland-protocols-1.26.tar.xz
|
||||
2f3d2e34a836a0d62014250b7a40ec63ed4dc5603cf47820a71ffd8cda7d76a9) # wayland-protocols-1.26.tar.xz.sig
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Maintainer: Sébastien Luttringer <seblu@seblu.net>
|
||||
|
||||
pkgname=wayland-protocols
|
||||
pkgver=1.25
|
||||
pkgver=1.26
|
||||
pkgrel=1
|
||||
pkgdesc='Specifications of extended Wayland protocols'
|
||||
arch=('any')
|
||||
|
@ -11,7 +11,7 @@ makedepends=('wayland' 'meson' 'ninja')
|
|||
validpgpkeys=('8307C0A224BABDA1BABD0EB9A6EEEC9E0136164A' # Jonas Ådahl
|
||||
'A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone
|
||||
source=("https://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.sig})
|
||||
sha256sums=('f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460'
|
||||
sha256sums=('c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13'
|
||||
'SKIP')
|
||||
|
||||
prepare() {
|
||||
|
|
Loading…
Reference in a new issue