diff --git a/66/66.install b/66/66.install new file mode 100644 index 0000000..71a243c --- /dev/null +++ b/66/66.install @@ -0,0 +1,15 @@ +post_install() { + if ! getent group log >/dev/null; then + groupadd -r -g 19 log + fi + + if ! getent passwd s6log >/dev/null; then + useradd -u 19 -g 19 -d / -c "S6 log user" -s /usr/bin/nologin s6log + fi +} + +post_upgrade() { + + post_install + printf "%s\n" "==> WARNING: According to the skarnet recommendations about the s6-svscan and skalibs library changes, you need to reboot after your 66 package upgrade." +} diff --git a/66/PKGBUILD b/66/PKGBUILD new file mode 100644 index 0000000..5639b85 --- /dev/null +++ b/66/PKGBUILD @@ -0,0 +1,68 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=66 +pkgver=0.6.2.0 +pkgrel=01 +pkgdesc="Small tools built around s6 and s6-rc programs" +url='https://framagit.org/Obarun/66.git' +source=("${pkgname}::git+${url}#tag=v$pkgver" + 66.install ) +# direct: https://git.obarun.org/pkg/obcore/66/-/raw/master/trunk/66.install + +makedepends=('git' 'skalibs>=2.11.0.0' 'execline>=2.8.1.0' 's6>=2.11.0.0' 's6-rc>=0.5.2.3' 'oblibs>=0.1.4.0' 'lowdown' 'linux-api-headers') +depends=('skalibs>=2.11.0.0' 'execline>=2.8.1.0' 's6>=2.11.0.0' 's6-rc>=0.5.2.3' 'oblibs>=0.1.4.0') +arch=(x86_64) + +backup=('etc/66/init.conf' + 'etc/66/rc.init' + 'etc/66/rc.init.container' + 'etc/66/rc.shutdown' + 'etc/66/rc.shutdown.final' + 'usr/bin/init') + +conflicts=('s6-linux-init') + +groups=('s6-suite') + +install=66.install + +build() { + cd $pkgname + ./configure --bindir=/usr/bin \ + --shebangdir=/usr/bin \ + --with-system-service=/usr/lib/66/service \ + --with-system-module=/usr/lib/66/module \ + --with-system-script=/usr/lib/66/script \ + --with-s6-log-timestamp=iso \ + --with-s6-log-user=s6log \ + --with-lib=/usr/lib/skalibs \ + --with-lib=/usr/lib/execline \ + --with-lib=/usr/lib/s6 \ + --with-lib=/usr/lib/s6-rc \ + --with-lib=/usr/lib/oblibs \ + --disable-shared + make +} + +package() { + cd $pkgname + + make DESTDIR="$pkgdir" install + + ## move wrapper at the correct place + mv "$pkgdir"/etc/66/init "$pkgdir"/usr/bin + mkdir -p "$pkgdir"/usr/bin/s6 + mv "$pkgdir"/etc/66/{halt,poweroff,reboot,shutdown} "$pkgdir"/usr/bin/s6 + install -Dm 0644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=(ISC) + +sha256sums=(SKIP + a8ccf4276e7ccedbc32244e50e0df802c81cb8ef13b18a6e214e9ddae15dd2c3) # 66.install diff --git a/66/PKGBUILD-oba b/66/PKGBUILD-oba new file mode 100644 index 0000000..05fdae0 --- /dev/null +++ b/66/PKGBUILD-oba @@ -0,0 +1,117 @@ +# Distribution : Obarun S6/66 +#----------------------------- +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +#---------------- +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/66 +#-------------------------------------------------------------------------------- +# DESCRIPTION ] + +pkgname=66 +pkgver=0.6.2.0 +pkgrel=1 +pkgdesc="Small tools built around s6 and s6-rc programs" + +url='https://framagit.org/Obarun/66.git' + +track="tag" +target="v$pkgver" +source=( + "${pkgname}::git+${url}#${track}=${target}" +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'git' + 'skalibs>=2.11.0.0' + 'execline>=2.8.1.0' + 's6>=2.11.0.0' + 's6-rc>=0.5.2.3' + 'oblibs>=0.1.4.0' + 'lowdown' + 'linux-api-headers' +) + +#------------------------ +# INSTALL CONFIGURATION ] + +depends=( + 'skalibs>=2.11.0.0' + 'execline>=2.8.1.0' + 's6>=2.11.0.0' + 's6-rc>=0.5.2.3' + 'oblibs>=0.1.4.0' +) + +backup=( + 'etc/66/init.conf' + 'etc/66/rc.init' + 'etc/66/rc.init.container' + 'etc/66/rc.shutdown' + 'etc/66/rc.shutdown.final' + 'usr/bin/init' +) + +conflicts=( + 's6-linux-init' +) + +groups=( + 'base' + 's6-suite' +) + +install=66.install + +#---------------- +# BUILD CONTROL ] + +_flags=( + --bindir=/usr/bin + --shebangdir=/usr/bin + --with-system-service=/usr/lib/66/service + --with-system-module=/usr/lib/66/module + --with-system-script=/usr/lib/66/script + --with-s6-log-timestamp=iso + --with-s6-log-user=s6log + --with-lib=/usr/lib/skalibs + --with-lib=/usr/lib/execline + --with-lib=/usr/lib/s6 + --with-lib=/usr/lib/s6-rc + --with-lib=/usr/lib/oblibs + --disable-shared +) + +#-------- +# BUILD ] + +build() { + cd $pkgname + + ./configure "${_flags[@]}" + make +} + +#---------- +# PACKAGE ] + +package() { + cd $pkgname + + make DESTDIR="$pkgdir" install + + ## move wrapper at the correct place + mv "$pkgdir"/etc/66/{halt,init,poweroff,reboot,shutdown} "$pkgdir"/usr/bin + + install -Dm 0644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(ISC) + +sha512sums=('') diff --git a/66/clean b/66/clean new file mode 100644 index 0000000..63747e3 --- /dev/null +++ b/66/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,66} diff --git a/66/deps b/66/deps new file mode 100644 index 0000000..6472eea --- /dev/null +++ b/66/deps @@ -0,0 +1,12 @@ +skalibs +execline +s6 +s6-rc +oblibs +skalibs +execline +s6 +s6-rc +oblibs +lowdown +git diff --git a/66/time b/66/time new file mode 100644 index 0000000..0d2308b --- /dev/null +++ b/66/time @@ -0,0 +1,4 @@ + +real 0m22.586s +user 0m23.507s +sys 0m2.132s diff --git a/acl/PKGBUILD b/acl/PKGBUILD new file mode 100644 index 0000000..118371b --- /dev/null +++ b/acl/PKGBUILD @@ -0,0 +1,46 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=acl +pkgver=2.3.1 +pkgrel=02 +pkgdesc='Access control list utilities, libraries and headers' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/acl' +depends=('attr' 'libattr.so') +replaces=('xfsacl') +provides=('xfsacl' 'libacl.so') +# options=('debug') +conflicts=('xfsacl') +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}) + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher + +sha256sums=(760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af # acl-2.3.1.tar.gz + ecf0fa46c83d1794eaddba7b5e284bca3f8928b55da24b03142277439239913c) # acl-2.3.1.tar.gz.sig diff --git a/acl/PKGBUILD-arch b/acl/PKGBUILD-arch new file mode 100644 index 0000000..693b040 --- /dev/null +++ b/acl/PKGBUILD-arch @@ -0,0 +1,37 @@ +# Maintainer: Thomas Bächler + +pkgname=acl +pkgver=2.3.1 +pkgrel=2 +pkgdesc='Access control list utilities, libraries and headers' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/acl' +license=('LGPL') +depends=('attr' 'libattr.so') +replaces=('xfsacl') +provides=('xfsacl' 'libacl.so') +conflicts=('xfsacl') +options=('debug') +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}) +sha256sums=('760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af' + 'SKIP') + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/acl/clean b/acl/clean new file mode 100644 index 0000000..7a701ec --- /dev/null +++ b/acl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*gz*} diff --git a/acl/deps b/acl/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/acl/deps @@ -0,0 +1 @@ + diff --git a/acl/key b/acl/key new file mode 100644 index 0000000..85054ac --- /dev/null +++ b/acl/key @@ -0,0 +1 @@ +gpg -v --recv-key D5BF9FEB0313653A diff --git a/acl/time b/acl/time new file mode 100644 index 0000000..cc66981 --- /dev/null +++ b/acl/time @@ -0,0 +1,3 @@ +real 0m10.053s +user 0m16.879s +sys 0m2.350s diff --git a/amd-ucode b/amd-ucode new file mode 120000 index 0000000..9a0010a --- /dev/null +++ b/amd-ucode @@ -0,0 +1 @@ +linux-firmware \ No newline at end of file diff --git a/argon2/PKGBUILD b/argon2/PKGBUILD new file mode 100644 index 0000000..bcf82cb --- /dev/null +++ b/argon2/PKGBUILD @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=argon2 +pkgver=20190702 +pkgrel=04 +pkgdesc='A password-hashing function (reference C implementation)' +arch=('x86_64') +url='https://github.com/P-H-C/phc-winner-argon2' +depends=('glibc') +provides=('libargon2.so') +source=("https://github.com/P-H-C/phc-winner-argon2/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz") + +build() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' +} + +check() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' test +} + +package() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' DESTDIR="$pkgdir" install + + install -D -m0644 LICENSE "${pkgdir}/usr/share/licenses/argon2/LICENSE" +} + +# vim:set ts=2 sw=2 et: + +license=('Apache' 'custom:CC0') + +sha256sums=('daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c') + diff --git a/argon2/PKGBUILD-arch b/argon2/PKGBUILD-arch new file mode 100644 index 0000000..00b2c31 --- /dev/null +++ b/argon2/PKGBUILD-arch @@ -0,0 +1,35 @@ +# Maintainer: Baptiste Jonglez + +pkgname=argon2 +pkgver=20190702 +pkgrel=4 +pkgdesc='A password-hashing function (reference C implementation)' +arch=('x86_64') +url='https://github.com/P-H-C/phc-winner-argon2' +license=('Apache' 'custom:CC0') +depends=('glibc') +provides=('libargon2.so') +source=("https://github.com/P-H-C/phc-winner-argon2/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('daf972a89577f8772602bf2eb38b6a3dd3d922bf5724d45e7f9589b5e830442c') + +build() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' +} + +check() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' test +} + +package() { + cd "$srcdir/phc-winner-$pkgname-$pkgver" + + make ARGON2_VERSION="${pkgver}" OPTTARGET='none' LIBRARY_REL='lib' DESTDIR="$pkgdir" install + + install -D -m0644 LICENSE "${pkgdir}/usr/share/licenses/argon2/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/argon2/clean b/argon2/clean new file mode 100644 index 0000000..5d7642d --- /dev/null +++ b/argon2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,argo*.gz} diff --git a/argon2/deps b/argon2/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/argon2/deps @@ -0,0 +1 @@ + diff --git a/attr/PKGBUILD b/attr/PKGBUILD new file mode 100644 index 0000000..387cc30 --- /dev/null +++ b/attr/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/attr" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=attr +pkgver=2.5.1 +pkgrel=02 +pkgdesc='Extended attribute support library for ACL support' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/attr' +depends=('glibc') +makedepends=('gettext') +replaces=('xfsattr') +provides=('xfsattr' 'libattr.so') +#options=('debug') +conflicts=('xfsattr') +backup=('etc/xattr.conf') +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha512sums ---- + +license=('LGPL') + +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher + +sha256sums=(db448a626f9313a1a970d636767316a8da32aede70518b8050fa0de7947adc32 # attr-2.5.1.tar.xz + 31357441f6fe2e8e8ab9c36746b2d3885d153dc88b33930c62eefed12f800954) # attr-2.5.1.tar.xz.sig diff --git a/attr/PKGBUILD-arch b/attr/PKGBUILD-arch new file mode 100644 index 0000000..4786466 --- /dev/null +++ b/attr/PKGBUILD-arch @@ -0,0 +1,39 @@ +# Maintainer: Thomas Bächler + +pkgname=attr +pkgver=2.5.1 +pkgrel=2 +pkgdesc='Extended attribute support library for ACL support' +arch=('x86_64') +url='https://savannah.nongnu.org/projects/attr' +license=('LGPL') +depends=('glibc') +makedepends=('gettext') +replaces=('xfsattr') +provides=('xfsattr' 'libattr.so') +conflicts=('xfsattr') +options=('debug') +backup=('etc/xattr.conf') +validpgpkeys=('600CD204FBCEA418BD2CA74F154343260542DF34' # Brandon Philips + 'B902B5271325F892AC251AD441633B9FE837F581' # Frysinger + '259B3792B3D6D319212CC4DCD5BF9FEB0313653A') # Andreas Gruenbacher +source=("https://download.savannah.gnu.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha256sums=('db448a626f9313a1a970d636767316a8da32aede70518b8050fa0de7947adc32' + 'SKIP') + +build() { + cd $pkgname-$pkgver + + ./configure \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --prefix=/usr \ + --sysconfdir=/etc + make +} + +package() { + cd $pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/attr/clean b/attr/clean new file mode 100644 index 0000000..4a05ca1 --- /dev/null +++ b/attr/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*xz*} diff --git a/attr/deps b/attr/deps new file mode 100644 index 0000000..d5051de --- /dev/null +++ b/attr/deps @@ -0,0 +1 @@ +gettext diff --git a/attr/key b/attr/key new file mode 100644 index 0000000..85054ac --- /dev/null +++ b/attr/key @@ -0,0 +1 @@ +gpg -v --recv-key D5BF9FEB0313653A diff --git a/attr/time b/attr/time new file mode 100644 index 0000000..4d3e436 --- /dev/null +++ b/attr/time @@ -0,0 +1,4 @@ + +real 0m5.439s +user 0m8.056s +sys 0m1.005s diff --git a/audit/PKGBUILD b/audit/PKGBUILD new file mode 100644 index 0000000..210467e --- /dev/null +++ b/audit/PKGBUILD @@ -0,0 +1,75 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=audit +pkgname=('audit' 'python-audit') +pkgver=3.0.7 +pkgrel=01 +pkgdesc='Userspace components of the audit framework w/o systemd' +url='https://people.redhat.com/sgrubb/audit' +arch=('x86_64') +makedepends=('glibc' 'krb5' 'libcap-ng' 'libldap' 'swig' 'linux-lts-headers' 'python') +options=(emptydirs) +#options=('emptydirs' 'debug') +source=(${url}/${pkgname}-${pkgver}.tar.gz) + +build() { + cd ${pkgbase}-${pkgver} + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/audit \ + --enable-gssapi-krb5=yes \ + --enable-systemd=no \ + --with-libcap-ng=yes + make + [ -n "${SOURCE_DATE_EPOCH}" ] && touch -h -d @$SOURCE_DATE_EPOCH bindings/swig/python/audit.py +} + +package_audit() { + depends=('glibc' 'krb5' libkrb5.so libgssapi_krb5.so 'libcap-ng' libcap-ng.so) + provides=('libaudit.so' 'libauparse.so') + backup=( + etc/libaudit.conf + etc/audit/audit-stop.rules + etc/audit/auditd.conf + etc/audit/audisp-remote.conf + etc/audit/zos-remote.conf + etc/audit/plugins.d/af_unix.conf + etc/audit/plugins.d/au-remote.conf + etc/audit/plugins.d/audispd-zos-remote.conf + etc/audit/plugins.d/syslog.conf + ) + + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" INSTALL='install -p' install + + cd "${pkgdir}" + install -d -m 0700 var/log/audit + rm -rf etc/rc.d \ + etc/sysconfig \ + usr/lib/audit \ + usr/lib/python* + + sed -ri 's|/sbin|/usr/bin|' \ + etc/audit/*.conf \ + etc/audit/plugins.d/*.conf +} + +package_python-audit() { + depends=('python' 'audit') + pkgdesc+=' (python bindings)' + cd ${pkgbase}-${pkgver} + make -C bindings DESTDIR="${pkgdir}" INSTALL='install -p' install +} + +#---- license gpg-key sha512sums ---- + +license=('GPL') + +sha256sums=(8b4c78632a9301a1c7f859b0e38fc0b9c260b8214d6b7c771bf28b3d73a62597) # audit-3.0.7.tar.gz diff --git a/audit/PKGBUILD-arch b/audit/PKGBUILD-arch new file mode 100644 index 0000000..2be8bd8 --- /dev/null +++ b/audit/PKGBUILD-arch @@ -0,0 +1,82 @@ +# Maintainer: Levente Polyak +# Maintainer : Christian Rebischke +# Contributor: Daniel Micay +# Contributor: +# Contributor: Massimiliano Torromeo +# Contributor: Connor Behan +# Contributor: henning mueller + +pkgbase=audit +pkgname=('audit' 'python-audit') +pkgver=3.0.7 +pkgrel=1 +pkgdesc='Userspace components of the audit framework' +url='https://people.redhat.com/sgrubb/audit' +arch=('x86_64') +makedepends=('glibc' 'krb5' 'libcap-ng' 'libldap' 'swig' 'linux-headers' 'python') +license=('GPL') +options=('emptydirs' 'debug') +source=(https://people.redhat.com/sgrubb/audit/${pkgname}-${pkgver}.tar.gz) +sha512sums=('b5662b32082fc2ac54e247aa0db5442d76afa30134ebba1d624a17004e9ccf6856bb75344af4ce9d9a0a66c03e1c6f18b7d45658d7df13ea71af0c8362e08d70') +b2sums=('706db746fb779913619da794bab24a9e890e1655bbd0abb007cbc909b32ab1d643e93953a23ef864d5e189f3447a7ddb4dca1478144cdc226f5a5594545bd28f') + +prepare() { + cd ${pkgbase}-${pkgver} + sed 's|/var/run/auditd.pid|/run/auditd.pid|' -i init.d/auditd.service +} + +build() { + cd ${pkgbase}-${pkgver} + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib/audit \ + --enable-gssapi-krb5=yes \ + --enable-systemd=yes \ + --with-libcap-ng=yes + make + [ -n "${SOURCE_DATE_EPOCH}" ] && touch -h -d @$SOURCE_DATE_EPOCH bindings/swig/python/audit.py +} + +package_audit() { + depends=('glibc' 'krb5' libkrb5.so libgssapi_krb5.so 'libcap-ng' libcap-ng.so) + provides=('libaudit.so' 'libauparse.so') + backup=( + etc/libaudit.conf + etc/audit/audit-stop.rules + etc/audit/auditd.conf + etc/audit/audisp-remote.conf + etc/audit/zos-remote.conf + etc/audit/plugins.d/af_unix.conf + etc/audit/plugins.d/au-remote.conf + etc/audit/plugins.d/audispd-zos-remote.conf + etc/audit/plugins.d/syslog.conf + ) + + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" INSTALL='install -p' install + + cd "${pkgdir}" + install -d -m 0700 var/log/audit + rm -rf etc/rc.d \ + etc/sysconfig \ + usr/lib/audit \ + usr/lib/python* + + sed -ri 's|/sbin|/usr/bin|' \ + etc/audit/*.conf \ + etc/audit/plugins.d/*.conf \ + usr/lib/systemd/system/auditd.service + + chmod 644 usr/lib/systemd/system/auditd.service +} + +package_python-audit() { + depends=('python' 'audit') + pkgdesc+=' (python bindings)' + cd ${pkgbase}-${pkgver} + make -C bindings DESTDIR="${pkgdir}" INSTALL='install -p' install +} + +# vim: ts=2 sw=2 et: diff --git a/audit/clean b/audit/clean new file mode 100644 index 0000000..0b3b745 --- /dev/null +++ b/audit/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*gz*} diff --git a/audit/deps b/audit/deps new file mode 100644 index 0000000..e150e9c --- /dev/null +++ b/audit/deps @@ -0,0 +1,3 @@ +swig +linux-lts-headers +python diff --git a/audit/note b/audit/note new file mode 100644 index 0000000..253f4a6 --- /dev/null +++ b/audit/note @@ -0,0 +1 @@ +rebuilt on openldap 2.6.1 diff --git a/audit/time b/audit/time new file mode 100644 index 0000000..4f04c83 --- /dev/null +++ b/audit/time @@ -0,0 +1,4 @@ + +real 0m39.426s +user 1m5.944s +sys 0m5.032s diff --git a/autoconf/PKGBUILD b/autoconf/PKGBUILD new file mode 100644 index 0000000..2f06469 --- /dev/null +++ b/autoconf/PKGBUILD @@ -0,0 +1,49 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=autoconf +pkgver=2.71 +pkgrel=01 +pkgdesc="A GNU tool for automatically configuring source code" +arch=('any') +url="https://www.gnu.org/software/autoconf" +groups=('base-devel') +depends=('awk' 'm4' 'diffutils' 'perl' 'sh') +checkdepends=('gcc-fortran') +source=("https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + + # test 310 is a false positive due to warning outputted with our build flags + make check || true +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # license exception + install -Dm644 COPYING.EXCEPTION "$pkgdir"/usr/share/licenses/autoconf/COPYING.EXCEPTION + + # remove unwanted file + rm -f "$pkgdir"/usr/share/info/standards.info +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'GPL3' 'custom') + +validpgpkeys=('82F854F3CE73174B8B63174091FCC32B6769AA64') # Zack Weinberg + +sha256sums=(f14c83cfebcc9427f2c3cea7258bd90df972d92eb26752da4ddad81c87a0faa4 # autoconf-2.71.tar.xz + f33796ff686c45ee946d5862f46b776cf69cad68bf6861ce20847459a3a18a44) # autoconf-2.71.tar.xz.sig diff --git a/autoconf/PKGBUILD-arch b/autoconf/PKGBUILD-arch new file mode 100644 index 0000000..fee77cf --- /dev/null +++ b/autoconf/PKGBUILD-arch @@ -0,0 +1,43 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=autoconf +pkgver=2.71 +pkgrel=1 +pkgdesc="A GNU tool for automatically configuring source code" +arch=('any') +license=('GPL2' 'GPL3' 'custom') +url="https://www.gnu.org/software/autoconf" +groups=('base-devel') +depends=('awk' 'm4' 'diffutils' 'perl' 'sh') +checkdepends=('gcc-fortran') +source=("https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +md5sums=('12cfa1687ffa2606337efe1a64416106' + 'SKIP') +validpgpkeys=('82F854F3CE73174B8B63174091FCC32B6769AA64') # Zack Weinberg + + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + + # test 310 is a false positive due to warning outputted with our build flags + make check || true +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + # license exception + install -Dm644 COPYING.EXCEPTION "$pkgdir"/usr/share/licenses/autoconf/COPYING.EXCEPTION + + # remove unwanted file + rm -f "$pkgdir"/usr/share/info/standards.info +} diff --git a/autoconf/clean b/autoconf/clean new file mode 100644 index 0000000..e1cb68a --- /dev/null +++ b/autoconf/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,autoco*tar.xz*} diff --git a/autoconf/deps b/autoconf/deps new file mode 100644 index 0000000..dd61975 --- /dev/null +++ b/autoconf/deps @@ -0,0 +1,3 @@ +gcc-fortran + + diff --git a/autoconf/key b/autoconf/key new file mode 100644 index 0000000..173daba --- /dev/null +++ b/autoconf/key @@ -0,0 +1 @@ +gpg -v --recv-key 91FCC32B6769AA64 diff --git a/autoconf/time b/autoconf/time new file mode 100644 index 0000000..17a7700 --- /dev/null +++ b/autoconf/time @@ -0,0 +1,4 @@ +real 15m50.056s +user 13m31.633s +sys 1m51.727s + diff --git a/automake/PKGBUILD b/automake/PKGBUILD new file mode 100644 index 0000000..1345ad7 --- /dev/null +++ b/automake/PKGBUILD @@ -0,0 +1,49 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=automake +pkgver=1.16.5 +pkgrel=01 +pkgdesc="A GNU tool for automatically creating Makefiles" +arch=('any') +url="https://www.gnu.org/software/automake" +groups=('base-devel') +depends=('perl' 'bash') +makedepends=('autoconf') +checkdepends=('dejagnu' 'gcc-fortran' 'java-environment' 'vala' 'emacs' 'cscope' + 'expect' 'ncompress' 'gettext' 'lzip' 'zip' 'sharutils' 'help2man' + # disable TeX tests for now, lots of them fail and need upstream + # fixes for current texlive release + #'texlive-bin' 'texinfo' + 'python' 'python-virtualenv') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --build=$CHOST --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('E1622F96D2BB4E58018EEF9860F906016E407573' # Stefano Lattarini + 'F2A38D7EEB2B66405761070D0ADEE10094604D37' # Mathieu Lirzin + '155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering + +sha256sums=(f01d58cd6d9d77fbdca9eb4bbd5ead1988228fdb73d6f7a201f5f8d6b118b469 # automake-1.16.5.tar.xz + 3a161ab65921eed55e1a94251d97c8451d4ba3431b55ca560e95a951b5f1d73a) # automake-1.16.5.tar.xz.sig diff --git a/automake/PKGBUILD-arch b/automake/PKGBUILD-arch new file mode 100644 index 0000000..cbf404a --- /dev/null +++ b/automake/PKGBUILD-arch @@ -0,0 +1,42 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=automake +pkgver=1.16.5 +pkgrel=1 +pkgdesc="A GNU tool for automatically creating Makefiles" +arch=('any') +license=('GPL') +url="https://www.gnu.org/software/automake" +groups=('base-devel') +depends=('perl' 'bash') +makedepends=('autoconf') +checkdepends=('dejagnu' 'gcc-fortran' 'java-environment' 'vala' 'emacs' 'cscope' + 'expect' 'ncompress' 'gettext' 'lzip' 'zip' 'sharutils' 'help2man' + # disable TeX tests for now, lots of them fail and need upstream + # fixes for current texlive release + #'texlive-bin' 'texinfo' + 'python' 'python-virtualenv') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha512sums=('3084ae543aa3fb5a05104ffb2e66cfa9a53080f2343c44809707fd648516869511500dba50dae67ff10f92a1bf3b5a92b2a0fa01cda30adb69b9da03994d9d88' + 'SKIP') +validpgpkeys=('E1622F96D2BB4E58018EEF9860F906016E407573' # Stefano Lattarini + 'F2A38D7EEB2B66405761070D0ADEE10094604D37' # Mathieu Lirzin + '155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --build=$CHOST --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/automake/clean b/automake/clean new file mode 100644 index 0000000..8f85ae3 --- /dev/null +++ b/automake/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,automa*tar.xz*} diff --git a/automake/deps b/automake/deps new file mode 100644 index 0000000..7ec9eaa --- /dev/null +++ b/automake/deps @@ -0,0 +1,15 @@ +ncompress +gettext +lzip +zip +sharutils +help2man +python-virtualenv +autoconf +dejagnu +gcc-fortran +vala +emacs-git +cscope +ttf-liberation +jdk-openjdk diff --git a/automake/time b/automake/time new file mode 100644 index 0000000..b3320af --- /dev/null +++ b/automake/time @@ -0,0 +1,4 @@ +real 19m47.926s +user 41m53.887s +sys 5m17.968s + diff --git a/b43-fwcutter/PKGBUILD b/b43-fwcutter/PKGBUILD new file mode 100644 index 0000000..089da80 --- /dev/null +++ b/b43-fwcutter/PKGBUILD @@ -0,0 +1,37 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=b43-fwcutter +pkgver=019 +pkgrel=03 +pkgdesc="firmware extractor for the b43 kernel module" +url="https://wireless.wiki.kernel.org/en/users/Drivers/b43" +depends=('glibc') +arch=('x86_64') +source=("https://bues.ch/b43/fwcutter/${pkgname}-${pkgver}.tar.bz2"{,.asc}) + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + install -D -m755 b43-fwcutter "$pkgdir"/usr/bin/b43-fwcutter + install -D -m644 b43-fwcutter.1 "$pkgdir"/usr/share/man/man1/b43-fwcutter.1 +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('757FAB7CED1814AE15B4836E5FB027474203454C') # Michael Büsch (Git tag signing key) + +md5sums=('19d1f4226a625756726bdf7ed5dc2a0a' + 'SKIP') + +sha256sums=(d6ea85310df6ae08e7f7e46d8b975e17fc867145ee249307413cfbe15d7121ce # b43-fwcutter-019.tar.bz2 + f4dc7a63e6fc858058c5ce38bd36d0ead45c5e9710648c702dea2cccf7e0f32b) # b43-fwcutter-019.tar.bz2.asc diff --git a/b43-fwcutter/PKGBUILD-arch b/b43-fwcutter/PKGBUILD-arch new file mode 100644 index 0000000..fb9f5ab --- /dev/null +++ b/b43-fwcutter/PKGBUILD-arch @@ -0,0 +1,25 @@ +# Maintainer: Thomas Baechler + +pkgname=b43-fwcutter +pkgver=019 +pkgrel=3 +pkgdesc="firmware extractor for the b43 kernel module" +url="https://wireless.wiki.kernel.org/en/users/Drivers/b43" +depends=('glibc') +license=('GPL') +arch=('x86_64') +source=("https://bues.ch/b43/fwcutter/${pkgname}-${pkgver}.tar.bz2"{,.asc}) +md5sums=('19d1f4226a625756726bdf7ed5dc2a0a' + 'SKIP') +validpgpkeys=('757FAB7CED1814AE15B4836E5FB027474203454C') # Michael Büsch (Git tag signing key) + +build() { + cd $pkgname-$pkgver + make +} + +package() { + cd $pkgname-$pkgver + install -D -m755 b43-fwcutter "$pkgdir"/usr/bin/b43-fwcutter + install -D -m644 b43-fwcutter.1 "$pkgdir"/usr/share/man/man1/b43-fwcutter.1 +} diff --git a/b43-fwcutter/clean b/b43-fwcutter/clean new file mode 100644 index 0000000..d9547c3 --- /dev/null +++ b/b43-fwcutter/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.bz2*} diff --git a/b43-fwcutter/deps b/b43-fwcutter/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/b43-fwcutter/deps @@ -0,0 +1 @@ + diff --git a/b43-fwcutter/key b/b43-fwcutter/key new file mode 100644 index 0000000..0da0197 --- /dev/null +++ b/b43-fwcutter/key @@ -0,0 +1 @@ +gpg -v --recv-key 5FB027474203454C diff --git a/b43-fwcutter/time b/b43-fwcutter/time new file mode 100644 index 0000000..75e537c --- /dev/null +++ b/b43-fwcutter/time @@ -0,0 +1,3 @@ +real 0m1.797s +user 0m1.778s +sys 0m0.239s diff --git a/base/PKGBUILD b/base/PKGBUILD new file mode 100644 index 0000000..92ac1e4 --- /dev/null +++ b/base/PKGBUILD @@ -0,0 +1,61 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=base +pkgdesc='Minimal set of packages to define a basic JOBORun Linux installation' +pkgver=0.1 +pkgrel=06 +groups=( jobbase ) +arch=(x86_64) +source=( README.txt ) +depends=( + # very very core + 'filesystem' 'gcc-libs' 'glibc' 'bash' + + # distro defined requirements + 'licenses' 'pacman' 'nano' 'zsh' 'jobo-setup' 'arch-install-scripts' + + # keyrings GnuPG keys of repo and pkg signatures + 'archlinux-keyring' 'obarun-keyring' 'joborun-keyring' + + # POSIX tools + 'coreutils' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'sed' 'tar' + + # standard linux toolset + 'pciutils' 'psmisc' 'shadow' 'util-linux' 'bzip2' 'gzip' 'xz' 'sudo' + + # init, service supervisors, mdev + 'runit' 'runit-rc' 'joborun66' 'eudev' + + # networking, ping, etc + 'inetutils' 'iputils' 'iproute2' 'net-tools' 'dhclient' 'wpa_supplicant' 'ntp' + + # service scripts - no dependencies + 'runit-service-scripts' + + # fonts for console + 'terminus-font' +) + +optdepends=('linux-lts: recommended kernel' + 'linux: alternative latest lts kernel' + 's6-suite: s6 and 66 system and basic booting necessities' + 'grub: bootloader capable of a multiboot system of various OSes' + 'syslinux: alternative bootloader lighter than grub' ) + +makedepends=('sh' 'glibc') + +package() { + cd "$pkgdir" + install -Dm644 "$srcdir"/README.txt "$pkgdir"/src/README.txt +} + +#---- license gpg-key sha512sums ---- + +license=('ISC') + +sha256sums=(3acf5ee17f5970920a25021bc5d3a6372a0c395f95788bd43e88784bffa2beef) # README.txt diff --git a/base/PKGBUILD-arch b/base/PKGBUILD-arch new file mode 100644 index 0000000..0f23db2 --- /dev/null +++ b/base/PKGBUILD-arch @@ -0,0 +1,28 @@ +# Maintainer: Arch Linux Team +# Contributor: Levente Polyak +# Contributor: Eli Schwartz + +pkgname=base +pkgver=2 +pkgrel=2 +pkgdesc='Minimal package set to define a basic Arch Linux installation' +url='https://www.archlinux.org' +arch=('any') +license=('GPL') +depends=( + # very very base + 'filesystem' 'gcc-libs' 'glibc' 'bash' + + # POSIX tools + 'coreutils' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'sed' 'tar' + + # standard linux toolset + 'gettext' 'pciutils' 'psmisc' 'shadow' 'util-linux' 'bzip2' 'gzip' 'xz' + + # distro defined requirements + 'licenses' 'pacman' 'systemd' 'systemd-sysvcompat' + + # networking, ping, etc + 'iputils' 'iproute2' +) +optdepends=('linux: bare metal support') diff --git a/base/PKGBUILD-oba b/base/PKGBUILD-oba new file mode 100644 index 0000000..d3989b5 --- /dev/null +++ b/base/PKGBUILD-oba @@ -0,0 +1,46 @@ +# Distribution : Obarun S6/66 +#----------------------------- +# Maintainer : Eric Vidal +#---------------- +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/base +#-------------------------------------------------------------------------------- +# DESCRIPTION ] +pkgname=base +pkgver=7 +pkgrel=1 +pkgdesc="Minimal package set to define a basic Obarun Linux installation" + +url='https://web.obarun.org' + +depends=( + # very very base + 'filesystem' 'gcc-libs' 'glibc' 'bash' + + # POSIX tools + 'coreutils' 'file' 'findutils' 'gawk' 'grep' 'procps-ng' 'sed' 'tar' + + # standard linux toolset + 'gettext' 'pciutils' 'psmisc' 'shadow' 'util-linux' 'bzip2' 'gzip' 'xz' + + # distro defined requirements + 'licenses' 'pacman' 'obsysusers' + + #init + 'skalibs' 'execline' 'oblibs' '66' '66-tools' 's6-linux-utils' + 's6-portable-utils' 's6' 's6-rc' 'eudev' 'libeudev' + + # networking, ping, etc + 'iputils' 'iproute2' + + #service + 'boot@-66serv' +) + +optdepends=( + 'linux: bare metal support' +) + +arch=(x86_64) +license=(ISC) + +sha512sums=('') diff --git a/base/README.txt b/base/README.txt new file mode 100644 index 0000000..5dcdfed --- /dev/null +++ b/base/README.txt @@ -0,0 +1,28 @@ +This is the base package for the minimal joborun installation. +Make sure you choose a kernel and bootloader before you attempt your first boot and also run +jobo-setup as root to ensure proper minimal configuration. + +________ + +For a minimal chroot pkg building environment install jobbot. +________ + +What you initially get is a console non graphic system, but we have a setup script that you can +choose between an openbox or Jwm bundle if you this is what you like. Of course you are free to +install whatever environment you like from Obarun, Arch, OUR and AUR repositories. It is just +that we are not willing to support and assist in anything beyond the minimalistic installation of +a window manager and this without a Display Manager and its complications. +________ + +As other distros condition their users with a ton of packages and graphic eye candy we will try +to de-condition our users by showing an alternative route of doing what you really want to do +with the least possible complications. + +######## delete the empty spaces from the addresses below ######## + joborun @ disroot . org reddit . com / r / joborun +######## delete the empty spaces from the above addresses ######## + +We are always open to constructive criticism, suggestions, recommendations, complaints,... We are +here to discuss, not just one on one, but collectively, all that we have an interest in improving +this system. + diff --git a/base/clean b/base/clean new file mode 100644 index 0000000..c39a115 --- /dev/null +++ b/base/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg} diff --git a/base/deps b/base/deps new file mode 100644 index 0000000..de6796f --- /dev/null +++ b/base/deps @@ -0,0 +1,13 @@ +runit +runit-rc +joborun66 +eudev +net-tools +dhclient +wpa_supplicant +runit-service-scripts +terminus-font +jobo-setup +arch-install-scripts +inetutils +ntp diff --git a/base/time b/base/time new file mode 100644 index 0000000..4013efc --- /dev/null +++ b/base/time @@ -0,0 +1,3 @@ +real 0m1.576s +user 0m1.484s +sys 0m0.165s diff --git a/bash/PKGBUILD b/bash/PKGBUILD new file mode 100644 index 0000000..c46384e --- /dev/null +++ b/bash/PKGBUILD @@ -0,0 +1,125 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=bash +_basever=5.1 +_patchlevel=016 +pkgver=${_basever}.${_patchlevel} +pkgrel=01 +pkgdesc='The GNU Bourne Again shell' +arch=(x86_64) +_url='https://www.gnu.org/software/bash/bash.html' +url="https://ftp.gnu.org/gnu" +backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) +depends=(readline libreadline.so glibc ncurses) +optdepends=('bash-completion: for tab completion') +provides=('sh') +source=($url/$pkgname/bash-$_basever.tar.gz{,.sig} + dot.bashrc + dot.bash_profile + dot.bash_logout + system.bashrc + system.bash_logout) + +if [[ $((10#${_patchlevel})) -gt 0 ]]; then + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + source=(${source[@]} $url/$pkgname/$pkgname-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig}) + done +fi + +prepare() { + cd $pkgname-$_basever + + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + echo "applying patch bash${_basever//.}-$(printf "%03d" $_p)" + patch -p0 -i ../bash${_basever//.}-$(printf "%03d" $_p) + done +} + +build() { + cd $pkgname-$_basever + + _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\' + -DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\' + -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\' + -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\' + -DNON_INTERACTIVE_LOGIN_SHELLS) + export CFLAGS="${CFLAGS} ${_bashconfig[@]}" + + ./configure \ + --prefix=/usr \ + --with-curses \ + --enable-readline \ + --without-bash-malloc \ + --with-installed-readline + make +} + +check() { + make -C $pkgname-$_basever check +} + +package() { + make -C $pkgname-$_basever DESTDIR="$pkgdir" install + ln -s bash "$pkgdir/usr/bin/sh" + + # system-wide configuration files + install -Dm644 system.bashrc "$pkgdir/etc/bash.bashrc" + install -Dm644 system.bash_logout "$pkgdir/etc/bash.bash_logout" + + # user configuration file skeletons + install -dm755 "$pkgdir/etc/skel/" + install -m644 dot.bashrc "$pkgdir/etc/skel/.bashrc" + install -m644 dot.bash_profile "$pkgdir/etc/skel/.bash_profile" + install -m644 dot.bash_logout "$pkgdir/etc/skel/.bash_logout" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey + +sha256sums=(cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa # bash-5.1.tar.gz + d532da06303b4127bcc09dd0175d2b04c949a0dfef0420a921698300828d593b # bash-5.1.tar.gz.sig + 3e22bf86ae6708df7a6bceb88c67a00118275f9c0b5268f453dd388af7c43b53 # dot.bashrc + e149407c2bee17779caec70a7edd3d0000d172e7e4347429b80cb4d55bcec9c2 # dot.bash_profile + 4330edf340394d0dae50afb04ac2a621f106fe67fb634ec81c4bfb98be2a1eb5 # dot.bash_logout + 5fdc20c44bc9058f728d11111327f4dbb5598fec4d948dd5265211598667f9f0 # system.bashrc + 025bccfb374a3edce0ff8154d990689f30976b78f7a932dc9a6fcef81821811e # system.bash_logout + ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa # bash51-001 + 8f8725a5c52f53d3ef185492e09eaacd92c791e24cad4c75bb5ea8a3b1d302b8 # bash51-001.sig + 15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe # bash51-002 + 44053017c4a1c5242f8585019a8b44c9af6507b41369535e7040205d4573762c # bash51-002.sig + 22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1 # bash51-003 + acaf4a21d10805c32beebca835c600add4119d33ce3dad01c201ef504b4d27f2 # bash51-003.sig + 9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86 # bash51-004 + 51faca8a8799da8bf815d5488394b6d0c1e3d6ebe3956bfb729b0015e445368f # bash51-004.sig + cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5 # bash51-005 + ed1a3d0165faacc89b3fd6aec2250bf01a584ee3e0a65ff031ebb70d661b0dba # bash51-005.sig + 75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14 # bash51-006 + 0914536dee00241945a6d4323982283d9a9b5e2a4356c2623b9a6d8e71595499 # bash51-006.sig + acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a # bash51-007 + b8f248ca4dcd42144ddd5e3a8ebb72a38313f201685a0c72b886987c6283a3d2 # bash51-007.sig + f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1 # bash51-008 + 3a0591328d5853a5e3f31ba77bda56b4104a681aa49c825cfba11fa99430e4e3 # bash51-008.sig + e45cda953ab4b4b4bde6dc34d0d8ca40d1cc502046eb28070c9ebcd47e33c3ee # bash51-009 + 08ef22908e2dc942a94bcdf32f4e4bd4846601e0087aea6ff357f3a0d2fa508e # bash51-009.sig + a2c8d7b2704eeceff7b1503b7ad9500ea1cb6e9393faebdb3acd2afdd7aeae2a # bash51-010 + d99ce7ff8caf724ad64484caeb4f7300cd79c0c773bcf7429e391538f8c7fc80 # bash51-010.sig + 58191f164934200746f48459a05bca34d1aec1180b08ca2deeee3bb29622027b # bash51-011 + 842161b382c59fa4214f012f8df40bc7e504157fe2ed34652dc8aa1ec1a4fb29 # bash51-011.sig + 10f189c8367c4a15c7392e7bf70d0ff6953f78c9b312ed7622303a779273ab98 # bash51-012 + 37cc1746a5ca0ca3c299cb130efd6062a71b300f95c11e3e8d5f092a28c85911 # bash51-012.sig + c7acb66df435d284304c16ca83a5265f9edd9368612095b01a733d45c77ed5ad # bash51-013 + 0ddca62d8df55ef4e9a408baaf13acbd422074798093515b8e76c16c05a63565 # bash51-013.sig + 6a4ee0c81b437b96279a792c1efcec4ba56f009195a318083db6b53b096f83d0 # bash51-014 + 4ef42bb84993ebb3c44344ee2ee43824271627688401937f7812080fd5d0aa8a # bash51-014.sig + 1b37692ef1f6cc3dcec246773443276066e6b1379868f8c14e01f4dfd4df80f0 # bash51-015 + 379a451a66271bae61d11c2c06f207292790b693ad19209ea267da4cee133b02 # bash51-015.sig + 8899144f76a5db1fb41a89ed881c9f19add95728dd71db324f772ef225c5384f # bash51-016 + 4434cf0bdcfb49cb203373121122be9718f25b51eaf71d0dd3d31d1f9d621201) # bash51-016.sig + diff --git a/bash/PKGBUILD-arch b/bash/PKGBUILD-arch new file mode 100644 index 0000000..044755b --- /dev/null +++ b/bash/PKGBUILD-arch @@ -0,0 +1,121 @@ +# Maintainer: Levente Polyak +# Maintainer: Giancarlo Razzolini +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Aaron Griffin + +pkgname=bash +_basever=5.1 +_patchlevel=016 +pkgver=${_basever}.${_patchlevel} +pkgrel=1 +pkgdesc='The GNU Bourne Again shell' +arch=(x86_64) +license=(GPL) +url='https://www.gnu.org/software/bash/bash.html' +backup=(etc/bash.bash{rc,_logout} etc/skel/.bash{rc,_profile,_logout}) +depends=(readline libreadline.so glibc ncurses) +optdepends=('bash-completion: for tab completion') +provides=('sh') +source=(https://ftp.gnu.org/gnu/bash/bash-$_basever.tar.gz{,.sig} + dot.bashrc + dot.bash_profile + dot.bash_logout + system.bashrc + system.bash_logout) +validpgpkeys=('7C0135FB088AAF6C66C650B9BB5869F064EA74AB') # Chet Ramey + +if [[ $((10#${_patchlevel})) -gt 0 ]]; then + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + source=(${source[@]} https://ftp.gnu.org/gnu/bash/bash-$_basever-patches/bash${_basever//.}-$(printf "%03d" $_p){,.sig}) + done +fi + +prepare() { + cd $pkgname-$_basever + + for (( _p=1; _p<=$((10#${_patchlevel})); _p++ )); do + echo "applying patch bash${_basever//.}-$(printf "%03d" $_p)" + patch -p0 -i ../bash${_basever//.}-$(printf "%03d" $_p) + done +} + +build() { + cd $pkgname-$_basever + + _bashconfig=(-DDEFAULT_PATH_VALUE=\'\"/usr/local/sbin:/usr/local/bin:/usr/bin\"\' + -DSTANDARD_UTILS_PATH=\'\"/usr/bin\"\' + -DSYS_BASHRC=\'\"/etc/bash.bashrc\"\' + -DSYS_BASH_LOGOUT=\'\"/etc/bash.bash_logout\"\' + -DNON_INTERACTIVE_LOGIN_SHELLS) + export CFLAGS="${CFLAGS} ${_bashconfig[@]}" + + ./configure \ + --prefix=/usr \ + --with-curses \ + --enable-readline \ + --without-bash-malloc \ + --with-installed-readline + make +} + +check() { + make -C $pkgname-$_basever check +} + +package() { + make -C $pkgname-$_basever DESTDIR="$pkgdir" install + ln -s bash "$pkgdir/usr/bin/sh" + + # system-wide configuration files + install -Dm644 system.bashrc "$pkgdir/etc/bash.bashrc" + install -Dm644 system.bash_logout "$pkgdir/etc/bash.bash_logout" + + # user configuration file skeletons + install -dm755 "$pkgdir/etc/skel/" + install -m644 dot.bashrc "$pkgdir/etc/skel/.bashrc" + install -m644 dot.bash_profile "$pkgdir/etc/skel/.bash_profile" + install -m644 dot.bash_logout "$pkgdir/etc/skel/.bash_logout" +} + +sha256sums=('cc012bc860406dcf42f64431bcd3d2fa7560c02915a601aba9cd597a39329baa' + 'SKIP' + '3e22bf86ae6708df7a6bceb88c67a00118275f9c0b5268f453dd388af7c43b53' + 'e149407c2bee17779caec70a7edd3d0000d172e7e4347429b80cb4d55bcec9c2' + '4330edf340394d0dae50afb04ac2a621f106fe67fb634ec81c4bfb98be2a1eb5' + '5fdc20c44bc9058f728d11111327f4dbb5598fec4d948dd5265211598667f9f0' + '025bccfb374a3edce0ff8154d990689f30976b78f7a932dc9a6fcef81821811e' + 'ebb07b3dbadd98598f078125d0ae0d699295978a5cdaef6282fe19adef45b5fa' + 'SKIP' + '15ea6121a801e48e658ceee712ea9b88d4ded022046a6147550790caf04f5dbe' + 'SKIP' + '22f2cc262f056b22966281babf4b0a2f84cb7dd2223422e5dcd013c3dcbab6b1' + 'SKIP' + '9aaeb65664ef0d28c0067e47ba5652b518298b3b92d33327d84b98b28d873c86' + 'SKIP' + 'cccbb5e9e6763915d232d29c713007a62b06e65126e3dd2d1128a0dc5ef46da5' + 'SKIP' + '75e17d937de862615c6375def40a7574462210dce88cf741f660e2cc29473d14' + 'SKIP' + 'acfcb8c7e9f73457c0fb12324afb613785e0c9cef3315c9bbab4be702f40393a' + 'SKIP' + 'f22cf3c51a28f084a25aef28950e8777489072628f972b12643b4534a17ed2d1' + 'SKIP' + 'e45cda953ab4b4b4bde6dc34d0d8ca40d1cc502046eb28070c9ebcd47e33c3ee' + 'SKIP' + 'a2c8d7b2704eeceff7b1503b7ad9500ea1cb6e9393faebdb3acd2afdd7aeae2a' + 'SKIP' + '58191f164934200746f48459a05bca34d1aec1180b08ca2deeee3bb29622027b' + 'SKIP' + '10f189c8367c4a15c7392e7bf70d0ff6953f78c9b312ed7622303a779273ab98' + 'SKIP' + 'c7acb66df435d284304c16ca83a5265f9edd9368612095b01a733d45c77ed5ad' + 'SKIP' + '6a4ee0c81b437b96279a792c1efcec4ba56f009195a318083db6b53b096f83d0' + 'SKIP' + '1b37692ef1f6cc3dcec246773443276066e6b1379868f8c14e01f4dfd4df80f0' + 'SKIP' + '8899144f76a5db1fb41a89ed881c9f19add95728dd71db324f772ef225c5384f' + 'SKIP') + +# vim: ts=2 sw=2 et: diff --git a/bash/clean b/bash/clean new file mode 100644 index 0000000..f1a513e --- /dev/null +++ b/bash/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,bash*tar.gz*,bash51-0*} diff --git a/bash/deps b/bash/deps new file mode 100644 index 0000000..e69de29 diff --git a/bash/dot.bash_logout b/bash/dot.bash_logout new file mode 100644 index 0000000..0e4e4f1 --- /dev/null +++ b/bash/dot.bash_logout @@ -0,0 +1,3 @@ +# +# ~/.bash_logout +# diff --git a/bash/dot.bash_profile b/bash/dot.bash_profile new file mode 100644 index 0000000..5545f00 --- /dev/null +++ b/bash/dot.bash_profile @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/bash/dot.bashrc b/bash/dot.bashrc new file mode 100644 index 0000000..a355b0c --- /dev/null +++ b/bash/dot.bashrc @@ -0,0 +1,9 @@ +# +# ~/.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +alias ls='ls --color=auto' +PS1='[\u@\h \W]\$ ' diff --git a/bash/key b/bash/key new file mode 100644 index 0000000..1ddf2e3 --- /dev/null +++ b/bash/key @@ -0,0 +1 @@ +gpg -v --recv-key BB5869F064EA74AB diff --git a/bash/sums b/bash/sums new file mode 100644 index 0000000..867cae2 --- /dev/null +++ b/bash/sums @@ -0,0 +1,31 @@ + bash-5.1.tar.gz + bash-5.1.tar.gz.sig + dot.bashrc + dot.bash_profile + dot.bash_logout + system.bashrc + system.bash_logout + bash51-001 + bash51-001.sig + bash51-002 + bash51-002.sig + bash51-003 + bash51-003.sig + bash51-004 + bash51-004.sig + bash51-005 + bash51-005.sig + bash51-006 + bash51-006.sig + bash51-007 + bash51-007.sig + bash51-008 + bash51-008.sig + bash51-009 + bash51-009.sig + bash51-010 + bash51-010.sig + bash51-011 + bash51-011.sig + bash51-012 + bash51-012.sig diff --git a/bash/system.bash_logout b/bash/system.bash_logout new file mode 100644 index 0000000..a76e48e --- /dev/null +++ b/bash/system.bash_logout @@ -0,0 +1,3 @@ +# +# /etc/bash.bash_logout +# diff --git a/bash/system.bashrc b/bash/system.bashrc new file mode 100644 index 0000000..c484b2b --- /dev/null +++ b/bash/system.bashrc @@ -0,0 +1,22 @@ +# +# /etc/bash.bashrc +# + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +[[ $DISPLAY ]] && shopt -s checkwinsize + +PS1='[\u@\h \W]\$ ' + +case ${TERM} in + xterm*|rxvt*|Eterm|aterm|kterm|gnome*) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' + + ;; + screen*) + PROMPT_COMMAND=${PROMPT_COMMAND:+$PROMPT_COMMAND; }'printf "\033_%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/\~}"' + ;; +esac + +[ -r /usr/share/bash-completion/bash_completion ] && . /usr/share/bash-completion/bash_completion diff --git a/bash/time b/bash/time new file mode 100644 index 0000000..d4a0b1c --- /dev/null +++ b/bash/time @@ -0,0 +1,3 @@ +real 2m26.267s +user 1m12.592s +sys 0m8.083s diff --git a/binutils/PKGBUILD b/binutils/PKGBUILD new file mode 100644 index 0000000..b50cb74 --- /dev/null +++ b/binutils/PKGBUILD @@ -0,0 +1,117 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/attr" +#-----------------------------------------| DESCRIPTION |--------------------------------------- +# +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=binutils +pkgver=2.38 +pkgrel=03 +pkgdesc='A set of programs to assemble and manipulate binary and object files' +arch=(x86_64) +url='https://www.gnu.org/software/binutils/' +#url='https://ftp.gnu.org/gnu/binutils' +groups=( jobbot ) +depends=(glibc zlib libelf) +checkdepends=(dejagnu debuginfod bc) +optdepends=('debuginfod: for debuginfod server/client functionality') +conflicts=(binutils-multilib) +replaces=(binutils-multilib) +options=(staticlibs !distcc !ccache) +#options=(staticlibs !distcc !ccache debug) +#_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e +#source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit) +source=($url/$pkgname-$pkgver.tar.xz{,.sig} + fix-incorrect-undefined-symbol.patch) + +prepare() { + [[ ! -d binutils-gdb ]] && ln -s binutils-$pkgver binutils-gdb + mkdir -p binutils-build + + cd binutils-gdb + + # Turn off development mode (-Werror, gas run-time checks, date in sonames) + sed -i '/^development=/s/true/false/' bfd/development.sh + + # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure + + # fix incorrect "undefined reference" errors + # https://sourceware.org/bugzilla/show_bug.cgi?id=28879 + patch -Np1 -i "${srcdir}"/fix-incorrect-undefined-symbol.patch + +} + +build() { + cd binutils-build + + "$srcdir/binutils-gdb/configure" \ + --prefix=/usr \ + --with-lib-path=/usr/lib:/usr/local/lib \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-cet \ + --enable-deterministic-archives \ + --enable-gold \ + --enable-install-libiberty \ + --enable-ld=default \ + --enable-lto \ + --enable-pgo-build=lto \ + --enable-plugins \ + --enable-relro \ + --enable-shared \ + --enable-targets=x86_64-pep \ + --enable-threads \ + --disable-gdb \ + --disable-gdbserver \ + --disable-libdecnumber \ + --disable-readline \ + --disable-sim \ + --disable-werror \ + --with-debuginfod \ + --with-pic \ + --with-system-zlib + + make -O tooldir=/usr +} + +#check() { +# cd binutils-build +# +## # current testsuite failure in debuginfod (objdump) +## # https://sourceware.org/bugzilla/show_bug.cgi?id=28029 +## sed -i '/test_fetch_debuglink $OBJDUMP/d' \ +## $srcdir/binutils-gdb/binutils/testsuite/binutils-all/debuginfod.exp +# # Use minimal flags for testsuite +# # ld testsuite uses CFLAGS_FOR_TARGET and requires -g +# # gold testsuite requires CXXFLAGS/CFLAGS with default PIE/PIC disabled +# make -O CFLAGS_FOR_TARGET="-O2 -g" \ +# CXXFLAGS="-O2 -no-pie -fno-PIC" \ +# CFLAGS="-O2 -no-pie" \ +# LDFLAGS="" \ +# check +#} + +package() { + cd binutils-build + make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install + + # Remove unwanted files + rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* + + # No shared linking to these files outside binutils + rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so + echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so" + echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so" +} + +#---- license gpg-key sha512sums ---- + +license=(GPL) + +validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) + +sha256sums=(e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024 # binutils-2.38.tar.xz + 41301d67da78df1ad6df04aefe9e7bea8235484b0323cee52caa8f7435385014 # binutils-2.38.tar.xz.sig + fd33b2f8cac7561cecf3fdbb5a50fd2f2dfa6420516cbe57c47784a06fa16bf6) # fix-incorrect-undefined-symbol.patch diff --git a/binutils/PKGBUILD-arch b/binutils/PKGBUILD-arch new file mode 100644 index 0000000..c28772e --- /dev/null +++ b/binutils/PKGBUILD-arch @@ -0,0 +1,102 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=binutils +pkgver=2.38 +pkgrel=3 +pkgdesc='A set of programs to assemble and manipulate binary and object files' +arch=(x86_64) +url='https://www.gnu.org/software/binutils/' +license=(GPL) +groups=(base-devel) +depends=(glibc zlib libelf) +checkdepends=(dejagnu debuginfod bc) +optdepends=('debuginfod: for debuginfod server/client functionality') +conflicts=(binutils-multilib) +replaces=(binutils-multilib) +options=(staticlibs !distcc !ccache debug) +#_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e +#source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit) +source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig} + fix-incorrect-undefined-symbol.patch) +sha256sums=('e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024' + 'SKIP' + 'fd33b2f8cac7561cecf3fdbb5a50fd2f2dfa6420516cbe57c47784a06fa16bf6') +validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) + +prepare() { + [[ ! -d binutils-gdb ]] && ln -s binutils-$pkgver binutils-gdb + mkdir -p binutils-build + + cd binutils-gdb + + # Turn off development mode (-Werror, gas run-time checks, date in sonames) + sed -i '/^development=/s/true/false/' bfd/development.sh + + # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure + + # fix incorrect "undefined reference" errors + # https://sourceware.org/bugzilla/show_bug.cgi?id=28879 + patch -Np1 -i "${srcdir}"/fix-incorrect-undefined-symbol.patch +} + +build() { + cd binutils-build + + "$srcdir/binutils-gdb/configure" \ + --prefix=/usr \ + --with-lib-path=/usr/lib:/usr/local/lib \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-cet \ + --enable-deterministic-archives \ + --enable-gold \ + --enable-install-libiberty \ + --enable-ld=default \ + --enable-lto \ + --enable-pgo-build=lto \ + --enable-plugins \ + --enable-relro \ + --enable-shared \ + --enable-targets=x86_64-pep \ + --enable-threads \ + --disable-gdb \ + --disable-gdbserver \ + --disable-libdecnumber \ + --disable-readline \ + --disable-sim \ + --disable-werror \ + --with-debuginfod \ + --with-pic \ + --with-system-zlib + + make -O tooldir=/usr +} + +check() { + cd binutils-build + + # Use minimal flags for testsuite + # ld testsuite uses CFLAGS_FOR_TARGET and requires -g + # gold testsuite requires CXXFLAGS/CFLAGS with default PIE/PIC disabled + make -O CFLAGS_FOR_TARGET="-O2 -g" \ + CXXFLAGS="-O2 -no-pie -fno-PIC" \ + CFLAGS="-O2 -no-pie" \ + LDFLAGS="" \ + check +} + +package() { + cd binutils-build + make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install + + # Remove unwanted files + rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* + + # No shared linking to these files outside binutils + rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so + echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so" + echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so" +} diff --git a/binutils/PKGBUILD-arch.2.38-01 b/binutils/PKGBUILD-arch.2.38-01 new file mode 100644 index 0000000..e4f4c68 --- /dev/null +++ b/binutils/PKGBUILD-arch.2.38-01 @@ -0,0 +1,84 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=binutils +pkgver=2.38 +pkgrel=1 +pkgdesc='A set of programs to assemble and manipulate binary and object files' +arch=(x86_64) +url='https://www.gnu.org/software/binutils/' +license=(GPL) +groups=(base-devel) +depends=(glibc zlib elfutils) +makedepends=(elfutils git) +conflicts=(binutils-multilib) +replaces=(binutils-multilib) +options=(staticlibs !distcc !ccache) +#_commit=cb5f6a3e146cc70bc2d864989386df80acec5d3e +#source=(git+https://sourceware.org/git/binutils-gdb.git#commit=$_commit) +source=(https://ftp.gnu.org/gnu/binutils/binutils-$pkgver.tar.xz{,.sig}) +sha256sums=('e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024' + 'SKIP') +validpgpkeys=(3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F) + +prepare() { + [[ ! -d binutils-gdb ]] && ln -s binutils-$pkgver binutils-gdb + mkdir -p binutils-build + + cd binutils-gdb + + # Turn off development mode (-Werror, gas run-time checks, date in sonames) + sed -i '/^development=/s/true/false/' bfd/development.sh + + # hack! - libiberty configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" libiberty/configure +} + +build() { + cd binutils-build + + "$srcdir/binutils-gdb/configure" \ + --prefix=/usr \ + --with-lib-path=/usr/lib:/usr/local/lib \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-cet \ + --enable-deterministic-archives \ + --enable-gold \ + --enable-ld=default \ + --enable-lto \ + --enable-plugins \ + --enable-relro \ + --enable-targets=x86_64-pep \ + --enable-threads \ + --disable-gdb \ + --disable-werror \ + --with-debuginfod \ + --with-pic \ + --with-system-zlib + + make -O configure-host + make -O tooldir=/usr +} + +check() { + cd binutils-build + + # unset LDFLAGS as testsuite makes assumptions about which ones are active + # ignore failures in gold testsuite... + make -O -k LDFLAGS="" check || true +} + +package() { + cd binutils-build + make prefix="$pkgdir/usr" tooldir="$pkgdir/usr" install + + # Remove unwanted files + rm -f "$pkgdir"/usr/share/man/man1/{dlltool,nlmconv,windres,windmc}* + + # No shared linking to these files outside binutils + rm -f "$pkgdir"/usr/lib/lib{bfd,opcodes}.so + echo 'INPUT( /usr/lib/libbfd.a -liberty -lz -ldl )' > "$pkgdir/usr/lib/libbfd.so" + echo 'INPUT( /usr/lib/libopcodes.a -lbfd )' > "$pkgdir/usr/lib/libopcodes.so" +} diff --git a/binutils/clean b/binutils/clean new file mode 100644 index 0000000..ddfdd0d --- /dev/null +++ b/binutils/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*tar.xz*} diff --git a/binutils/deps b/binutils/deps new file mode 100644 index 0000000..ed01c89 --- /dev/null +++ b/binutils/deps @@ -0,0 +1,3 @@ +dejagnu +debuginfod +bc diff --git a/binutils/fix-incorrect-undefined-symbol.patch b/binutils/fix-incorrect-undefined-symbol.patch new file mode 100644 index 0000000..be5cbe1 --- /dev/null +++ b/binutils/fix-incorrect-undefined-symbol.patch @@ -0,0 +1,114 @@ +From 20ea3acc727f3be6322dfbd881e506873535231d Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" +Date: Fri, 11 Feb 2022 15:13:19 -0800 +Subject: [PATCH] ld: Keep indirect symbol from IR if referenced from shared + object + +Don't change indirect symbol defined in IR to undefined if it is +referenced from shared object. + +bfd/ + + PR ld/28879 + * elflink.c (_bfd_elf_merge_symbol): Don't change indirect + symbol defined in IR to undefined if it is referenced from + shared object. + +ld/ + + PR ld/28879 + * testsuite/ld-plugin/lto.exp: Run PR ld/28879 tests. + * testsuite/ld-plugin/pr28879a.cc: New file. + * testsuite/ld-plugin/pr28879b.cc: Likewise. +--- + bfd/elflink.c | 5 ++--- + ld/testsuite/ld-plugin/lto.exp | 26 ++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28879a.cc | 7 +++++++ + ld/testsuite/ld-plugin/pr28879b.cc | 8 ++++++++ + 4 files changed, 43 insertions(+), 3 deletions(-) + create mode 100644 ld/testsuite/ld-plugin/pr28879a.cc + create mode 100644 ld/testsuite/ld-plugin/pr28879b.cc + +diff --git a/bfd/elflink.c b/bfd/elflink.c +index 6fa18d92007..f8521426cad 100644 +--- a/bfd/elflink.c ++++ b/bfd/elflink.c +@@ -1294,9 +1294,8 @@ _bfd_elf_merge_symbol (bfd *abfd, + h->root.non_ir_ref_dynamic = true; + hi->root.non_ir_ref_dynamic = true; + } +- +- if ((oldbfd->flags & BFD_PLUGIN) != 0 +- && hi->root.type == bfd_link_hash_indirect) ++ else if ((oldbfd->flags & BFD_PLUGIN) != 0 ++ && hi->root.type == bfd_link_hash_indirect) + { + /* Change indirect symbol from IR to undefined. */ + hi->root.type = bfd_link_hash_undefined; +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index a70a84562b8..64b880265ee 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -471,6 +471,32 @@ set lto_link_elf_tests [list \ + [list {pr27441c.so} \ + {-shared -fPIC -Wl,--as-needed tmpdir/pr27441c.o tmpdir/pr27441b.so tmpdir/pr27441a.so} {-fPIC} \ + {dummy.c} {{readelf {-dW} pr27441c.d}} {pr27441c.so}] \ ++ [list \ ++ "Build libpr28879a.so" \ ++ "-shared" \ ++ "-O0 -fpic" \ ++ {pr28879a.cc} \ ++ {} \ ++ "libpr28879a.so" \ ++ "c++" \ ++ ] \ ++ [list \ ++ "Build libpr28879b.so" \ ++ "-shared -Wl,--no-as-needed tmpdir/libpr28879a.so" \ ++ "-O2 -fpic" \ ++ {dummy.c} \ ++ {} \ ++ "libpr28879b.so" \ ++ ] \ ++ [list \ ++ "Build pr28879" \ ++ "-Wl,--no-as-needed tmpdir/libpr28879b.so -Wl,-rpath-link,." \ ++ "-O0 -flto -D_GLIBCXX_ASSERTIONS" \ ++ {pr28879b.cc} \ ++ {} \ ++ "pr28879" \ ++ "c++" \ ++ ] \ + ] + + # PR 14918 checks that libgcc is not spuriously included in a shared link of +diff --git a/ld/testsuite/ld-plugin/pr28879a.cc b/ld/testsuite/ld-plugin/pr28879a.cc +new file mode 100644 +index 00000000000..8307a42e2fb +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28879a.cc +@@ -0,0 +1,7 @@ ++#include ++ ++void ++func (std::string *s) ++{ ++ delete s; ++} +diff --git a/ld/testsuite/ld-plugin/pr28879b.cc b/ld/testsuite/ld-plugin/pr28879b.cc +new file mode 100644 +index 00000000000..02fc351366c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28879b.cc +@@ -0,0 +1,8 @@ ++#include ++ ++int ++main (void) ++{ ++ std::string header; ++ return 0; ++} +-- +2.35.1 + diff --git a/binutils/key b/binutils/key new file mode 100644 index 0000000..79ad4bf --- /dev/null +++ b/binutils/key @@ -0,0 +1 @@ +gpg -v --recv-key 13FCEF89DD9E3C4F diff --git a/binutils/time b/binutils/time new file mode 100644 index 0000000..d7d71f6 --- /dev/null +++ b/binutils/time @@ -0,0 +1,9 @@ +real 2m47.361s +user 9m4.310s +sys 0m34.455s + + +real 2m47.361s +user 9m4.310s +sys 0m34.455s + diff --git a/bison/PKGBUILD b/bison/PKGBUILD new file mode 100644 index 0000000..b475f8d --- /dev/null +++ b/bison/PKGBUILD @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=bison +pkgver=3.8.2 +pkgrel=03 +pkgdesc="The GNU general-purpose parser generator" +arch=('x86_64') +url="https://www.gnu.org/software/bison/bison.html" +depends=('glibc' 'm4' 'sh' 'gettext') +groups=('base-devel') +source=("https://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.xz"{,.sig}) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --datadir=/usr/share + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E') # Akim Demaille + +sha512sums=('d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444' + 'SKIP') + +sha256sums=(9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2 # bison-3.8.2.tar.xz + aeff6fd7d7d7cad905ba3bc5228a2ccb95500c0f51fb4483e229c47c7c50f835) # bison-3.8.2.tar.xz.sig diff --git a/bison/PKGBUILD-arch b/bison/PKGBUILD-arch new file mode 100644 index 0000000..1d9f6e4 --- /dev/null +++ b/bison/PKGBUILD-arch @@ -0,0 +1,34 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: Eric Belanger + +pkgname=bison +pkgver=3.8.2 +pkgrel=3 +pkgdesc="The GNU general-purpose parser generator" +arch=('x86_64') +license=('GPL3') +url="https://www.gnu.org/software/bison/bison.html" +depends=('glibc' 'm4' 'sh' 'gettext') +groups=('base-devel') +source=("https://ftp.gnu.org/gnu/bison/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha512sums=('d4d23af6671406e97257892f90651b67f2ab95219831372be032190b7156c10a3435d457857e677445df8b2327aacccc15344acbbc3808a6f332a93cce23b444' + 'SKIP') +validpgpkeys=('7DF84374B1EE1F9764BBE25D0DDCAA3278D5264E') # Akim Demaille + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure --prefix=/usr --datadir=/usr/share + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/bison/clean b/bison/clean new file mode 100644 index 0000000..b1be558 --- /dev/null +++ b/bison/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,bison*tar.xz*} diff --git a/bison/deps b/bison/deps new file mode 100644 index 0000000..d5051de --- /dev/null +++ b/bison/deps @@ -0,0 +1 @@ +gettext diff --git a/bison/key b/bison/key new file mode 100644 index 0000000..d4566ea --- /dev/null +++ b/bison/key @@ -0,0 +1 @@ +gpg -v --recv-key 0DDCAA3278D5264E diff --git a/bison/time b/bison/time new file mode 100644 index 0000000..97cfd6f --- /dev/null +++ b/bison/time @@ -0,0 +1,3 @@ +real 8m28.387s +user 30m32.463s +sys 1m33.920s diff --git a/boot-66serv/PKGBUILD b/boot-66serv/PKGBUILD new file mode 100644 index 0000000..3db8c4c --- /dev/null +++ b/boot-66serv/PKGBUILD @@ -0,0 +1,64 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=boot-66serv +pkgdesc="Complete and portable set of services to properly boot a machine with 66 tools" +pkgver=2.4.1 +pkgrel=04 +arch=('x86_64') +url="https://git.obarun.org/obmods/${pkgname}" +source=("${pkgname}::git+${url}#tag=v${pkgver}" + boot.install) + +makedepends=('git') + +build() { + cd "${pkgbase}" + ./configure \ + --bindir=/usr/bin \ + --with-system-service=/usr/lib/66/service \ + --with-system-module=/usr/lib/66/module \ + --with-system-script=/usr/lib/66/script +} + +package() { + cd "${pkgbase}" + make DESTDIR="${pkgdir}" install +} + +install=boot.install + +groups=('s6-suite') + +backup=('etc/66/rc.local') + +depends=( '66>=0.6.1.3' + '66-tools>=0.0.7.3' + 's6-linux-utils' + 's6-portable-utils' + 'util-linux' + 'iproute2' + 'kmod' + 'opentmpfiles' + 'obsysusers' + 'modules' + 'iptables') # Obarun has this as optional but it is part of base and boot crashes without it + +optdepends=('nftables: nftables support' + 'ebtables: ebtables support' + 'arptables: arptables support' + 'dmraid: dmraid support' + 'lvm2: lvm support' + 'btrfs-progs: btrfs support' + 'cryptsetup: encryption support') + +#---- license gpg-key sha256sums ---- + +license=('0BSD') + +sha256sums=(SKIP + f7e81047005998f6db00c187835c9aa3248d73c2f50b97617e48851825f65ad6) # boot.install diff --git a/boot-66serv/PKGBUILD-oba b/boot-66serv/PKGBUILD-oba new file mode 100644 index 0000000..46331e2 --- /dev/null +++ b/boot-66serv/PKGBUILD-oba @@ -0,0 +1,92 @@ +# Obarun : 66 init/supervisor +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +# PkgSource : url="https://git.obarun.org/pkg/observice/boot-66serv" +#----------------------------------------------------------------------------------------------- + +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=boot-66serv +pkgname=boot@-66serv + +pkgdesc="Complete and portable set of services to properly boot a machine with 66 tools" + +pkgver=2.4.1 +pkgrel=2 + +url="https://git.obarun.org/obmods/${pkgbase}" + +track="tag" +target="v${pkgver}" +source=("${pkgbase}::git+${url}#${track}=${target}") + +#-------------------------------------| BUILD CONFIGURATION |----------------------------------- + +makedepends=( + 'git') + +#--------------------------------------------| BUILD |------------------------------------------- + +build() { + cd "${pkgbase}" + + ./configure \ + --bindir=/usr/bin \ + --with-system-service=/usr/lib/66/service \ + --with-system-module=/usr/lib/66/module \ + --with-system-script=/usr/lib/66/script +} + +#-------------------------------------------| PACKAGE |------------------------------------------ + +package() { + cd "${pkgbase}" + + make DESTDIR="${pkgdir}" install +} + +#------------------------------------| INSTALL CONFIGURATION |---------------------------------- + +arch=('x86_64') + +install=boot.install + +groups=( + 'base' + 's6-suite') + +backup=( + 'etc/66/rc.local') + +depends=( + '66>=0.6.1.3' + '66-tools>=0.0.7.3' + 's6-linux-utils' + 's6-portable-utils' + 'util-linux' + 'iproute2' + 'kmod' + 'opentmpfiles' + 'modules') + +optdepends=( + 'iptables: iptables support' + 'nftables: nftables support' + 'ebtables: ebtables support' + 'arptables: arptables support' + 'dmraid: dmraid support' + 'lvm2: lvm support' + 'btrfs-progs: btrfs support' + 'zfs: zfs support' + 'cryptsetup: encryption support') + +replaces=('boot-66serv') + +conflicts=('boot-66serv') + +provides=('boot-66serv') + +#-------------------------------------| SECURITY AND LICENCE |---------------------------------- + +sha512sums=('SKIP') +license=('0BSD') diff --git a/boot-66serv/boot.install b/boot-66serv/boot.install new file mode 100644 index 0000000..2787c75 --- /dev/null +++ b/boot-66serv/boot.install @@ -0,0 +1,8 @@ +post_install() { + 66-yeller -zcp boot@ -W Please enable again your boot@sys service by using the following command as root %rbefore rebooting%n: + 66-yeller -zicp boot@ " %w66-enable -t boot -F boot@sys%n" +} + +post_upgrade() { + post_install +} diff --git a/boot-66serv/clean b/boot-66serv/clean new file mode 100644 index 0000000..3fe1a13 --- /dev/null +++ b/boot-66serv/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,boot-66serv} diff --git a/boot-66serv/deps b/boot-66serv/deps new file mode 100644 index 0000000..2127fea --- /dev/null +++ b/boot-66serv/deps @@ -0,0 +1,9 @@ +66 +66-tools +s6-linux-utils +s6-portable-utils +opentmpfiles +modules +git +boot@-66serv +obsysusers diff --git a/boot-66serv/time b/boot-66serv/time new file mode 100644 index 0000000..224f7bd --- /dev/null +++ b/boot-66serv/time @@ -0,0 +1,3 @@ +real 0m3.091s +user 0m2.468s +sys 0m0.357s diff --git a/boot@-66serv/PKGBUILD b/boot@-66serv/PKGBUILD new file mode 100644 index 0000000..792be42 --- /dev/null +++ b/boot@-66serv/PKGBUILD @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=boot@-66serv +pkgdesc="Dummy pkg to block Obarun's boot@-66serv which breaks runit setup" +pkgver=99.99 +pkgrel=01 +arch=('x86_64') +source=(README.txt install) + +makedepends=(glibc) + +prepare() { + mkdir -p $pkgname + cd $pkgname +} + +package() { + cd "${pkgname}" + install -Dm 0644 $srcdir/README.txt $pkgdir/etc/66/README.txt +} + +install=install + +groups=('s6-suite') + +backup=('etc/66/README.txt') + +depends=(boot-66serv) # Ensures our version of boot-66serv is installed instead of Obarun's boot@-66serv + +optdepends=(runit runit-rc runit-service-scripts joborun66) + +#---- license gpg-key sha256sums ---- + +license=('ISC') + +sha256sums=(333d7ce7f5dc1cfe0ee796aea4f3ded01cdbd2ff4e3994ce26d64385cd7ceec9 # README.txt + c768fe5ed7d8262a4f628d0de8a24fed0817a6a1ef219bc5af45a7af650f03b2) # install diff --git a/boot@-66serv/README.txt b/boot@-66serv/README.txt new file mode 100644 index 0000000..e63dfed --- /dev/null +++ b/boot@-66serv/README.txt @@ -0,0 +1,9 @@ + + This pkg was created with the sole purpose of blocking Obarun's boot@-66serv replaced by our own + boot-66serv. If you were to install the authentic Obarun boot@-66serv you would break the system, + unless you are saying goodbye to runit and want it permanently removed, thus switching to the + full Obarun setup. The reason we rebuild boot-66serv as our own is so the conflicting files + with runit/runit-rc do not conflict and can be located separately, while the 4 power functions + (reboot, poweroff, halt, shutdown) can operate either one of the two systems (runit s6). + + diff --git a/boot@-66serv/clean b/boot@-66serv/clean new file mode 100644 index 0000000..903c960 --- /dev/null +++ b/boot@-66serv/clean @@ -0,0 +1 @@ +rm -rf {src,pkg} diff --git a/boot@-66serv/deps b/boot@-66serv/deps new file mode 100644 index 0000000..8c8e80a --- /dev/null +++ b/boot@-66serv/deps @@ -0,0 +1 @@ +boot-66serv diff --git a/boot@-66serv/install b/boot@-66serv/install new file mode 100644 index 0000000..bef58a3 --- /dev/null +++ b/boot@-66serv/install @@ -0,0 +1,7 @@ +post_install() { + echo "This is a metapackage for joborun's boot-66serv to replace boot@-66serv by Obarun" +} + +post_upgrade() { + post_install +} diff --git a/boot@-66serv/time b/boot@-66serv/time new file mode 100644 index 0000000..4623ec7 --- /dev/null +++ b/boot@-66serv/time @@ -0,0 +1,4 @@ +real 0m1.488s +user 0m1.430s +sys 0m0.230s + diff --git a/bootlogd/PKGBUILD b/bootlogd/PKGBUILD new file mode 100644 index 0000000..0a24283 --- /dev/null +++ b/bootlogd/PKGBUILD @@ -0,0 +1,31 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=bootlogd +pkgver=2.89 +pkgrel=03 +arch=('x86_64') +pkgdesc='Bootlogd extracted from sysvinit' +url='https://github.com/artix-linux/bootlogd' +depends=('glibc' 'logrotate') +makedepends=('git') +source=("git+$url.git") + +build() { + cd ${pkgname} + make +} + +package() { + cd ${pkgname} + make DESTDIR=${pkgdir} install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(SKIP) # bootlogd diff --git a/bootlogd/PKGBUILD-artix b/bootlogd/PKGBUILD-artix new file mode 100644 index 0000000..a98b017 --- /dev/null +++ b/bootlogd/PKGBUILD-artix @@ -0,0 +1,23 @@ +# Maintainer: artoo + +pkgname=bootlogd +pkgver=2.89 +pkgrel=3 +arch=('x86_64') +pkgdesc='Bootlogd extracted from sysvinit' +license=('GPL') +url='https://github.com/artix-linux/bootlogd' +depends=('glibc' 'logrotate') +makedepends=('git') +source=("git+$url.git") +sha256sums=('SKIP') + +build() { + cd ${pkgname} + make +} + +package() { + cd ${pkgname} + make DESTDIR=${pkgdir} install +} diff --git a/bootlogd/clean b/bootlogd/clean new file mode 100644 index 0000000..e364bad --- /dev/null +++ b/bootlogd/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,bootlogd} diff --git a/bootlogd/deps b/bootlogd/deps new file mode 100644 index 0000000..f771cec --- /dev/null +++ b/bootlogd/deps @@ -0,0 +1,2 @@ +git +logrotate diff --git a/bootlogd/time b/bootlogd/time new file mode 100644 index 0000000..c86f437 --- /dev/null +++ b/bootlogd/time @@ -0,0 +1,4 @@ + +real 0m2.380s +user 0m1.446s +sys 0m0.286s diff --git a/brotli/PKGBUILD b/brotli/PKGBUILD new file mode 100644 index 0000000..18af02f --- /dev/null +++ b/brotli/PKGBUILD @@ -0,0 +1,81 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/attr" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=brotli +pkgname=('brotli' 'python-brotli' 'brotli-testdata') +_gitcommit=e61745a6b7add50d380cfd7d3883dd6c62fc2c71 +pkgver=1.0.9 +pkgrel=07 +pkgdesc='Generic-purpose lossless compression algorithm' +url='https://github.com/google/brotli' +arch=('x86_64') +makedepends=('git' 'glibc' 'gcc-libs' 'cmake' 'python-setuptools') +source=(${pkgname}::"git+${url}#commit=${_gitcommit}") + +prepare() { + cd ${pkgbase} + git cherry-pick -n 09b0992b6acb7faa6fd3b23f9bc036ea117230fc # Fix broken Libs: in pc file +} + +pkgver() { + cd ${pkgbase} + git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +build() { + cd ${pkgbase} + python setup.py build + cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True + make -C build VERBOSE=1 +} + +check() { + cd ${pkgbase} + make test + python setup.py test +} + +package_brotli() { + depends=('gcc-libs' 'glibc') + provides=(libbrotlicommon.so libbrotlidec.so libbrotlienc.so) + + cd ${pkgbase} + make -C build DESTDIR="$pkgdir" install + local man; + for man in docs/*.?; do + install -Dm 644 "$man" "$pkgdir/usr/share/man/man${man##*.}/${man##*/}" + done + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_python-brotli() { + pkgdesc+=' - python library' + depends=('python' 'glibc' 'gcc-libs') + + cd ${pkgbase} + python setup.py install --skip-build -O1 --root="$pkgdir" + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_brotli-testdata() { + pkgdesc+=' - test data' + depends=() + + cd ${pkgbase} + install -dm755 "$pkgdir"/usr/share/brotli + cp -a tests/testdata "$pkgdir"/usr/share/brotli/ + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +#---- license gpg-key sha512sums ---- + +license=('MIT') + +sha256sums=('SKIP') diff --git a/brotli/PKGBUILD-arch b/brotli/PKGBUILD-arch new file mode 100644 index 0000000..f574a2f --- /dev/null +++ b/brotli/PKGBUILD-arch @@ -0,0 +1,77 @@ +# Maintainer: Felix Yan +# Maintainer: Levente Polyak +# Contributor: Lex Black +# Contributor: TingPing +# Contributor: Guillaume Horel + +pkgbase=brotli +pkgname=('brotli' 'python-brotli' 'brotli-testdata') +_gitcommit=e61745a6b7add50d380cfd7d3883dd6c62fc2c71 +pkgver=1.0.9 +pkgrel=7 +pkgdesc='Generic-purpose lossless compression algorithm' +url='https://github.com/google/brotli' +arch=('x86_64') +license=('MIT') +makedepends=('git' 'glibc' 'gcc-libs' 'cmake' 'python-setuptools') +source=(${pkgname}::"git+${url}#commit=${_gitcommit}") +sha512sums=('SKIP') + +prepare() { + cd ${pkgbase} + git cherry-pick -n 09b0992b6acb7faa6fd3b23f9bc036ea117230fc # Fix broken Libs: in pc file +} + +pkgver() { + cd ${pkgbase} + git describe --tags --match 'v*' | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g' +} + +build() { + cd ${pkgbase} + python setup.py build + cmake -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DBUILD_SHARED_LIBS=True + make -C build VERBOSE=1 +} + +check() { + cd ${pkgbase} + make test + python setup.py test +} + +package_brotli() { + depends=('gcc-libs' 'glibc') + provides=(libbrotlicommon.so libbrotlidec.so libbrotlienc.so) + + cd ${pkgbase} + make -C build DESTDIR="$pkgdir" install + local man; + for man in docs/*.?; do + install -Dm 644 "$man" "$pkgdir/usr/share/man/man${man##*.}/${man##*/}" + done + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_python-brotli() { + pkgdesc+=' - python library' + depends=('python' 'glibc' 'gcc-libs') + + cd ${pkgbase} + python setup.py install --skip-build -O1 --root="$pkgdir" + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} + +package_brotli-testdata() { + pkgdesc+=' - test data' + depends=() + + cd ${pkgbase} + install -dm755 "$pkgdir"/usr/share/brotli + cp -a tests/testdata "$pkgdir"/usr/share/brotli/ + install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname" +} diff --git a/brotli/clean b/brotli/clean new file mode 100644 index 0000000..c2639af --- /dev/null +++ b/brotli/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,brotli} diff --git a/brotli/deps b/brotli/deps new file mode 100644 index 0000000..bfcfa33 --- /dev/null +++ b/brotli/deps @@ -0,0 +1 @@ +git cmake python-setuptools diff --git a/brotli/time b/brotli/time new file mode 100644 index 0000000..7a4ebda --- /dev/null +++ b/brotli/time @@ -0,0 +1,10 @@ + +real 4m2.062s +user 3m9.363s +sys 0m9.783s + + +real 1m14.793s +user 1m10.431s +sys 0m4.184s +w & w/o src download diff --git a/btrfs-progs/PKGBUILD b/btrfs-progs/PKGBUILD new file mode 100644 index 0000000..b4840df --- /dev/null +++ b/btrfs-progs/PKGBUILD @@ -0,0 +1,75 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=btrfs-progs +pkgver=5.16.2 +pkgrel=01 +pkgdesc='Btrfs filesystem utilities w/o systemd' +arch=('x86_64') +makedepends=('git' 'asciidoc' 'xmlto' 'python' 'python-setuptools' 'e2fsprogs' 'reiserfsprogs') +depends=('glibc' 'util-linux-libs' 'lzo' 'zlib' 'zstd' 'libgcrypt') +optdepends=('python: libbtrfsutil python bindings' + 'e2fsprogs: btrfs-convert' + 'reiserfsprogs: btrfs-convert') +url='https://btrfs.wiki.kernel.org' +replaces=('btrfs-progs-unstable') +conflicts=('btrfs-progs-unstable') +provides=('btrfs-progs-unstable') +source=("https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v$pkgver.tar."{sign,xz} + 'initcpio-install-btrfs' + 'initcpio-hook-btrfs') +install=btrfs-progs.install +options=(!staticlibs) + +prepare() { + cd $pkgname-v$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-v$pkgver + ./configure --prefix=/usr --with-crypto=libgcrypt + make +} + +check() { + cd $pkgname-v$pkgver + ./btrfs filesystem show +} + +package() { + cd $pkgname-v$pkgver + make DESTDIR="$pkgdir" install install_python + + # install bash completion (FS#44618) + install -Dm644 btrfs-completion "$pkgdir/usr/share/bash-completion/completions/btrfs" + + # install mkinitcpio hooks + cd "$srcdir" + install -Dm644 initcpio-install-btrfs "$pkgdir/usr/lib/initcpio/install/btrfs" + install -Dm644 initcpio-hook-btrfs "$pkgdir/usr/lib/initcpio/hooks/btrfs" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('F2B41200C54EFB30380C1756C565D5F9D76D583B') + +sha256sums=(a838ed4a18dda6ed5f6b512d63b721110f14eb833a81c6934f7c6640361bd4f5 # btrfs-progs-v5.16.2.tar.sign + 9e9b303a1d0fd9ceaaf204ee74c1c8fa1fd55794e223d9fe2bc62875ecbd53d2 # btrfs-progs-v5.16.2.tar.xz + bbe60b35d1b1e2efc1308a8f54f1fdc6808240a81c5f5b4d75321b7ee86e41f4 # initcpio-install-btrfs + 35efeee8590d6d60c711ae9cdc918e4841ab61d10cb02359e65e36ebff95ffc5) # initcpio-hook-btrfs + diff --git a/btrfs-progs/PKGBUILD-arch b/btrfs-progs/PKGBUILD-arch new file mode 100644 index 0000000..1610b53 --- /dev/null +++ b/btrfs-progs/PKGBUILD-arch @@ -0,0 +1,76 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Tom Gundersen +# Contributor: Tobias Powalowski + +pkgname=btrfs-progs +pkgver=5.16.2 +pkgrel=1 +pkgdesc='Btrfs filesystem utilities' +arch=('x86_64') +makedepends=('git' 'asciidoc' 'xmlto' 'systemd' 'python' 'python-setuptools' 'e2fsprogs' 'reiserfsprogs') +depends=('glibc' 'util-linux-libs' 'lzo' 'zlib' 'zstd' 'libgcrypt') +optdepends=('python: libbtrfsutil python bindings' + 'e2fsprogs: btrfs-convert' + 'reiserfsprogs: btrfs-convert') +url='https://btrfs.wiki.kernel.org' +replaces=('btrfs-progs-unstable') +conflicts=('btrfs-progs-unstable') +provides=('btrfs-progs-unstable') +license=('GPL2') +validpgpkeys=('F2B41200C54EFB30380C1756C565D5F9D76D583B') +source=("https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v$pkgver.tar."{sign,xz} + 'initcpio-install-btrfs' + 'initcpio-hook-btrfs' + 'btrfs-scrub@.service' + 'btrfs-scrub@.timer') +install=btrfs-progs.install +options=(!staticlibs) +sha256sums=('SKIP' + '9e9b303a1d0fd9ceaaf204ee74c1c8fa1fd55794e223d9fe2bc62875ecbd53d2' + 'bbe60b35d1b1e2efc1308a8f54f1fdc6808240a81c5f5b4d75321b7ee86e41f4' + '35efeee8590d6d60c711ae9cdc918e4841ab61d10cb02359e65e36ebff95ffc5' + 'eaa7af92d28bfa8940bb551560fd7be777f9f175292eaa72b5f6ef00fb240252' + '9a0b6cc23f7bd97b83b6c38dd2b4e4373fead8bd3ccfb82a47c72971e9d6f8ad') + +prepare() { + cd $pkgname-v$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-v$pkgver + ./configure --prefix=/usr --with-crypto=libgcrypt + make +} + +check() { + cd $pkgname-v$pkgver + ./btrfs filesystem show +} + +package() { + cd $pkgname-v$pkgver + make DESTDIR="$pkgdir" install install_python + + # install bash completion (FS#44618) + install -Dm644 btrfs-completion "$pkgdir/usr/share/bash-completion/completions/btrfs" + + # install mkinitcpio hooks + cd "$srcdir" + install -Dm644 initcpio-install-btrfs "$pkgdir/usr/lib/initcpio/install/btrfs" + install -Dm644 initcpio-hook-btrfs "$pkgdir/usr/lib/initcpio/hooks/btrfs" + + # install scrub service/timer + install -Dm644 btrfs-scrub@.service "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.service" + install -Dm644 btrfs-scrub@.timer "$pkgdir/usr/lib/systemd/system/btrfs-scrub@.timer" +} + +# vim:set ts=2 sw=2 ft=sh et: diff --git a/btrfs-progs/btrfs-progs.install b/btrfs-progs/btrfs-progs.install new file mode 100644 index 0000000..1e75f02 --- /dev/null +++ b/btrfs-progs/btrfs-progs.install @@ -0,0 +1,15 @@ +#!/bin/sh + +## arg 1: the new package version +## arg 2: the old package version +post_upgrade() { + if (( "$(vercmp "$2" 0.19.20121005)" < 0 )); then + echo 'btrfs multi-device support now relies on linux 3.6 or later' + elif (( "$(vercmp "$2" 4.3.1-2)" < 0 )); then + echo 'btrfs-scrub@.timer instance names must not be prefix by dash anymore' + echo 'use btrfs-scrub@-.timer to scrub / monthly' + echo ' btrfs-scrub@home.timer to scrub /home monthly.' + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/btrfs-progs/clean b/btrfs-progs/clean new file mode 100644 index 0000000..1ed02b7 --- /dev/null +++ b/btrfs-progs/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.*} diff --git a/btrfs-progs/deps b/btrfs-progs/deps new file mode 100644 index 0000000..02a7875 --- /dev/null +++ b/btrfs-progs/deps @@ -0,0 +1,8 @@ +git +xmlto +python +python-setuptools +reiserfsprogs +lzo +asciidoc + diff --git a/btrfs-progs/initcpio-hook-btrfs b/btrfs-progs/initcpio-hook-btrfs new file mode 100644 index 0000000..7965d0a --- /dev/null +++ b/btrfs-progs/initcpio-hook-btrfs @@ -0,0 +1,7 @@ +#!/usr/bin/ash + +run_hook() { + btrfs device scan +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/btrfs-progs/initcpio-install-btrfs b/btrfs-progs/initcpio-install-btrfs new file mode 100644 index 0000000..f7b0285 --- /dev/null +++ b/btrfs-progs/initcpio-install-btrfs @@ -0,0 +1,17 @@ +#!/bin/bash + +build() { + add_module btrfs + add_binary btrfs + add_binary btrfsck + add_runscript +} + +help() { + cat < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/attr" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=bzip2 +pkgver=1.0.8 +pkgrel=04 +pkgdesc="A high-quality data compression program" +arch=('x86_64') +url="https://sourceware.org/bzip2/" +depends=('glibc' 'sh') +provides=('libbz2.so') +source=(https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz{,.sig} + bzip2.pc) + +prepare() { + cd $pkgname-$pkgver + cp ../bzip2.pc bzip2.pc + sed "s|@VERSION@|$pkgver|" -i bzip2.pc +} + +build() { + cd $pkgname-$pkgver + + make -f Makefile-libbz2_so CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" + make bzip2 bzip2recover CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" +} + +check() { + cd $pkgname-$pkgver + make test +} + +package() { + cd $pkgname-$pkgver + + install -dm755 "$pkgdir"/usr/{bin,lib,include,share/man/man1} + + install -m755 bzip2-shared "$pkgdir"/usr/bin/bzip2 + install -m755 bzip2recover bzdiff bzgrep bzmore "$pkgdir"/usr/bin + ln -sf bzip2 "$pkgdir"/usr/bin/bunzip2 + ln -sf bzip2 "$pkgdir"/usr/bin/bzcat + + cp -a libbz2.so* "$pkgdir"/usr/lib + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so.1 # For compatibility with some other distros + + install -m644 bzlib.h "$pkgdir"/usr/include/ + + install -m644 bzip2.1 "$pkgdir"/usr/share/man/man1/ + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bunzip2.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzcat.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzip2recover.1 + + install -Dm644 bzip2.pc -t "$pkgdir"/usr/lib/pkgconfig + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE +} + +#---- license gpg-key sha512sums ---- + +validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A') # Mark Wielaard + +license=('BSD') + +sha512sums=( + '083f5e675d73f3233c7930ebe20425a533feedeaaa9d8cc86831312a6581cefbe6ed0d08d2fa89be81082f2a5abdabca8b3c080bf97218a1bd59dc118a30b9f3' # bzip2-1.0.8.tar.gz + '4a4a3fa0ec1c10a704b9870e8e629fd007cca55184423c6bfc3049a702fb41e4aeb73bfe9ca7442c27d32d278f1f34f27523a6be67d35b37896acdded12bf40d' # bzip2-1.0.8.tar.gz.sig + 'e17c6f8f88a89d38667a68cd1397c863663c7996a9f18481f3f6ed35902044220c01e5fe19f114159fceac068a4dd32c2ddc903f0d0901cdf722c841dd9f2b93') # bzip2.pc diff --git a/bzip2/PKGBUILD-arch b/bzip2/PKGBUILD-arch new file mode 100644 index 0000000..936bc00 --- /dev/null +++ b/bzip2/PKGBUILD-arch @@ -0,0 +1,61 @@ +# Maintainer: Ronald van Haren +# Contributor: Judd + +pkgname=bzip2 +pkgver=1.0.8 +pkgrel=4 +pkgdesc="A high-quality data compression program" +arch=('x86_64') +license=('BSD') +url="https://sourceware.org/bzip2/" +depends=('glibc' 'sh') +provides=('libbz2.so') +source=(https://sourceware.org/pub/bzip2/$pkgname-$pkgver.tar.gz{,.sig} + bzip2.pc) +sha256sums=('ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269' + 'SKIP' + 'eca9d8cd6376df1fb5442667c603032023fb21d8d183684550da0b96ade39654') +validpgpkeys=('EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A') # Mark Wielaard + +prepare() { + cd $pkgname-$pkgver + cp ../bzip2.pc bzip2.pc + sed "s|@VERSION@|$pkgver|" -i bzip2.pc +} + +build() { + cd $pkgname-$pkgver + + make -f Makefile-libbz2_so CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" + make bzip2 bzip2recover CC="gcc $CFLAGS $CPPFLAGS $LDFLAGS" +} + +check() { + cd $pkgname-$pkgver + make test +} + +package() { + cd $pkgname-$pkgver + + install -dm755 "$pkgdir"/usr/{bin,lib,include,share/man/man1} + + install -m755 bzip2-shared "$pkgdir"/usr/bin/bzip2 + install -m755 bzip2recover bzdiff bzgrep bzmore "$pkgdir"/usr/bin + ln -sf bzip2 "$pkgdir"/usr/bin/bunzip2 + ln -sf bzip2 "$pkgdir"/usr/bin/bzcat + + cp -a libbz2.so* "$pkgdir"/usr/lib + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so + ln -s libbz2.so.$pkgver "$pkgdir"/usr/lib/libbz2.so.1 # For compatibility with some other distros + + install -m644 bzlib.h "$pkgdir"/usr/include/ + + install -m644 bzip2.1 "$pkgdir"/usr/share/man/man1/ + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bunzip2.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzcat.1 + ln -sf bzip2.1 "$pkgdir"/usr/share/man/man1/bzip2recover.1 + + install -Dm644 bzip2.pc -t "$pkgdir"/usr/lib/pkgconfig + install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/bzip2/bzip2.pc b/bzip2/bzip2.pc new file mode 100644 index 0000000..a4dd682 --- /dev/null +++ b/bzip2/bzip2.pc @@ -0,0 +1,11 @@ +prefix=/usr +exec_prefix=/usr +bindir=${exec_prefix}/bin +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: bzip2 +Description: A file compression library +Version: @VERSION@ +Libs: -L${libdir} -lbz2 +Cflags: -I${includedir} diff --git a/bzip2/clean b/bzip2/clean new file mode 100644 index 0000000..dfc2a4f --- /dev/null +++ b/bzip2/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,bzip2-*} diff --git a/bzip2/key b/bzip2/key new file mode 100644 index 0000000..59964f2 --- /dev/null +++ b/bzip2/key @@ -0,0 +1 @@ +gpg -v --recv-key FC57E3CCACD99A78 diff --git a/bzip2/time b/bzip2/time new file mode 100644 index 0000000..527088a --- /dev/null +++ b/bzip2/time @@ -0,0 +1,4 @@ + +real 0m4.777s +user 0m7.429s +sys 0m0.437s diff --git a/ca-certificates-mozilla b/ca-certificates-mozilla new file mode 120000 index 0000000..170e861 --- /dev/null +++ b/ca-certificates-mozilla @@ -0,0 +1 @@ +nss \ No newline at end of file diff --git a/ca-certificates/40-update-ca-trust.hook b/ca-certificates/40-update-ca-trust.hook new file mode 100644 index 0000000..a83d518 --- /dev/null +++ b/ca-certificates/40-update-ca-trust.hook @@ -0,0 +1,11 @@ +[Trigger] +Operation = Install +Operation = Upgrade +Operation = Remove +Type = Path +Target = usr/share/ca-certificates/trust-source/* + +[Action] +Description = Rebuilding certificate stores... +When = PostTransaction +Exec = /usr/bin/update-ca-trust diff --git a/ca-certificates/PKGBUILD b/ca-certificates/PKGBUILD new file mode 100644 index 0000000..febfe78 --- /dev/null +++ b/ca-certificates/PKGBUILD @@ -0,0 +1,62 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=ca-certificates +pkgname=(ca-certificates-utils ca-certificates) +pkgver=20210603 +pkgrel=01 +pkgdesc="Common CA certificates" +url="https://src.fedoraproject.org/rpms/ca-certificates" +arch=(any) +makedepends=(asciidoc p11-kit) +source=(update-ca-trust update-ca-trust.8.txt 40-update-ca-trust.hook) + +build() { + asciidoc.py -v -d manpage -b docbook update-ca-trust.8.txt + xsltproc --nonet -o update-ca-trust.8 /etc/asciidoc/docbook-xsl/manpage.xsl update-ca-trust.8.xml +} + +package_ca-certificates-utils() { + pkgdesc+=" (utilities)" + depends=(bash coreutils findutils 'p11-kit>=0.24.0') + provides=(ca-certificates ca-certificates-java) + conflicts=(ca-certificates-java) + replaces=(ca-certificates-java) + install=ca-certificates-utils.install + + install -Dt "$pkgdir/usr/bin" update-ca-trust + install -Dt "$pkgdir/usr/share/man/man8" -m644 update-ca-trust.8 + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # Trust source directories + # Upstream also adds "blocklist" but that's useless without support in p11-kit + install -d "$pkgdir"/{etc,usr/share}/$pkgbase/trust-source/{anchors,blocklist} + + # Directories used by update-ca-trust (aka "trust extract-compat") + install -d "$pkgdir"/etc/{ssl/certs/{edk2,java},$pkgbase/extracted} + + # Compatibility link for OpenSSL using /etc/ssl as CAdir + # Used in preference to the individual links in /etc/ssl/certs + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/cert.pem" + + # Compatiblity link for legacy bundle + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/certs/ca-certificates.crt" +} + +package_ca-certificates() { + pkgdesc+=" (default providers)" + depends=(ca-certificates-mozilla) + conflicts=('ca-certificates-cacert<=20140824-4') + replaces=("${conflicts[@]}") +} + +#---- license gpg-key sha256sums ---- + +license=(GPL2) + +sha256sums=(ba98e00f80f94e2648b66252119d1b0da2339b8c83860cd69738e5c4e2d0fcc3 # update-ca-trust + acf571f7d7a9df2149a373017280e8f22d07a2d36600256fa48159d22ab74751 # update-ca-trust.8.txt + 3a3833ebd6f9cdef2e534a273653f973a4354d4f9368577d0d73236b014b7748) # 40-update-ca-trust.hook diff --git a/ca-certificates/PKGBUILD-arch b/ca-certificates/PKGBUILD-arch new file mode 100644 index 0000000..e2a4327 --- /dev/null +++ b/ca-certificates/PKGBUILD-arch @@ -0,0 +1,57 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Pierre Schmitz + +pkgbase=ca-certificates +pkgname=(ca-certificates-utils ca-certificates) +pkgver=20210603 +pkgrel=1 +pkgdesc="Common CA certificates" +url="https://src.fedoraproject.org/rpms/ca-certificates" +arch=(any) +license=(GPL2) +makedepends=(asciidoc p11-kit) +source=(update-ca-trust update-ca-trust.8.txt 40-update-ca-trust.hook) +sha256sums=('ba98e00f80f94e2648b66252119d1b0da2339b8c83860cd69738e5c4e2d0fcc3' + 'acf571f7d7a9df2149a373017280e8f22d07a2d36600256fa48159d22ab74751' + '3a3833ebd6f9cdef2e534a273653f973a4354d4f9368577d0d73236b014b7748') + +build() { + asciidoc.py -v -d manpage -b docbook update-ca-trust.8.txt + xsltproc --nonet -o update-ca-trust.8 /etc/asciidoc/docbook-xsl/manpage.xsl update-ca-trust.8.xml +} + +package_ca-certificates-utils() { + pkgdesc+=" (utilities)" + depends=(bash coreutils findutils 'p11-kit>=0.24.0') + provides=(ca-certificates ca-certificates-java) + conflicts=(ca-certificates-java) + replaces=(ca-certificates-java) + install=ca-certificates-utils.install + + install -Dt "$pkgdir/usr/bin" update-ca-trust + install -Dt "$pkgdir/usr/share/man/man8" -m644 update-ca-trust.8 + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # Trust source directories + # Upstream also adds "blocklist" but that's useless without support in p11-kit + install -d "$pkgdir"/{etc,usr/share}/$pkgbase/trust-source/{anchors,blocklist} + + # Directories used by update-ca-trust (aka "trust extract-compat") + install -d "$pkgdir"/etc/{ssl/certs/{edk2,java},$pkgbase/extracted} + + # Compatibility link for OpenSSL using /etc/ssl as CAdir + # Used in preference to the individual links in /etc/ssl/certs + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/cert.pem" + + # Compatiblity link for legacy bundle + ln -sr "$pkgdir/etc/$pkgbase/extracted/tls-ca-bundle.pem" "$pkgdir/etc/ssl/certs/ca-certificates.crt" +} + +package_ca-certificates() { + pkgdesc+=" (default providers)" + depends=(ca-certificates-mozilla) + conflicts=('ca-certificates-cacert<=20140824-4') + replaces=("${conflicts[@]}") +} + +# vim:set et sw=2: diff --git a/ca-certificates/ca-certificates-utils.install b/ca-certificates/ca-certificates-utils.install new file mode 100644 index 0000000..e781c00 --- /dev/null +++ b/ca-certificates/ca-certificates-utils.install @@ -0,0 +1,23 @@ +pre_upgrade() { + if (( $(vercmp $2 20210603) < 0 )); then + local olddir=/etc/ca-certificates/trust-source/blacklist + local newdir=/etc/ca-certificates/trust-source/blocklist + cat < $olddir has been renamed to + $newdir +MSG + + if [[ ! -e $olddir ]]; then + : # Do nothing + elif [[ -e $newdir ]]; then + cat < WARNING: $newdir already exists. + You must migrate your blocked certificates manually. +MSG + else + mv -Tn $olddir $newdir + fi + fi +} + +# vim:set ts=2 sw=2 et: diff --git a/ca-certificates/clean b/ca-certificates/clean new file mode 100644 index 0000000..c39a115 --- /dev/null +++ b/ca-certificates/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg} diff --git a/ca-certificates/deps b/ca-certificates/deps new file mode 100644 index 0000000..1cd92d9 --- /dev/null +++ b/ca-certificates/deps @@ -0,0 +1 @@ +asciidoc diff --git a/ca-certificates/time b/ca-certificates/time new file mode 100644 index 0000000..fdbfa04 --- /dev/null +++ b/ca-certificates/time @@ -0,0 +1,4 @@ + +real 0m2.978s +user 0m2.761s +sys 0m0.356s diff --git a/ca-certificates/update-ca-trust b/ca-certificates/update-ca-trust new file mode 100644 index 0000000..53441b3 --- /dev/null +++ b/ca-certificates/update-ca-trust @@ -0,0 +1,42 @@ +#!/bin/bash + +# At this time, while this script is trivial, we ignore any parameters given. +# However, for backwards compatibility reasons, future versions of this script must +# support the syntax "update-ca-trust extract" trigger the generation of output +# files in $DEST. + +DEST=/etc/ca-certificates/extracted + +# Prevent p11-kit from reading user configuration files. +export P11_KIT_NO_USER_CONFIG=1 + +extract() { + trust extract --overwrite "$@" +} + +## Simple PEM bundles +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=server-auth $DEST/tls-ca-bundle.pem +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=email $DEST/email-ca-bundle.pem +extract --comment --format=pem-bundle --filter=ca-anchors --purpose=code-signing $DEST/objsign-ca-bundle.pem + +## OpenSSL PEM bundle that includes trust flags +extract --comment --format=openssl-bundle --filter=certificates $DEST/ca-bundle.trust.crt + +## TianoCore EDK II bundle +extract --format=edk2-cacerts --filter=ca-anchors --purpose=server-auth $DEST/edk2-cacerts.bin + +## Java bundle +extract --format=java-cacerts --filter=ca-anchors --purpose=server-auth /etc/ssl/certs/java/cacerts + +## OpenSSL-style directory with individual PEM files and hash links +# The directory-format extractors remove all files in the target directory, but not directories or files therein +extract --format=pem-directory-hash --filter=ca-anchors --purpose=server-auth $DEST/cadir + +# We don't want to have to remove everything from the certs directory but neither +# do we want to leave stale certs around, so only place symlinks in the real cadir +for f in $DEST/cadir/*; do + ln -fsr -t /etc/ssl/certs "$f" +done + +# Now find and remove all broken symlinks +find -L /etc/ssl/certs -maxdepth 1 -type l -delete diff --git a/ca-certificates/update-ca-trust.8.txt b/ca-certificates/update-ca-trust.8.txt new file mode 100644 index 0000000..ba9c830 --- /dev/null +++ b/ca-certificates/update-ca-trust.8.txt @@ -0,0 +1,286 @@ +//// +Copyright (C) 2013 Red Hat, Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. +//// + + +update-ca-trust(8) +================== +:doctype: manpage +:man source: update-ca-trust + + +NAME +---- +update-ca-trust - manage consolidated and dynamic configuration of CA +certificates and associated trust + + +SYNOPSIS +-------- +*update-ca-trust* ['COMMAND'] + + +DESCRIPTION +----------- +update-ca-trust(8) is used to manage a consolidated and dynamic configuration +feature of Certificate Authority (CA) certificates and associated trust. + +The feature is available for new applications that read the +consolidated configuration files found in the /etc/ssl/certs or /etc/ca-certificates/extracted directories +or that load the PKCS#11 module p11-kit-trust.so + +Parts of the new feature are also provided in a way to make it useful +for legacy applications. + +Many legacy applications expect CA certificates and trust configuration +in a fixed location, contained in files with particular path and name, +or by referring to a classic PKCS#11 trust module provided by the +NSS cryptographic library. + +The dynamic configuration feature provides functionally compatible replacements +for classic configuration files and for the classic NSS trust module named libnssckbi. + +In order to enable legacy applications, that read the classic files or +access the classic module, to make use of the new consolidated and dynamic configuration +feature, some classic filenames have been changed to symbolic links. +The symbolic links refer to dynamically created and consolidated +output stored below the /etc/ca-certificates/extracted directory hierarchy. + +The output is produced using the 'update-ca-trust' command (without parameters), +or using the 'update-ca-trust extract' command. +In order to produce the output, a flexible set of source configuration +is read, as described in section <>. + +In addition, the classic PKCS#11 module +is replaced with a new PKCS#11 module (p11-kit-trust.so) that dynamically +reads the same source configuration. + + +[[sourceconf]] +SOURCE CONFIGURATION +-------------------- +The dynamic configuration feature uses several source directories that +will be scanned for any number of source files. *It is important to select +the correct subdirectory for adding files, as the subdirectory defines how +contained certificates will be trusted or distrusted, and which file formats are read.* + +Files in *subdirectories below the directory hierarchy /usr/share/ca-certificates/trust-source/* contain CA certificates and +trust settings in the PEM file format. The trust settings found here will be +interpreted with a *low priority*. + +Files in *subdirectories below the directory hierarchy /etc/ca-certificates/trust-source/* contain CA certificates and +trust settings in the PEM file format. The trust settings found here will be +interpreted with a *high priority*. + +.You may use the following rules of thumb to decide, whether your configuration files should be added to the /etc or rather to the /usr directory hierarchy: +* If you are manually adding a configuration file to a system, you probably +want it to override any other default configuration, and you most likely should +add it to the respective subdirectory in the /etc hierarchy. +* If you are creating a package that provides additional root CA certificates, +that is intended for distribution to several computer systems, but you still +want to allow the administrator to override your list, then your package should +add your files to the respective subdirectory in the /usr hierarchy. +* If you are creating a package that is supposed to override the default system +trust settings, that is intended for distribution to several computer systems, then your package should install the files to the respective +subdirectory in the /etc hierarchy. + +.*QUICK HELP 1*: To add a certificate in the simple PEM or DER file formats to the list of CAs trusted on the system: +* add it as a new file to directory /etc/ca-certificates/trust-source/anchors/ +* run 'update-ca-trust extract' + +.*QUICK HELP 2*: If your certificate is in the extended BEGIN TRUSTED file format (which may contain distrust/blacklist trust flags, or trust flags for usages other than TLS) then: +* add it as a new file to directory /etc/ca-certificates/trust-source/ +* run 'update-ca-trust extract' + +.In order to offer simplicity and flexibility, the way certificate files are treated depends on the subdirectory they are installed to. +* simple trust anchors subdirectory: /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/ +* simple blacklist (distrust) subdirectory: /usr/share/ca-certificates/trust-source/blacklist/ or /etc/ca-certificates/trust-source/blacklist/ +* extended format directory: /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ + +.In the main directories /usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ you may install one or multiple files in the following file formats: +* certificate files that include trust flags, + in the BEGIN/END TRUSTED CERTIFICATE file format + (any file name), which have been created using the openssl x509 tool + and the -addreject -addtrust options. + Bundle files with multiple certificates are supported. +* files in the p11-kit file format using the .p11-kit file name + extension, which can (e.g.) be used to distrust certificates + based on serial number and issuer name, without having the + full certificate available. + (This is currently an undocumented format, to be extended later. + For examples of the supported formats, see the files + shipped with the ca-certificates-mozilla package.) +* certificate files without trust flags in either the DER file format or in + the PEM (BEGIN/END CERTIFICATE) file format (any file name). Such files + will be added with neutral trust, neither trusted nor distrusted. + They will simply be known to the system, which might be helpful to + assist cryptographic software in constructing chains of certificates. + (If you want a CA certificate in these file formats to be trusted, you + should remove it from this directory and move it to the + ./anchors subdirectory instead.) + +In the anchors subdirectories /usr/share/ca-certificates/trust-source/anchors/ or /etc/ca-certificates/trust-source/anchors/ +you may install one or multiple certificates in either the DER file +format or in the PEM (BEGIN/END CERTIFICATE) file format. +Each certificate will be treated as *trusted* for all purposes. + +In the blacklist subdirectories /usr/share/ca-certificates/trust-source/blacklist/ or /etc/ca-certificates/trust-source/blacklist/ +you may install one or multiple certificates in either the DER file +format or in the PEM (BEGIN/END CERTIFICATE) file format. +Each certificate will be treated as *distrusted* for all purposes. + +Please refer to the x509(1) manual page for the documentation of the +BEGIN/END CERTIFICATE and BEGIN/END TRUSTED CERTIFICATE file formats. + +Applications that rely on a static file for a list of trusted CAs +may load one of the files found in the /etc/ssl/certs or /etc/ca-certificates/extracted +directories. After modifying any file in the +/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ +directories or in any of their subdirectories, or after adding a file, +it is necessary to run the 'update-ca-trust extract' command, +in order to update the consolidated files in /etc/ssl/certs or /etc/ca-certificates/extracted/ . + +Applications that load the classic PKCS#11 module using filename libnssckbi.so +(which has been converted into a symbolic link pointing to the new module) +and any application capable of +loading PKCS#11 modules and loading p11-kit-trust.so, will benefit from +the dynamically merged set of certificates and trust information stored in the +/usr/share/ca-certificates/trust-source/ and /etc/ca-certificates/trust-source/ directories. + + +[[extractconf]] +EXTRACTED CONFIGURATION +----------------------- +The directories /etc/ssl/certs and /etc/ca-certificates/extracted/ contain generated CA certificate +bundle files which are created and updated, based on the <> +by running the 'update-ca-trust extract' command. + +If your application isn't able to load the PKCS#11 module p11-kit-trust.so, +then you can use these files in your application to load a list of global +root CA certificates. + +Please never manually edit the files stored in these directories, +because your changes will be lost and the files automatically overwritten, +each time the 'update-ca-trust extract' command gets executed. + +In order to install new trusted or distrusted certificates, +please rather install them in the respective subdirectory below the +/usr/share/ca-certificates/trust-source/ or /etc/ca-certificates/trust-source/ +directories, as described in the <> section. + +The directory /etc/ssl/certs contains a OpenSSL-cadir-style hash farm. +Distrust information cannot be represented in this format, +and distrusted certificates are missing from these files. + +The directory /etc/ssl/certs/java contains +a CA certificate bundle in the java keystore file format. +Distrust information cannot be represented in this file format, +and distrusted certificates are missing from these files. +File cacerts contains CA certificates trusted for TLS server authentication. + +The directory /etc/ca-certificates/extracted contains +a CA certificate bundle file in the extended BEGIN/END TRUSTED CERTIFICATE file format, +as described in the x509(1) manual page. +File ca-bundle.trust.crt contains the full set of all trusted +or distrusted certificates, including the associated trust flags. +It also contains +CA certificate bundle files in the simple BEGIN/END CERTIFICATE file format, +as described in the x509(1) manual page. +Distrust information cannot be represented in this file format, +and distrusted certificates are missing from these files. +File tls-ca-bundle.pem contains CA certificates +trusted for TLS server authentication. +File email-ca-bundle.pem contains CA certificates +trusted for E-Mail protection. +File objsign-ca-bundle.pem contains CA certificates +trusted for code signing. +It also contains a CA +certificate bundle ("edk2-cacerts.bin") in the "sequence of +EFI_SIGNATURE_LISTs" format, defined in the UEFI-2.7 specification, +sections "31.4.1 Signature Database" and +"EFI_CERT_X509_GUID". Distrust information cannot be represented in +this file format, and distrusted certificates are missing from these +files. File "edk2-cacerts.bin" contains CA certificates trusted for TLS +server authentication. + + +COMMANDS +-------- +(absent/empty command):: + Same as the *extract* command described below. (However, the command may + print fewer warnings, as this command is being run during package + installation, where non-fatal status output is undesired.) + +*extract*:: + Instruct update-ca-trust to scan the <> and produce + updated versions of the consolidated configuration files stored below + the /etc/ssl/certs and /etc/ca-certificates/extracted directory hierarchies. + +FILES +----- +/etc/ssl/certs:: + Classic directory, files contain individual CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + Also includes the necessary hash symlinks expected by OpenSSL. + These files are symbolic links that are maintained by the update-ca-trust command. + +/etc/ssl/certs/ca-certificates.crt:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is a symbolic link that refers to the consolidated output created by the update-ca-trust command. + +/etc/ssl/cert.pem:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is a symbolic link that refers to the consolidated output created by the update-ca-trust command. + +/etc/ssl/java/cacerts:: + Classic filename, file contains a list of CA certificates trusted for TLS server authentication usage, in the Java keystore file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/usr/share/ca-certificates/trust-source:: + Contains multiple, low priority source configuration files as explained in section <>. Please pay attention to the specific meanings of the respective subdirectories. + +/etc/ca-certificates/trust-source:: + Contains multiple, high priority source configuration files as explained in section <>. Please pay attention to the specific meanings of the respective subdirectories. + +/etc/ca-certificates/extracted:: + Contains consolidated and automatically generated configuration files for consumption by applications, + which are created using the 'update-ca-trust extract' command. Don't edit files in this directory, because they will be overwritten. + See section <> for additional details. + +/etc/ca-certificates/extracted/tls-ca-bundle.pem:: + File contains a list of CA certificates trusted for TLS server authentication, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/email-ca-bundle.pem:: + File contains a list of CA certificates trusted for E-Mail protection, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/objsign-ca-bundle.pem:: + File contains a list of CA certificates trusted for code signing, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/ca-bundle.trust.crt:: + File contains a list of CA certificates in the extended BEGIN/END TRUSTED CERTIFICATE file format, which includes trust (and/or distrust) flags specific to certificate usage. + This file is consolidated output created by the update-ca-trust command. + +/etc/ca-certificates/extracted/cadir:: + Contains individual CA certificates trusted for TLS server authentication usage, in the simple BEGIN/END CERTIFICATE file format, without distrust information. + Also includes the necessary hash symlinks expected by OpenSSL. + These files are maintained by the update-ca-trust command. + +/etc/ca-certificates/extracted/edk2-cacerts.bin:: + File contains a list of CA certificates trusted for TLS server authentication usage, in the UEFI signature database format, without distrust information. + This file is consolidated output created by the update-ca-trust command. + +AUTHOR +------ +Written by Kai Engert and Stef Walter. diff --git a/ca-certificates/url b/ca-certificates/url new file mode 100644 index 0000000..1b62d93 --- /dev/null +++ b/ca-certificates/url @@ -0,0 +1 @@ +wget https://github.com/archlinux/svntogit-packages/raw/4638330970b5d9a3d82097137afc623d876a1d64/ca-certificates/repos/core-any/PKGBUILD diff --git a/coreutils/01-fix-fs72253.patch b/coreutils/01-fix-fs72253.patch new file mode 100644 index 0000000..ad2b068 --- /dev/null +++ b/coreutils/01-fix-fs72253.patch @@ -0,0 +1,92 @@ +From e8b56ebd536e82b15542a00c888109471936bfda Mon Sep 17 00:00:00 2001 +From: =?utf8?q?P=C3=A1draig=20Brady?= +Date: Fri, 24 Sep 2021 20:57:41 +0100 +Subject: [PATCH] chmod: fix exit status when ignoring symlinks + +* src/chmod.c: Reorder enum so CH_NOT_APPLIED +can be treated as a non error. +* tests/chmod/ignore-symlink.sh: A new test. +* tests/local.mk: Reference the new test. +Fixes https://bugs.gnu.org/50784 +--- + src/chmod.c | 4 ++-- + tests/chmod/ignore-symlink.sh | 31 +++++++++++++++++++++++++++++++ + tests/local.mk | 1 + + 4 files changed, 40 insertions(+), 2 deletions(-) + create mode 100755 tests/chmod/ignore-symlink.sh + +diff --git a/src/chmod.c b/src/chmod.c +index 37b04f5..57ac47f 100644 +--- a/src/chmod.c ++++ b/src/chmod.c +@@ -44,8 +44,8 @@ struct change_status + enum + { + CH_NO_STAT, +- CH_NOT_APPLIED, + CH_FAILED, ++ CH_NOT_APPLIED, + CH_NO_CHANGE_REQUESTED, + CH_SUCCEEDED + } +@@ -322,7 +322,7 @@ process_file (FTS *fts, FTSENT *ent) + if ( ! recurse) + fts_set (fts, ent, FTS_SKIP); + +- return CH_NO_CHANGE_REQUESTED <= ch.status; ++ return CH_NOT_APPLIED <= ch.status; + } + + /* Recursively change the modes of the specified FILES (the last entry +diff --git a/tests/chmod/ignore-symlink.sh b/tests/chmod/ignore-symlink.sh +new file mode 100755 +index 0000000..5ce3de8 +--- /dev/null ++++ b/tests/chmod/ignore-symlink.sh +@@ -0,0 +1,31 @@ ++#!/bin/sh ++# Test for proper exit code of chmod on a processed symlink. ++ ++# Copyright (C) 2021 Free Software Foundation, Inc. ++ ++# This program is free software: you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation, either version 3 of the License, or ++# (at your option) any later version. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++ ++# You should have received a copy of the GNU General Public License ++# along with this program. If not, see . ++ ++. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src ++print_ver_ chmod ++ ++mkdir dir || framework_failure_ ++touch dir/f || framework_failure_ ++ln -s f dir/l || framework_failure_ ++ ++# This operation ignores symlinks but should succeed. ++chmod u+w -R dir 2> out || fail=1 ++ ++compare /dev/null out || fail=1 ++ ++Exit $fail +diff --git a/tests/local.mk b/tests/local.mk +index 228d0e3..b5b893f 100644 +--- a/tests/local.mk ++++ b/tests/local.mk +@@ -456,6 +456,7 @@ all_tests = \ + tests/chmod/c-option.sh \ + tests/chmod/equal-x.sh \ + tests/chmod/equals.sh \ ++ tests/chmod/ignore-symlink.sh \ + tests/chmod/inaccessible.sh \ + tests/chmod/octal.sh \ + tests/chmod/setgid.sh \ +-- +1.9.1 + diff --git a/coreutils/PKGBUILD b/coreutils/PKGBUILD new file mode 100644 index 0000000..5d0d1b1 --- /dev/null +++ b/coreutils/PKGBUILD @@ -0,0 +1,59 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/coreutils" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=coreutils +pkgver=9.0 +pkgrel=02 +pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' +arch=('x86_64') +url='https://www.gnu.org/software/coreutils/' +depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl') +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +# 01-fix-fs72253.patch) +# jobo: this patch causes a failure to build - maybe due to a fix elsewhere in dependencies it is no longer needed +# +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + echo "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-openssl \ + --enable-no-install-program=groups,hostname,kill,uptime + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha512sums ---- + +license=('GPL3') + +validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady + +sha256sums=(ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce # coreutils-9.0.tar.xz + 47a255a411fc698cec4dccbb17580a4c9b0625323d29bb5a49bd1e65142c8c7a) # coreutils-9.0.tar.xz.sig +# aefec296212c10f8ddae10225216847f537e573d80b678161f453b34fd183bf5) # 01-fix-fs72253.patch diff --git a/coreutils/PKGBUILD-arch b/coreutils/PKGBUILD-arch new file mode 100644 index 0000000..cafaac5 --- /dev/null +++ b/coreutils/PKGBUILD-arch @@ -0,0 +1,54 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: judd + +pkgname=coreutils +pkgver=9.0 +pkgrel=2 +pkgdesc='The basic file, shell and text manipulation utilities of the GNU operating system' +arch=('x86_64') +license=('GPL3') +url='https://www.gnu.org/software/coreutils/' +depends=('glibc' 'acl' 'attr' 'gmp' 'libcap' 'openssl') +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig} + '01-fix-fs72253.patch') +validpgpkeys=('6C37DC12121A5006BC1DB804DF6FD971306037D9') # Pádraig Brady +sha256sums=('ce30acdf4a41bc5bb30dd955e9eaa75fa216b4e3deb08889ed32433c7b3b97ce' + 'SKIP' + 'aefec296212c10f8ddae10225216847f537e573d80b678161f453b34fd183bf5') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + echo "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --libexecdir=/usr/lib \ + --with-openssl \ + --enable-no-install-program=groups,hostname,kill,uptime + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/coreutils/clean b/coreutils/clean new file mode 100644 index 0000000..4a05ca1 --- /dev/null +++ b/coreutils/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*xz*} diff --git a/coreutils/deps b/coreutils/deps new file mode 100644 index 0000000..7fa0147 --- /dev/null +++ b/coreutils/deps @@ -0,0 +1,3 @@ + +automake +autoconf diff --git a/coreutils/key b/coreutils/key new file mode 100644 index 0000000..f930e52 --- /dev/null +++ b/coreutils/key @@ -0,0 +1 @@ +gpg -v --recv-key DF6FD971306037D9 diff --git a/coreutils/time b/coreutils/time new file mode 100644 index 0000000..13e27a2 --- /dev/null +++ b/coreutils/time @@ -0,0 +1,9 @@ +no-check +real 1m10.258s +user 1m55.184s +sys 0m11.951s + +w/check +real 2m19.330s +user 4m24.938s +sys 0m38.094s diff --git a/cracklib/PKGBUILD b/cracklib/PKGBUILD new file mode 100644 index 0000000..e6a1508 --- /dev/null +++ b/cracklib/PKGBUILD @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=cracklib +pkgver=2.9.7 +pkgrel=02 +pkgdesc="Password Checking Library" +arch=('x86_64') +url="https://github.com/cracklib/cracklib" +depends=('glibc' 'zlib') +source=(https://github.com/cracklib/cracklib/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin --without-python + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + # symlink cracklib-small #34778 + mkdir -p "$pkgdir"/usr/share/dict + ln -sf /usr/share/cracklib/cracklib-small "$pkgdir"/usr/share/dict/cracklib-small + sh ./util/cracklib-format dicts/cracklib-small \ + | sh ./util/cracklib-packer "$pkgdir"/usr/share/cracklib/pw_dict +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(8b6fd202f3f1d8fa395d3b7a5d821227cfd8bb4a9a584a7ae30cf62cea6287dd) # cracklib-2.9.7.tar.gz diff --git a/cracklib/PKGBUILD-arch b/cracklib/PKGBUILD-arch new file mode 100644 index 0000000..6da16ca --- /dev/null +++ b/cracklib/PKGBUILD-arch @@ -0,0 +1,34 @@ +# Maintainer: Tobias Powalowski +# Contributor: Federico Quagliata (quaqo) + +pkgname=cracklib +pkgver=2.9.7 +pkgrel=2 +pkgdesc="Password Checking Library" +arch=('x86_64') +license=('GPL') +url="https://github.com/cracklib/cracklib" +depends=('glibc' 'zlib') +source=(https://github.com/cracklib/cracklib/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) +md5sums=('48a0c8810ec4780b99c0a4f9931c21c6') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --sbindir=/usr/bin --without-python + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + # symlink cracklib-small #34778 + mkdir -p "$pkgdir"/usr/share/dict + ln -sf /usr/share/cracklib/cracklib-small "$pkgdir"/usr/share/dict/cracklib-small + sh ./util/cracklib-format dicts/cracklib-small \ + | sh ./util/cracklib-packer "$pkgdir"/usr/share/cracklib/pw_dict +} diff --git a/cracklib/clean b/cracklib/clean new file mode 100644 index 0000000..673d2a5 --- /dev/null +++ b/cracklib/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,crack*tar.gz} diff --git a/cracklib/deps b/cracklib/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/cracklib/deps @@ -0,0 +1 @@ + diff --git a/cracklib/time b/cracklib/time new file mode 100644 index 0000000..32e150e --- /dev/null +++ b/cracklib/time @@ -0,0 +1,4 @@ +real 0m5.408s +user 0m6.619s +sys 0m0.858s + diff --git a/crda/0001-Makefile-Don-t-run-ldconfig.patch b/crda/0001-Makefile-Don-t-run-ldconfig.patch new file mode 100644 index 0000000..e9f102d --- /dev/null +++ b/crda/0001-Makefile-Don-t-run-ldconfig.patch @@ -0,0 +1,24 @@ +From 15bc8065e9dc5485c650c528f8d80f7536e378d6 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 21 Feb 2014 20:30:24 +0100 +Subject: [PATCH] Makefile: Don't run ldconfig + +--- + Makefile | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 80f4946..c003195 100644 +--- a/Makefile ++++ b/Makefile +@@ -130,7 +130,6 @@ install-libreg: + $(NQ) ' INSTALL libreg' + $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) + $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ +- $(Q)ldconfig + + %.o: %.c regdb.h $(LIBREG) + $(NQ) ' CC ' $@ +-- +1.9.0 + diff --git a/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch b/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch new file mode 100644 index 0000000..10dae58 --- /dev/null +++ b/crda/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch @@ -0,0 +1,55 @@ +From e2e519730c33de4503ac5dda28863d029e3cf578 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20B=C3=A4chler?= +Date: Fri, 21 Feb 2014 20:15:32 +0100 +Subject: [PATCH] Makefile: Link libreg.so against the crypto library. + +--- + Makefile | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 1f25509..80f4946 100644 +--- a/Makefile ++++ b/Makefile +@@ -33,6 +33,7 @@ LDLIBS += $(LDLIBREG) + LDLIBS += -lm + LIBREG += libreg.so + LDFLAGS += -L ./ ++LIBREG_LDFLAGS += -lm + + all: all_noverify verify + +@@ -40,17 +41,19 @@ all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize + + ifeq ($(USE_OPENSSL),1) + CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config --cflags openssl` +-LDLIBS += `pkg-config --libs openssl` ++LDCRYPTOLIB := `pkg-config --libs openssl` + + $(LIBREG): keys-ssl.c + + else + CFLAGS += -DUSE_GCRYPT +-LDLIBS += -lgcrypt ++LDCRYPTOLIB := -lgcrypt + + $(LIBREG): keys-gcrypt.c + + endif ++LDLIBS += $(LDCRYPTOLIB) ++LIBREG_LDFLAGS += $(LDCRYPTOLIB) + MKDIR ?= mkdir -p + INSTALL ?= install + +@@ -116,7 +119,7 @@ keys-%.c: utils/key2pub.py $(wildcard $(PUBKEY_DIR)/*.pem) + + $(LIBREG): regdb.h reglib.h reglib.c + $(NQ) ' CC ' $@ +- $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ ++ $(Q)$(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -shared -Wl,-soname,$(LIBREG) $^ $(LIBREG_LDFLAGS) + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +-- +1.9.0 + diff --git a/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch b/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch new file mode 100644 index 0000000..6807e99 --- /dev/null +++ b/crda/0001-crda-Fix-the-linking-order-to-avoid-compilation-erro.patch @@ -0,0 +1,52 @@ +From fefefdb2c52c8fbedbb339b4badb8226cad7e7e0 Mon Sep 17 00:00:00 2001 +From: Krishna Chaitanya +Date: Mon, 16 Dec 2013 21:57:39 +0530 +Subject: [PATCH] crda: Fix the linking order to avoid compilation error + +While linking the crda.o and libreg.so, first put crda.o +and then -lreg. This fixed the below error: + + GEN keys-gcrypt.c + Trusted pubkeys: pubkeys/linville.key.pub.pem + CC libreg.so + CC crda.o + LD crda +crda.o: In function `main': +crda/crda.c:196: undefined reference to `reglib_get_rd_alpha2' +collect2: ld returned 1 exit status +make: *** [crda] Error 1 + +Note: This still doesn't fix the below error (will send another mail) + + CHK /usr/lib/crda/regulatory.bin +Database signature verification failed. +Invalid or empty regulatory file, note: a binary regulatory file should be used. +make: *** [verify] Error 234 + +Signed-off-by: Luis R. Rodriguez +Signed-off-by: Chaitanya T K +--- + Makefile | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 4a351c6..0b2f0d7 100644 +--- a/Makefile ++++ b/Makefile +@@ -28,10 +28,11 @@ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys + CFLAGS += -O2 -fpic + CFLAGS += -std=gnu99 -Wall -Werror -pedantic + CFLAGS += -Wall -g +-LDLIBS += -lm + LDLIBREG += -lreg ++LDLIBS += $(LDLIBREG) ++LDLIBS += -lm + LIBREG += libreg.so +-LDFLAGS += -L ./ $(LDLIBREG) ++LDFLAGS += -L ./ + + all: all_noverify verify + +-- +1.9.0 + diff --git a/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch b/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch new file mode 100644 index 0000000..c69f8f7 --- /dev/null +++ b/crda/0002-crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch @@ -0,0 +1,37 @@ +From 2cabb2588da56735369131b709f191453c080be0 Mon Sep 17 00:00:00 2001 +From: "John W. Linville" +Date: Fri, 14 Feb 2014 13:58:44 -0500 +Subject: [PATCH 2/2] crda: Add DESTDIR support in install-libreg* rules in + Makefile + +Signed-off-by: John W. Linville +Signed-off-by: Luis R. Rodriguez +--- + Makefile | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index 0b2f0d7..1f25509 100644 +--- a/Makefile ++++ b/Makefile +@@ -120,13 +120,13 @@ $(LIBREG): regdb.h reglib.h reglib.c + + install-libreg-headers: + $(NQ) ' INSTALL libreg-headers' +- $(Q)mkdir -p $(INCLUDE_DIR) +- $(Q)cp *.h $(INCLUDE_DIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(INCLUDE_DIR) ++ $(Q)cp *.h $(DESTDIR)/$(INCLUDE_DIR)/ + + install-libreg: + $(NQ) ' INSTALL libreg' +- $(Q)mkdir -p $(LIBDIR) +- $(Q)cp $(LIBREG) $(LIBDIR)/ ++ $(Q)mkdir -p $(DESTDIR)/$(LIBDIR) ++ $(Q)cp $(LIBREG) $(DESTDIR)/$(LIBDIR)/ + $(Q)ldconfig + + %.o: %.c regdb.h $(LIBREG) +-- +1.9.0 + diff --git a/crda/PKGBUILD b/crda/PKGBUILD new file mode 100644 index 0000000..4bb41fd --- /dev/null +++ b/crda/PKGBUILD @@ -0,0 +1,61 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=crda +pkgver=4.14 +pkgrel=04 +pkgdesc="Central Regulatory Domain Agent for wireless networks w/o systemd" +arch=(x86_64) +url="https://wireless.wiki.kernel.org/en/developers/Regulatory/CRDA" +depends=('wireless-regdb' 'libnl' 'libgcrypt' 'iw') +makedepends=('python-m2crypto') +install=crda.install +source=("https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot/crda-$pkgver.tar.gz" + set-wireless-regdom + 0001-Makefile-Don-t-run-ldconfig.patch + 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + crda-4.14-python-3.patch) + +prepare() { + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + patch -p1 -i "${srcdir}"/0001-Makefile-Don-t-run-ldconfig.patch + patch -p1 -i "${srcdir}"/crda-4.14-python-3.patch +} + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + make +} + +package() { + # Install crda, regdbdump and udev rules + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" UDEV_RULE_DIR=/usr/lib/udev/rules.d/ SBINDIR=/usr/bin/ install + # Adjust paths in udev rule file + sed 's|/sbin/crda|/usr/bin/crda|' -i "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules + # This rule automatically sets the regulatory domain when cfg80211 is loaded + echo 'ACTION=="add", SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/usr/bin/set-wireless-regdom"' >> "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules + + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/crda/LICENSE + + install -D -m755 "${srcdir}"/set-wireless-regdom "${pkgdir}"/usr/bin/set-wireless-regdom +} + +#---- license gpg-key sha256sums ---- + +license=('custom') + +validpgpkeys=('E4053F8D0E7C4B9A0A20AB27DC553250F8FE7407') #Luis R. Rodriguez +# DC553250F8FE7407: "Luis Chamberlain +# Same key different name, Chamberlain is what kernel.org repo shows + +sha256sums=(5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2 # crda-4.14.tar.gz + 603ce97da5cce3f5337e99007ce04e2f295bb33a36b308794884011f7bcabaf3 # set-wireless-regdom + ff52990cf9295e5cebcf07ebbf2a96e225d97088573edcc898b29ce33a0fb663 # 0001-Makefile-Don-t-run-ldconfig.patch + 96b2068b27202f8bc78009869520e396cb3f3ac7a826efef06d0fc41047f2520 # 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + 95057c7a1c8f2be8b70785356162b86831ba9f198fc43c411267ca97ddb68ed9) # crda-4.14-python-3.patch diff --git a/crda/PKGBUILD-arch b/crda/PKGBUILD-arch new file mode 100644 index 0000000..21020a1 --- /dev/null +++ b/crda/PKGBUILD-arch @@ -0,0 +1,48 @@ +# Maintainer: Thomas Bächler + +pkgname=crda +pkgver=4.14 +pkgrel=4 +pkgdesc="Central Regulatory Domain Agent for wireless networks" +arch=(x86_64) +url="https://wireless.wiki.kernel.org/en/developers/Regulatory/CRDA" +license=('custom') +depends=('wireless-regdb' 'libnl' 'libgcrypt' 'systemd' 'iw') +makedepends=('python-m2crypto') +install=crda.install +source=("https://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/crda.git/snapshot/crda-$pkgver.tar.gz" + set-wireless-regdom + 0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + 0001-Makefile-Don-t-run-ldconfig.patch + crda-4.14-python-3.patch) +sha256sums=('5a8f35bb8b27474f466b0e75d451ba917433d8aab1889678a64d9c4e72a8b8c2' + '603ce97da5cce3f5337e99007ce04e2f295bb33a36b308794884011f7bcabaf3' + '96b2068b27202f8bc78009869520e396cb3f3ac7a826efef06d0fc41047f2520' + 'ff52990cf9295e5cebcf07ebbf2a96e225d97088573edcc898b29ce33a0fb663' + '95057c7a1c8f2be8b70785356162b86831ba9f198fc43c411267ca97ddb68ed9') +validpgpkeys=('E4053F8D0E7C4B9A0A20AB27DC553250F8FE7407') #Luis R. Rodriguez +prepare() { + cd "${srcdir}"/${pkgname}-${pkgver} + patch -p1 -i "${srcdir}"/0001-Makefile-Link-libreg.so-against-the-crypto-library.patch + patch -p1 -i "${srcdir}"/0001-Makefile-Don-t-run-ldconfig.patch + patch -p1 -i "${srcdir}"/crda-4.14-python-3.patch +} + +build() { + cd "${srcdir}"/${pkgname}-${pkgver} + make +} + +package() { + # Install crda, regdbdump and udev rules + cd "${srcdir}"/${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" UDEV_RULE_DIR=/usr/lib/udev/rules.d/ SBINDIR=/usr/bin/ install + # Adjust paths in udev rule file + sed 's|/sbin/crda|/usr/bin/crda|' -i "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules + # This rule automatically sets the regulatory domain when cfg80211 is loaded + echo 'ACTION=="add", SUBSYSTEM=="module", DEVPATH=="/module/cfg80211", RUN+="/usr/bin/set-wireless-regdom"' >> "${pkgdir}"/usr/lib/udev/rules.d/85-regulatory.rules + + install -D -m644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE "${pkgdir}"/usr/share/licenses/crda/LICENSE + + install -D -m755 "${srcdir}"/set-wireless-regdom "${pkgdir}"/usr/bin/set-wireless-regdom +} diff --git a/crda/clean b/crda/clean new file mode 100644 index 0000000..52d68bf --- /dev/null +++ b/crda/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,crda*tar.gz} diff --git a/crda/crda-4.14-python-3.patch b/crda/crda-4.14-python-3.patch new file mode 100644 index 0000000..8dc7aec --- /dev/null +++ b/crda/crda-4.14-python-3.patch @@ -0,0 +1,95 @@ +diff --git a/utils/key2pub.py b/utils/key2pub.py +index 9bb04cd..632e6a6 100755 +--- a/utils/key2pub.py ++++ b/utils/key2pub.py +@@ -3,20 +3,20 @@ + import sys + try: + from M2Crypto import RSA +-except ImportError, e: ++except ImportError as e: + sys.stderr.write('ERROR: Failed to import the "M2Crypto" module: %s\n' % e.message) + sys.stderr.write('Please install the "M2Crypto" Python module.\n') + sys.stderr.write('On Debian GNU/Linux the package is called "python-m2crypto".\n') + sys.exit(1) + + def print_ssl_64(output, name, val): +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + while len(val) % 8: +- val = '\0' + val ++ val = b'\0' + val + vnew = [] + while len(val): +- vnew.append((val[0], val[1], val[2], val[3], val[4], val[5], val[6], val[7])) ++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4], val[4:5], val[5:6], val[6:7], val[7:8])) + val = val[8:] + vnew.reverse() + output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew))) +@@ -34,13 +34,13 @@ def print_ssl_64(output, name, val): + output.write('};\n\n') + + def print_ssl_32(output, name, val): +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + while len(val) % 4: +- val = '\0' + val ++ val = b'\0' + val + vnew = [] + while len(val): +- vnew.append((val[0], val[1], val[2], val[3], )) ++ vnew.append((val[0:1], val[1:2], val[2:3], val[3:4])) + val = val[4:] + vnew.reverse() + output.write('static BN_ULONG %s[%d] = {\n' % (name, len(vnew))) +@@ -80,21 +80,21 @@ struct pubkey { + + static struct pubkey keys[] = { + ''') +- for n in xrange(n + 1): ++ for n in range(n + 1): + output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) + output.write('};\n') + pass + + def print_gcrypt(output, name, val): + output.write('#include \n') +- while val[0] == '\0': ++ while val[0:1] == b'\0': + val = val[1:] + output.write('static const uint8_t %s[%d] = {\n' % (name, len(val))) + idx = 0 + for v in val: + if not idx: + output.write('\t') +- output.write('0x%.2x, ' % ord(v)) ++ output.write('0x%.2x, ' % (v if sys.version_info[0] >=3 else ord(v))) + idx += 1 + if idx == 8: + idx = 0 +@@ -117,7 +117,7 @@ struct key_params { + + static const struct key_params __attribute__ ((unused)) keys[] = { + ''') +- for n in xrange(n + 1): ++ for n in range(n + 1): + output.write(' KEYS(e_%d, n_%d),\n' % (n, n)) + output.write('};\n') + +@@ -135,7 +135,7 @@ except IndexError: + mode = None + + if not mode in modes: +- print 'Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys())) ++ print('Usage: %s [%s] input-file... output-file' % (sys.argv[0], '|'.join(modes.keys()))) + sys.exit(2) + + output = open(outfile, 'w') +@@ -153,3 +153,5 @@ for f in files: + idx += 1 + + modes[mode][1](output, idx - 1) ++ ++output.close() diff --git a/crda/crda.install b/crda/crda.install new file mode 100644 index 0000000..9618a74 --- /dev/null +++ b/crda/crda.install @@ -0,0 +1,5 @@ +## arg 1: the new package version +post_install() { + echo "Uncomment the right regulatory domain in /etc/conf.d/wireless-regdom." + echo "It will automatically be set on boot." +} diff --git a/crda/deps b/crda/deps new file mode 100644 index 0000000..452cc1e --- /dev/null +++ b/crda/deps @@ -0,0 +1,3 @@ +python-m2crypto + +wireless-regdb iw diff --git a/crda/key b/crda/key new file mode 100644 index 0000000..83f5930 --- /dev/null +++ b/crda/key @@ -0,0 +1 @@ +gpg -v --recv-key DC553250F8FE7407 diff --git a/crda/note b/crda/note new file mode 100644 index 0000000..ce61759 --- /dev/null +++ b/crda/note @@ -0,0 +1 @@ +why they add systemd to this as dependency is representative of the problem we are facing with arch - absolutely unnecessary diff --git a/crda/set-wireless-regdom b/crda/set-wireless-regdom new file mode 100755 index 0000000..3905ae9 --- /dev/null +++ b/crda/set-wireless-regdom @@ -0,0 +1,5 @@ +#!/bin/bash + +unset WIRELESS_REGDOM +. /etc/conf.d/wireless-regdom +[ -n "${WIRELESS_REGDOM}" ] && iw reg set ${WIRELESS_REGDOM} diff --git a/crda/time b/crda/time new file mode 100644 index 0000000..7e23f28 --- /dev/null +++ b/crda/time @@ -0,0 +1,3 @@ +real 0m2.769s +user 0m2.791s +sys 0m0.363s diff --git a/cronie/0001-crontab-use-bold-colors.patch b/cronie/0001-crontab-use-bold-colors.patch new file mode 100644 index 0000000..5afb46c --- /dev/null +++ b/cronie/0001-crontab-use-bold-colors.patch @@ -0,0 +1,26 @@ +From 116ab7eeb7dff736c83389746f22700d9f6a7dd8 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 29 Mar 2021 15:34:46 +0200 +Subject: [PATCH 1/1] crontab: use bold colors + +Dark colors (especially blue) on dark background are hard to read. +Let's make these bold. +--- + src/crontab.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/crontab.c b/src/crontab.c +index af3db23..240c112 100644 +--- a/src/crontab.c ++++ b/src/crontab.c +@@ -66,8 +66,8 @@ + + #define NHEADER_LINES 0 + +-#define COMMENT_COLOR "\x1B[34m" +-#define ERROR_COLOR "\x1B[31m" ++#define COMMENT_COLOR "\x1B[34;1m" ++#define ERROR_COLOR "\x1B[31;1m" + #define RESET_COLOR "\x1B[0m" + + enum opt_t { diff --git a/cronie/80-cronie.hook b/cronie/80-cronie.hook new file mode 100644 index 0000000..ca52570 --- /dev/null +++ b/cronie/80-cronie.hook @@ -0,0 +1,9 @@ +[Trigger] +Operation = Upgrade +Type = Package +Target = glibc + +[Action] +Description = Restarting cronie for libc upgrade... +When = PostTransaction +Exec = /usr/bin/systemctl try-restart cronie.service diff --git a/cronie/PKGBUILD b/cronie/PKGBUILD new file mode 100644 index 0000000..560bbbb --- /dev/null +++ b/cronie/PKGBUILD @@ -0,0 +1,73 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname='cronie' +pkgver=1.5.7 +pkgrel=02 +pkgdesc='Daemon that runs specified programs at scheduled times and related tools w/o systemd' +url='https://github.com/cronie-crond/cronie/' +arch=('x86_64') +depends=('pam' 'bash' 'run-parts') +optdepends=('smtp-server: send job output via email' + 'smtp-forwarder: forward job output to email server') +conflicts=('cron') +provides=('cron') +source=("https://github.com/cronie-crond/cronie/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz" + '0001-crontab-use-bold-colors.patch' + '80-cronie.hook' + 'pam.d' + 'deny') + +backup=('etc/cron.deny' + 'etc/pam.d/crond' + 'etc/cron.d/0hourly' + 'etc/anacrontab') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 < ../0001-crontab-use-bold-colors.patch + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --enable-anacron \ + --with-inotify \ + --with-pam + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + chmod u+s "${pkgdir}"/usr/bin/crontab + install -d "${pkgdir}"/var/spool/{ana,}cron + install -d "${pkgdir}"/etc/cron.{d,hourly,daily,weekly,monthly} + + install -Dm0644 ../deny "${pkgdir}"/etc/cron.deny + install -Dm0644 ../pam.d "${pkgdir}"/etc/pam.d/crond + install -Dm0644 ../80-cronie.hook "${pkgdir}"/usr/share/libalpm/hooks/80-cronie.hook + + install -Dm0644 contrib/anacrontab "${pkgdir}"/etc/anacrontab + install -Dm0644 contrib/0hourly "${pkgdir}"/etc/cron.d/0hourly + install -Dm0755 contrib/0anacron "${pkgdir}"/etc/cron.hourly/0anacron + + install -Dm0644 COPYING "${pkgdir}"/usr/share/licenses/cronie/COPYING +} + +#---- license gpg-key sha256sums ---- + +license=('custom:BSD') + +sha256sums=(538bcfaf2e986e5ae1edf6d1472a77ea8271d6a9005aee2497a9ed6e13320eb3 # cronie-1.5.7.tar.gz + 2c9a2f386f23779907c468023538b195cd3e3c61fa16e19f036ee13a031f1c3a # 0001-crontab-use-bold-colors.patch + f85e9a68bf3bf446f8a6167f068371c06afffe11ca71935d8ee5487b38b2c9db # 80-cronie.hook + 00864268b491bab8c66400a4a4b4bf85f168a6e44e85676105e084940924090c # pam.d + ae6e533ecdfc1bd2dd80a9e25acb0260cbe9f00c4e4abee93d552b3660f263fc) # deny diff --git a/cronie/PKGBUILD-arch b/cronie/PKGBUILD-arch new file mode 100644 index 0000000..5b15d4c --- /dev/null +++ b/cronie/PKGBUILD-arch @@ -0,0 +1,68 @@ +# Contributor: Kaiting Chen +# Maintainer: Gaetan Bisson + +pkgname='cronie' +pkgver=1.5.7 +pkgrel=2 +pkgdesc='Daemon that runs specified programs at scheduled times and related tools' +url='https://github.com/cronie-crond/cronie/' +license=('custom:BSD') +arch=('x86_64') +depends=('pam' 'bash' 'run-parts') +optdepends=('smtp-server: send job output via email' + 'smtp-forwarder: forward job output to email server') +conflicts=('cron') +provides=('cron') +source=("https://github.com/cronie-crond/cronie/releases/download/${pkgname}-${pkgver}/${pkgname}-${pkgver}.tar.gz" + '0001-crontab-use-bold-colors.patch' + '80-cronie.hook' + 'service' + 'pam.d' + 'deny') +sha256sums=('538bcfaf2e986e5ae1edf6d1472a77ea8271d6a9005aee2497a9ed6e13320eb3' + '2c9a2f386f23779907c468023538b195cd3e3c61fa16e19f036ee13a031f1c3a' + 'f85e9a68bf3bf446f8a6167f068371c06afffe11ca71935d8ee5487b38b2c9db' + 'ac3ff3c8a5ce1b6367b06877b4b12ff74e7f18a3c510fb9f80d6ea6b6321e3b1' + '00864268b491bab8c66400a4a4b4bf85f168a6e44e85676105e084940924090c' + 'ae6e533ecdfc1bd2dd80a9e25acb0260cbe9f00c4e4abee93d552b3660f263fc') +backup=('etc/cron.deny' + 'etc/pam.d/crond' + 'etc/cron.d/0hourly' + 'etc/anacrontab') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + patch -Np1 < ../0001-crontab-use-bold-colors.patch + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --enable-anacron \ + --with-inotify \ + --with-pam + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + chmod u+s "${pkgdir}"/usr/bin/crontab + install -d "${pkgdir}"/var/spool/{ana,}cron + install -d "${pkgdir}"/etc/cron.{d,hourly,daily,weekly,monthly} + + install -Dm0644 ../deny "${pkgdir}"/etc/cron.deny + install -Dm0644 ../pam.d "${pkgdir}"/etc/pam.d/crond + install -Dm0644 ../service "${pkgdir}"/usr/lib/systemd/system/cronie.service + install -Dm0644 ../80-cronie.hook "${pkgdir}"/usr/share/libalpm/hooks/80-cronie.hook + + install -Dm0644 contrib/anacrontab "${pkgdir}"/etc/anacrontab + install -Dm0644 contrib/0hourly "${pkgdir}"/etc/cron.d/0hourly + install -Dm0755 contrib/0anacron "${pkgdir}"/etc/cron.hourly/0anacron + + install -Dm0644 COPYING "${pkgdir}"/usr/share/licenses/cronie/COPYING +} diff --git a/cronie/clean b/cronie/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/cronie/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/cronie/deny b/cronie/deny new file mode 100644 index 0000000..06e685c --- /dev/null +++ b/cronie/deny @@ -0,0 +1 @@ +# without this file, only users listed in /etc/cron.allow can use crontab diff --git a/cronie/deps b/cronie/deps new file mode 100644 index 0000000..183a392 --- /dev/null +++ b/cronie/deps @@ -0,0 +1 @@ +run-parts diff --git a/cronie/pam.d b/cronie/pam.d new file mode 100644 index 0000000..9a254eb --- /dev/null +++ b/cronie/pam.d @@ -0,0 +1,10 @@ +auth required pam_unix.so +auth required pam_env.so + +account required pam_access.so +account required pam_unix.so +account required pam_time.so + +session required pam_loginuid.so +session required pam_limits.so +session required pam_unix.so diff --git a/cronie/time b/cronie/time new file mode 100644 index 0000000..496c76d --- /dev/null +++ b/cronie/time @@ -0,0 +1,3 @@ +real 0m5.345s +user 0m7.529s +sys 0m1.116s diff --git a/cryptsetup/PKGBUILD b/cryptsetup/PKGBUILD new file mode 100644 index 0000000..5f91d43 --- /dev/null +++ b/cryptsetup/PKGBUILD @@ -0,0 +1,61 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=cryptsetup +pkgver=2.4.3 +pkgrel=02 +pkgdesc='Userspace setup tool for transparent encryption of block devices using dm-crypt' +arch=(x86_64) +url='https://gitlab.com/cryptsetup/cryptsetup/' +depends=('device-mapper' 'libdevmapper.so' 'openssl' 'popt' 'util-linux-libs' + 'libuuid.so' 'json-c' 'libjson-c.so' 'argon2' 'libargon2.so') +makedepends=('util-linux') +provides=('libcryptsetup.so') +#options=('debug' '!emptydirs') +options=('!emptydirs') +source=("https://www.kernel.org/pub/linux/utils/cryptsetup/v${pkgver%.*}/${pkgname}-${pkgver}.tar."{xz,sign} + 'hooks-encrypt' + 'install-encrypt' + 'install-sd-encrypt') + +build() { + cd "${srcdir}"/$pkgname-${pkgver} + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-libargon2 \ + --disable-ssh-token \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd "${srcdir}"/$pkgname-${pkgver} + + make DESTDIR="${pkgdir}" install + + # install docs + install -D -m0644 -t "${pkgdir}"/usr/share/doc/cryptsetup/ FAQ docs/{Keyring,LUKS2-locking}.txt + + # install hook + install -D -m0644 "${srcdir}"/hooks-encrypt "${pkgdir}"/usr/lib/initcpio/hooks/encrypt + install -D -m0644 "${srcdir}"/install-encrypt "${pkgdir}"/usr/lib/initcpio/install/encrypt + install -D -m0644 "${srcdir}"/install-sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz + +sha256sums=(fc0df945188172264ec5bf1d0bda08264fadc8a3f856d47eba91f31fe354b507 # cryptsetup-2.4.3.tar.xz + 531c6bee3e86ac7951120036ba10e2fe7f07091d786742e4b6fdfa060e0a7cf6 # cryptsetup-2.4.3.tar.sign + 29a3f1db5b86a8e6b7c914125e2c46711d6d5985bbf4089e158e06af551c8307 # hooks-encrypt + 817686b47e5ffd32913bcae7efe717f3377a48062b6311549d4440cfd3eadf17 # install-encrypt + 5d68a359fd85b5132456f96c2405916de5009efc8e7edf51aef6bf2d2ffd0bd5) # install-sd-encrypt diff --git a/cryptsetup/PKGBUILD-arch b/cryptsetup/PKGBUILD-arch new file mode 100644 index 0000000..328e5ab --- /dev/null +++ b/cryptsetup/PKGBUILD-arch @@ -0,0 +1,52 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas Bächler + +pkgname=cryptsetup +pkgver=2.4.3 +pkgrel=2 +pkgdesc='Userspace setup tool for transparent encryption of block devices using dm-crypt' +arch=(x86_64) +license=('GPL') +url='https://gitlab.com/cryptsetup/cryptsetup/' +depends=('device-mapper' 'libdevmapper.so' 'openssl' 'popt' 'util-linux-libs' + 'libuuid.so' 'json-c' 'libjson-c.so' 'argon2' 'libargon2.so') +makedepends=('util-linux') +provides=('libcryptsetup.so') +options=('debug' '!emptydirs') +validpgpkeys=('2A2918243FDE46648D0686F9D9B0577BD93E98FC') # Milan Broz +source=("https://www.kernel.org/pub/linux/utils/cryptsetup/v${pkgver%.*}/${pkgname}-${pkgver}.tar."{xz,sign} + 'hooks-encrypt' + 'install-encrypt' + 'install-sd-encrypt') +sha256sums=('fc0df945188172264ec5bf1d0bda08264fadc8a3f856d47eba91f31fe354b507' + 'SKIP' + '29a3f1db5b86a8e6b7c914125e2c46711d6d5985bbf4089e158e06af551c8307' + '817686b47e5ffd32913bcae7efe717f3377a48062b6311549d4440cfd3eadf17' + '5d68a359fd85b5132456f96c2405916de5009efc8e7edf51aef6bf2d2ffd0bd5') + +build() { + cd "${srcdir}"/$pkgname-${pkgver} + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --enable-libargon2 \ + --disable-ssh-token \ + --disable-static + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd "${srcdir}"/$pkgname-${pkgver} + + make DESTDIR="${pkgdir}" install + + # install docs + install -D -m0644 -t "${pkgdir}"/usr/share/doc/cryptsetup/ FAQ docs/{Keyring,LUKS2-locking}.txt + + # install hook + install -D -m0644 "${srcdir}"/hooks-encrypt "${pkgdir}"/usr/lib/initcpio/hooks/encrypt + install -D -m0644 "${srcdir}"/install-encrypt "${pkgdir}"/usr/lib/initcpio/install/encrypt + install -D -m0644 "${srcdir}"/install-sd-encrypt "${pkgdir}"/usr/lib/initcpio/install/sd-encrypt +} diff --git a/cryptsetup/clean b/cryptsetup/clean new file mode 100644 index 0000000..915d45f --- /dev/null +++ b/cryptsetup/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,crypts*tar.*} diff --git a/cryptsetup/deps b/cryptsetup/deps new file mode 100644 index 0000000..da8a611 --- /dev/null +++ b/cryptsetup/deps @@ -0,0 +1,4 @@ +device-mapper +popt +json-c +argon2 diff --git a/cryptsetup/hooks-encrypt b/cryptsetup/hooks-encrypt new file mode 100644 index 0000000..73bf2e6 --- /dev/null +++ b/cryptsetup/hooks-encrypt @@ -0,0 +1,155 @@ +#!/usr/bin/ash + +run_hook() { + modprobe -a -q dm-crypt >/dev/null 2>&1 + [ "${quiet}" = "y" ] && CSQUIET=">/dev/null" + + # Get keyfile if specified + ckeyfile="/crypto_keyfile.bin" + if [ -n "$cryptkey" ]; then + IFS=: read ckdev ckarg1 ckarg2 </dev/null 2>&1 + umount /ckey + ;; + *) + # Read raw data from the block device + # ckarg1 is numeric: ckarg1=offset, ckarg2=length + dd if="$resolved" of="$ckeyfile" bs=1 skip="$ckarg1" count="$ckarg2" >/dev/null 2>&1 + ;; + esac + fi + [ ! -f ${ckeyfile} ] && echo "Keyfile could not be opened. Reverting to passphrase." + fi + + if [ -n "${cryptdevice}" ]; then + DEPRECATED_CRYPT=0 + IFS=: read cryptdev cryptname cryptoptions <&2 + ;; + esac + done + set +f + IFS="$OLDIFS" + unset OLDIFS + + if resolved=$(resolve_device "${cryptdev}" ${rootdelay}); then + if cryptsetup isLuks ${resolved} >/dev/null 2>&1; then + [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated + dopassphrase=1 + # If keyfile exists, try to use that + if [ -f ${ckeyfile} ]; then + if eval cryptsetup --key-file ${ckeyfile} open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; then + dopassphrase=0 + else + echo "Invalid keyfile. Reverting to passphrase." + fi + fi + # Ask for a passphrase + if [ ${dopassphrase} -gt 0 ]; then + echo "" + echo "A password is required to access the ${cryptname} volume:" + + #loop until we get a real password + while ! eval cryptsetup open --type luks ${resolved} ${cryptname} ${cryptargs} ${CSQUIET}; do + sleep 2; + done + fi + if [ -e "/dev/mapper/${cryptname}" ]; then + if [ ${DEPRECATED_CRYPT} -eq 1 ]; then + export root="/dev/mapper/root" + fi + else + err "Password succeeded, but ${cryptname} creation failed, aborting..." + return 1 + fi + elif [ -n "${crypto}" ]; then + [ ${DEPRECATED_CRYPT} -eq 1 ] && warn_deprecated + msg "Non-LUKS encrypted device found..." + if echo "$crypto" | awk -F: '{ exit(NF == 5) }'; then + err "Verify parameter format: crypto=hash:cipher:keysize:offset:skip" + err "Non-LUKS decryption not attempted..." + return 1 + fi + exe="cryptsetup open --type plain $resolved $cryptname $cryptargs" + IFS=: read c_hash c_cipher c_keysize c_offset c_skip < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=curl +pkgname=(curl libcurl-compat libcurl-gnutls) +pkgver=7.82.0 +pkgrel=01 +pkgdesc='An URL retrieval utility and library - w/o ipv6 & zstd' +arch=('x86_64') +url='https://curl.haxx.se' +#options=(debug) +depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so' + 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so' + 'openssl' 'zlib') +provides=('libcurl.so') + +source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) + +_configure_options=( + --prefix='/usr' + --mandir='/usr/share/man' + --disable-ldap + --disable-ldaps + --disable-manual + --disable-ipv6 + --disable-zstd + --enable-threaded-resolver + --with-gssapi + --with-libssh2 + --with-openssl + --with-random='/dev/urandom' + --without-zstd + --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' +) + +build() { + mkdir build-curl{,-compat,-gnutls} + + # build curl + cd "${srcdir}"/build-curl + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --enable-versioned-symbols + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + + # build libcurl-compat + cd "${srcdir}"/build-curl-compat + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib + + # build libcurl-gnutls + cd "${srcdir}"/build-curl-gnutls + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols \ + --without-ssl \ + --with-gnutls='/usr' + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib +} + +package_curl() { + cd build-curl + + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install -C scripts + + cd "${srcdir}/${pkgname}-${pkgver}" + + # license + install -Dt "${pkgdir}/usr/share/licenses/$pkgname" -m0644 COPYING +} + +package_libcurl-compat() { + pkgdesc='An URL retrieval library (without versioned symbols)' + depends=('curl' 'openssl') + + cd "${srcdir}"/build-curl-compat + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-compat}.so.4.7.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + for version in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do + ln -s libcurl-compat.so.4.7.0 "${pkgdir}"/usr/lib/libcurl.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-compat +} + +package_libcurl-gnutls() { + pkgdesc='An URL retrieval library (without versioned symbols and linked against gnutls)' + depends=('curl' 'gnutls') + + cd "${srcdir}"/build-curl-gnutls + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.7.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do + ln -s libcurl-gnutls.so.4.7.0 "${pkgdir}"/usr/lib/libcurl-gnutls.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-gnutls +} + +#---- license gpg-key sha256sums ---- + +license=('MIT') + +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg + +sha256sums=(910cc5fe279dc36e2cca534172c94364cf3fcf7d6494ba56e6c61a390881ddce # curl-7.82.0.tar.gz + c1799877d4d45e733f2c88373d5b6399f169133551e8968f131bb8447e673004) # curl-7.82.0.tar.gz.asc diff --git a/curl/PKGBUILD-arch b/curl/PKGBUILD-arch new file mode 100644 index 0000000..5fea75e --- /dev/null +++ b/curl/PKGBUILD-arch @@ -0,0 +1,119 @@ +# Maintainer: Dave Reisner +# Contributor: Angel Velasquez +# Contributor: Eric Belanger +# Contributor: Lucien Immink +# Contributor: Daniel J Griffiths + +pkgbase=curl +pkgname=(curl libcurl-compat libcurl-gnutls) +pkgver=7.82.0 +pkgrel=1 +pkgdesc='An URL retrieval utility and library' +arch=('x86_64') +url='https://curl.haxx.se' +license=('MIT') +options=('debug') +depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so' + 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so' + 'openssl' 'zlib' 'zstd' 'libzstd.so') +provides=('libcurl.so') +source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) +sha512sums=('d4c4a785876e0d1ba1c1adbe65528d56a8b81fc03ff724e87819cfe51aca60f8a7bf2ac9384f30c3a6bbd28669b2bd3e9a6794737243c836c4902d085a72c474' + 'SKIP') +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg + +_configure_options=( + --prefix='/usr' + --mandir='/usr/share/man' + --disable-ldap + --disable-ldaps + --disable-manual + --enable-ipv6 + --enable-threaded-resolver + --with-gssapi + --with-libssh2 + --with-openssl + --with-random='/dev/urandom' + --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt' +) + +build() { + mkdir build-curl{,-compat,-gnutls} + + # build curl + cd "${srcdir}"/build-curl + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --enable-versioned-symbols + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make + + # build libcurl-compat + cd "${srcdir}"/build-curl-compat + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib + + # build libcurl-gnutls + cd "${srcdir}"/build-curl-gnutls + + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + "${_configure_options[@]}" \ + --disable-versioned-symbols \ + --without-ssl \ + --with-gnutls='/usr' + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make -C lib +} + +package_curl() { + cd build-curl + + make DESTDIR="${pkgdir}" install + make DESTDIR="${pkgdir}" install -C scripts + + cd "${srcdir}/${pkgname}-${pkgver}" + + # license + install -Dt "${pkgdir}/usr/share/licenses/$pkgname" -m0644 COPYING +} + +package_libcurl-compat() { + pkgdesc='An URL retrieval library (without versioned symbols)' + depends=('curl' 'openssl') + + cd "${srcdir}"/build-curl-compat + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-compat}.so.4.7.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + for version in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do + ln -s libcurl-compat.so.4.7.0 "${pkgdir}"/usr/lib/libcurl.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-compat +} + +package_libcurl-gnutls() { + pkgdesc='An URL retrieval library (without versioned symbols and linked against gnutls)' + depends=('curl' 'gnutls') + + cd "${srcdir}"/build-curl-gnutls + + make -C lib DESTDIR="${pkgdir}" install + + mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.7.0 + rm "${pkgdir}"/usr/lib/libcurl.{a,so}* + for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do + ln -s libcurl-gnutls.so.4.7.0 "${pkgdir}"/usr/lib/libcurl-gnutls.so.${version} + done + + install -dm 0755 "${pkgdir}"/usr/share/licenses + ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-gnutls +} diff --git a/curl/clean b/curl/clean new file mode 100644 index 0000000..cedda8b --- /dev/null +++ b/curl/clean @@ -0,0 +1 @@ +rm -rvf {*.tar.gz*,src,pkg} diff --git a/curl/deps b/curl/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/curl/deps @@ -0,0 +1 @@ + diff --git a/curl/key b/curl/key new file mode 100644 index 0000000..d256671 --- /dev/null +++ b/curl/key @@ -0,0 +1 @@ +gpg -v --recv-key 5CC908FDB71E12C2 diff --git a/curl/time b/curl/time new file mode 100644 index 0000000..2987d43 --- /dev/null +++ b/curl/time @@ -0,0 +1,4 @@ +real 2m14.693s +user 4m24.129s +sys 0m31.718s + diff --git a/dash/PKGBUILD b/dash/PKGBUILD new file mode 100644 index 0000000..5b7a152 --- /dev/null +++ b/dash/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dash +pkgver=0.5.11.5 +pkgrel=01 +pkgdesc='POSIX compliant shell that aims to be as small as possible' +url='http://gondor.apana.org.au/~herbert/dash/' +arch=('x86_64') +depends=('glibc' 'libedit' 'libedit.so') +install=dash.install +#options=(debug) +source=(https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/${pkgname}-${pkgver}.tar.gz) + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --mandir=/usr/share/man \ + --exec-prefix="" \ + --with-libedit + make V=1 +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +sha512sums=('324e7971bb9ab93246e811600f59a059462abc4fefc48c7d53782b518d560f740ace95f41b5d8c215279c6084c1881ff8bbdaabee69fdae66c971d3e9bdce2d4') + +b2sums=('f8ad8eacbb13ea00ecccde33d32ea5cd7527b7fbef5a4e11765925239de91d916184a3b9fff9757629512a76eed3ae5cc46f5cf588fc65bd82616b187cb9cd2e') + +sha256sums=(267d5e14f182a3b446ddccd62ffdeb2878403342db9ff82a112556b374d20ff5) # dash-0.5.11.5.tar.gz diff --git a/dash/PKGBUILD-arch b/dash/PKGBUILD-arch new file mode 100644 index 0000000..2176720 --- /dev/null +++ b/dash/PKGBUILD-arch @@ -0,0 +1,38 @@ +# Maintainer: Levente Polyak +# Contributor: Dan McGee + +pkgname=dash +pkgver=0.5.11.5 +pkgrel=1 +pkgdesc='POSIX compliant shell that aims to be as small as possible' +url='http://gondor.apana.org.au/~herbert/dash/' +arch=('x86_64') +license=('BSD') +depends=('glibc' 'libedit' 'libedit.so') +install=dash.install +options=('debug') +source=(https://git.kernel.org/pub/scm/utils/dash/dash.git/snapshot/${pkgname}-${pkgver}.tar.gz) +sha512sums=('324e7971bb9ab93246e811600f59a059462abc4fefc48c7d53782b518d560f740ace95f41b5d8c215279c6084c1881ff8bbdaabee69fdae66c971d3e9bdce2d4') +b2sums=('f8ad8eacbb13ea00ecccde33d32ea5cd7527b7fbef5a4e11765925239de91d916184a3b9fff9757629512a76eed3ae5cc46f5cf588fc65bd82616b187cb9cd2e') + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --mandir=/usr/share/man \ + --exec-prefix="" \ + --with-libedit + make V=1 +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/dash/clean b/dash/clean new file mode 100644 index 0000000..d10eeb3 --- /dev/null +++ b/dash/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,dash-*tar.gz} diff --git a/dash/dash.install b/dash/dash.install new file mode 100644 index 0000000..6b04cba --- /dev/null +++ b/dash/dash.install @@ -0,0 +1,11 @@ +post_install() { + grep -q '/bin/dash' etc/shells || echo '/bin/dash' >> etc/shells +} + +post_upgrade() { + post_install +} + +pre_remove() { + sed -i '/^\/bin\/dash/d' etc/shells +} diff --git a/dash/deps b/dash/deps new file mode 100644 index 0000000..37f7fe6 --- /dev/null +++ b/dash/deps @@ -0,0 +1,4 @@ +libedit +autoconf +automake + diff --git a/dash/time b/dash/time new file mode 100644 index 0000000..d5cb4b7 --- /dev/null +++ b/dash/time @@ -0,0 +1,3 @@ +real 0m7.784s +user 0m10.714s +sys 0m1.045s diff --git a/db/PKGBUILD b/db/PKGBUILD new file mode 100644 index 0000000..57271e7 --- /dev/null +++ b/db/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=db +pkgver=5.3.28 +pkgrel=05 +pkgdesc="The Berkeley DB embedded database system" +arch=('x86_64') +groups=( jobbot ) +url="https://www.oracle.com/technology/software/products/berkeley-db/index.html" +depends=('gcc-libs' 'sh') +source=(https://download.oracle.com/berkeley-db/db-${pkgver}.tar.gz atomic.patch) + +prepare() { + cd $pkgname-$pkgver + patch -p0 -i ../atomic.patch # Fix build +} + +build() { + cd "${srcdir}"/$pkgname-${pkgver}/build_unix + ../dist/configure --prefix=/usr --enable-compat185 \ + --enable-shared --enable-static --enable-cxx --enable-dbm \ + --enable-stl + make LIBSO_LIBS=-lpthread +} + +package() { + cd "${srcdir}"/$pkgname-${pkgver}/build_unix + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/docs + install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE \ + "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=('custom') + +sha256sums=(e0a992d740709892e81f9d93f06daf305cf73fb81b545afe72478043172c3628 # db-5.3.28.tar.gz + ba0e2b4f53e9cb0ec58f60a979b53b8567b4565f0384886196f1fc1ef111d151) # atomic.patch diff --git a/db/PKGBUILD-arch b/db/PKGBUILD-arch new file mode 100644 index 0000000..ad8ff23 --- /dev/null +++ b/db/PKGBUILD-arch @@ -0,0 +1,36 @@ +# Maintainer: Stéphane Gaudreault +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=db +pkgver=5.3.28 +pkgrel=5 +pkgdesc="The Berkeley DB embedded database system" +arch=('x86_64') +url="https://www.oracle.com/technology/software/products/berkeley-db/index.html" +license=('custom') +depends=('gcc-libs' 'sh') +source=(https://download.oracle.com/berkeley-db/db-${pkgver}.tar.gz atomic.patch) +sha1sums=('fa3f8a41ad5101f43d08bc0efb6241c9b6fc1ae9' + '70a51fe2a39a21652ef01767a9c8a30515b95a33') + +prepare() { + cd $pkgname-$pkgver + patch -p0 -i ../atomic.patch # Fix build +} + +build() { + cd "${srcdir}"/$pkgname-${pkgver}/build_unix + ../dist/configure --prefix=/usr --enable-compat185 \ + --enable-shared --enable-static --enable-cxx --enable-dbm \ + --enable-stl + make LIBSO_LIBS=-lpthread +} + +package() { + cd "${srcdir}"/$pkgname-${pkgver}/build_unix + make DESTDIR="${pkgdir}" install + rm -r "${pkgdir}"/usr/docs + install -Dm644 "${srcdir}"/${pkgname}-${pkgver}/LICENSE \ + "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/db/atomic.patch b/db/atomic.patch new file mode 100644 index 0000000..398aa1d --- /dev/null +++ b/db/atomic.patch @@ -0,0 +1,20 @@ +--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400 ++++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400 +@@ -144,7 +144,7 @@ + #define atomic_inc(env, p) __atomic_inc(p) + #define atomic_dec(env, p) __atomic_dec(p) + #define atomic_compare_exchange(env, p, o, n) \ +- __atomic_compare_exchange((p), (o), (n)) ++ __atomic_compare_exchange_db((p), (o), (n)) + static inline int __atomic_inc(db_atomic_t *p) + { + int temp; +@@ -176,7 +176,7 @@ + * http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html + * which configure could be changed to use. + */ +-static inline int __atomic_compare_exchange( ++static inline int __atomic_compare_exchange_db( + db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval) + { + atomic_value_t was; diff --git a/db/clean b/db/clean new file mode 100644 index 0000000..e6334e7 --- /dev/null +++ b/db/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz*} diff --git a/db/time b/db/time new file mode 100644 index 0000000..e794446 --- /dev/null +++ b/db/time @@ -0,0 +1,4 @@ +real 1m17.466s +user 4m5.692s +sys 0m17.263s + diff --git a/dbus/PKGBUILD b/dbus/PKGBUILD new file mode 100644 index 0000000..afae657 --- /dev/null +++ b/dbus/PKGBUILD @@ -0,0 +1,103 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=dbus +pkgname=(dbus dbus-docs) +pkgver=1.14.0 +pkgrel=01 +pkgdesc="Freedesktop.org message bus system" +url="https://wiki.freedesktop.org/www/Software/dbus/" +arch=(x86_64) +depends=(expat audit) +makedepends=(xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive automake) +source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver" + no-fatal-warnings.diff dbus.tmpfiles) + +prepare() { + cd dbus + + # Allow us to enable checks without them being fatal + patch -Np1 -i ../no-fatal-warnings.diff + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd dbus + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/dbus-1.0 \ + --runstatedir=/run \ + --with-console-auth-dir=/run/console/ \ + --with-dbus-user=dbus \ + --with-system-pid-file=/run/dbus/pid \ + --with-system-socket=/run/dbus/system_bus_socket \ + --without-systemdsystemunitdir \ + --enable-inotify \ + --enable-libaudit \ + --disable-systemd \ + --disable-user-session \ + --enable-xml-docs \ + --enable-doxygen-docs \ + --enable-ducktype-docs \ + --disable-static \ + --disable-asserts \ + --disable-x11-autolaunch \ + --disable-checks \ + --without-x + make +} + +check() { + make -C dbus -j1 check +} + +package_dbus() { + depends+=(libaudit.so) + provides=(libdbus libdbus-1.so) + conflicts=(libdbus) + replaces=(libdbus) + + DESTDIR="$pkgdir" make -C dbus install + + rm -r "$pkgdir"/{etc,var} + +# # We have a pre-assigned uid (81) +# echo 'u dbus 81 "System Message Bus"' | +# install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/dbus.conf" + install -D -m0644 "$srcdir"/dbus.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dbus.conf +# install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # Split docs + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING +} + +package_dbus-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING +} + + + + +#---- license gpg-key sha256sums ---- + +license=(GPL custom) + +validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie + +sha256sums=(SKIP + 6958eeec07557b92a28419eb1702331ee2f0a6fd17285e37dfb6130b9fa4cf6e # no-fatal-warnings.diff + 965cef20cce35819e89c65f06a931a38bea2119b0ae9c259b5d7f9cfc3edd6d7) # dbus.tmpfiles diff --git a/dbus/PKGBUILD-arch b/dbus/PKGBUILD-arch new file mode 100644 index 0000000..3fabc70 --- /dev/null +++ b/dbus/PKGBUILD-arch @@ -0,0 +1,93 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Jan de Groot +# Contributor: Tom Gundersen +# Contributor: Link Dupont + +pkgbase=dbus +pkgname=(dbus dbus-docs) +pkgver=1.14.0 +pkgrel=1 +pkgdesc="Freedesktop.org message bus system" +url="https://wiki.freedesktop.org/www/Software/dbus/" +arch=(x86_64) +license=(GPL custom) +depends=(systemd-libs expat audit) +makedepends=(systemd xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive) +source=("git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#tag=dbus-$pkgver" + dbus-reload.hook no-fatal-warnings.diff) +sha256sums=('SKIP' + 'd636205622d0ee3b0734360225739ef0c7ad2468a09489e6ef773d88252960f3' + 'c10395be67e1127a58d7173b587fbbf16f8a8b271c41293558fcf9e27c185478') +validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90') # Simon McVittie + +prepare() { + cd dbus + + # Allow us to enable checks without them being fatal + patch -Np1 -i ../no-fatal-warnings.diff + + NOCONFIGURE=1 ./autogen.sh +} + +build() { + cd dbus + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --libexecdir=/usr/lib/dbus-1.0 \ + --runstatedir=/run \ + --with-console-auth-dir=/run/console/ \ + --with-dbus-user=dbus \ + --with-system-pid-file=/run/dbus/pid \ + --with-system-socket=/run/dbus/system_bus_socket \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --enable-inotify \ + --enable-libaudit \ + --enable-systemd \ + --enable-user-session \ + --enable-xml-docs \ + --enable-doxygen-docs \ + --enable-ducktype-docs \ + --disable-static \ + --without-x + make +} + +check() { + make -C dbus -j1 check +} + +package_dbus() { + depends+=(libsystemd.so libaudit.so) + provides=(libdbus libdbus-1.so) + conflicts=(libdbus) + replaces=(libdbus) + + DESTDIR="$pkgdir" make -C dbus install + + rm -r "$pkgdir"/{etc,var} + + # We have a pre-assigned uid (81) + echo 'u dbus 81 "System Message Bus"' | + install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/dbus.conf" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + + # Split docs + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING +} + +package_dbus-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" + + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING +} + +# vim:set sw=2 et: diff --git a/dbus/PKGBUILD-oba b/dbus/PKGBUILD-oba new file mode 100644 index 0000000..7ff122f --- /dev/null +++ b/dbus/PKGBUILD-oba @@ -0,0 +1,166 @@ +# Copyright : Obarun +#------------------------ +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +#---------------- +# Pkgbuild Src : https://git.obarun.org/pkg/obcore/dbus +#-------------------------------------------------------------------------------- +# DESCRIPTION ] + +pkgbase=dbus +pkgver=1.12.20 +pkgrel=2 +pkgdesc="Freedesktop.org message bus system" +url='https://wiki.freedesktop.org/www/Software/dbus/' + +pkgname=( + 'dbus' + 'dbus-docs' +) + +track="tag" +target="$pkgbase-$pkgver" +source=( + "git+https://gitlab.freedesktop.org/dbus/dbus.git?signed#${track}=${target}" + dbus.tmpfiles + no-fatal-warnings.diff +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'xmlto' + 'docbook-xsl' + 'python' + 'yelp-tools' + 'doxygen' + 'git' + 'autoconf-archive' +) + +#------------------------ +# INSTALL CONFIGURATION ] + +depends=( + 'expat' + 'audit' +) + +conflicts=( + 'dbus-eudev' +) + +install=dbus.install + +#---------------- +# BUILD PREPARE ] + +prepare() { + ## Allow us to enable checks without them being fatal + patch -d "$pkgbase" -p1 -i ../no-fatal-warnings.diff + + cd $pkgbase + NOCONFIGURE=1 ./autogen.sh +} + +#---------------- +# BUILD CONTROL ] + +_flags=( + --prefix=/usr + --sysconfdir=/etc + --localstatedir=/var + --libexecdir=/usr/lib/dbus-1.0 + runstatedir=/run + --with-system-pid-file=/run/dbus/pid + --with-system-socket=/run/dbus/system_bus_socket + --with-dbus-session-bus-listen-address=unix:runtime=yes + --with-dbus-session-bus-connect-address=autolaunch: + --with-dbus-user=dbus + --with-console-auth-dir=/run/console/ + --without-systemdsystemunitdir + --without-x + --enable-inotify + --disable-static + --disable-verbose-mode + --disable-asserts + --disable-systemd + --disable-user-session + --disable-x11-autolaunch + --disable-checks + --enable-libaudit +) + +#-------- +# BUILD ] + +build() { + cd $pkgbase + + ./configure "${_flags[@]}" + make +} + +#-------- +# CHECK ] + +check() { + make -C "$pkgbase" check +} + +#---------- +# PACKAGE ] + +package_dbus(){ + depends+=( + 'libaudit.so' + ) + provides=( + 'libdbus' + 'libdbus-1.so' + ) + conflicts=( + 'libdbus' + ) + replaces=( + 'libdbus' + ) + + DESTDIR="$pkgdir" make -C dbus install + + rm -r "$pkgdir"/{etc,var} + + ## systemd-sysusers + #install -D -m0644 "$srcdir/dbus.sysusers" "$pkgdir/usr/lib/sysusers.d/dbus.conf" + + ## systemd-tmpfiles + install -D -m0644 "$srcdir"/dbus.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dbus.conf + + install -Dt "$pkgdir"/usr/share/licenses/"$pkgname" -m644 dbus/COPYING + + ## Split docs + mv "$pkgdir"/usr/share/doc "$srcdir" +} + +package_dbus-docs(){ + pkgdesc+=" (documentation)" + depends=() + + install -Dt "$pkgdir"/usr/share/licenses/"$pkgname" -m644 dbus/COPYING + + mv doc "$pkgdir"/usr/share +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(GPL custom) + +validpgpkeys=( + 'DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90' # Simon McVittie + '3C8672A0F49637FE064AC30F52A43A1E4B77B059' # Simon McVittie +) + +sha512sums=('') diff --git a/dbus/clean b/dbus/clean new file mode 100644 index 0000000..4ac000e --- /dev/null +++ b/dbus/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,dbus} diff --git a/dbus/dbus.tmpfiles b/dbus/dbus.tmpfiles new file mode 100644 index 0000000..14d81bf --- /dev/null +++ b/dbus/dbus.tmpfiles @@ -0,0 +1 @@ +d /run/dbus 0755 diff --git a/dbus/deps b/dbus/deps new file mode 100644 index 0000000..aee8125 --- /dev/null +++ b/dbus/deps @@ -0,0 +1,8 @@ +xmlto +docbook-xsl +python +yelp-tools +doxygen +git +autoconf-archive +automake diff --git a/dbus/key b/dbus/key new file mode 100644 index 0000000..aa6f71f --- /dev/null +++ b/dbus/key @@ -0,0 +1 @@ +gpg -v --recv-key E05AE1478F814C4F diff --git a/dbus/no-fatal-warnings.diff b/dbus/no-fatal-warnings.diff new file mode 100644 index 0000000..459da90 --- /dev/null +++ b/dbus/no-fatal-warnings.diff @@ -0,0 +1,13 @@ +diff --git i/dbus/dbus-internals.c w/dbus/dbus-internals.c +index 267aef97..b1064e85 100644 +--- i/dbus/dbus-internals.c ++++ w/dbus/dbus-internals.c +@@ -185,7 +185,7 @@ const char *_dbus_no_memory_message = "Not enough memory"; + + static dbus_bool_t warn_initted = FALSE; + static dbus_bool_t fatal_warnings = FALSE; +-static dbus_bool_t fatal_warnings_on_check_failed = TRUE; ++static dbus_bool_t fatal_warnings_on_check_failed = FALSE; + + static void + init_warnings(void) diff --git a/dbus/time b/dbus/time new file mode 100644 index 0000000..c420196 --- /dev/null +++ b/dbus/time @@ -0,0 +1,3 @@ +real 0m48.184s +user 1m20.717s +sys 0m9.691s diff --git a/device-mapper b/device-mapper new file mode 120000 index 0000000..90f3860 --- /dev/null +++ b/device-mapper @@ -0,0 +1 @@ +lvm2 \ No newline at end of file diff --git a/dhclient/0002-iproute2.patch b/dhclient/0002-iproute2.patch new file mode 100644 index 0000000..7d728e9 --- /dev/null +++ b/dhclient/0002-iproute2.patch @@ -0,0 +1,13 @@ +diff --git a/client/scripts/linux b/client/scripts/linux +index 5fb16121..c4cef632 100755 +--- a/client/scripts/linux ++++ b/client/scripts/linux +@@ -362,7 +362,7 @@ case "$reason" in + interface_up_wait_time=5 + for i in $(seq 0 ${interface_up_wait_time}) + do +- ifconfig ${interface} | grep RUNNING >/dev/null 2>&1 ++ ${ip} link show dev ${interface} | grep -q LOWER_UP 2>&1 + if [ $? -eq 0 ]; then + break; + fi diff --git a/dhclient/0003-117-fixed-gcc-10-compilation-issues.patch b/dhclient/0003-117-fixed-gcc-10-compilation-issues.patch new file mode 100644 index 0000000..2472f6f --- /dev/null +++ b/dhclient/0003-117-fixed-gcc-10-compilation-issues.patch @@ -0,0 +1,117 @@ +From 6c7e61578b1b449272dbb40dd8b98d03dad8a57a Mon Sep 17 00:00:00 2001 +From: Thomas Markwalder +Date: Thu, 30 Jul 2020 10:01:36 -0400 +Subject: [PATCH] [#117] Fixed gcc 10 compilation issues + +client/dhclient.c +relay/dhcrelay.c + extern'ed local_port,remote_port + +common/discover.c + init local_port,remote_port to 0 + +server/mdb.c + extern'ed dhcp_type_host + +server/mdb6.c + create_prefix6() - eliminated memcpy string overflow error +--- + RELNOTES | 5 +++++ + client/dhclient.c | 5 +++-- + common/discover.c | 4 ++-- + relay/dhcrelay.c | 4 ++-- + server/mdb.c | 2 +- + server/mdb6.c | 2 +- + 6 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/RELNOTES b/RELNOTES +index 9d0a0414..6919dba7 100644 +--- a/RELNOTES ++++ b/RELNOTES +@@ -103,6 +103,11 @@ ISC DHCP is open source software maintained by Internet Systems + Consortium. This product includes cryptographic software written + by Eric Young (eay@cryptsoft.com). + ++ Changes since 4.4.2 (Bug Fixes) ++ ++- Minor corrections to allow compilation under gcc 10. ++ [Gitlab #117] ++ + Changes since 4.4.2b1 (Bug Fixes) + + - Added a clarification on DHCPINFORMs and server authority to +diff --git a/client/dhclient.c b/client/dhclient.c +index 189e5270..7a7837cb 100644 +--- a/client/dhclient.c ++++ b/client/dhclient.c +@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client"; + static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/"; + #endif /* UNIT_TEST */ + +-u_int16_t local_port = 0; +-u_int16_t remote_port = 0; ++extern u_int16_t local_port; ++extern u_int16_t remote_port; ++ + #if defined(DHCPv6) && defined(DHCP4o6) + int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */ + #endif +diff --git a/common/discover.c b/common/discover.c +index ca4f4d55..22f09767 100644 +--- a/common/discover.c ++++ b/common/discover.c +@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0; + + int interfaces_invalidated; + int quiet_interface_discovery; +-u_int16_t local_port; +-u_int16_t remote_port; ++u_int16_t local_port = 0; ++u_int16_t remote_port = 0; + u_int16_t relay_port = 0; + int dhcpv4_over_dhcpv6 = 0; + int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *); +diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c +index 883d5058..7211e3bb 100644 +--- a/relay/dhcrelay.c ++++ b/relay/dhcrelay.c +@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */ + forward_untouched, /* Forward without changes. */ + discard } agent_relay_mode = forward_and_replace; + +-u_int16_t local_port; +-u_int16_t remote_port; ++extern u_int16_t local_port; ++extern u_int16_t remote_port; + + /* Relay agent server list. */ + struct server_list { +diff --git a/server/mdb.c b/server/mdb.c +index ff8a707f..8266d764 100644 +--- a/server/mdb.c ++++ b/server/mdb.c +@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL; + + int numclasseswritten; + +-omapi_object_type_t *dhcp_type_host; ++extern omapi_object_type_t *dhcp_type_host; + + isc_result_t enter_class(cd, dynamicp, commit) + struct class *cd; +diff --git a/server/mdb6.c b/server/mdb6.c +index da7baf6e..ebe01e56 100644 +--- a/server/mdb6.c ++++ b/server/mdb6.c +@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref, + } + new_ds.data = new_ds.buffer->data; + memcpy(new_ds.buffer->data, ds.data, ds.len); +- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp)); ++ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp)); + data_string_forget(&ds, MDL); + data_string_copy(&ds, &new_ds, MDL); + data_string_forget(&new_ds, MDL); +-- +GitLab + diff --git a/dhclient/PKGBUILD b/dhclient/PKGBUILD new file mode 100644 index 0000000..ac2271c --- /dev/null +++ b/dhclient/PKGBUILD @@ -0,0 +1,97 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=dhcp +pkgname=('dhcp' 'dhclient') + +# separate patch levels with a period to maintain proper versioning. +_realver=4.4.3 +pkgver=${_realver/-/.} +pkgrel=01 +arch=('x86_64') +url='https://www.isc.org/dhcp/' +makedepends=('bash' 'iproute2' 'openldap') +# options=('!lto') ## remove # if you want the internationalization options to be included + +source=("https://downloads.isc.org/isc/${pkgbase}/${_realver}/${pkgbase}-${_realver}.tar.gz"{,.asc} + 'dhcp-sysusers.conf' + 'dhcp-tmpfiles.conf') + +build() { + cd "${srcdir}/${pkgbase}-${_realver}" +# SEE "note" +# --disable-dhcpv6 \ +# see note on the dhcp/dhclient directory about this + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-dhcpv4o6 \ + --enable-binary-leases \ + --enable-paranoia \ + --with-ldap \ + --with-ldapcrypto \ + --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ + --with-cli-lease-file=/var/lib/dhclient/dhclient.leases + make -j1 +} + +package_dhcp(){ + pkgdesc="A DHCP server, client, and relay agent w/o systemd & ipv6" + depends=('glibc' 'libldap') + backup=('etc/dhcpd.conf' ) +# 'etc/dhcpd6.conf') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}/dhcp-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/dhcp.conf" + install -D -m644 "${srcdir}/dhcp-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/dhcp.conf" + + # move and install config files in place + mv "${pkgdir}/etc/dhcpd.conf.example" "${pkgdir}/etc/dhcpd.conf" + + # Remove dhclient + make -C client DESTDIR="${pkgdir}" uninstall + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhcp/LICENSE" +} + +package_dhclient(){ + pkgdesc="A standalone DHCP client from the dhcp package w/o systemd & ipv6" + depends=('glibc' 'bash' 'iproute2' 'run-parts') + provides=('dhcp-client') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make -C client DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/dhclient" + mv "${pkgdir}/etc/dhclient.conf.example" "${pkgdir}/usr/share/dhclient/" + + install -d "${pkgdir}/var/lib/dhclient" + + # install dhclient linux script + install -m755 client/scripts/linux "${pkgdir}/usr/bin/dhclient-script" + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhclient/LICENSE" + +} + +#---- license gpg-key sha256sums ---- + +license=('custom:isc-dhcp') + +validpgpkeys=('7E1C91AC8030A5A59D1EFAB9750F3C87723E4012') # Internet Systems Consortium, Inc. (Signing key, 2021-2022) + +sha256sums=(0e3ec6b4c2a05ec0148874bcd999a66d05518378d77421f607fb0bc9d0135818 # dhcp-4.4.3.tar.gz + 7cc76060099bf5058364b38fce502e58e221c42ade909bba266cc1a97bfc3900 # dhcp-4.4.3.tar.gz.asc + b16083e6bb572ffacaa7cd97e7fde5fcfa1b6dbeb166f162e2ec6e8ec4b928d6 # dhcp-sysusers.conf + abcd30e9e8428e34d22ab4d3074ef4bd84c2b11f5868597111b47d6f56d204da) # dhcp-tmpfiles.conf diff --git a/dhclient/PKGBUILD-arch b/dhclient/PKGBUILD-arch new file mode 100644 index 0000000..28665ed --- /dev/null +++ b/dhclient/PKGBUILD-arch @@ -0,0 +1,97 @@ +# Maintainer: Felix Yan +# Contributor: Daniel Isenmann + +pkgbase=dhcp +pkgname=('dhcp' 'dhclient') + +# separate patch levels with a period to maintain proper versioning. +_realver=4.4.3 +pkgver=${_realver/-/.} +pkgrel=1 +arch=('x86_64') +license=('custom:isc-dhcp') +url='https://www.isc.org/dhcp/' +makedepends=('bash' 'iproute2' 'openldap') +options=('!lto') +validpgpkeys=('7E1C91AC8030A5A59D1EFAB9750F3C87723E4012') # Internet Systems Consortium, Inc. (Signing key, 2021-2022) +source=("https://downloads.isc.org/isc/${pkgbase}/${_realver}/${pkgbase}-${_realver}.tar.gz"{,.asc} + 'dhcp-sysusers.conf' + 'dhcp-tmpfiles.conf' + 'dhcpd4.service' + 'dhcpd6.service' + 'dhclient@.service') +sha256sums=('0e3ec6b4c2a05ec0148874bcd999a66d05518378d77421f607fb0bc9d0135818' + 'SKIP' + 'b16083e6bb572ffacaa7cd97e7fde5fcfa1b6dbeb166f162e2ec6e8ec4b928d6' + 'abcd30e9e8428e34d22ab4d3074ef4bd84c2b11f5868597111b47d6f56d204da' + '03fce30efab819b2d928085b0bab962a33ce56fc376acae98ad9b30aa278c9c8' + 'f98a4438f4f69cab7cc5cce6927df4790ee993ebc8f88a169e63043c53d25625' + '86cd0b1e0ea1d47ab096f6ee925eee60545116fb887a155761eda589b30e4f0e') + +build() { + cd "${srcdir}/${pkgbase}-${_realver}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --enable-binary-leases \ + --enable-paranoia \ + --with-ldap \ + --with-ldapcrypto \ + --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ + --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ + --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \ + --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases + + make -j1 +} + +package_dhcp(){ + pkgdesc="A DHCP server, client, and relay agent" + depends=('glibc' 'libldap') + backup=('etc/dhcpd.conf' 'etc/dhcpd6.conf') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make DESTDIR="${pkgdir}" install + + install -D -m644 "${srcdir}/dhcp-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/dhcp.conf" + install -D -m644 "${srcdir}/dhcp-tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/dhcp.conf" + install -D -m644 "${srcdir}/dhcpd4.service" "${pkgdir}/usr/lib/systemd/system/dhcpd4.service" + install -D -m644 "${srcdir}/dhcpd6.service" "${pkgdir}/usr/lib/systemd/system/dhcpd6.service" + + # move and install config files in place + mv "${pkgdir}/etc/dhcpd.conf.example" "${pkgdir}/etc/dhcpd.conf" + install -D -m644 doc/examples/dhcpd-dhcpv6.conf "${pkgdir}/etc/dhcpd6.conf" + + # Remove dhclient + make -C client DESTDIR="${pkgdir}" uninstall + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhcp/LICENSE" +} + +package_dhclient(){ + pkgdesc="A standalone DHCP client from the dhcp package" + depends=('glibc' 'bash' 'iproute2' 'run-parts') + provides=('dhcp-client') + + cd "${srcdir}/${pkgbase}-${_realver}" + + make -C client DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/dhclient" + mv "${pkgdir}/etc/dhclient.conf.example" "${pkgdir}/usr/share/dhclient/" + + install -d "${pkgdir}/var/lib/dhclient" + + # install dhclient linux script + install -m755 client/scripts/linux "${pkgdir}/usr/bin/dhclient-script" + + # install license + install -m644 -D LICENSE "${pkgdir}/usr/share/licenses/dhclient/LICENSE" + + # install systemd service unit + install -m644 -D "$srcdir/dhclient@.service" "${pkgdir}/usr/lib/systemd/system/dhclient@.service" +} diff --git a/dhclient/clean b/dhclient/clean new file mode 100644 index 0000000..7440ec9 --- /dev/null +++ b/dhclient/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,dhc*tar.gz*} diff --git a/dhclient/deps b/dhclient/deps new file mode 100644 index 0000000..2b9ef27 --- /dev/null +++ b/dhclient/deps @@ -0,0 +1 @@ +openldap diff --git a/dhclient/dhcp-sysusers.conf b/dhclient/dhcp-sysusers.conf new file mode 100644 index 0000000..702cb18 --- /dev/null +++ b/dhclient/dhcp-sysusers.conf @@ -0,0 +1 @@ +u dhcp - "DHCP daemon" / diff --git a/dhclient/dhcp-tmpfiles.conf b/dhclient/dhcp-tmpfiles.conf new file mode 100644 index 0000000..5b37325 --- /dev/null +++ b/dhclient/dhcp-tmpfiles.conf @@ -0,0 +1,3 @@ +d /var/lib/dhcp 0750 dhcp dhcp - +f /var/lib/dhcp/dhcpd.leases 0640 dhcp dhcp - +f /var/lib/dhcp/dhcpd6.leases 0640 dhcp dhcp - diff --git a/dhclient/key b/dhclient/key new file mode 100644 index 0000000..9426795 --- /dev/null +++ b/dhclient/key @@ -0,0 +1 @@ +gpg -v --recv-key FE1002BC5970811F diff --git a/dhclient/note b/dhclient/note new file mode 100644 index 0000000..38d1aa0 --- /dev/null +++ b/dhclient/note @@ -0,0 +1,21 @@ +with dhcpv6 disabled in configuration we get an error about a referenced get_client_id string that seems to exist within the dhcp server + +" +src/dhcp-4.4.2-P1/server/dhcpleasequery.c: switch (get_client_id(packet, &lq->client_id)) { +src/dhcp-4.4.2-P1/server/dhcpv6.c:get_client_id(struct packet *packet, struct data_string *client_id) { +src/dhcp-4.4.2-P1/server/dhcpv6.c: switch (get_client_id(packet, client_id)) { +src/dhcp-4.4.2-P1/server/dhcpv6.c: switch (get_client_id(packet, client_id)) { +src/dhcp-4.4.2-P1/server/dhcpv6.c: if (get_client_id(packet, &client_id) == ISC_R_SUCCESS) { +src/dhcp-4.4.2-P1/server/dhcpv6.c: if (get_client_id(packet, &client_id) != ISC_R_SUCCESS) { +src/dhcp-4.4.2-P1/server/ldap.c: if (get_client_id(packet, &client_id) != ISC_R_SUCCESS) +" +Same for 4.4.3 +https://www.techwalla.com/articles/what-is-a-dhcp-client-id + +very interesting, that this exists for ipv6 and not ipv4, which means the client running dhclient provides +with an "id" (most likely a Unique ID) to the server, if not MAC one is created. + +In any case this seems to need more work and research to be built with the entirety of ipv6 turned off +at least on the dhcp side. Dhclient running with the -4 flag seems sufficient. + +openldap rebuilt diff --git a/dhclient/sha b/dhclient/sha new file mode 100644 index 0000000..7c8909e --- /dev/null +++ b/dhclient/sha @@ -0,0 +1,6 @@ +dhcp-4.4.2-P1.tar.gz +dhcp-4.4.2-P1.tar.gz.asc +0002-iproute2.patch +0003-117-fixed-gcc-10-compilation-issues.patch +dhcp-sysusers.conf +dhcp-tmpfiles.conf diff --git a/dhclient/time b/dhclient/time new file mode 100644 index 0000000..0099465 --- /dev/null +++ b/dhclient/time @@ -0,0 +1,4 @@ +real 1m36.736s +user 1m33.306s +sys 0m5.850s + diff --git a/dhcp b/dhcp new file mode 120000 index 0000000..3d21567 --- /dev/null +++ b/dhcp @@ -0,0 +1 @@ +/src/dhclient \ No newline at end of file diff --git a/dhcpcd/PKGBUILD b/dhcpcd/PKGBUILD new file mode 100644 index 0000000..589cc12 --- /dev/null +++ b/dhcpcd/PKGBUILD @@ -0,0 +1,82 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dhcpcd +pkgver=9.4.1 +pkgrel=01 +pkgdesc="RFC2131 compliant DHCP client daemon w/o systemd" +url="https://roy.marples.name/projects/dhcpcd/" +arch=('x86_64') +depends=('glibc' 'sh' 'libeudev') +optdepends=('openresolv: resolvconf support') +provides=('dhcp-client') +backup=('etc/dhcpcd.conf') +install='dhcpcd.install' +options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory +source=("https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz" +# "https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz.distinfo" +# "https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz.distinfo.asc" + dhcpcd.install + dhcpcd.sysusers + dhcpcd.tmpfiles) + +curl "https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz.distinfo.asc" "$pkgname-$pkgver.tar.xz.distinfo.asc" -o "$pkgname-$pkgver.tar.xz.asc" +curl "https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz.distinfo.asc" "$pkgname-$pkgver.tar.xz.distinfo" -o "$pkgname-$pkgver.tar.xz.sha256" + +# prepare () { +# cd ${pkgname}-${pkgver} +# } + +build() { + cd ${pkgname}-${pkgver} + + # configure variables + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/dhcpcd \ + --dbdir=/var/lib/dhcpcd \ + --runstatedir=/run \ + --privsepuser=dhcpcd + + # Build + make +} + +check() { + cd ${pkgname}-${pkgver} + + make test +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # Install License + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # Set Options in /etc/dhcpcd.conf + echo noipv4ll >> "${pkgdir}/etc/dhcpcd.conf" # Disable ip4vall + + # install sysuser amd tmpfiles files + install -Dm644 "${srcdir}/dhcpcd.sysusers" "${pkgdir}/usr/lib/sysusers.d/dhcpcd.conf" + install -Dm644 "${srcdir}/dhcpcd.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/dhcpcd.conf" +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +validpgpkeys=('A785ED2755955D9E93EA59F6597F97EA9AD45549') # Roy Marples (NetBSD) + +sha256sums=(819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c # dhcpcd-9.4.1.tar.xz + d40d51367fcf7e9596e42cd2bab59404633bedbab4d0a3183e7246b4677937b7 # dhcpcd.install + 06788ad9f5f7ccb5d2a2da6f0322ff5771f8de82cfbe8b9ad954f2c38265e21b # dhcpcd.sysusers + 55d57b958f6b7e4d4a538ee88b0fcc1a522050c2d38efb5d680139f618234b35) # dhcpcd.tmpfiles diff --git a/dhcpcd/PKGBUILD-arch b/dhcpcd/PKGBUILD-arch new file mode 100644 index 0000000..ddbdd79 --- /dev/null +++ b/dhcpcd/PKGBUILD-arch @@ -0,0 +1,77 @@ +# Maintainer: Ronald van Haren +# Maintainer: Giancarlo Razzolini +# Contributor: Tom Killian +# Contributor: Judd Vinet + +pkgname=dhcpcd +pkgver=9.4.1 +pkgrel=1 +pkgdesc="RFC2131 compliant DHCP client daemon" +url="https://roy.marples.name/projects/dhcpcd/" +arch=('x86_64') +license=('BSD') +depends=('glibc' 'sh' 'udev' 'systemd-libs') +optdepends=('openresolv: resolvconf support') +provides=('dhcp-client') +backup=('etc/dhcpcd.conf') +install='dhcpcd.install' +options=('emptydirs') # We Need the Empty /var/lib/dhcpcd Directory +source=("https://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.xz" + dhcpcd.install + dhcpcd_.service + dhcpcd.service + dhcpcd.sysusers + dhcpcd.tmpfiles) +validpgpkeys=('A785ED2755955D9E93EA59F6597F97EA9AD45549') # Roy Marples (NetBSD) +sha256sums=('819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c' + 'd40d51367fcf7e9596e42cd2bab59404633bedbab4d0a3183e7246b4677937b7' + '37acd53a589711f5e1db2fcaebb4ccf1c90dc4bcd309626bde25beb7b630a545' + '20bccbf8a05b1bc2be365c8b4b526c38c752f48229ba53c3be113ac5b634f210' + '06788ad9f5f7ccb5d2a2da6f0322ff5771f8de82cfbe8b9ad954f2c38265e21b' + '55d57b958f6b7e4d4a538ee88b0fcc1a522050c2d38efb5d680139f618234b35') +# prepare () { +# cd ${pkgname}-${pkgver} +# } + +build() { + cd ${pkgname}-${pkgver} + + # configure variables + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/dhcpcd \ + --dbdir=/var/lib/dhcpcd \ + --runstatedir=/run \ + --privsepuser=dhcpcd + + # Build + make +} + + +check() { + cd ${pkgname}-${pkgver} + + make test +} + + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # Install License + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/LICENSE" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # Set Options in /etc/dhcpcd.conf + echo noipv4ll >> "${pkgdir}/etc/dhcpcd.conf" # Disable ip4vall + + # install systemd files + install -Dm644 "${srcdir}/dhcpcd_.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd@.service" + install -Dm644 "${srcdir}/dhcpcd.service" "${pkgdir}/usr/lib/systemd/system/dhcpcd.service" # FS#31543 + install -Dm644 "${srcdir}/dhcpcd.sysusers" "${pkgdir}/usr/lib/sysusers.d/dhcpcd.conf" + install -Dm644 "${srcdir}/dhcpcd.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/dhcpcd.conf" +} diff --git a/dhcpcd/PKGBUILD-oba b/dhcpcd/PKGBUILD-oba new file mode 100644 index 0000000..a58ad42 --- /dev/null +++ b/dhcpcd/PKGBUILD-oba @@ -0,0 +1,123 @@ +# Copyright : Obarun +#------------------------ +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +#---------------- +# Pkgbuild Src : https://git.obarun.org/pkg/obcore/dhcpcd +#-------------------------------------------------------------------------------- +# DESCRIPTION ] + +pkgname=dhcpcd +pkgver=9.4.1 +pkgrel=3 +pkgdesc="RFC2131 compliant DHCP client daemon" +url='https://roy.marples.name/projects/dhcpcd/' + +track="$pkgname" +target="$pkgname-$pkgver" +source=( + "https://roy.marples.name/downloads/${track}/${target}.tar.xz" + dhcpcd.conf + dhcpcd.sysusers + dhcpcd.tmpfiles + dhcpcd.install +) + +#---------------------- +# BUILD CONFIGURATION ] + +options=( + 'emptydirs' +) ## We Need the Empty /var/lib/dhcpcd Directory + +#------------------------ +# INSTALL CONFIGURATION ] + +depends=( + 'glibc' + 'sh' + 'udev' +) + +optdepends=( + 'openresolv: resolvconf support' +) + +backup=( + 'etc/dhcpcd.conf' +) + +groups=( + 'base' +) + +provides=( + 'dhcp-client' +) + +install=dhcpcd.install + +#---------------- +# BUILD CONTROL ] + +_flags=( + --prefix=/usr + --sysconfdir=/etc + --localestatdir=/var + --sbindir=/usr/bin + --libexecdir=/usr/lib/dhcpcd + --dbdir=/var/lib/dhcpcd + --runstatedir=/run + --privsepuser=dhcpcd +) + +#-------- +# BUILD ] + +build() { + cd $pkgname-$pkgver + + ./configure "${_flags[@]}" + make +} + +#-------- +# CHECK ] + +check() { + cd $pkgname-$pkgver + make test +} + +#---------- +# PACKAGE ] + +package() { + cd $pkgname-$pkgver + + make DESTDIR="$pkgdir" install + + ## Install License + install -Dm644 "$srcdir"/$pkgname-$pkgver/LICENSE \ + "$pkgdir"/usr/share/licenses/$pkgname/LICENSE + + # Set Options in /etc/dhcpcd.conf + echo noipv4ll >> "${pkgdir}/etc/dhcpcd.conf" # Disable ip4vall + + ## Set Options in /etc/dhcpcd.conf + install -m644 "$srcdir"/dhcpcd.conf "$pkgdir"/etc/dhcpcd.conf + install -Dm644 "$srcdir"/dhcpcd.sysusers "$pkgdir"/usr/lib/sysusers.d/dhcpcd.conf + install -Dm644 "$srcdir"/dhcpcd.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dhcpcd.conf +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(BSD) + +sha256sums=('819357634efed1ea5cf44ec01b24d3d3f8852fec8b4249925dcc5667c54e376c' + '5f72df416730de7453a45f2eabe318a4607c7760e8b50614b17f9a8bef3aab4f' + '06788ad9f5f7ccb5d2a2da6f0322ff5771f8de82cfbe8b9ad954f2c38265e21b' + '55d57b958f6b7e4d4a538ee88b0fcc1a522050c2d38efb5d680139f618234b35' + 'd40d51367fcf7e9596e42cd2bab59404633bedbab4d0a3183e7246b4677937b7') diff --git a/dhcpcd/clean b/dhcpcd/clean new file mode 100644 index 0000000..4fb7976 --- /dev/null +++ b/dhcpcd/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,dhcpcd*tar.xz*} diff --git a/dhcpcd/deps b/dhcpcd/deps new file mode 100644 index 0000000..e69de29 diff --git a/dhcpcd/dhcpcd.install b/dhcpcd/dhcpcd.install new file mode 100644 index 0000000..06e24b3 --- /dev/null +++ b/dhcpcd/dhcpcd.install @@ -0,0 +1,7 @@ +pre_upgrade() { + if [ -d /var/lib/dhcpcd ]; then + # match permissions with upstream + chown root:root /var/lib/dhcpcd + chmod 0750 /var/lib/dhcpcd + fi +} diff --git a/dhcpcd/dhcpcd.sysusers b/dhcpcd/dhcpcd.sysusers new file mode 100644 index 0000000..bcf09a5 --- /dev/null +++ b/dhcpcd/dhcpcd.sysusers @@ -0,0 +1 @@ +u dhcpcd - "dhcpcd privilege separation" - diff --git a/dhcpcd/dhcpcd.tmpfiles b/dhcpcd/dhcpcd.tmpfiles new file mode 100644 index 0000000..3d83f2a --- /dev/null +++ b/dhcpcd/dhcpcd.tmpfiles @@ -0,0 +1 @@ +d /run/dhcpcd 0755 root root - diff --git a/dhcpcd/key b/dhcpcd/key new file mode 100644 index 0000000..2f4c011 --- /dev/null +++ b/dhcpcd/key @@ -0,0 +1 @@ +gpg -v --recv-key 597F97EA9AD45549 diff --git a/dhcpcd/note b/dhcpcd/note new file mode 100644 index 0000000..7865e73 --- /dev/null +++ b/dhcpcd/note @@ -0,0 +1 @@ +added 2 curl commands to download GnuPG and sha256sums info from the site, currently with an expired cerificate - Get well soon Roy diff --git a/dhcpcd/time b/dhcpcd/time new file mode 100644 index 0000000..929489d --- /dev/null +++ b/dhcpcd/time @@ -0,0 +1,3 @@ +real 0m7.256s +user 0m16.655s +sys 0m1.076s diff --git a/dialog/PKGBUILD b/dialog/PKGBUILD new file mode 100644 index 0000000..5b20ff6 --- /dev/null +++ b/dialog/PKGBUILD @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dialog +pkgver=1.3_20220117 +pkgrel=01 +epoch=1 +pkgdesc="A tool to display dialog boxes from shell scripts" +arch=('x86_64') +url="https://invisible-island.net/dialog/" +depends=('sh' 'ncurses') +provides=('libdialog.so') +source=(https://invisible-mirror.net/archives/$pkgname/$pkgname-${pkgver/_/-}.tgz{,.asc}) + +build() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + + ./configure \ + --prefix=/usr \ + --enable-nls \ + --with-libtool \ + --with-ncursesw + make +} + +package() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + make DESTDIR="$pkgdir" install-full +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas E. Dickey (self-signed w/o SHA1) + +sha256sums=(754cb6bf7dc6a9ac5c1f80c13caa4d976e30a5a6e8b46f17b3bb9b080c31041f # dialog-1.3-20220117.tgz + 7779e01727b063d143dd59c408dd07683c8284196911bc139c5afd9083de5390) # dialog-1.3-20220117.tgz.asc diff --git a/dialog/PKGBUILD-arch b/dialog/PKGBUILD-arch new file mode 100644 index 0000000..e8a8b78 --- /dev/null +++ b/dialog/PKGBUILD-arch @@ -0,0 +1,37 @@ +# Maintainer: Evangelos Foutras +# Contributor: Stéphane Gaudreault +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=dialog +pkgver=1.3_20220117 +pkgrel=1 +epoch=1 +pkgdesc="A tool to display dialog boxes from shell scripts" +arch=('x86_64') +url="https://invisible-island.net/dialog/" +license=('LGPL2.1') +depends=('sh' 'ncurses') +provides=('libdialog.so') +source=(https://invisible-mirror.net/archives/$pkgname/$pkgname-${pkgver/_/-}.tgz{,.asc}) +sha256sums=('754cb6bf7dc6a9ac5c1f80c13caa4d976e30a5a6e8b46f17b3bb9b080c31041f' + 'SKIP') +validpgpkeys=('19882D92DDA4C400C22C0D56CC2AF4472167BE03') # Thomas E. Dickey (self-signed w/o SHA1) + +build() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + + ./configure \ + --prefix=/usr \ + --enable-nls \ + --with-libtool \ + --with-ncursesw + make +} + +package() { + cd "$srcdir/$pkgname-${pkgver/_/-}" + make DESTDIR="$pkgdir" install-full +} + +# vim:set ts=2 sw=2 et: diff --git a/dialog/clean b/dialog/clean new file mode 100644 index 0000000..c54d07e --- /dev/null +++ b/dialog/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tgz*} diff --git a/dialog/deps b/dialog/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dialog/deps @@ -0,0 +1 @@ + diff --git a/dialog/key b/dialog/key new file mode 100644 index 0000000..4c7476a --- /dev/null +++ b/dialog/key @@ -0,0 +1 @@ +gpg -v --recv-key CC2AF4472167BE03 diff --git a/dialog/time b/dialog/time new file mode 100644 index 0000000..15cac3b --- /dev/null +++ b/dialog/time @@ -0,0 +1,3 @@ +real 0m15.250s +user 0m30.844s +sys 0m3.521s diff --git a/diffutils/PKGBUILD b/diffutils/PKGBUILD new file mode 100644 index 0000000..0c89bf2 --- /dev/null +++ b/diffutils/PKGBUILD @@ -0,0 +1,53 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/diffutils" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=diffutils +pkgver=3.8 +pkgrel=01 +pkgdesc='Utility programs used for creating patch files' +arch=('x86_64') +groups=( jobbot ) +url='https://www.gnu.org/software/diffutils' +depends=('glibc' 'bash') +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha512sums ---- + +license=('GPL3') + +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering + +sha256sums=('a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec' # diffutils-3.8.tar.xz + '500f423d0ffa8d28966d916ed5fc6b79fb160a20ed5cb74eeb1c94a30c340311') # diffutils-3.8.tar.xz.sig diff --git a/diffutils/PKGBUILD-arch b/diffutils/PKGBUILD-arch new file mode 100644 index 0000000..da099cb --- /dev/null +++ b/diffutils/PKGBUILD-arch @@ -0,0 +1,47 @@ +# Mainainer: Sébastien Luttringer +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=diffutils +pkgver=3.8 +pkgrel=1 +pkgdesc='Utility programs used for creating patch files' +arch=('x86_64') +url='https://www.gnu.org/software/diffutils' +license=('GPL3') +depends=('glibc' 'bash') +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('a6bdd7d1b31266d11c4f4de6c1b748d4607ab0231af5188fc2533d0ae2438fec' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/diffutils/clean b/diffutils/clean new file mode 100644 index 0000000..4a05ca1 --- /dev/null +++ b/diffutils/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*xz*} diff --git a/diffutils/deps b/diffutils/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/diffutils/deps @@ -0,0 +1 @@ + diff --git a/diffutils/key b/diffutils/key new file mode 100644 index 0000000..05c8949 --- /dev/null +++ b/diffutils/key @@ -0,0 +1 @@ +gpg -v --recv-key 7FD9FCCB000BEEEE diff --git a/diffutils/time b/diffutils/time new file mode 100644 index 0000000..88df1f1 --- /dev/null +++ b/diffutils/time @@ -0,0 +1,4 @@ + +real 0m50.577s +user 1m9.419s +sys 0m7.861s diff --git a/ding-libs/PKGBUILD b/ding-libs/PKGBUILD new file mode 100644 index 0000000..661ea3c --- /dev/null +++ b/ding-libs/PKGBUILD @@ -0,0 +1,55 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=ding-libs +pkgver=0.6.1 +pkgrel=04 +pkgdesc="'D is not GLib' utility libraries" +arch=('x86_64') +url="https://pagure.io/SSSD/ding-libs/" +depends=('glibc') +makedepends=('doxygen') +checkdepends=('check') +source=(https://releases.pagure.org/SSSD//$pkgname/$pkgname-$pkgver.tar.gz{,.asc} + ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch) + +prepare() { + cd $pkgname-$pkgver + # fix a test; FS#60089 + patch -Np1 -i ../ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make all docs +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3' 'LGPL3') + +validpgpkeys=('7B54CAE8A03D66F3D70A5B516F5A90EB44FBC7C7' # "Pavel Reichl " + 'E4E366758CA0716AAB8048671EC6AB7532E7BC25' # "Jakub Hrozek " + '16F24229488E736048952737BA88000FE6398272') # "Michal Židek (rh_work) " + +sha1sums=('dab4c855b065bd728021437af81ae726c31c5272' + 'SKIP' + '78ef3f3fcb25a9a98fcd82353d20b89000aee21a') + +sha256sums=(a319a327deb81f2dfab9ce4a4926e80e1dac5dcfc89f4c7e548cec2645af27c1 # ding-libs-0.6.1.tar.gz + c27c99513e614576c5b25a4e1ee4d75558e809015c2ac690337389b82faf347a # ding-libs-0.6.1.tar.gz.asc + f4ca269bfdad407cd661e9dac900400e16fce2bbc130cf63cda763ad9c0642c1) # ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch diff --git a/ding-libs/PKGBUILD-arch b/ding-libs/PKGBUILD-arch new file mode 100644 index 0000000..18bd42c --- /dev/null +++ b/ding-libs/PKGBUILD-arch @@ -0,0 +1,44 @@ +# Maintainer: AndyRTR +# Contributor: Massimiliano Torromeo +# Contributor: Mantas M. + +pkgname=ding-libs +pkgver=0.6.1 +pkgrel=4 +pkgdesc="'D is not GLib' utility libraries" +arch=('x86_64') +url="https://pagure.io/SSSD/ding-libs/" +license=('GPL3' 'LGPL3') +depends=('glibc') +makedepends=('doxygen') +checkdepends=('check') +source=(https://releases.pagure.org/SSSD//$pkgname/$pkgname-$pkgver.tar.gz{,.asc} + ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch) +sha1sums=('dab4c855b065bd728021437af81ae726c31c5272' + 'SKIP' + '78ef3f3fcb25a9a98fcd82353d20b89000aee21a') +validpgpkeys=('7B54CAE8A03D66F3D70A5B516F5A90EB44FBC7C7' # "Pavel Reichl " + 'E4E366758CA0716AAB8048671EC6AB7532E7BC25' # "Jakub Hrozek " + '16F24229488E736048952737BA88000FE6398272') # "Michal Židek (rh_work) " + +prepare() { + cd $pkgname-$pkgver + # fix a test; FS#60089 + patch -Np1 -i ../ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make all docs +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} diff --git a/ding-libs/clean b/ding-libs/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/ding-libs/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/ding-libs/deps b/ding-libs/deps new file mode 100644 index 0000000..f4b4ed3 --- /dev/null +++ b/ding-libs/deps @@ -0,0 +1,3 @@ +doxygen +check + diff --git a/ding-libs/ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch b/ding-libs/ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch new file mode 100644 index 0000000..1b05e8f --- /dev/null +++ b/ding-libs/ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28.patch @@ -0,0 +1,36 @@ +diff -rauN ding-libs-0.6.1/ini/ini_validators_ut_check.c ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28-patch/ini/ini_validators_ut_check.c +--- ding-libs-0.6.1/ini/ini_validators_ut_check.c 2017-09-07 17:24:13.000000000 +0200 ++++ ding-libs-0.6.1-ini_validators_ut_check-glibc-2.28-patch/ini/ini_validators_ut_check.c 2018-09-17 13:13:29.989999949 +0200 +@@ -602,11 +602,31 @@ + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + ++ /* Different versions of libc produce slightly different error strings ++ * in this case. For simplicity compare against all of them. */ + errmsg = ini_errobj_get_msg(errobj); + ret = strcmp(errmsg, + "[rule/options_for_foo]: Cannot compile regular expression " + "from option 'section_re'. " + "Error: 'Unmatched [ or [^'"); ++ if (ret != 0) { ++ ret = strcmp(errmsg, ++ "[rule/options_for_foo]: Cannot compile regular expression " ++ "from option 'section_re'. " ++ "[rule/options_for_foo]: Cannot compile regular " ++ "expression from option 'section_re'. " ++ "Error: 'brackets ([ ]) not balanced'"); ++ } ++ if (ret != 0) { ++ ret = strcmp(errmsg, ++ "[rule/options_for_foo]: Cannot compile regular " ++ "expression from option 'section_re'. " ++ "Error: 'Unmatched [, [^, [:, [., or [='"); ++ } ++ fail_unless(ret == 0, "Got msg: [%s]", errmsg); ++ ini_errobj_next(errobj); ++ ++ + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + + diff --git a/ding-libs/key b/ding-libs/key new file mode 100644 index 0000000..debb41e --- /dev/null +++ b/ding-libs/key @@ -0,0 +1 @@ +gpg -v --recv-key BA88000FE6398272 diff --git a/ding-libs/time b/ding-libs/time new file mode 100644 index 0000000..091a67b --- /dev/null +++ b/ding-libs/time @@ -0,0 +1,3 @@ +real 0m13.361s +user 0m26.577s +sys 0m2.119s diff --git a/dmraid/PKGBUILD b/dmraid/PKGBUILD new file mode 100644 index 0000000..17591a4 --- /dev/null +++ b/dmraid/PKGBUILD @@ -0,0 +1,69 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dmraid +pkgver=1.0.0.rc16.3 +_pkgver=1.0.0.rc16-3 ## source has - not allowed for pkgver +pkgrel=013 +pkgdesc="Device mapper RAID interface" +url="https://people.redhat.com/~heinzm/sw/dmraid" +conflicts=('mkinitcpio<0.7') +depends=('device-mapper>=2.0.54') +arch=('x86_64') + +source=($url/src/$pkgname-$_pkgver.tar.bz2 + dmraid_install + dmraid_hook + dmraid_tmpfiles) + +install=dmraid.install + +# As I get a security format error on my build I am turning those flags off +# just as arch does on gcc and elsewhere +# + +prepare() { + cd "$pkgname/$_pkgver/$pkgname/" + +CFLAGS=${CFLAGS/-Werror=format-security/} # https://bugs.archlinux.org/task/70701 +CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + +} + +build() { + cd "$pkgname/$_pkgver/$pkgname/" + ./configure \ + prefix=/usr \ + sbindir=/usr/bin \ + libdir=/usr/lib \ + mandir=/usr/share/man \ + includedir=/usr/include \ + --enable-led \ + --enable-intel_led + make +} + +package() { + cd "$pkgname/$_pkgver/$pkgname/" + + make DESTDIR="$pkgdir" sbindir=/usr/bin prefix=/usr libdir=/usr/lib mandir=/usr/share/man includedir=/usr/include install + + install -D -m644 "$srcdir"/dmraid_install "$pkgdir"/usr/lib/initcpio/install/dmraid + install -D -m644 "$srcdir"/dmraid_hook "$pkgdir"/usr/lib/initcpio/hooks/dmraid + install -D -m644 "$srcdir"/dmraid_tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dmraid.conf + + # fix permissions + chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(93421bd169d71ff5e7d2db95b62b030bfa205a12010b6468dcdef80337d6fbd8 # dmraid-1.0.0.rc16-3.tar.bz2 + 6e74f7e1d66fbe5fc41560dfebb327eb31eb3104fec09985e388c2fe252d6575 # dmraid_install + e74cdc82b59160d079594ce082980a3ae3561b5f6ecbdfdd30b7497b76373a2b # dmraid_hook + f00fa4462d83553d2fb769159a019b4d4898634e52b4a9bf796fe52b3b97f0cc) # dmraid_tmpfiles diff --git a/dmraid/PKGBUILD-arch b/dmraid/PKGBUILD-arch new file mode 100644 index 0000000..06c0afe --- /dev/null +++ b/dmraid/PKGBUILD-arch @@ -0,0 +1,43 @@ +# Maintainer: Tobias Powalowski +#Contributor: Urs Wolfer + +pkgname=dmraid +pkgver=1.0.0.rc16.3 +pkgrel=13 +pkgdesc="Device mapper RAID interface" +url="https://people.redhat.com/~heinzm/sw/dmraid/" +conflicts=('mkinitcpio<0.7') +depends=('device-mapper>=2.0.54') +arch=('x86_64') +license=('GPL') +source=(#https://sources.archlinux.org/other/dmraid/$pkgname-$pkgver.tar.bz2 + https://people.redhat.com/~heinzm/sw/dmraid/src/$pkgname-1.0.0.rc16-3.tar.bz2 + dmraid_install + dmraid_hook + dmraid_tmpfiles + dmraid.service) +install=dmraid.install +md5sums=('819338fcef98e8e25819f0516722beeb' + '7a040ebcba305aba1e47dfe6ca8323b5' + 'faec669dc85f87187b45b5d3968efe2c' + '56a8bb0ece8d206cd8efb504ee072ddd' + 'ea6d280fc6f63fb799abcd882bca53c8') + +build() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + ./configure --enable-led --enable-intel_led + make -j1 +} + +package() { + cd "$pkgname/1.0.0.rc16-3/$pkgname" + make DESTDIR="$pkgdir" sbindir=/usr/bin prefix=/usr libdir=/usr/lib mandir=/usr/share/man includedir=/usr/include install + install -D -m644 "$srcdir"/dmraid_install "$pkgdir"/usr/lib/initcpio/install/dmraid + install -D -m644 "$srcdir"/dmraid_hook "$pkgdir"/usr/lib/initcpio/hooks/dmraid + install -D -m644 "$srcdir"/dmraid_tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/dmraid.conf + + # fix permissions + chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a + + install -Dm644 "$srcdir/dmraid.service" "$pkgdir/usr/lib/systemd/system/dmraid.service" +} diff --git a/dmraid/PKGBUILD-oba b/dmraid/PKGBUILD-oba new file mode 100644 index 0000000..634357e --- /dev/null +++ b/dmraid/PKGBUILD-oba @@ -0,0 +1,71 @@ +# Obarun : 66 init/supervisor +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/dmraid/ +#---------------- +# Maintainer : Tobias Powalowski +# Contributor : Urs Wolfer +# Arch PkrSrc : https://www.archlinux.org/packages/core/x86_64/dmraid/ +#----------------------------------------------------------------------- +# Website : http://people.redhat.com/~heinzm/sw/dmraid/ +#----------------------------------------------------------------------- + +pkgname=dmraid +pkgver=1.0.0.rc16.3 +pkgrel=13 +pkgdesc="Device mapper RAID interface" +arch=('x86_64') +url="https://people.redhat.com/~heinzm/sw/dmraid/src" +license=('GPL') + +source=($url/$pkgname-${pkgver/%.3/-3}.tar.bz2 + 'dmraid_install' + 'dmraid_hook') + +install=$pkgname.install + +conflicts=( + 'mkinitcpio<0.7') + +depends=( + 'device-mapper>=2.0.54') + +#--BUILD CONTROL-------------------------------------------------------- + +path=( + prefix=/usr + sbindir=/usr/bin + libdir=/usr/lib + mandir=/usr/share/man + includedir=/usr/include +) + +flags=( + --enable-led + --enable-intel_led +) + +#----------------------------------------------------------------------- +build() { + cd $pkgname/${pkgver/%.3/-3}/$pkgname + + ./configure "${flags[@]}" + make +} + +package() { + cd $pkgname/${pkgver/%.3/-3}/$pkgname + + make DESTDIR="$pkgdir" "${path[@]}" install + + install -D -m0644 "$srcdir"/dmraid_install "$pkgdir"/usr/lib/initcpio/install/dmraid + install -D -m0644 "$srcdir"/dmraid_hook "$pkgdir"/usr/lib/initcpio/hooks/dmraid + + ## fix permissions + chmod 644 "$pkgdir"/usr/include/dmraid/* "$pkgdir"/usr/lib/libdmraid.a +} + +#----------------------------------------------------------------------- +sha512sums=('7c45e5117adc52fc2094b1b2bad4f4c518a46317a2196611966d72085ba3587c4ac8d1080f9d934888c01788f2b2d3d621c6f0d3e2a023c0fb1f9f3fa7fc127e' + '072a146ef843ab3835f4476db5d7891bd718d477b22cbea6dc563487711f91cad227051a25e67528924cd247b0873f4726e33504bc42967344b575972d944a11' + '47dee44d1ad80ed24209e3a39fa58bdf1363a691b160e17586da7034ecf71b03e992955fb24b286898f226948db3198a5fbdb71b5f3bf242bd71a114bcca76ed') diff --git a/dmraid/clean b/dmraid/clean new file mode 100644 index 0000000..5120496 --- /dev/null +++ b/dmraid/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2} diff --git a/dmraid/deps b/dmraid/deps new file mode 100644 index 0000000..11d2fb4 --- /dev/null +++ b/dmraid/deps @@ -0,0 +1 @@ +device-mapper diff --git a/dmraid/dmraid.install b/dmraid/dmraid.install new file mode 100644 index 0000000..64899e7 --- /dev/null +++ b/dmraid/dmraid.install @@ -0,0 +1,14 @@ +post_upgrade() { + if [ "$(vercmp $2 1.0.0.rc15)" -lt 0 ]; then + # important upgrade notice + echo ">>>" + echo ">>> IMPORTANT DMRAID UPGRADE NOTICE" + echo ">>> -------------------------------" + echo ">>> Version 1.0.0.rc15 and greater introduce a new name scheme:" + echo ">>> You need to add an additional 'p' in front of your number." + echo ">>> e.g. --> p" + echo ">>> firsthd1 --> firsthdp1" + echo ">>> Please change your bootloader and fstab accordingly." + echo ">>>" + fi +} diff --git a/dmraid/dmraid_hook b/dmraid/dmraid_hook new file mode 100644 index 0000000..37283e8 --- /dev/null +++ b/dmraid/dmraid_hook @@ -0,0 +1,14 @@ +#!/usr/bin/ash + +run_hook() { + modprobe -a -q dm-mod dm-mirror >/dev/null 2>&1 + msg ":: Activating dmraid arrays..." + # prevent any event monitoring calls with -I + if [ "$quiet" = "y" ]; then + dmraid -ay -I -Z >/dev/null + else + dmraid -ay -I -Z + fi +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/dmraid/dmraid_install b/dmraid/dmraid_install new file mode 100644 index 0000000..acbc43d --- /dev/null +++ b/dmraid/dmraid_install @@ -0,0 +1,24 @@ +#!/bin/bash + +build() { + add_module 'dm-mod' + add_module 'dm-mirror' + + add_binary 'dmraid' + add_binary 'dmsetup' + add_file "/usr/lib/device-mapper/libdmraid-events-isw.so" + add_file "/usr/lib/udev/rules.d/10-dm.rules" + add_file "/usr/lib/udev/rules.d/13-dm-disk.rules" + add_file "/usr/lib/udev/rules.d/95-dm-notify.rules" + add_file "/usr/lib/initcpio/udev/11-dm-initramfs.rules" "/usr/lib/udev/rules.d/11-dm-initramfs.rules" + + add_runscript +} + +help() { + cat < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dnssec-anchors +pkgver=20190629 +_trusted_key=trusted-key-${pkgver}.key +pkgrel=03 +pkgdesc='DNSSEC trust anchors for the root zone' +url='https://data.iana.org/root-anchors/' +arch=('any') +makedepends=('unbound') +source=('LICENSE' "https://sources.archlinux.org/other/packages/${pkgname}/${_trusted_key}") + +package() { + cd "${srcdir}" + install -Dm644 ${_trusted_key} "${pkgdir}"/etc/trusted-key.key + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('custom:none') + +sha256sums=('dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb' + 'b01933ede7d505cac6bbee8c58027057d3a073581fa6cf595c352553dd07ee3c') diff --git a/dnssec-anchors/PKGBUILD-arch b/dnssec-anchors/PKGBUILD-arch new file mode 100644 index 0000000..7b50c08 --- /dev/null +++ b/dnssec-anchors/PKGBUILD-arch @@ -0,0 +1,23 @@ +# Maintainer: Jelle van der Waa +# Contributor: Gaetan Bisson +# Contributor: Thomas Mudrunka +# Contributor: m4xm4n + +pkgname=dnssec-anchors +pkgver=20190629 +_trusted_key=trusted-key-${pkgver}.key +pkgrel=3 +pkgdesc='DNSSEC trust anchors for the root zone' +url='https://data.iana.org/root-anchors/' +license=('custom:none') +arch=('any') +makedepends=('unbound') +source=('LICENSE' "https://sources.archlinux.org/other/packages/${pkgname}/${_trusted_key}") +sha256sums=('dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb' + 'b01933ede7d505cac6bbee8c58027057d3a073581fa6cf595c352553dd07ee3c') + +package() { + cd "${srcdir}" + install -Dm644 ${_trusted_key} "${pkgdir}"/etc/trusted-key.key + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/dnssec-anchors/clean b/dnssec-anchors/clean new file mode 100644 index 0000000..dbf6fcc --- /dev/null +++ b/dnssec-anchors/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,trusted-key*.key} diff --git a/dnssec-anchors/deps b/dnssec-anchors/deps new file mode 100644 index 0000000..82f4ba9 --- /dev/null +++ b/dnssec-anchors/deps @@ -0,0 +1 @@ +unbound diff --git a/dnssec-anchors/time b/dnssec-anchors/time new file mode 100644 index 0000000..249695e --- /dev/null +++ b/dnssec-anchors/time @@ -0,0 +1,3 @@ +real 0m1.978s +user 0m1.374s +sys 0m0.176s diff --git a/dosfstools/PKGBUILD b/dosfstools/PKGBUILD new file mode 100644 index 0000000..823ae37 --- /dev/null +++ b/dosfstools/PKGBUILD @@ -0,0 +1,38 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=dosfstools +pkgver=4.2 +pkgrel=02 +pkgdesc="DOS filesystem utilities" +arch=(x86_64) +depends=('glibc') +source=(https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz{,.sig} +) +url="https://github.com/dosfstools/dosfstools" + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib \ + --sbindir=/usr/bin --mandir=/usr/share/man \ + --docdir=/usr/share/doc/dosfstools --enable-compat-symlinks + make +} + +package () { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +#license=('GPL2') +license=('GPL3') + +validpgpkeys=('25714AECDBFDACEE1CE95FE77F6022516E869F64') # Andreas Bombe + +sha256sums=(64926eebf90092dca21b14259a5301b7b98e7b1943e8a201c7d726084809b527 # dosfstools-4.2.tar.gz + 90f58a303fd7c55e02370357054f7207f05c3736f23d9a82cfb4a10acd7d55f9) # dosfstools-4.2.tar.gz.sig diff --git a/dosfstools/PKGBUILD-arch b/dosfstools/PKGBUILD-arch new file mode 100644 index 0000000..db12cd1 --- /dev/null +++ b/dosfstools/PKGBUILD-arch @@ -0,0 +1,30 @@ +# Maintainer: +# Committer: Judd Vinet + +pkgname=dosfstools +pkgver=4.2 +pkgrel=2 +pkgdesc="DOS filesystem utilities" +arch=(x86_64) +depends=('glibc') +source=(https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz{,.sig} +) +url="https://github.com/dosfstools/dosfstools" +license=('GPL3') +validpgpkeys=('25714AECDBFDACEE1CE95FE77F6022516E869F64') # Andreas Bombe +md5sums=('49c8e457327dc61efab5b115a27b087a' + 'SKIP') + + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib \ + --sbindir=/usr/bin --mandir=/usr/share/man \ + --docdir=/usr/share/doc/dosfstools --enable-compat-symlinks + make +} + +package () { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/dosfstools/clean b/dosfstools/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/dosfstools/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/dosfstools/deps b/dosfstools/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dosfstools/deps @@ -0,0 +1 @@ + diff --git a/dosfstools/key b/dosfstools/key new file mode 100644 index 0000000..4985452 --- /dev/null +++ b/dosfstools/key @@ -0,0 +1 @@ +gpg -v --recv-key 3164705B1DA31D4C diff --git a/dosfstools/time b/dosfstools/time new file mode 100644 index 0000000..cf6ef25 --- /dev/null +++ b/dosfstools/time @@ -0,0 +1,4 @@ +real 0m5.042s +user 0m7.987s +sys 0m0.695s + diff --git a/e2fsprogs/MIT-LICENSE b/e2fsprogs/MIT-LICENSE new file mode 100644 index 0000000..d849b28 --- /dev/null +++ b/e2fsprogs/MIT-LICENSE @@ -0,0 +1,25 @@ +Copyright (c) 2003-2007 Theodore Ts'o +Copyright (c) 1997-2003 Yann Dirson +Copyright (c) 2001 Alcove +Copyright (c) 1997 Klee Dienes +Copyright (c) 1995-1996 Michael Nonweiler + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY +KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/e2fsprogs/PKGBUILD b/e2fsprogs/PKGBUILD new file mode 100644 index 0000000..4325cfe --- /dev/null +++ b/e2fsprogs/PKGBUILD @@ -0,0 +1,99 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=e2fsprogs +pkgname=('e2fsprogs' 'fuse2fs') +pkgver=1.46.5 +pkgrel=03 +pkgdesc='Ext2/3/4 filesystem utilities w/o systemd' +arch=('x86_64') +url='http://e2fsprogs.sourceforge.net' +makedepends=('util-linux' 'fuse2' 'gettext') +#options=('debug') +source=("https://www.kernel.org/pub/linux/kernel/people/tytso/${pkgbase}/v${pkgver}/${pkgbase}-${pkgver}.tar."{xz,sign} + 'MIT-LICENSE') + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Remove unnecessary init.d directory + sed -i '/init\.d/s|^|#|' misc/Makefile.in +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --with-root-prefix='' \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-elf-shlibs \ + --disable-fsck \ + --disable-uuidd \ + --disable-libuuid \ + --disable-libblkid + make + + # regenerate locale files + find po/ -name '*.gmo' -delete + make -C po update-gmo +} + +package_e2fsprogs() { + depends=('sh' 'util-linux-libs') + provides=('libcom_err.so' + 'libe2p.so' + 'libext2fs.so' + 'libss.so') + backup=('etc/mke2fs.conf' + 'etc/e2scrub.conf') + + unset MAKEFLAGS + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install install-libs + + sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" + + # remove references to build directory + sed -i -e 's#^SS_DIR=.*#SS_DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds" + sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" + + # remove static libraries with a shared counterpart + rm "${pkgdir}"/usr/lib/lib{com_err,e2p,ext2fs,ss}.a + + # remove fuse2fs which will be packaged separately + rm "${pkgdir}"/usr/{bin/fuse2fs,share/man/man1/fuse2fs.1} + + # install MIT license + install -D -m0644 "${srcdir}/MIT-LICENSE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" +} + +package_fuse2fs() { + pkgdesc='Ext2/3/4 filesystem driver for FUSE' + depends=('fuse2' 'e2fsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -D -m0755 'misc/fuse2fs' "${pkgdir}/usr/bin/fuse2fs" + install -D -m0644 'misc/fuse2fs.1' "${pkgdir}/usr/share/man/man1/fuse2fs.1" + mkdir -p "${pkgdir}"/usr/share/licenses + ln -s "${pkgbase}" "${pkgdir}/usr/share/licenses/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL' 'LGPL' 'MIT') + +validpgpkeys=('3AB057B7E78D945C8C5591FBD36F769BC11804F0') # Theodore Ts'o + +sha256sums=(2f16c9176704cf645dc69d5b15ff704ae722d665df38b2ed3cfc249757d8d81e # e2fsprogs-1.46.5.tar.xz + 1bb45dcbadd2aceb23b29813fe5f7d821ee520d4e6cd706aafdaa41261367078 # e2fsprogs-1.46.5.tar.sign + cc45386c1d71f438ad648fd7971e49e3074ad9dbacf9dd3a5b4cb61fd294ecbb) # MIT-LICENSE diff --git a/e2fsprogs/PKGBUILD-arch b/e2fsprogs/PKGBUILD-arch new file mode 100644 index 0000000..20e6200 --- /dev/null +++ b/e2fsprogs/PKGBUILD-arch @@ -0,0 +1,91 @@ +# Maintainer: Ronald van Haren +# Contributor: judd + +pkgbase=e2fsprogs +pkgname=('e2fsprogs' 'fuse2fs') +pkgver=1.46.5 +pkgrel=3 +pkgdesc='Ext2/3/4 filesystem utilities' +arch=('x86_64') +license=('GPL' 'LGPL' 'MIT') +url='http://e2fsprogs.sourceforge.net' +options=('debug') +makedepends=('systemd' 'util-linux' 'fuse') +validpgpkeys=('3AB057B7E78D945C8C5591FBD36F769BC11804F0') # Theodore Ts'o +source=("https://www.kernel.org/pub/linux/kernel/people/tytso/${pkgbase}/v${pkgver}/${pkgbase}-${pkgver}.tar."{xz,sign} + 'MIT-LICENSE') +sha256sums=('2f16c9176704cf645dc69d5b15ff704ae722d665df38b2ed3cfc249757d8d81e' + 'SKIP' + 'cc45386c1d71f438ad648fd7971e49e3074ad9dbacf9dd3a5b4cb61fd294ecbb') + + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Remove unnecessary init.d directory + sed -i '/init\.d/s|^|#|' misc/Makefile.in +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --with-root-prefix='' \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-elf-shlibs \ + --disable-fsck \ + --disable-uuidd \ + --disable-libuuid \ + --disable-libblkid + make + + # regenerate locale files + find po/ -name '*.gmo' -delete + make -C po update-gmo +} + +package_e2fsprogs() { + depends=('sh' 'util-linux-libs') + provides=('libcom_err.so' + 'libe2p.so' + 'libext2fs.so' + 'libss.so') + backup=('etc/mke2fs.conf' + 'etc/e2scrub.conf') + + unset MAKEFLAGS + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install install-libs + + sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" + + # remove references to build directory + sed -i -e 's#^SS_DIR=.*#SS_DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds" + sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" + + # remove static libraries with a shared counterpart + rm "${pkgdir}"/usr/lib/lib{com_err,e2p,ext2fs,ss}.a + + # remove fuse2fs which will be packaged separately + rm "${pkgdir}"/usr/{bin/fuse2fs,share/man/man1/fuse2fs.1} + + # install MIT license + install -D -m0644 "${srcdir}/MIT-LICENSE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" +} + +package_fuse2fs() { + pkgdesc='Ext2/3/4 filesystem driver for FUSE' + depends=('fuse' 'e2fsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -D -m0755 'misc/fuse2fs' "${pkgdir}/usr/bin/fuse2fs" + install -D -m0644 'misc/fuse2fs.1' "${pkgdir}/usr/share/man/man1/fuse2fs.1" + mkdir -p "${pkgdir}"/usr/share/licenses + ln -s "${pkgbase}" "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/e2fsprogs/PKGBUILD-arch.new b/e2fsprogs/PKGBUILD-arch.new new file mode 100644 index 0000000..20e6200 --- /dev/null +++ b/e2fsprogs/PKGBUILD-arch.new @@ -0,0 +1,91 @@ +# Maintainer: Ronald van Haren +# Contributor: judd + +pkgbase=e2fsprogs +pkgname=('e2fsprogs' 'fuse2fs') +pkgver=1.46.5 +pkgrel=3 +pkgdesc='Ext2/3/4 filesystem utilities' +arch=('x86_64') +license=('GPL' 'LGPL' 'MIT') +url='http://e2fsprogs.sourceforge.net' +options=('debug') +makedepends=('systemd' 'util-linux' 'fuse') +validpgpkeys=('3AB057B7E78D945C8C5591FBD36F769BC11804F0') # Theodore Ts'o +source=("https://www.kernel.org/pub/linux/kernel/people/tytso/${pkgbase}/v${pkgver}/${pkgbase}-${pkgver}.tar."{xz,sign} + 'MIT-LICENSE') +sha256sums=('2f16c9176704cf645dc69d5b15ff704ae722d665df38b2ed3cfc249757d8d81e' + 'SKIP' + 'cc45386c1d71f438ad648fd7971e49e3074ad9dbacf9dd3a5b4cb61fd294ecbb') + + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + # Remove unnecessary init.d directory + sed -i '/init\.d/s|^|#|' misc/Makefile.in +} + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --with-root-prefix='' \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-elf-shlibs \ + --disable-fsck \ + --disable-uuidd \ + --disable-libuuid \ + --disable-libblkid + make + + # regenerate locale files + find po/ -name '*.gmo' -delete + make -C po update-gmo +} + +package_e2fsprogs() { + depends=('sh' 'util-linux-libs') + provides=('libcom_err.so' + 'libe2p.so' + 'libext2fs.so' + 'libss.so') + backup=('etc/mke2fs.conf' + 'etc/e2scrub.conf') + + unset MAKEFLAGS + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install install-libs + + sed -i -e 's/^AWK=.*/AWK=awk/' "${pkgdir}/usr/bin/compile_et" + + # remove references to build directory + sed -i -e 's#^SS_DIR=.*#SS_DIR="/usr/share/ss"#' "${pkgdir}/usr/bin/mk_cmds" + sed -i -e 's#^ET_DIR=.*#ET_DIR="/usr/share/et"#' "${pkgdir}/usr/bin/compile_et" + + # remove static libraries with a shared counterpart + rm "${pkgdir}"/usr/lib/lib{com_err,e2p,ext2fs,ss}.a + + # remove fuse2fs which will be packaged separately + rm "${pkgdir}"/usr/{bin/fuse2fs,share/man/man1/fuse2fs.1} + + # install MIT license + install -D -m0644 "${srcdir}/MIT-LICENSE" \ + "${pkgdir}/usr/share/licenses/${pkgname}/MIT-LICENSE" +} + +package_fuse2fs() { + pkgdesc='Ext2/3/4 filesystem driver for FUSE' + depends=('fuse' 'e2fsprogs') + + cd "${srcdir}/${pkgbase}-${pkgver}" + + install -D -m0755 'misc/fuse2fs' "${pkgdir}/usr/bin/fuse2fs" + install -D -m0644 'misc/fuse2fs.1' "${pkgdir}/usr/share/man/man1/fuse2fs.1" + mkdir -p "${pkgdir}"/usr/share/licenses + ln -s "${pkgbase}" "${pkgdir}/usr/share/licenses/${pkgname}" +} diff --git a/e2fsprogs/clean b/e2fsprogs/clean new file mode 100644 index 0000000..23b8bde --- /dev/null +++ b/e2fsprogs/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,e2fs*5.tar.xz,e2fs*.tar.sign} diff --git a/e2fsprogs/deps b/e2fsprogs/deps new file mode 100644 index 0000000..6174147 --- /dev/null +++ b/e2fsprogs/deps @@ -0,0 +1,2 @@ +fuse2 +gettext diff --git a/e2fsprogs/key b/e2fsprogs/key new file mode 100644 index 0000000..9c5fc43 --- /dev/null +++ b/e2fsprogs/key @@ -0,0 +1 @@ +gpg -v --recv-key F2F95956950D81A3 diff --git a/e2fsprogs/time b/e2fsprogs/time new file mode 100644 index 0000000..fe5f6ee --- /dev/null +++ b/e2fsprogs/time @@ -0,0 +1,3 @@ +real 0m35.733s +user 1m23.147s +sys 0m6.888s diff --git a/ed/PKGBUILD b/ed/PKGBUILD new file mode 100644 index 0000000..d70a933 --- /dev/null +++ b/ed/PKGBUILD @@ -0,0 +1,46 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=ed +pkgver=1.18 +pkgrel=01 +pkgdesc="A POSIX-compliant line-oriented text editor" +arch=('x86_64') +url="https://www.gnu.org/software/ed/ed.html" +depends=('glibc' 'sh') +options=('!emptydirs') +source=("https://ftp.gnu.org/gnu/ed/$pkgname-$pkgver.tar.lz"{,.sig}) + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/ \ + --bindir=/usr/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + "CPPFLAGS=$CPPFLAGS" \ + "CFLAGS=$CFLAGS" \ + "LDFLAGS=$LDFLAGS" + + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" "DESTDIR=$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz + +sha256sums=(aca8efad9800c587724a20b97aa8fc47e6b5a47df81606feaba831b074462b4f # ed-1.18.tar.lz + db57898c9dff441f33496157f716d8f03ac60c3bfa5a77ee35438b89cdf80554) # ed-1.18.tar.lz.sig diff --git a/ed/PKGBUILD-arch b/ed/PKGBUILD-arch new file mode 100644 index 0000000..c95c890 --- /dev/null +++ b/ed/PKGBUILD-arch @@ -0,0 +1,38 @@ +# Maintainer: Dave Reisner +# Maintainer: Andreas Radke + +pkgname=ed +pkgver=1.18 +pkgrel=1 +pkgdesc="A POSIX-compliant line-oriented text editor" +arch=('x86_64') +license=('GPL') +url="https://www.gnu.org/software/ed/ed.html" +depends=('glibc' 'sh') +options=('!emptydirs') +validpgpkeys=('1D41C14B272A2219A739FA4F8FE99503132D7742') # Antonio Diaz Diaz +source=("https://ftp.gnu.org/gnu/ed/$pkgname-$pkgver.tar.lz"{,.sig}) +sha256sums=('aca8efad9800c587724a20b97aa8fc47e6b5a47df81606feaba831b074462b4f' + 'SKIP') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/ \ + --bindir=/usr/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + "CPPFLAGS=$CPPFLAGS" \ + "CFLAGS=$CFLAGS" \ + "LDFLAGS=$LDFLAGS" + + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" "DESTDIR=$pkgdir" install +} diff --git a/ed/clean b/ed/clean new file mode 100644 index 0000000..7fc0eea --- /dev/null +++ b/ed/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,ed*tar.lz*} diff --git a/ed/deps b/ed/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/ed/deps @@ -0,0 +1 @@ + diff --git a/ed/key b/ed/key new file mode 100644 index 0000000..9cfb4f9 --- /dev/null +++ b/ed/key @@ -0,0 +1 @@ +gpg -v --recv-key 8FE99503132D7742 diff --git a/ed/time b/ed/time new file mode 100644 index 0000000..4c823e2 --- /dev/null +++ b/ed/time @@ -0,0 +1,3 @@ +real 0m2.657s +user 0m0.691s +sys 0m0.108s diff --git a/efibootmgr/PKGBUILD b/efibootmgr/PKGBUILD new file mode 100644 index 0000000..32e1a75 --- /dev/null +++ b/efibootmgr/PKGBUILD @@ -0,0 +1,51 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +# upstream only signs commits +_commit=e067160ecef8208e1944002e5d50b275733211fb # 17 +pkgname=efibootmgr +pkgver=17 +pkgrel=02 +pkgdesc="Linux user-space application to modify the EFI Boot Manager" +arch=('x86_64') +url="https://github.com/rhboot/efibootmgr" +depends=('glibc' 'popt') +makedepends=('efivar' 'git') +source=("${pkgname}::git+https://github.com/rhboot/efibootmgr#tag=${pkgver}?signed") + +prepare() { + mv -v "${pkgname}" "${pkgname}-${pkgver}" + cd "${pkgname}-${pkgver}" + # removing hotfix function declaration: + # https://github.com/rhboot/efibootmgr/issues/128 + sed -e '/extern int efi_set_verbose/d' -i "src/${pkgname}.c" +} + +build() { + cd "${pkgname}-${pkgver}" + make libdir='/usr/lib' sbindir='/usr/bin' EFIDIR='arch' +} + +package() { + depends+=('libefiboot.so' 'libefivar.so') + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" \ + libdir='/usr/lib' \ + sbindir='/usr/bin' \ + EFIDIR='arch' \ + install + install -vDm 644 {AUTHORS,README,README.md,TODO} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +sha256sums=(SKIP) + diff --git a/efibootmgr/PKGBUILD-arch b/efibootmgr/PKGBUILD-arch new file mode 100644 index 0000000..db64331 --- /dev/null +++ b/efibootmgr/PKGBUILD-arch @@ -0,0 +1,44 @@ +# Maintainer: David Runge +# Contributor: Tobias Powalowski +# Contributor: Murtuza Akhtari +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +# upstream only signs commits +_commit=e067160ecef8208e1944002e5d50b275733211fb # 17 +pkgname=efibootmgr +pkgver=17 +pkgrel=2 +pkgdesc="Linux user-space application to modify the EFI Boot Manager" +arch=('x86_64') +url="https://github.com/rhboot/efibootmgr" +license=('GPL2') +depends=('glibc' 'popt') +makedepends=('efivar' 'git') +source=("${pkgname}::git+https://github.com/rhboot/efibootmgr#tag=${pkgver}?signed") +sha512sums=('SKIP') +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +prepare() { + mv -v "${pkgname}" "${pkgname}-${pkgver}" + cd "${pkgname}-${pkgver}" + # removing hotfix function declaration: + # https://github.com/rhboot/efibootmgr/issues/128 + sed -e '/extern int efi_set_verbose/d' -i "src/${pkgname}.c" +} + +build() { + cd "${pkgname}-${pkgver}" + make libdir='/usr/lib' sbindir='/usr/bin' EFIDIR='arch' +} + +package() { + depends+=('libefiboot.so' 'libefivar.so') + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" \ + libdir='/usr/lib' \ + sbindir='/usr/bin' \ + EFIDIR='arch' \ + install + install -vDm 644 {AUTHORS,README,README.md,TODO} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/efibootmgr/clean b/efibootmgr/clean new file mode 100644 index 0000000..bf0c4bc --- /dev/null +++ b/efibootmgr/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,efibootmgr} diff --git a/efibootmgr/deps b/efibootmgr/deps new file mode 100644 index 0000000..07455de --- /dev/null +++ b/efibootmgr/deps @@ -0,0 +1,3 @@ +popt +efivar +git diff --git a/efibootmgr/key b/efibootmgr/key new file mode 100644 index 0000000..24cb54e --- /dev/null +++ b/efibootmgr/key @@ -0,0 +1 @@ +gpg -v --recv-key EED266B70F4FEF10 diff --git a/efibootmgr/time b/efibootmgr/time new file mode 100644 index 0000000..ba75c42 --- /dev/null +++ b/efibootmgr/time @@ -0,0 +1,3 @@ +real 0m3.364s +user 0m2.664s +sys 0m0.329s diff --git a/efivar/PKGBUILD b/efivar/PKGBUILD new file mode 100644 index 0000000..e00592e --- /dev/null +++ b/efivar/PKGBUILD @@ -0,0 +1,57 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=efivar +pkgdesc="Tools and libraries to work with EFI variables" +pkgver=38 +pkgrel=02 +arch=('x86_64') +url="https://github.com/rhboot/efivar" + +depends=(glibc) +makedepends=(git mandoc) +provides=(libefiboot.so libefisec.so libefivar.so) +# LTO has the linker segfaulting with binutils < 2.38.0: https://github.com/rhboot/efivar/issues/196 +options=(!lto) +source=( + "git+https://github.com/rhinstaller/efivar.git#tag=${pkgver}?signed" + "${pkgname}-38-ld_t.patch::https://github.com/rhboot/efivar/pull/201/commits/197a0874ea4010061b98b4b55eff65b33b1cd741.patch" +) + +prepare() { + cd "${pkgname}" + # fix issues with linker scripts: https://github.com/rhboot/efivar/pull/201 + patch -Np1 -i ../"${pkgname}-38-ld_t.patch" +} + +build() { + # disable -Werror by default by setting ERRORS to empty string + make ERRORS='' all -C "${pkgname}" +} + +check() { + make GRUB_PREFIX=grub test -k -C "${pkgname}" || echo "grub related tests are flaky" +} + +package() { + make DESTDIR="${pkgdir}/" \ + libdir=/usr/lib/ \ + bindir=/usr/bin/ \ + mandir=/usr/share/man/ \ + includedir=/usr/include/ \ + install -j1 V=1 \ + -C "${pkgname}" + install -vDm 644 "${pkgname}/"{README.md,TODO} -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +sha256sums=(SKIP + 9450812114f409229bd97211902de8000d2b321c8b4f4e20c31eb4e555625655) # efivar-38-ld_t.patch diff --git a/efivar/PKGBUILD-37-4 b/efivar/PKGBUILD-37-4 new file mode 100644 index 0000000..4d0605b --- /dev/null +++ b/efivar/PKGBUILD-37-4 @@ -0,0 +1,58 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=efivar +pkgdesc="Tools and libraries to work with EFI variables" +pkgver=37 +pkgrel=04 +arch=('x86_64') +url="https://github.com/rhboot/efivar" +makedepends=('git') +depends=('glibc') +provides=('libefiboot.so' 'libefivar.so') +source=("git+https://github.com/rhinstaller/efivar.git#tag=${pkgver}?signed") + +prepare() { + mv -v "${pkgname}" "${pkgname}-${pkgver}" + cd "${pkgname}-${pkgver}" + # -Werror, not even once + sed -e 's/-Werror//g' -i gcc.specs + # remove insecure rpath in efivar-tester + sed 's|-rpath,$(TOPDIR)/src|-rpath,$(libdir)|g' -i src/test/Makefile +} + +build() { + cd "${pkgname}-${pkgver}" + make libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" + # build efivar-tester + make libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" \ + -C src/test +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}/" \ + libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" install -j1 V=1 + install -vDm 755 "src/test/tester" "${pkgdir}/usr/bin/efivar-tester" + install -vDm 644 {README.md,TODO} -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +sha256sums=(SKIP) diff --git a/efivar/PKGBUILD-arch b/efivar/PKGBUILD-arch new file mode 100644 index 0000000..c7fb85d --- /dev/null +++ b/efivar/PKGBUILD-arch @@ -0,0 +1,52 @@ +# Maintainer: David Runge +# Contributor: Tobias Powalowski +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +pkgname=efivar +pkgdesc="Tools and libraries to work with EFI variables" +pkgver=38 +pkgrel=2 +arch=(x86_64) +url="https://github.com/rhboot/efivar" +license=(LGPL2.1) +depends=(glibc) +makedepends=(git mandoc) +checkdepends=(grub) +provides=(libefiboot.so libefisec.so libefivar.so) +# LTO has the linker segfaulting with binutils < 2.38.0: https://github.com/rhboot/efivar/issues/196 +options=(!lto) +source=( + "git+https://github.com/rhinstaller/efivar.git#tag=${pkgver}?signed" + "${pkgname}-38-ld_t.patch::https://github.com/rhboot/efivar/pull/201/commits/197a0874ea4010061b98b4b55eff65b33b1cd741.patch" +) +sha512sums=('SKIP' + '568bc88b182875c37479c49b3dbf5b8ee6edf8090f940176e67c9aa28dd2ff6f417c70b2bef6b5df99ada2afa33db3efd295ba9de5d68b3ecc5ce1dc3361d042') +b2sums=('SKIP' + 'ccddc04ab83d4dcf570d5a89e43fc27d36e2010513b36d9eb2fcdea71ceb5dba96a064a1cbca9ffdecf17fb5b9cb22cfe89eae4ee3a188547a4ab6fa6b4e2983') +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +prepare() { + cd "${pkgname}" + # fix issues with linker scripts: https://github.com/rhboot/efivar/pull/201 + patch -Np1 -i ../"${pkgname}-38-ld_t.patch" +} + +build() { + # disable -Werror by default by setting ERRORS to empty string + make ERRORS='' all -C "${pkgname}" +} + +check() { + make GRUB_PREFIX=grub test -k -C "${pkgname}" || echo "grub related tests are flaky" +} + +package() { + make DESTDIR="${pkgdir}/" \ + libdir=/usr/lib/ \ + bindir=/usr/bin/ \ + mandir=/usr/share/man/ \ + includedir=/usr/include/ \ + install -j1 V=1 \ + -C "${pkgname}" + install -vDm 644 "${pkgname}/"{README.md,TODO} -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/efivar/PKGBUILD-arch-37-4 b/efivar/PKGBUILD-arch-37-4 new file mode 100644 index 0000000..1deeea1 --- /dev/null +++ b/efivar/PKGBUILD-arch-37-4 @@ -0,0 +1,51 @@ +# Maintainer: David Runge +# Contributor: Tobias Powalowski +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +pkgname=efivar +pkgdesc="Tools and libraries to work with EFI variables" +pkgver=37 +pkgrel=4 +arch=('x86_64') +url="https://github.com/rhboot/efivar" +license=('LGPL2.1') +makedepends=('git') +depends=('glibc') +provides=('libefiboot.so' 'libefivar.so') +source=("git+https://github.com/rhinstaller/efivar.git#tag=${pkgver}?signed") +sha512sums=('SKIP') +validpgpkeys=('B00B48BC731AA8840FED9FB0EED266B70F4FEF10') # Peter Jones + +prepare() { + mv -v "${pkgname}" "${pkgname}-${pkgver}" + cd "${pkgname}-${pkgver}" + # -Werror, not even once + sed -e 's/-Werror//g' -i gcc.specs + # remove insecure rpath in efivar-tester + sed 's|-rpath,$(TOPDIR)/src|-rpath,$(libdir)|g' -i src/test/Makefile +} + +build() { + cd "${pkgname}-${pkgver}" + make libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" + # build efivar-tester + make libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" \ + -C src/test +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}/" \ + libdir="/usr/lib/" \ + bindir="/usr/bin/" \ + mandir="/usr/share/man/" \ + includedir="/usr/include/" install -j1 V=1 + install -vDm 755 "src/test/tester" "${pkgdir}/usr/bin/efivar-tester" + install -vDm 644 {README.md,TODO} -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/efivar/clean b/efivar/clean new file mode 100644 index 0000000..d0df0f3 --- /dev/null +++ b/efivar/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,efivar,efivar*.patch} diff --git a/efivar/deps b/efivar/deps new file mode 100644 index 0000000..09a080d --- /dev/null +++ b/efivar/deps @@ -0,0 +1,2 @@ +git +mandoc diff --git a/efivar/key b/efivar/key new file mode 100644 index 0000000..24cb54e --- /dev/null +++ b/efivar/key @@ -0,0 +1 @@ +gpg -v --recv-key EED266B70F4FEF10 diff --git a/efivar/time b/efivar/time new file mode 100644 index 0000000..b0c11b2 --- /dev/null +++ b/efivar/time @@ -0,0 +1,3 @@ +real 0m19.906s +user 0m36.194s +sys 0m2.737s diff --git a/elfutils/PKGBUILD b/elfutils/PKGBUILD new file mode 100644 index 0000000..e528463 --- /dev/null +++ b/elfutils/PKGBUILD @@ -0,0 +1,124 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=elfutils +pkgname=(debuginfod elfutils libelf) +pkgver=0.186 +pkgrel=05 +pkgdesc="Handle ELF object files and DWARF debugging information" +arch=(x86_64) +url="https://sourceware.org/elfutils/" +makedepends=(bzip2 curl gcc-libs libarchive libmicrohttpd sqlite xz zlib zstd) +#options=(debug staticlibs) +options=(staticlibs) +source=("https://sourceware.org/${pkgbase}/ftp/${pkgver}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}) + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + ( + cd "$pkgbase-$pkgver" + autoreconf -fiv + ) + + cp -av "$pkgbase-$pkgver" "$pkgbase-test-$pkgver" + +} + +build() { + ( + # fat-lto-objects is required for non-mangled .a files in libelf + CFLAGS+=" -ffat-lto-objects" + cd "$pkgbase-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) + ( + cd "$pkgbase-test-$pkgver" + # debugging information is required for test-suite + CFLAGS+=" -g" + # fat-lto-objects is required for non-mangled .a files in libelf + CFLAGS+=" -ffat-lto-objects" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) +} + +check() { + cd "$pkgbase-test-$pkgver" + make check || printf "Fails in restrictive build environments: https://gitlab.archlinux.org/archlinux/infrastructure/-/issues/424\n" +} + +package_debuginfod() { + pkgdesc+=" (debuginfod)" + depends=(gcc-libs glibc libarchive.so "libelf=${pkgver}-${pkgrel}" + libmicrohttpd.so sqlite) + optdepends=("elfutils=${pkgver}-${pkgrel}: for translations") + +# cd "$pkgbase-$pkgver" +# make DESTDIR="$pkgdir" install +# install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" + make DESTDIR="$pkgdir" install -C "$pkgbase-$pkgver" + install -vDm 644 "$pkgbase-$pkgver"/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" + + # set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL + printf "https://debuginfod.archlinux.org\n" > "$pkgdir/etc/debuginfod/archlinux.urls" + + ( + cd "${pkgdir}" + + _pick libelf usr/{include,lib} + _pick elfutils usr/bin/eu-* + _pick elfutils usr/share/locale + _pick elfutils usr/share/man/man1/eu-* + _pick elfutils usr/share/man/man3/elf_* + ) + +} + +package_elfutils() { + pkgdesc+=" (utilities)" + depends=(gcc-libs glibc "libelf=${pkgver}-${pkgrel}") + + mv -v elfutils/* "$pkgdir" + install -vDm 644 "$pkgbase-$pkgver"/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_libelf() { + pkgdesc+=" (libraries)" + depends=(gcc-libs libbz2.so libcurl.so xz zlib zstd) + # NOTE: the shared objects can not be added to provides as they are not versioned + + mv -v libelf/* "$pkgdir" + install -vDm 644 "$pkgbase-$pkgver/"{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +# # set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL +# printf "https://debuginfod.archlinux.org\n" > "$pkgdir/etc/debuginfod/archlinux.urls" + +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL3 GPL3) + +validpgpkeys=(47CC0331081B8BC6D0FD4DA08370665B57816A6A # Mark J. Wielaard + EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A) # Mark Wielaard + +sha256sums=(7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177 # elfutils-0.186.tar.bz2 + 1865a1f8e11ae50d8c3aa130ed5c3d9ca526d78df754d3f04656c372538cc84c) # elfutils-0.186.tar.bz2.sig diff --git a/elfutils/PKGBUILD-0 b/elfutils/PKGBUILD-0 new file mode 100644 index 0000000..2e312aa --- /dev/null +++ b/elfutils/PKGBUILD-0 @@ -0,0 +1,102 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/elfutils" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=elfutils +pkgname=('debuginfod' 'elfutils' 'libelf') +pkgver=0.186 +pkgrel=02 +pkgdesc='Handle ELF object files and DWARF debugging information' +arch=('x86_64') +url="https://sourceware.org/elfutils/" +makedepends=('bzip2' 'curl' 'gcc-libs' 'libarchive' 'libmicrohttpd' 'sqlite' +'xz' 'zlib' 'zstd' 'gettext' 'autoconf' 'automake') + +options=('staticlibs') +source=("https://sourceware.org/${pkgbase}/ftp/${pkgver}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}) + +prepare() { + cd "$pkgbase-$pkgver" + autoreconf -fiv +} + +build() { + cd "$pkgbase-$pkgver" + CFLAGS+=" -g" # required for test-suite success + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make +} + +check() { + cd "$pkgbase-$pkgver" + # Some tests fail due to limited capabilities of build chroot + make check || echo "Known problem: The build environment might lack enough resources." +} + +package_libelf() { + pkgdesc+=" (libraries)" + depends=('gcc-libs' 'libbz2.so' 'libcurl.so' 'xz' 'zlib' 'zstd') + # NOTE: the shared objects can not be added to provides as they are not versioned + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + # remove files provided by elfutils or debuginfod + rm -rvf "${pkgdir}"{/etc,/usr/{bin,share}} + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_elfutils() { + pkgdesc+=" (utilities)" + depends=('gcc-libs' 'glibc' "libelf=${pkgver}-${pkgrel}") + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" + # remove files provided by libelf + rm -rvf "${pkgdir}/usr/"{include,lib} + # remove files provided by debuginfod + rm -rvf "${pkgdir}/usr/bin/debuginfod"* \ + "${pkgdir}/usr/share/man/man1/debuginfod"* \ + "${pkgdir}/usr/share/man/man3/debuginfod"* \ + "${pkgdir}/usr/share/man/man8/" \ + "${pkgdir}/etc" +} + +package_debuginfod() { + pkgdesc+=" (debuginfod)" + depends=('gcc-libs' 'glibc' 'libarchive.so' "libelf=${pkgver}-${pkgrel}" + 'libmicrohttpd.so' 'sqlite') + optdepends=("elfutils=${pkgver}-${pkgrel}: for translations" ) + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" + # remove files provided by libelf + rm -rvf "${pkgdir}/usr/"{include,lib} + # remove files provided by elfutils + rm -rvf "${pkgdir}/usr/bin/eu-"* \ + "${pkgdir}/usr/share/man/man1/eu-"* \ + "${pkgdir}/usr/share/man/man3/elf_"* \ + "${pkgdir}/usr/share/locale" +} + + +#---- license gpg-key sha512sums ---- + +license=('LGPL3' 'GPL3') + +validpgpkeys=( + '47CC0331081B8BC6D0FD4DA08370665B57816A6A' # Mark J. Wielaard + 'EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A' # Mark Wielaard +) + +sha256sums=(7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177 # elfutils-0.186.tar.bz2 + 1865a1f8e11ae50d8c3aa130ed5c3d9ca526d78df754d3f04656c372538cc84c) # elfutils-0.186.tar.bz2.sig diff --git a/elfutils/PKGBUILD-arch b/elfutils/PKGBUILD-arch new file mode 100644 index 0000000..81ea4b9 --- /dev/null +++ b/elfutils/PKGBUILD-arch @@ -0,0 +1,115 @@ +# Maintainer: David Runge +# Contributor: Laurent Carlier +# Contributor: Stéphane Gaudreault +# Contributor: Andrej Gelenberg + +pkgbase=elfutils +pkgname=(debuginfod elfutils libelf) +pkgver=0.186 +pkgrel=5 +pkgdesc="Handle ELF object files and DWARF debugging information" +arch=(x86_64) +url="https://sourceware.org/elfutils/" +license=(LGPL3 GPL3) +makedepends=(bzip2 curl gcc-libs libarchive libmicrohttpd sqlite xz zlib zstd) +options=(debug staticlibs) +source=("https://sourceware.org/${pkgbase}/ftp/${pkgver}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}) +sha512sums=('c9180b27ec62935f18b9431268d176f6023d1bb938731d2af6e7626ae460af6608a70ba68483aa1ec7e6cb0fa0528b661ca8b68bc4f58ea8e18af527c5950c78' + 'SKIP') +b2sums=('49573d0a1f3519eab81d1ba3e94354cbc0935a36a94a3fdb22fe223a47b78cca8fd6e322870b0e335a809529fa6f54180b13c67936dec0242123c54ba20c9fc9' + 'SKIP') +validpgpkeys=( + '47CC0331081B8BC6D0FD4DA08370665B57816A6A' # Mark J. Wielaard + 'EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A' # Mark Wielaard +) + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + ( + cd "$pkgbase-$pkgver" + autoreconf -fiv + ) + + cp -av "$pkgbase-$pkgver" "$pkgbase-test-$pkgver" + +} + +build() { + ( + # fat-lto-objects is required for non-mangled .a files in libelf + CFLAGS+=" -ffat-lto-objects" + cd "$pkgbase-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) + ( + cd "$pkgbase-test-$pkgver" + # debugging information is required for test-suite + CFLAGS+=" -g" + # fat-lto-objects is required for non-mangled .a files in libelf + CFLAGS+=" -ffat-lto-objects" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) +} + +check() { + cd "$pkgbase-test-$pkgver" + make check || printf "Fails in restrictive build environments: https://gitlab.archlinux.org/archlinux/infrastructure/-/issues/424\n" +} + +package_debuginfod() { + pkgdesc+=" (debuginfod)" + depends=(gcc-libs glibc libarchive.so "libelf=${pkgver}-${pkgrel}" + libmicrohttpd.so sqlite) + optdepends=("elfutils=${pkgver}-${pkgrel}: for translations") + + make DESTDIR="$pkgdir" install -C "$pkgbase-$pkgver" + install -vDm 644 "$pkgbase-$pkgver/"{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" + + # set the default DEBUGINFOD_URLS environment variable to the distribution's debuginfod URL + printf "https://debuginfod.archlinux.org\n" > "$pkgdir/etc/debuginfod/archlinux.urls" + + ( + cd "${pkgdir}" + + _pick libelf usr/{include,lib} + _pick elfutils usr/bin/eu-* + _pick elfutils usr/share/locale + _pick elfutils usr/share/man/man1/eu-* + _pick elfutils usr/share/man/man3/elf_* + ) + +} + +package_elfutils() { + pkgdesc+=" (utilities)" + depends=(gcc-libs glibc "libelf=${pkgver}-${pkgrel}") + + mv -v elfutils/* "$pkgdir" + install -vDm 644 "$pkgbase-$pkgver"/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_libelf() { + pkgdesc+=" (libraries)" + depends=(gcc-libs libbz2.so libcurl.so xz zlib zstd) + # NOTE: the shared objects can not be added to provides as they are not versioned + + mv -v libelf/* "$pkgdir" + install -vDm 644 "$pkgbase-$pkgver"/{AUTHORS,ChangeLog,NEWS,NOTES,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/elfutils/PKGBUILD-arch-0 b/elfutils/PKGBUILD-arch-0 new file mode 100644 index 0000000..0a36ab7 --- /dev/null +++ b/elfutils/PKGBUILD-arch-0 @@ -0,0 +1,111 @@ +# Maintainer: David Runge +# Contributor: Laurent Carlier +# Contributor: Stéphane Gaudreault +# Contributor: Andrej Gelenberg + +pkgbase=elfutils +pkgname=('debuginfod' 'elfutils' 'libelf') +pkgver=0.186 +pkgrel=1 +pkgdesc='Handle ELF object files and DWARF debugging information' +arch=('x86_64') +url="https://sourceware.org/elfutils/" +license=('LGPL3' 'GPL3') +makedepends=('bzip2' 'curl' 'gcc-libs' 'libarchive' 'libmicrohttpd' 'sqlite' +'xz' 'zlib' 'zstd') +options=('staticlibs') +source=("https://sourceware.org/${pkgbase}/ftp/${pkgver}/${pkgbase}-${pkgver}.tar.bz2"{,.sig}) +sha512sums=('c9180b27ec62935f18b9431268d176f6023d1bb938731d2af6e7626ae460af6608a70ba68483aa1ec7e6cb0fa0528b661ca8b68bc4f58ea8e18af527c5950c78' + 'SKIP') +b2sums=('49573d0a1f3519eab81d1ba3e94354cbc0935a36a94a3fdb22fe223a47b78cca8fd6e322870b0e335a809529fa6f54180b13c67936dec0242123c54ba20c9fc9' + 'SKIP') +validpgpkeys=( + '47CC0331081B8BC6D0FD4DA08370665B57816A6A' # Mark J. Wielaard + 'EC3CFE88F6CA0788774F5C1D1AA44BE649DE760A' # Mark Wielaard +) + +prepare() { + ( + cd "$pkgbase-$pkgver" + autoreconf -fiv + ) + + cp -av "$pkgbase-$pkgver" "$pkgbase-test-$pkgver" + +} + +build() { + ( + cd "$pkgbase-$pkgver" + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) + ( + cd "$pkgbase-test-$pkgver" + CFLAGS+=" -g" # required for test-suite success + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --program-prefix="eu-" \ + --enable-deterministic-archives + make + ) +} + +check() { + cd "$pkgbase-test-$pkgver" + make check +} + +package_libelf() { + pkgdesc+=" (libraries)" + depends=('gcc-libs' 'libbz2.so' 'libcurl.so' 'xz' 'zlib' 'zstd') + # NOTE: the shared objects can not be added to provides as they are not versioned + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + # remove files provided by elfutils or debuginfod + rm -rvf "${pkgdir}"{/etc,/usr/{bin,share}} + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_elfutils() { + pkgdesc+=" (utilities)" + depends=('gcc-libs' 'glibc' "libelf=${pkgver}-${pkgrel}") + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" + # remove files provided by libelf + rm -rvf "${pkgdir}/usr/"{include,lib} + # remove files provided by debuginfod + rm -rvf "${pkgdir}/usr/bin/debuginfod"* \ + "${pkgdir}/usr/share/man/man1/debuginfod"* \ + "${pkgdir}/usr/share/man/man3/debuginfod"* \ + "${pkgdir}/usr/share/man/man7/" \ + "${pkgdir}/usr/share/man/man8/" \ + "${pkgdir}/etc" +} + +package_debuginfod() { + pkgdesc+=" (debuginfod)" + depends=('gcc-libs' 'glibc' 'libarchive.so' "libelf=${pkgver}-${pkgrel}" + 'libmicrohttpd.so' 'sqlite') + optdepends=("elfutils=${pkgver}-${pkgrel}: for translations" ) + + cd "$pkgbase-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,NEWS,NOTES,README} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" + # remove files provided by libelf + rm -rvf "${pkgdir}/usr/"{include,lib} + # remove files provided by elfutils + rm -rvf "${pkgdir}/usr/bin/eu-"* \ + "${pkgdir}/usr/share/man/man1/eu-"* \ + "${pkgdir}/usr/share/man/man3/elf_"* \ + "${pkgdir}/usr/share/locale" +} diff --git a/elfutils/clean b/elfutils/clean new file mode 100644 index 0000000..7758bf7 --- /dev/null +++ b/elfutils/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*bz2*} diff --git a/elfutils/deps b/elfutils/deps new file mode 100644 index 0000000..370d041 --- /dev/null +++ b/elfutils/deps @@ -0,0 +1,4 @@ +gettext +autoconf +libmicrohttpd +automake diff --git a/elfutils/key b/elfutils/key new file mode 100644 index 0000000..aad35f3 --- /dev/null +++ b/elfutils/key @@ -0,0 +1 @@ +gpg -v --recv-key 1AA44BE649DE760A diff --git a/elfutils/time b/elfutils/time new file mode 100644 index 0000000..0480305 --- /dev/null +++ b/elfutils/time @@ -0,0 +1,5 @@ + +real 3m7.326s +user 5m43.685s +sys 0m41.607s + diff --git a/eudev/PKBUILD-oba-3 b/eudev/PKBUILD-oba-3 new file mode 100644 index 0000000..cf8802f --- /dev/null +++ b/eudev/PKBUILD-oba-3 @@ -0,0 +1,157 @@ +# Copyright : Obarun +#------------------------ +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +#---------------- +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/eudev +#-------------------------------------------------------------- +# DESCRIPTION ] + +pkgbase=eudev +pkgver=3.2.11 +pkgrel=3 +udevver=243 +url="https://github.com/eudev-project/eudev" + +pkgname=( + 'eudev' + 'libeudev' +) + +track="eudev/releases/download/v$pkgver" +target="eudev-$pkgver" +source=( + "https://github.com/eudev-project/${track}/${target}.tar.gz" + initcpio_hooks + initcpio_install + udev-hwdb.hook +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'gobject-introspection' + 'gperf' + 'gtk-doc' + 'intltool' + 'kmod' +) + +options=( + '!makeflags' + '!libtool' +) + +#---------------- +# BUILD PREPARE ] + +prepare(){ + cd $pkgbase-$pkgver + + sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ + -e 's/GROUP="tape"/GROUP="storage"/' \ + -e 's/GROUP="cdrom"/GROUP="optical"/' \ + -i rules/*.rules +} + +#---------------- +# BUILD CONTROL ] + +_flags=( + --prefix=/usr + --with-rootprefix=/usr + --sysconfdir=/etc + --libdir=/usr/lib + --bindir=/usr/bin + --sbindir=/usr/bin + --enable-introspection + --enable-kmod + --enable-manpages + --enable-split-usr +) + +#-------- +# BUILD ] + +build() { + cd $pkgbase-$pkgver + + if [ -f "Makefile" ];then + msg2 "Cleaning up..." + make clean + fi + + ./configure "${_flags[@]}" + make +} + +#---------- +# PACKAGE ] + +package_eudev() { + pkgdesc="The userspace dev tools (udev) forked by Gentoo" + backup=( + 'etc/udev/udev.conf' + 'usr/lib/udev/rules.d/80-net-name-slot.rules' + ) + depends=( + 'kbd' + 'kmod' + 'hwdata' + 'util-linux' + 'libeudev' + ) + optdepends=( + 'upower-pm-utils: pm-utils support' + 'libgudev: GObject bindings for libudev' + ) + conflicts=( + 'eudev-git' + 'udev' + 'eudev-libgudev' + ) + replaces=( + 'udev' + ) + provides=( + "udev=$udevver" + ) + + cd $pkgbase-$pkgver + + make DESTDIR="$pkgdir" install + + ## we split this libudev + rm -rv "$pkgdir"/usr/lib/pkgconfig + rm -v "$pkgdir"/usr/include/libudev.h + rm -v "$pkgdir"/usr/lib/libudev*.{so*,a} + + install -Dm644 "$srcdir"/initcpio_hooks "$pkgdir"/usr/lib/initcpio/hooks/udev + install -Dm644 "$srcdir"/initcpio_install "$pkgdir"/usr/lib/initcpio/install/udev + install -Dm644 "$srcdir"/udev-hwdb.hook "$pkgdir"/usr/share/libalpm/hooks/udev-hwdb.hook +} + +package_libeudev() { + pkgdesc="Eudev client libraries" + depends=( + 'glib2' + 'glibc' + ) + provides=( + "libudev=$udevver" + 'libudev.so' + ) + + cd $pkgbase-$pkgver + + make -C src/libudev DESTDIR="$pkgdir" install +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(GPL) + +sha512sums=('') diff --git a/eudev/PKGBUILD b/eudev/PKGBUILD new file mode 100644 index 0000000..120ae80 --- /dev/null +++ b/eudev/PKGBUILD @@ -0,0 +1,155 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=eudev +pkgname=(eudev libeudev) +pkgver=3.2.11 +pkgrel=03 +_udev_ver=243 + +url="https://github.com/eudev-project/eudev/releases/download" +source=($url/v$pkgver/$pkgbase-$pkgver.tar.gz{,.asc} + initcpio_hooks + initcpio_install + udev-hwdb.hook +) + +groups=('base') +arch=(x86_64) + +pkgname=(eudev libeudev) + +makedepends=( + gobject-introspection \ + gperf \ + gtk-doc \ + intltool \ + kmod \ + autoconf \ + automake \ + gawk \ + gcc \ + glib2 \ + libxslt \ + libtool \ + linux-lts-headers \ + m4 \ + make \ + sed \ + util-linux +) + +options=( !staticlibs !libtool) + +prepare(){ + cd $pkgbase-$pkgver + + sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ + -e 's/GROUP="tape"/GROUP="storage"/' \ + -e 's/GROUP="cdrom"/GROUP="optical"/' \ + -i rules/*.rules +} + +build() { + cd $pkgbase-$pkgver + ./configure \ + --prefix=/usr \ + --with-rootprefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-introspection \ + --enable-kmod \ + --enable-manpages \ + --enable-split-usr + + if [ -f "Makefile" ];then + msg2 "Cleaning up..." + make clean + fi + make +} + +package_eudev() { + pkgdesc="The userspace dev tools (udev) forked by Gentoo" + backup=( + 'etc/udev/udev.conf' + 'usr/lib/udev/rules.d/80-net-name-slot.rules' + ) + depends=( + libeudev + kbd + kmod + hwdata + util-linux + ) + + optdepends=( + 'upower-pm-utils: pm-utils support' + 'libgudev: GObject bindings for libudev' + ) + + conflicts=( + eudev-git + udev + eudev-libgudev + ) + replaces=( + udev + mdevd + smdev + nldev + ) + provides=( + "udev=$_udev_ver" + ) + + cd $pkgbase-$pkgver + + make DESTDIR="$pkgdir" install + + + rm -rv "$pkgdir"/usr/lib/pkgconfig + rm -v "$pkgdir"/usr/include/libudev.h + rm -v "$pkgdir"/usr/lib/libudev*.{so*,a} + + install -Dm644 "$srcdir"/initcpio_hooks "$pkgdir"/usr/lib/initcpio/hooks/udev + install -Dm644 "$srcdir"/initcpio_install "$pkgdir"/usr/lib/initcpio/install/udev + install -Dm644 "$srcdir"/udev-hwdb.hook "$pkgdir"/usr/share/libalpm/hooks/udev-hwdb.hook +} + +package_libeudev() { + pkgdesc="Eudev client libraries" + depends=( + glib2 + glibc + ) + conflicts=(libudev-zero) + replaces=( + libudev-zero + ) + + provides=( + "libudev=$_udev_ver" + libudev.so + ) + + cd $pkgbase-$pkgver + + make -C src/libudev DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('BA60BC20F37E59444D6D25001365720913D2F22D') # Boian Bonev (GnuPG Release Key) + +sha256sums=(19847cafec67897da855fde56f9dc7d92e21c50e450aa79068a7e704ed44558b # eudev-3.2.11.tar.gz + ae59dba00db3d689a7903c5bb412d75815d89cec5bd4dd8d97938d24c4ecc7ee # eudev-3.2.11.tar.gz.asc + 892ce43218e0a458981bbce451252c8987dc398e60b8de288e7542b8f2409c13 # initcpio_hooks + 77dd1fd318b4456409aceb077f060b87944defb07cf39d29ad1968dc6f361875 # initcpio_install + 846e9ddbb95c8394ba7efe75107cc1308426921bc042f5d6b48fa4c2dcbac151) # udev-hwdb.hook diff --git a/eudev/PKGBUILD-aur b/eudev/PKGBUILD-aur new file mode 100644 index 0000000..ca9bb10 --- /dev/null +++ b/eudev/PKGBUILD-aur @@ -0,0 +1,82 @@ +# Maintainer: Vincent Grande +# Contributor: Chris Cromer +# Contributor: artoo +# Contributor: Alexey D. +# Contributor: Ivailo Monev + +_udev_ver=243 + +pkgbase=eudev +pkgname=( 'eudev' 'libeudev') +pkgver=3.2.10 +pkgrel=1 +arch=('x86_64') +url="https://github.com/gentoo/eudev" +license=('GPL') +makedepends=('gobject-introspection' 'gperf' 'gtk-doc' 'intltool' 'kmod') +options=('!libtool' '!staticlibs') +source=("$pkgname-$pkgver.tar.gz::https://github.com/gentoo/eudev/archive/v${pkgver}.tar.gz" + 'initcpio_hooks' + 'initcpio_install' + 'udev-hwdb.hook') +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + 'SKIP') + +prepare(){ + cd "${srcdir}/${pkgbase}-${pkgver}" + sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ + -e 's/GROUP="tape"/GROUP="storage"/' \ + -e 's/GROUP="cdrom"/GROUP="optical"/' \ + -i rules/*.rules +} + +groups=('base' 'base-openrc') + +build() { + cd "${srcdir}/${pkgbase}-${pkgver}" + ./autogen.sh + ./configure \ + --prefix=/usr \ + --with-rootprefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib \ + --sbindir=/usr/bin \ + --enable-introspection \ + --enable-kmod \ + --enable-manpages \ + --enable-split-usr + + make +} + +package_eudev() { + pkgdesc="The userspace dev tools (udev) forked by Gentoo" + provides=("udev=${_udev_ver}") + depends=("libeudev" 'kbd' 'kmod' 'hwids' 'util-linux') + backup=('etc/udev/udev.conf') + + + cd "${srcdir}/${pkgbase}-${pkgver}" + + make DESTDIR="${pkgdir}" install + + rm -rv "$pkgdir"/usr/lib/pkgconfig + rm -v "$pkgdir"/usr/include/libudev.h + rm -v "$pkgdir"/usr/lib/libudev*.{so*,a} + + install -Dm644 "${srcdir}/initcpio_hooks" "${pkgdir}/usr/lib/initcpio/hooks/udev" + install -Dm644 "${srcdir}/initcpio_install" "${pkgdir}/usr/lib/initcpio/install/udev" + install -Dm644 "$srcdir/udev-hwdb.hook" "$pkgdir/usr/share/libalpm/hooks/udev-hwdb.hook" +} + +package_libeudev() { + pkgdesc="eudev client libraries" + depends=('glib2' 'glibc') + conflicts=('libudev.so') + provides=("libudev=${_udev_ver}" 'libudev.so') + + cd "${srcdir}/${pkgbase}-${pkgver}" + make -C src/libudev DESTDIR="$pkgdir" install +} diff --git a/eudev/PKGBUILD-oba b/eudev/PKGBUILD-oba new file mode 100644 index 0000000..fbf2c30 --- /dev/null +++ b/eudev/PKGBUILD-oba @@ -0,0 +1,157 @@ +# Copyright : Obarun +#------------------------ +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +#---------------- +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/eudev +#-------------------------------------------------------------- +# DESCRIPTION ] + +pkgbase=eudev +pkgver=3.2.11 +pkgrel=2 +udevver=243 +url="https://github.com/eudev-project/eudev" + +pkgname=( + 'eudev' + 'libeudev' +) + +track="eudev/releases/download/v$pkgver" +target="eudev-$pkgver" +source=( + "https://github.com/eudev-project/${track}/${target}.tar.gz" + initcpio_hooks + initcpio_install + udev-hwdb.hook +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'gobject-introspection' + 'gperf' + 'gtk-doc' + 'intltool' + 'kmod' +) + +options=( + '!makeflags' + '!libtool' +) + +#---------------- +# BUILD PREPARE ] + +prepare(){ + cd $pkgbase-$pkgver + + sed -e 's/GROUP="dialout"/GROUP="uucp"/' \ + -e 's/GROUP="tape"/GROUP="storage"/' \ + -e 's/GROUP="cdrom"/GROUP="optical"/' \ + -i rules/*.rules +} + +#---------------- +# BUILD CONTROL ] + +_flags=( + --prefix=/usr + --with-rootprefix=/usr + --sysconfdir=/etc + --libdir=/usr/lib + --bindir=/usr/bin + --sbindir=/usr/bin + --enable-introspection + --enable-kmod + --enable-manpages + --enable-split-usr +) + +#-------- +# BUILD ] + +build() { + cd $pkgbase-$pkgver + + if [ -f "Makefile" ];then + msg2 "Cleaning up..." + make clean + fi + + ./configure "${_flags[@]}" + make +} + +#---------- +# PACKAGE ] + +package_eudev() { + pkgdesc="The userspace dev tools (udev) forked by Gentoo" + backup=( + 'etc/udev/udev.conf' + 'usr/lib/udev/rules.d/80-net-name-slot.rules' + ) + depends=( + 'kbd' + 'kmod' + 'hwids' + 'util-linux' + 'libeudev' + ) + optdepends=( + 'upower-pm-utils: pm-utils support' + 'libgudev: GObject bindings for libudev' + ) + conflicts=( + 'eudev-git' + 'udev' + 'eudev-libgudev' + ) + replaces=( + 'udev' + ) + provides=( + "udev=$udevver" + ) + + cd $pkgbase-$pkgver + + make DESTDIR="$pkgdir" install + + ## we split this libudev + rm -rv "$pkgdir"/usr/lib/pkgconfig + rm -v "$pkgdir"/usr/include/libudev.h + rm -v "$pkgdir"/usr/lib/libudev*.{so*,a} + + install -Dm644 "$srcdir"/initcpio_hooks "$pkgdir"/usr/lib/initcpio/hooks/udev + install -Dm644 "$srcdir"/initcpio_install "$pkgdir"/usr/lib/initcpio/install/udev + install -Dm644 "$srcdir"/udev-hwdb.hook "$pkgdir"/usr/share/libalpm/hooks/udev-hwdb.hook +} + +package_libeudev() { + pkgdesc="Eudev client libraries" + depends=( + 'glib2' + 'glibc' + ) + provides=( + "libudev=$udevver" + 'libudev.so' + ) + + cd $pkgbase-$pkgver + + make -C src/libudev DESTDIR="$pkgdir" install +} + +#-------------------- +# ARCH LICENSE AUTH ] + +arch=(x86_64) +license=(GPL) + +sha512sums=('') diff --git a/eudev/clean b/eudev/clean new file mode 100644 index 0000000..fda5e2e --- /dev/null +++ b/eudev/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,eu*tar.gz*} diff --git a/eudev/deps b/eudev/deps new file mode 100644 index 0000000..84c65e0 --- /dev/null +++ b/eudev/deps @@ -0,0 +1,2 @@ +autoconf automake linux-lts-headers +gobject-introspection gperf gtk-doc intltool diff --git a/eudev/initcpio_hooks b/eudev/initcpio_hooks new file mode 100644 index 0000000..75da7e4 --- /dev/null +++ b/eudev/initcpio_hooks @@ -0,0 +1,20 @@ +#!/usr/bin/ash + +run_earlyhook() { + udevd --daemon --resolve-names=never + udevd_running=1 +} + +run_hook() { + msg ":: Triggering uevents..." + udevadm trigger --action=add --type=subsystems + udevadm trigger --action=add --type=devices + udevadm settle +} + +run_cleanuphook() { + udevadm control --exit + udevadm info --cleanup-db +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/eudev/initcpio_install b/eudev/initcpio_install new file mode 100644 index 0000000..610b71c --- /dev/null +++ b/eudev/initcpio_install @@ -0,0 +1,27 @@ +#!/bin/bash + +build() { + add_file "/etc/udev/udev.conf" + add_binary /usr/bin/udevd + add_binary /usr/bin/udevadm + + for rule in 50-udev-default.rules 60-persistent-storage.rules 64-btrfs.rules 80-drivers.rules; do + add_file "/usr/lib/udev/rules.d/$rule" + done + + for tool in ata_id scsi_id; do + add_file "/usr/lib/udev/$tool" + done + + add_runscript +} + +help() { + cat < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=expat +pkgver=2.4.7 +pkgrel=01 +pkgdesc='An XML parser library' +arch=('x86_64') +url="https://libexpat.github.io/" +depends=(glibc filesystem) +makedepends=(cmake ) +provides=(libexpat.so) +# options=(debug) # uncomment if you want developers' debug pkg created +source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/${pkgname}-${pkgver}.tar.bz2"{,.asc}) + +build() { + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -W no-dev \ + -B build \ + -S "$pkgname-$pkgver" + make VERBOSE=1 -C build +} + +check() { + make VERBOSE=1 -C build test +} + +package() { + make VERBOSE=1 DESTDIR="$pkgdir" -C build install + install -vDm 644 "$pkgname-$pkgver/COPYING" -t "${pkgdir}/usr/share/licenses/$pkgname/" + install -vDm 644 "$pkgname-$pkgver/"{AUTHORS,Changes,README.md} -t "${pkgdir}/usr/share/doc/${pkgname}/" +} + +#---- license gpg-key sha256sums ---- + +license=(MIT) + +validpgpkeys=(3176EF7DB2367F1FCA4F306B1F9B0E909AF37285) # Sebastian Pipping + +sha256sums=(e149bdd8b90254c62b3d195da53a09bd531a4d63a963b0d8a5268d48dd2f6a65 # expat-2.4.7.tar.bz2 + b8e19fd50cb30976d4ad3fddab1d295fce17d5b0b1c4e34b0fcd49547c818abb) # expat-2.4.7.tar.bz2.asc diff --git a/expat/PKGBUILD-arch b/expat/PKGBUILD-arch new file mode 100644 index 0000000..b7f91cd --- /dev/null +++ b/expat/PKGBUILD-arch @@ -0,0 +1,41 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Judd Vinet + +pkgname=expat +pkgver=2.4.7 +pkgrel=1 +pkgdesc="An XML parser library" +arch=(x86_64) +url="https://libexpat.github.io/" +license=(MIT) +depends=(glibc) +makedepends=(cmake) +provides=(libexpat.so) +options=(debug) +source=("https://github.com/libexpat/libexpat/releases/download/R_${pkgver//./_}/${pkgname}-${pkgver}.tar.bz2"{,.asc}) +sha512sums=('313bbee4c941d56aa1a0c0d0f4a2c9f9ada8df734bc905fd9d616199ab980b460485870bf3c7fd1605334f782a0c16e9c2960a96cdceb444a7af9b2e3e748515' + 'SKIP') +b2sums=('4c5d146a36b127cc43edc14f60e905a7f0ada1954d13e1991bea2df1e84a76481b455cddc3960bab8ce39fe07fb3373d9764b76d7bd33204ab8127824816d6b2' + 'SKIP') +validpgpkeys=(3176EF7DB2367F1FCA4F306B1F9B0E909AF37285) # Sebastian Pipping + +build() { + cmake -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_BUILD_TYPE=None \ + -W no-dev \ + -B build \ + -S "$pkgname-$pkgver" + make VERBOSE=1 -C build +} + +check() { + make VERBOSE=1 -C build test +} + +package() { + make VERBOSE=1 DESTDIR="$pkgdir" -C build install + install -vDm 644 "$pkgname-$pkgver/COPYING" -t "${pkgdir}/usr/share/licenses/$pkgname/" + install -vDm 644 "$pkgname-$pkgver/"{AUTHORS,Changes,README.md} -t "${pkgdir}/usr/share/doc/${pkgname}/" +} diff --git a/expat/clean b/expat/clean new file mode 100644 index 0000000..7758bf7 --- /dev/null +++ b/expat/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*bz2*} diff --git a/expat/deps b/expat/deps new file mode 100644 index 0000000..a3ea3e4 --- /dev/null +++ b/expat/deps @@ -0,0 +1 @@ +cmake diff --git a/expat/key b/expat/key new file mode 100644 index 0000000..6560413 --- /dev/null +++ b/expat/key @@ -0,0 +1 @@ +gpg -v --recv-key 96262ACFFBD3AEC6 diff --git a/expat/time b/expat/time new file mode 100644 index 0000000..9cf5304 --- /dev/null +++ b/expat/time @@ -0,0 +1,4 @@ +real 0m13.585s +user 0m32.498s +sys 0m1.384s + diff --git a/fakeroot/PKGBUILD b/fakeroot/PKGBUILD new file mode 100644 index 0000000..047f565 --- /dev/null +++ b/fakeroot/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=fakeroot +pkgver=1.28 +pkgrel=01 +pkgdesc='Tool for simulating superuser privileges w/o systemd' +arch=('x86_64') +url='https://tracker.debian.org/pkg/fakeroot' +groups=( jobbot ) +install=fakeroot.install +depends=('glibc' 'filesystem' 'sed' 'util-linux' 'sh') +makedepends=('po4a') +checkdepends=('sharutils') +source=("https://deb.debian.org/debian/pool/main/f/$pkgname/${pkgname}_${pkgver}.orig.tar.gz") + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr \ + --libdir=/usr/lib/libfakeroot \ + --disable-static \ + --with-ipc=sysv + + make + + cd doc + po4a -k 0 --rm-backups --variable 'srcdir=../doc/' po4a/po4a.cfg +} + +#check() { +# cd $pkgname-$pkgver +# make check +#} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -dm0755 "$pkgdir/etc/ld.so.conf.d/" + echo '/usr/lib/libfakeroot' > "$pkgdir/etc/ld.so.conf.d/fakeroot.conf" + + # install README for sysv/tcp usage + install -Dm0644 README "$pkgdir/usr/share/doc/$pkgname/README" +} + + +#---- license gpg-key sha512sums ---- + +license=('GPL') + +sha256sums=(56d405e36ff685f83879be08fdd654255ab9aa38632b4605a98e896ad63990c2) # fakeroot_1.28.orig.tar.gz diff --git a/fakeroot/PKGBUILD-arch b/fakeroot/PKGBUILD-arch new file mode 100644 index 0000000..055bf5f --- /dev/null +++ b/fakeroot/PKGBUILD-arch @@ -0,0 +1,48 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Jochem Kossen + +pkgname=fakeroot +pkgver=1.28 +pkgrel=1 +pkgdesc='Tool for simulating superuser privileges' +arch=('x86_64') +license=('GPL') +url='https://tracker.debian.org/pkg/fakeroot' +groups=('base-devel') +install=fakeroot.install +depends=('glibc' 'filesystem' 'sed' 'util-linux' 'sh') +makedepends=('systemd' 'po4a') +checkdepends=('sharutils') +source=("https://deb.debian.org/debian/pool/main/f/$pkgname/${pkgname}_${pkgver}.orig.tar.gz") +sha256sums=('56d405e36ff685f83879be08fdd654255ab9aa38632b4605a98e896ad63990c2') + +build() { + cd $pkgname-$pkgver + + ./configure --prefix=/usr \ + --libdir=/usr/lib/libfakeroot \ + --disable-static \ + --with-ipc=sysv + + make + + cd doc + po4a -k 0 --rm-backups --variable 'srcdir=../doc/' po4a/po4a.cfg +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + install -dm0755 "$pkgdir/etc/ld.so.conf.d/" + echo '/usr/lib/libfakeroot' > "$pkgdir/etc/ld.so.conf.d/fakeroot.conf" + + # install README for sysv/tcp usage + install -Dm0644 README "$pkgdir/usr/share/doc/$pkgname/README" +} diff --git a/fakeroot/clean b/fakeroot/clean new file mode 100644 index 0000000..1546106 --- /dev/null +++ b/fakeroot/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*gz} diff --git a/fakeroot/deps b/fakeroot/deps new file mode 100644 index 0000000..71c286e --- /dev/null +++ b/fakeroot/deps @@ -0,0 +1,2 @@ +po4a +sharutils diff --git a/fakeroot/fakeroot.install b/fakeroot/fakeroot.install new file mode 100644 index 0000000..29b52c8 --- /dev/null +++ b/fakeroot/fakeroot.install @@ -0,0 +1,13 @@ +#!/bin/sh + +post_install() { + usr/bin/ldconfig -r . +} + +post_upgrade() { + usr/bin/ldconfig -r . +} + +pre_remove() { + usr/bin/ldconfig -r . +} diff --git a/fakeroot/fakeroot.install.26 b/fakeroot/fakeroot.install.26 new file mode 100644 index 0000000..caab922 --- /dev/null +++ b/fakeroot/fakeroot.install.26 @@ -0,0 +1,14 @@ +post_install() { + usr/bin/ldconfig -r . +} + +post_upgrade() { + if [ "$(vercmp $2 1.14.4-2)" -lt 0 ]; then + sed -i -e '/\/usr\/lib\/libfakeroot/d' etc/ld.so.conf + fi + usr/bin/ldconfig -r . +} + +pre_remove() { + usr/bin/ldconfig -r . +} diff --git a/fakeroot/time b/fakeroot/time new file mode 100644 index 0000000..224cc5a --- /dev/null +++ b/fakeroot/time @@ -0,0 +1,5 @@ + +real 0m8.786s +user 0m7.527s +sys 0m1.327s + diff --git a/file/PKGBUILD b/file/PKGBUILD new file mode 100644 index 0000000..3a617fa --- /dev/null +++ b/file/PKGBUILD @@ -0,0 +1,57 @@ +pkgname=file +pkgver=5.41 +pkgrel=01 +pkgdesc='File type identification utility' +arch=('x86_64') +groups=('base-devel') +url='https://www.darwinsys.com/file/' +depends=('glibc' 'zlib' 'xz' 'bzip2' 'libseccomp' 'libseccomp.so') +provides=('libmagic.so') +options=('!emptydirs') +source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz"{,.asc}) + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + + # Fix linking libmagic (vfork needs libpthread) + CFLAGS+=" -pthread" + + ./configure \ + --prefix=/usr \ + --datadir=/usr/share/file \ + --enable-fsect-man5 \ + --enable-libseccomp + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +license=('custom') + +validpgpkeys=('BE04995BA8F90ED0C0C176C471112AB16CB33B3A') # Christos Zoulas + +sha256sums=('13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f' # file-5.41.tar.gz + '9133957dbbc1328e5ef7141bc122af461e847e12ed8fed00422e6f3fe5f55b44') # file-5.41.tar.gz.asc diff --git a/file/PKGBUILD-arch b/file/PKGBUILD-arch new file mode 100644 index 0000000..7045821 --- /dev/null +++ b/file/PKGBUILD-arch @@ -0,0 +1,60 @@ +# Maintainer: Sébastien Luttringer +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=file +pkgver=5.41 +pkgrel=1 +pkgdesc='File type identification utility' +arch=('x86_64') +license=('custom') +groups=('base-devel') +url='https://www.darwinsys.com/file/' +depends=('glibc' 'zlib' 'xz' 'bzip2' 'libseccomp' 'libseccomp.so') +provides=('libmagic.so') +options=('!emptydirs') +source=("https://astron.com/pub/$pkgname/$pkgname-$pkgver.tar.gz"{,.asc}) +validpgpkeys=('BE04995BA8F90ED0C0C176C471112AB16CB33B3A') # Christos Zoulas +sha256sums=('13e532c7b364f7d57e23dfeea3147103150cb90593a57af86c10e4f6e411603f' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + + # Fix linking libmagic (vfork needs libpthread) + CFLAGS+=" -pthread" + + ./configure \ + --prefix=/usr \ + --datadir=/usr/share/file \ + --enable-fsect-man5 \ + --enable-libseccomp + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} + +# vim:set ts=2 sw=2 et: diff --git a/file/clean b/file/clean new file mode 100644 index 0000000..217665a --- /dev/null +++ b/file/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,file*gz*} diff --git a/file/deps b/file/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/file/deps @@ -0,0 +1 @@ + diff --git a/file/key b/file/key new file mode 100644 index 0000000..a516262 --- /dev/null +++ b/file/key @@ -0,0 +1 @@ +gpg -v --recv-key 71112AB16CB33B3A diff --git a/file/time b/file/time new file mode 100644 index 0000000..c8902bd --- /dev/null +++ b/file/time @@ -0,0 +1 @@ +18.6s diff --git a/filesystem/PKGBUILD b/filesystem/PKGBUILD new file mode 100644 index 0000000..911dd89 --- /dev/null +++ b/filesystem/PKGBUILD @@ -0,0 +1,146 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=filesystem +pkgver=2022.01.01 +pkgrel=04 +pkgdesc='Base Joborun Linux file system' +arch=('x86_64') +groups=( jobbot ) +url='https://pozol.eu' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/resolv.conf.pacnew' 'etc/securetty' + 'etc/shadow' 'etc/shells') +source=('crypttab' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'motd' 'nsswitch.conf' 'os-release' + 'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' + 'sysusers' 'tmpfiles' 'modprobe.d.usb-load-ehci-first') +# 'env-generator' 'archlinux-logo.svg' 'archlinux-logo.png' +# 'archlinux-logo-text.svg' 'archlinux-logo-text-dark.svg') + +package() { + cd "$pkgdir" + + # setup root filesystem + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0755 root + install -d -m1777 tmp + install -d -m777 src + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf \ + passwd securetty shells profile; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + install -m644 "$srcdir"/resolv.conf etc/resolv.conf.pacnew + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + install -D -m644 "$srcdir"/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf + + touch etc/jobo-release + touch etc/arch-release + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + ln --symbolic --relative "$pkgdir"/usr/lib/os-release "$pkgdir"/etc/os-release + + # setup /var + for d in cache local opt log/old lib/misc lib/pacman empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games (gid 50) to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # setup /usr hierarchy + for d in bin include lib share/{misc,pixmaps} src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + + # add lib symlinks + ln -s usr/lib lib + [[ $CARCH = 'x86_64' ]] && { + ln -s usr/lib lib64 + ln -s lib usr/lib64 + } + + # add bin symlinks + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # setup /usr/local hierarchy + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup systemd-sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/arch.conf + + # setup systemd-tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/arch.conf + + # setup systemd.environment-generator + # install -D -m755 "$srcdir"/env-generator usr/lib/systemd/system-environment-generators/10-arch + + # add logo +## install -D -m644 "$srcdir"/archlinux-logo{.png,.svg,-text.svg,-text-dark.svg} usr/share/pixmaps +} + +# # setup systemd-sysctl +# # setup systemd-sysusers +# # setup systemd-tmpfiles +# # setup systemd.environment-generator +# #install -D -m755 "$srcdir"/env-generator usr/lib/systemd/system-environment-generators/10-arch + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(e03bede3d258d680548696623d5979c6edf03272e801a813c81ba5a5c64f4f82 # crypttab + e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696 # fstab +# # group --> added tty:5 games-->ninjaneedsit gshadow alike + df57d376582518cd5c02cd776cf81c4780c4854ca33f28f7f7bd846f8d4bde15 # group + 5003d01f30a868d6e79010a9313d43481701b5c59fbe7252fb33760d043878f1 # gshadow + 250cfbb9a2b5e3cc9879ab2080eb3c7875fbe66eb375ce3f96eee335654a4979 # host.conf + 8a63876eaf11641bbecdf2dea934c14e730dd4daceb32a5b172d08887a263f73 # hosts + 8f7885ff199a832b8550fbcd0e43ef786e75f7a9e0b5acdf16f049bf62318b27 # issue + dad04a370e488aa85fb0a813a5c83cf6fd981ce01883fc59685447b092de84b5 # ld.so.conf + 6c17fa911c82c27a30414624cdb32b44a76e60304cb875dc794bb9ee7aac21d4 # locale.sh + 408a8949aab4756ff2b43512f1c93dc0a4727f35f260a7643068781225cafdb9 # motd + b3f9aca43fd990384741213c747f856ae166b254475bb42c4dac676bd7fdde5a # nsswitch.conf + 5b24a881c5eb48b31d3a5c55112b208639421d2857460ca7edb4f1cd3669c2ab # os-release + aa9df866acb6a56ad72aca7cd215642ed8c55ba9a01d205c667ed082bc997568 # passwd + 5e4088ad8d0853d390fa303f6be8c3f69c33834200cba9e90f7849f1993ca8d0 # profile + 77bba6e7f545eeffee6a4395b51c9c1b87a39a0494c11fb225c6e666e4f93997 # resolv.conf + d88be2b45b43605ff31dd83d6a138069b6c2e92bc8989b7b9ab9eba8da5f8c7b # securetty + 1d77352db51f1edc46eb868307530d1c02de1ee77cfa14902bc0430aad91384b # shadow + 268e414ace5dd1579e5a3085a45a969c3d580d734182166f85d02411d3be6f7d # shells + e0a505d9d42acd716d5a2f4e82d83a5d8b2337ead6faf87b826caa8137873640 # sysusers + 618ac097441c1f2daffc9967e5c3cd18ea8866f776db62d04bf401c53907b1c9 # tmpfiles + 90fb123aa8c0176bc144322b585bb889181c437542ddbe546af43e11b95be6ab) # modprobe.d.usb-load-ehci-first + diff --git a/filesystem/PKGBUILD-arch b/filesystem/PKGBUILD-arch new file mode 100644 index 0000000..f04495b --- /dev/null +++ b/filesystem/PKGBUILD-arch @@ -0,0 +1,132 @@ +# Maintainer: Sébastien Luttringer +# Contributor: Tom Gundersen + +pkgname=filesystem +pkgver=2021.12.07 +pkgrel=1 +pkgdesc='Base Arch Linux files' +arch=('x86_64') +license=('GPL') +url='https://archlinux.org' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty' + 'etc/shadow' 'etc/shells') +source=('crypttab' 'env-generator' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'nsswitch.conf' 'os-release' + 'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' 'sysctl' + 'sysusers' 'tmpfiles' 'archlinux-logo.svg' 'archlinux-logo.png' + 'archlinux-logo-text.svg' 'archlinux-logo-text-dark.svg') +sha256sums=('e03bede3d258d680548696623d5979c6edf03272e801a813c81ba5a5c64f4f82' + 'ed0cb4f1db4021f8c3b5ce78fdf91d2c0624708f58f36c9cf867f4d93c3bc6da' + 'e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696' + '244f0718ee2a9d6862ae59d6c18c1dd1568651eada91a704574fa527fbac2b3a' + '90d879374f77bac47f132164c1e7fc4892e994ff1d1ac376efa0c1c26ea37273' + '4d7b647169063dfedbff5e1e22cee77bd1a4183dbcfd5e802e68939da4bbf733' + 'd9cd8a77d9e0aa5e90d7f4ed74c8745c17b525e720e28e4c44364150003c35f9' + 'c774dbbcaea38ee1c1141d0daf82aa8177bfb26aca896d6f0c4ccdc902f6ac42' + 'dad04a370e488aa85fb0a813a5c83cf6fd981ce01883fc59685447b092de84b5' + '8ca2d8eef6fb5143c9ef7e9174ccfef59ac7ad2deee243574cd10c763156cc10' + 'c8ee7a9faf798caab178ec51afae4146f1efd8a716b7acedf28345b6c75f9697' + 'a54d010860b3e9c4b8ccc282e61da5b7118c7547697151aaca36ee771d323dc9' + '5e06477834f51abf42ea4e8dc199632afc6afbfd8c44354685a271e9a48d2c0a' + '5e4088ad8d0853d390fa303f6be8c3f69c33834200cba9e90f7849f1993ca8d0' + '5557d8e601b17a80d1ea7de78a9869be69637cb6a02fbfe334e22fdf64e61d4c' + 'd88be2b45b43605ff31dd83d6a138069b6c2e92bc8989b7b9ab9eba8da5f8c7b' + '6e13705ac4d6f69cdba118c6b70c722346fd3c45224133e6bbfe28aca719563c' + 'c390b31fffc4a2b5d78ae8c89f5317aadef1f71baac09cfb467b675db1406d61' + '89e43a0b7028f52d5c8e7fb961d962c4b4f4e9595880a6157274ddb2c7c0b6b4' + 'b5b28f395583d141d88c0b955cd05124f9b8cdf003feab01e55885b8e8c1303e' + 'f17efd1c6480c5db1fdab4a0e3cfcd4baa44a3e1ae1210aebeb40f8d5c82f742' + '3ffe8ea4e98db43a3ec4dcca55fd4009cd8b8d220f0996aef7a5b427fdf65234' + '3f48779141b68a81e07fee710a42025d4f67b16240295aa4cf148a7ba99cab3c' + '601069e6e8920309178c397fd8cebe43410827d01899d31777d13212f0dfacf8' + '96e3cc81623c0537a19799f9eefa966fe46ff5f28a9dc7af1187990973baa127') + +package() { + cd "$pkgdir" + + # setup root filesystem + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0750 root + install -d -m1777 tmp + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + for f in fstab group host.conf hosts issue ld.so.conf nsswitch.conf \ + passwd resolv.conf securetty shells profile; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + touch etc/arch-release + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + + # setup /var + for d in cache local opt log/old lib/misc empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games (gid 50) to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # setup /usr hierarchy + for d in bin include lib share/{misc,pixmaps} src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + + # add lib symlinks + ln -s usr/lib lib + [[ $CARCH = 'x86_64' ]] && { + ln -s usr/lib lib64 + ln -s lib usr/lib64 + } + + # add bin symlinks + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # setup /usr/local hierarchy + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup systemd-sysctl + install -D -m644 "$srcdir"/sysctl usr/lib/sysctl.d/10-arch.conf + + # setup systemd-sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/arch.conf + + # setup systemd-tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/arch.conf + + # setup systemd.environment-generator + install -D -m755 "$srcdir"/env-generator usr/lib/systemd/system-environment-generators/10-arch + + # add logo + install -D -m644 "$srcdir"/archlinux-logo{.png,.svg,-text.svg,-text-dark.svg} usr/share/pixmaps +} + +# vim:set ts=2 sw=2 et: diff --git a/filesystem/PKGBUILD-artix b/filesystem/PKGBUILD-artix new file mode 100644 index 0000000..a7ef4f9 --- /dev/null +++ b/filesystem/PKGBUILD-artix @@ -0,0 +1,128 @@ +# Maintainer: Sébastien Luttringer +# Contributor: Tom Gundersen + +pkgname=filesystem +pkgver=2021.12.07 +pkgrel=1 +pkgdesc='Base Artix Linux files' +arch=('x86_64') +license=('GPL') +url='https://www.artixlinux.org' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty' + 'etc/shadow' 'etc/shells') +source=('crypttab' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'nsswitch.conf' 'os-release' + 'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' 'sysctl' + 'sysusers' 'tmpfiles' 'artixlinux.svg' 'artixlinux.png' + 'artixlinux-logo.svg' 'artixlinux-logo.png') +sha256sums=('e03bede3d258d680548696623d5979c6edf03272e801a813c81ba5a5c64f4f82' + 'e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696' + '244f0718ee2a9d6862ae59d6c18c1dd1568651eada91a704574fa527fbac2b3a' + '90d879374f77bac47f132164c1e7fc4892e994ff1d1ac376efa0c1c26ea37273' + '4d7b647169063dfedbff5e1e22cee77bd1a4183dbcfd5e802e68939da4bbf733' + 'd9cd8a77d9e0aa5e90d7f4ed74c8745c17b525e720e28e4c44364150003c35f9' + 'fe86e5d282e55658fdc9c383eabbabb0ba2d791be04814082230ac8a9c056452' + 'dad04a370e488aa85fb0a813a5c83cf6fd981ce01883fc59685447b092de84b5' + '8ca2d8eef6fb5143c9ef7e9174ccfef59ac7ad2deee243574cd10c763156cc10' + 'aa4dc5b2374fb32863e3bc1ce20a2de2d34fe4eed1cd63c599bc82fab21463cc' + 'fe9bb5b7ef357e38ef2efb5bee32a0ac495f55cb14d573e0e1b59a6ede43213d' + '5e06477834f51abf42ea4e8dc199632afc6afbfd8c44354685a271e9a48d2c0a' + 'f86a0b98d5fee4aae0e11a61fa0a1a4061927d5ca80753329285f87376acf2b6' + '5557d8e601b17a80d1ea7de78a9869be69637cb6a02fbfe334e22fdf64e61d4c' + 'd88be2b45b43605ff31dd83d6a138069b6c2e92bc8989b7b9ab9eba8da5f8c7b' + '6e13705ac4d6f69cdba118c6b70c722346fd3c45224133e6bbfe28aca719563c' + 'c390b31fffc4a2b5d78ae8c89f5317aadef1f71baac09cfb467b675db1406d61' + '89e43a0b7028f52d5c8e7fb961d962c4b4f4e9595880a6157274ddb2c7c0b6b4' + 'd6b0e95e3cdf663d3383f883301f5ed6cf900cccb7cba0c268ab8f6e78177d16' + 'f17efd1c6480c5db1fdab4a0e3cfcd4baa44a3e1ae1210aebeb40f8d5c82f742' + '7b8fffc06755488931ce2aa4d3f9547be650d9e873323b7171515004d02e83c1' + 'f52db4a98fbfdd6d957068ea0e631240c9a138df859fc43d902bf97b0759459d' + '02302481e97d88b2bd548bbfe54aadd1611fd3aa09911fd8b7eb1208cde4351d' + '1242caf07c6c3aa4ac600b5f2401a7422c85cbdc9ed9ef41357b068355c6a45b') + +package() { + cd "$pkgdir" + + # setup root filesystem + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0750 root + install -d -m1777 tmp + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + for f in fstab group host.conf hosts issue ld.so.conf nsswitch.conf \ + passwd resolv.conf securetty shells profile; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + touch etc/artix-release + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + + # setup /var + for d in cache local opt log/old lib/misc empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games (gid 50) to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # setup /usr hierarchy + for d in bin include lib share/{misc,pixmaps} src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + + # add lib symlinks + ln -s usr/lib lib + [[ $CARCH = 'x86_64' ]] && { + ln -s usr/lib lib64 + ln -s lib usr/lib64 + } + + # add bin symlinks + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # setup /usr/local hierarchy + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup sysctl + install -D -m644 "$srcdir"/sysctl usr/lib/sysctl.d/10-artix.conf + + # setup sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/artix.conf + + # setup tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/artix.conf + + # add logo + install -D -m644 "$srcdir"/artixlinux{,-logo}.{svg,png} usr/share/pixmaps +} + +# vim:set ts=2 sw=2 et: diff --git a/filesystem/PKGBUILD-oba b/filesystem/PKGBUILD-oba new file mode 100644 index 0000000..f07faa8 --- /dev/null +++ b/filesystem/PKGBUILD-oba @@ -0,0 +1,134 @@ +# Maintainer: Eric Vidal +# based on the original https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/filesystem +# Maintainer: Tom Gundersen + + +pkgname=filesystem +pkgver=2021.10.13 +pkgrel=2 +pkgdesc='Base Obarun filesystem' +arch=(x86_64) +license=('GPL') +url='https://www.obarun.org' +#install='filesystem.install' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/motd' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty' + 'etc/shadow' 'etc/shells') +source=('crypttab' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'motd' 'nsswitch.conf' 'os-release' + 'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' + 'sysusers' 'tmpfiles' 'modprobe.d.usb-load-ehci-first') +md5sums=('0672783048ee312d2fc768402fdb3488' + '693c97f2c9a519bb97a17008e92c2b74' + '26a96329a5523e5c11c50be58e6758c8' + 'e411df94c344a6dbf6634f75ea59a5dc' + '7c944ff2ac3b4fc5e3c2f3e9aa1ed802' + '4c8ed1804d6ff26714530dd43341b7a1' + '7a72f9ff248e284e2cedcd9c59542758' + '5deb9f890a4d08a245e9752ede77271e' + 'a9cabd3090a240bafbb05ce443d991df' + 'd41d8cd98f00b204e9800998ecf8427e' + '162cf609205e52a862fb1838d5df2be6' + '8649a132297ee9fe3805b26a4d032f2d' + 'd49e3834aa82c71f71f058f23467bd6f' + '448fe7cbcb566e8d318dc0db0c9cb710' + '1e025adcb3b94399bc74858440453501' + 'f04bcb2803afc4dcb95670fe87343b4d' + '1e867e07ad9a04f40fa9e5e4aa1f1624' + '6e0cf9e2ec97a424dfb11d41d2ef3c91' + 'dff1b18db07570fd69f55f91f501ef0a' + '0267a3a463f35eec8a31f40a720dfd86' + 'a8a962370cd0128465d514e6a1f74130') + +package() { + cd "$pkgdir" + + # + # setup root filesystem + # + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0750 root + install -d -m1777 tmp + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + + for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf passwd resolv.conf securetty shells profile; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + install -D -m644 "$srcdir"/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf + + #touch etc/obarun-release + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + ln --symbolic --relative "$pkgdir"/usr/lib/os-release "$pkgdir"/etc/os-release + + # Cmake fail to install lib64 correctly without it + touch etc/arch-release + + # setup /var + for d in cache local opt log/old lib/misc empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # + # setup /usr hierarchy + # + for d in bin include lib share/misc src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + + # + # add lib symlinks + # + ln -s usr/lib lib + ln -s usr/lib lib64 + ln -s lib usr/lib64 + + + # + # add bin symlinks + # + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # + # setup /usr/local hierarchy + # + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup wrapper file for systemd-sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/obarun.conf + + # setup wrapper file for systemd-tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/obarun.conf +} diff --git a/filesystem/clean b/filesystem/clean new file mode 100644 index 0000000..c39a115 --- /dev/null +++ b/filesystem/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg} diff --git a/filesystem/crypttab b/filesystem/crypttab new file mode 100644 index 0000000..3dbc8a4 --- /dev/null +++ b/filesystem/crypttab @@ -0,0 +1,12 @@ +# Configuration for encrypted block devices. +# See crypttab(5) for details. + +# NOTE: Do not list your root (/) partition here, it must be set up +# beforehand by the initramfs (/etc/mkinitcpio.conf). + +# +# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1 +# data1 /dev/sda3 /etc/mypassword2 +# data2 /dev/sda5 /etc/cryptfs.key +# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/sdb7 none diff --git a/filesystem/deps b/filesystem/deps new file mode 100644 index 0000000..6995371 --- /dev/null +++ b/filesystem/deps @@ -0,0 +1,4 @@ +iana-etc + + + diff --git a/filesystem/filesystem-arch/archlinux-logo-text-dark.svg b/filesystem/filesystem-arch/archlinux-logo-text-dark.svg new file mode 100644 index 0000000..19ea0ea --- /dev/null +++ b/filesystem/filesystem-arch/archlinux-logo-text-dark.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/filesystem/filesystem-arch/archlinux-logo-text.svg b/filesystem/filesystem-arch/archlinux-logo-text.svg new file mode 100644 index 0000000..4099543 --- /dev/null +++ b/filesystem/filesystem-arch/archlinux-logo-text.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/filesystem/filesystem-arch/archlinux-logo.png b/filesystem/filesystem-arch/archlinux-logo.png new file mode 100644 index 0000000..5e47a45 Binary files /dev/null and b/filesystem/filesystem-arch/archlinux-logo.png differ diff --git a/filesystem/filesystem-arch/archlinux-logo.svg b/filesystem/filesystem-arch/archlinux-logo.svg new file mode 100644 index 0000000..84a9f1e --- /dev/null +++ b/filesystem/filesystem-arch/archlinux-logo.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/filesystem/filesystem-arch/crypttab b/filesystem/filesystem-arch/crypttab new file mode 100644 index 0000000..3dbc8a4 --- /dev/null +++ b/filesystem/filesystem-arch/crypttab @@ -0,0 +1,12 @@ +# Configuration for encrypted block devices. +# See crypttab(5) for details. + +# NOTE: Do not list your root (/) partition here, it must be set up +# beforehand by the initramfs (/etc/mkinitcpio.conf). + +# +# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1 +# data1 /dev/sda3 /etc/mypassword2 +# data2 /dev/sda5 /etc/cryptfs.key +# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/sdb7 none diff --git a/filesystem/filesystem-arch/env-generator b/filesystem/filesystem-arch/env-generator new file mode 100755 index 0000000..5f63914 --- /dev/null +++ b/filesystem/filesystem-arch/env-generator @@ -0,0 +1,3 @@ +#!/bin/sh + +echo 'PATH=/usr/local/sbin:/usr/local/bin:/usr/bin' diff --git a/filesystem/filesystem-arch/fstab b/filesystem/filesystem-arch/fstab new file mode 100644 index 0000000..903906d --- /dev/null +++ b/filesystem/filesystem-arch/fstab @@ -0,0 +1,4 @@ +# Static information about the filesystems. +# See fstab(5) for details. + +# diff --git a/filesystem/filesystem-arch/group b/filesystem/filesystem-arch/group new file mode 100644 index 0000000..18acc30 --- /dev/null +++ b/filesystem/filesystem-arch/group @@ -0,0 +1 @@ +root:x:0:root diff --git a/filesystem/filesystem-arch/gshadow b/filesystem/filesystem-arch/gshadow new file mode 100644 index 0000000..3d5d111 --- /dev/null +++ b/filesystem/filesystem-arch/gshadow @@ -0,0 +1 @@ +root:::root diff --git a/filesystem/filesystem-arch/host.conf b/filesystem/filesystem-arch/host.conf new file mode 100644 index 0000000..f6df15f --- /dev/null +++ b/filesystem/filesystem-arch/host.conf @@ -0,0 +1,4 @@ +# Resolver configuration file. +# See host.conf(5) for details. + +multi on diff --git a/filesystem/filesystem-arch/hosts b/filesystem/filesystem-arch/hosts new file mode 100644 index 0000000..37a9306 --- /dev/null +++ b/filesystem/filesystem-arch/hosts @@ -0,0 +1,2 @@ +# Static table lookup for hostnames. +# See hosts(5) for details. diff --git a/filesystem/filesystem-arch/issue b/filesystem/filesystem-arch/issue new file mode 100644 index 0000000..b0325ce --- /dev/null +++ b/filesystem/filesystem-arch/issue @@ -0,0 +1,2 @@ +Joborun \r (\l) + diff --git a/filesystem/filesystem-arch/ld.so.conf b/filesystem/filesystem-arch/ld.so.conf new file mode 100644 index 0000000..1f620fa --- /dev/null +++ b/filesystem/filesystem-arch/ld.so.conf @@ -0,0 +1,4 @@ +# Dynamic linker/loader configuration. +# See ld.so(8) and ldconfig(8) for details. + +include /etc/ld.so.conf.d/*.conf diff --git a/filesystem/filesystem-arch/locale.sh b/filesystem/filesystem-arch/locale.sh new file mode 100644 index 0000000..48dd748 --- /dev/null +++ b/filesystem/filesystem-arch/locale.sh @@ -0,0 +1,22 @@ +#!/bin/sh + +# load locale.conf in XDG paths. +# /etc/locale.conf loads and overrides by kernel command line is done by systemd +# But we override it here, see FS#56688 +if [ -z "$LANG" ]; then + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" + elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then + . "$HOME/.config/locale.conf" + elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf + fi +fi + +# define default LANG to C if not already defined +LANG=${LANG:-C} + +# export all locale (7) variables when they exist +export LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ + LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ + LC_IDENTIFICATION diff --git a/filesystem/filesystem-arch/mklogos.sh b/filesystem/filesystem-arch/mklogos.sh new file mode 100755 index 0000000..1410ed8 --- /dev/null +++ b/filesystem/filesystem-arch/mklogos.sh @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +baseurl=https://raw.githubusercontent.com/archlinux/archweb/44336237bcaadb07d01c1f83fb97a9dc56cda56d/public/static/logos/ + +mklogo() ( + name="$1" + remote="$2" + + rm -f -- "$remote" "$name.svg.tmp" "$name.svg" "$name.png" + wget -O "$remote" -- "$baseurl/$remote" + rsvg-convert -f svg -w 256 -o "$name.svg.tmp" -- "$remote" + scour --strip-xml-prolog --remove-descriptive-elements \ + --enable-comment-stripping --enable-viewboxing \ + --enable-id-stripping --shorten-ids \ + -i "$name.svg.tmp" -o "$name.svg" + rm -- "$remote" "$name.svg.tmp" +) + +mklogo archlinux-logo archlinux-logo-only.svg & +mklogo archlinux-logo-text archlinux-logo-dark-scalable.svg & +mklogo archlinux-logo-text-dark archlinux-logo-light-scalable.svg & + +wait + +rsvg-convert -f png -z 1 -o archlinux-logo.png archlinux-logo.svg +optipng -strip all -o4 -fix -- archlinux-logo.png diff --git a/filesystem/filesystem-arch/nsswitch.conf b/filesystem/filesystem-arch/nsswitch.conf new file mode 100644 index 0000000..1ca05d5 --- /dev/null +++ b/filesystem/filesystem-arch/nsswitch.conf @@ -0,0 +1,19 @@ +# Name Service Switch configuration file. +# See nsswitch.conf(5) for details. + +passwd: files systemd +group: files [SUCCESS=merge] systemd +shadow: files systemd +gshadow: files systemd + +publickey: files + +hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +netgroup: files diff --git a/filesystem/filesystem-arch/os-release b/filesystem/filesystem-arch/os-release new file mode 100644 index 0000000..8d17aec --- /dev/null +++ b/filesystem/filesystem-arch/os-release @@ -0,0 +1,10 @@ +NAME="joborun" +PRETTY_NAME="joborun on obarun" +ID=joborun +ID_LIKE=arch +ANSI_COLOR="38;2;23;147;209" +HOME_URL="https://joborun.eu/" +DOCUMENTATION_URL="https://wiki.joborun.eu/" +SUPPORT_URL="https://gitea.disroot.org/joborun/" +BUG_REPORT_URL="https://gitea.disroot.org/joborun/" +LOGO=joborun-logo diff --git a/filesystem/filesystem-arch/passwd b/filesystem/filesystem-arch/passwd new file mode 100644 index 0000000..909d89b --- /dev/null +++ b/filesystem/filesystem-arch/passwd @@ -0,0 +1 @@ +root:x:0:0::/root:/bin/bash diff --git a/filesystem/filesystem-arch/profile b/filesystem/filesystem-arch/profile new file mode 100644 index 0000000..ef3f9f6 --- /dev/null +++ b/filesystem/filesystem-arch/profile @@ -0,0 +1,50 @@ +# /etc/profile + +# Set our umask +umask 022 + +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +# Append our default paths +append_path '/usr/local/sbin' +append_path '/usr/local/bin' +append_path '/usr/bin' + +# Force PATH to be environment +export PATH + +# Load profiles from /etc/profile.d +if test -d /etc/profile.d/; then + for profile in /etc/profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi + +# Unload our profile API functions +unset -f append_path + +# Source global bash config, when interactive but not posix or sh mode +if test "$BASH" &&\ + test "$PS1" &&\ + test -z "$POSIXLY_CORRECT" &&\ + test "${0#-}" != sh &&\ + test -r /etc/bash.bashrc +then + . /etc/bash.bashrc +fi + +# Termcap is outdated, old, and crusty, kill it. +unset TERMCAP + +# Man is much better than us at figuring this out +unset MANPATH diff --git a/filesystem/filesystem-arch/resolv.conf b/filesystem/filesystem-arch/resolv.conf new file mode 100644 index 0000000..d66f4da --- /dev/null +++ b/filesystem/filesystem-arch/resolv.conf @@ -0,0 +1,15 @@ +# This file was generated by OpenNIC 2019-Apr-26 06:46 UTC +# and shows the most reliable servers near you. +# You may retrieve updates automatically by using: +# wget --inet4-only "https://api.opennicproject.org/geoip?resolv" +domain opennic.glue +search opennic.gluenameserver 192.71.245.208 +nameserver 94.247.43.254 +nameserver 167.86.112.174 +nameserver 51.91.152.156 +nameserver 51.178.92.105 +nameserver 194.36.144.87 +nameserver 91.217.137.37 +nameserver 192.3.165.37 +nameserver 159.89.120.99 +rotate diff --git a/filesystem/filesystem-arch/securetty b/filesystem/filesystem-arch/securetty new file mode 100644 index 0000000..67fb10c --- /dev/null +++ b/filesystem/filesystem-arch/securetty @@ -0,0 +1,12 @@ +# File which lists terminals from which root can log in. +# See securetty(5) for details. + +console +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +ttyS0 +hvc0 diff --git a/filesystem/filesystem-arch/shadow b/filesystem/filesystem-arch/shadow new file mode 100644 index 0000000..a8860d1 --- /dev/null +++ b/filesystem/filesystem-arch/shadow @@ -0,0 +1 @@ +root:*:14871:::::: diff --git a/filesystem/filesystem-arch/shells b/filesystem/filesystem-arch/shells new file mode 100644 index 0000000..1ba9e3c --- /dev/null +++ b/filesystem/filesystem-arch/shells @@ -0,0 +1,6 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh +/bin/bash +/bin/zsh diff --git a/filesystem/filesystem-arch/sysctl b/filesystem/filesystem-arch/sysctl new file mode 100644 index 0000000..b585ea2 --- /dev/null +++ b/filesystem/filesystem-arch/sysctl @@ -0,0 +1,3 @@ +# Raise inotify resource limits +fs.inotify.max_user_instances = 1024 +fs.inotify.max_user_watches = 524288 diff --git a/filesystem/filesystem-arch/sysusers b/filesystem/filesystem-arch/sysusers new file mode 100644 index 0000000..0009171 --- /dev/null +++ b/filesystem/filesystem-arch/sysusers @@ -0,0 +1,28 @@ +# default arch groups +# groups first, because we have user/group id mismatch on ftp and mail +g sys 3 - - +g mem 8 - - +g ftp 11 - - +g mail 12 - - +g log 19 - - +g smmsp 25 - - +g proc 26 - - +g games 50 - - +g lock 54 - - +g network 90 - - +g floppy 94 - - +g scanner 96 - - +g power 98 - - + +# default arch users +u bin 1 - - +u daemon 2 - - +u mail 8 - /var/spool/mail +u ftp 14 - /srv/ftp +u http 33 - /srv/http + +# default membership +m bin daemon +m bin sys +m daemon adm +m daemon bin diff --git a/filesystem/filesystem-arch/tmpfiles b/filesystem/filesystem-arch/tmpfiles new file mode 100644 index 0000000..4b5368f --- /dev/null +++ b/filesystem/filesystem-arch/tmpfiles @@ -0,0 +1,16 @@ +# copy from factory when missing + +C /etc/crypttab +C /etc/fstab +C /etc/group +C /etc/gshadow +C /etc/host.conf +C /etc/hosts +C /etc/issue +C /etc/ld.so.conf +C /etc/nsswitch.conf +C /etc/passwd +C /etc/profile +C /etc/securetty +C /etc/shadow +C /etc/shells diff --git a/filesystem/filesystem-oba/PKGBUILD b/filesystem/filesystem-oba/PKGBUILD new file mode 100644 index 0000000..f07faa8 --- /dev/null +++ b/filesystem/filesystem-oba/PKGBUILD @@ -0,0 +1,134 @@ +# Maintainer: Eric Vidal +# based on the original https://projects.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/filesystem +# Maintainer: Tom Gundersen + + +pkgname=filesystem +pkgver=2021.10.13 +pkgrel=2 +pkgdesc='Base Obarun filesystem' +arch=(x86_64) +license=('GPL') +url='https://www.obarun.org' +#install='filesystem.install' +depends=('iana-etc') +backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf' + 'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/motd' 'etc/nsswitch.conf' + 'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty' + 'etc/shadow' 'etc/shells') +source=('crypttab' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts' + 'issue' 'ld.so.conf' 'locale.sh' 'motd' 'nsswitch.conf' 'os-release' + 'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' + 'sysusers' 'tmpfiles' 'modprobe.d.usb-load-ehci-first') +md5sums=('0672783048ee312d2fc768402fdb3488' + '693c97f2c9a519bb97a17008e92c2b74' + '26a96329a5523e5c11c50be58e6758c8' + 'e411df94c344a6dbf6634f75ea59a5dc' + '7c944ff2ac3b4fc5e3c2f3e9aa1ed802' + '4c8ed1804d6ff26714530dd43341b7a1' + '7a72f9ff248e284e2cedcd9c59542758' + '5deb9f890a4d08a245e9752ede77271e' + 'a9cabd3090a240bafbb05ce443d991df' + 'd41d8cd98f00b204e9800998ecf8427e' + '162cf609205e52a862fb1838d5df2be6' + '8649a132297ee9fe3805b26a4d032f2d' + 'd49e3834aa82c71f71f058f23467bd6f' + '448fe7cbcb566e8d318dc0db0c9cb710' + '1e025adcb3b94399bc74858440453501' + 'f04bcb2803afc4dcb95670fe87343b4d' + '1e867e07ad9a04f40fa9e5e4aa1f1624' + '6e0cf9e2ec97a424dfb11d41d2ef3c91' + 'dff1b18db07570fd69f55f91f501ef0a' + '0267a3a463f35eec8a31f40a720dfd86' + 'a8a962370cd0128465d514e6a1f74130') + +package() { + cd "$pkgdir" + + # + # setup root filesystem + # + for d in boot dev etc home mnt usr var opt srv/http run; do + install -d -m755 $d + done + install -d -m555 proc + install -d -m555 sys + install -d -m0750 root + install -d -m1777 tmp + # vsftpd won't run with write perms on /srv/ftp + # ftp (uid 14/gid 11) + install -d -m555 -g 11 srv/ftp + + # setup /etc and /usr/share/factory/etc + install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc + + for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf passwd resolv.conf securetty shells profile; do + install -m644 "$srcdir"/$f etc/ + install -m644 "$srcdir"/$f usr/share/factory/etc/ + done + ln -s ../proc/self/mounts etc/mtab + for f in gshadow shadow crypttab; do + install -m600 "$srcdir"/$f etc/ + install -m600 "$srcdir"/$f usr/share/factory/etc/ + done + install -D -m644 "$srcdir"/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf + + #touch etc/obarun-release + install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh + install -Dm644 "$srcdir"/os-release usr/lib/os-release + ln --symbolic --relative "$pkgdir"/usr/lib/os-release "$pkgdir"/etc/os-release + + # Cmake fail to install lib64 correctly without it + touch etc/arch-release + + # setup /var + for d in cache local opt log/old lib/misc empty; do + install -d -m755 var/$d + done + install -d -m1777 var/{tmp,spool/mail} + + # allow setgid games to write scores + install -d -m775 -g 50 var/games + ln -s spool/mail var/mail + ln -s ../run var/run + ln -s ../run/lock var/lock + + # + # setup /usr hierarchy + # + for d in bin include lib share/misc src; do + install -d -m755 usr/$d + done + for d in {1..8}; do + install -d -m755 usr/share/man/man$d + done + + # + # add lib symlinks + # + ln -s usr/lib lib + ln -s usr/lib lib64 + ln -s lib usr/lib64 + + + # + # add bin symlinks + # + ln -s usr/bin bin + ln -s usr/bin sbin + ln -s bin usr/sbin + + # + # setup /usr/local hierarchy + # + for d in bin etc games include lib man sbin share src; do + install -d -m755 usr/local/$d + done + ln -s ../man usr/local/share/man + + # setup wrapper file for systemd-sysusers + install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/obarun.conf + + # setup wrapper file for systemd-tmpfiles + install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/obarun.conf +} diff --git a/filesystem/filesystem-oba/crypttab b/filesystem/filesystem-oba/crypttab new file mode 100644 index 0000000..be0f40c --- /dev/null +++ b/filesystem/filesystem-oba/crypttab @@ -0,0 +1,12 @@ +# Configuration for encrypted block devices. +# See crypttab(5) for detail +# +# NOTE: Do not list your root (/) partition here, it must be set up +# beforehand by the initramfs (/etc/mkinitcpio.conf). + +# +# home UUID=b8ad5c18-f445-495d-9095-c9ec4f9d2f37 /etc/mypassword1 +# data1 /dev/sda3 /etc/mypassword2 +# data2 /dev/sda5 /etc/cryptfs.key +# swap /dev/sdx4 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256 +# vol /dev/sdb7 none diff --git a/filesystem/filesystem-oba/filesystem.install b/filesystem/filesystem-oba/filesystem.install new file mode 100644 index 0000000..7f9d796 --- /dev/null +++ b/filesystem/filesystem-oba/filesystem.install @@ -0,0 +1,11 @@ +post_install() { + + if ! getent passwd s6log >/dev/null; then + useradd -u 19 -g 19 -d / -c "S6 log user" -s /usr/bin/nologin s6log + fi +} + +post_upgrade() { + + post_install +} diff --git a/filesystem/filesystem-oba/fstab b/filesystem/filesystem-oba/fstab new file mode 100644 index 0000000..b6716c1 --- /dev/null +++ b/filesystem/filesystem-oba/fstab @@ -0,0 +1,4 @@ +# +# /etc/fstab: static file system information +# +# diff --git a/filesystem/filesystem-oba/group b/filesystem/filesystem-oba/group new file mode 100644 index 0000000..c5cfc86 --- /dev/null +++ b/filesystem/filesystem-oba/group @@ -0,0 +1,3 @@ +root:x:0:root +nobody:x:99: +users:x:100: diff --git a/filesystem/filesystem-oba/gshadow b/filesystem/filesystem-oba/gshadow new file mode 100644 index 0000000..47acc88 --- /dev/null +++ b/filesystem/filesystem-oba/gshadow @@ -0,0 +1,3 @@ +root:::root +nobody::: +users::: diff --git a/filesystem/filesystem-oba/host.conf b/filesystem/filesystem-oba/host.conf new file mode 100644 index 0000000..54b9ec7 --- /dev/null +++ b/filesystem/filesystem-oba/host.conf @@ -0,0 +1,7 @@ +# Resolver configuration file. +# See host.conf(5) for details. + +order hosts,bind +multi on + +# End of file diff --git a/filesystem/filesystem-oba/hosts b/filesystem/filesystem-oba/hosts new file mode 100644 index 0000000..ee7dd0d --- /dev/null +++ b/filesystem/filesystem-oba/hosts @@ -0,0 +1,8 @@ +# Static table lookup for hostnames. +# See hosts(5) for details. + +# +127.0.0.1 localhost.localdomain localhost +::1 localhost.localdomain localhost + +# End of file diff --git a/filesystem/filesystem-oba/issue b/filesystem/filesystem-oba/issue new file mode 100644 index 0000000..e4931b6 --- /dev/null +++ b/filesystem/filesystem-oba/issue @@ -0,0 +1,14 @@ + + + + ###################################################### + ## ## + ## Welcome to Obarun Linux ## + ## ## + ## Powered by s6 and 66 ## + ## ## + ###################################################### + + +Obarun Linux \r (\l) \d \t \s + diff --git a/filesystem/filesystem-oba/ld.so.conf b/filesystem/filesystem-oba/ld.so.conf new file mode 100644 index 0000000..1f620fa --- /dev/null +++ b/filesystem/filesystem-oba/ld.so.conf @@ -0,0 +1,4 @@ +# Dynamic linker/loader configuration. +# See ld.so(8) and ldconfig(8) for details. + +include /etc/ld.so.conf.d/*.conf diff --git a/filesystem/filesystem-oba/locale.sh b/filesystem/filesystem-oba/locale.sh new file mode 100644 index 0000000..5131ecb --- /dev/null +++ b/filesystem/filesystem-oba/locale.sh @@ -0,0 +1,27 @@ +#!/bin/sh + +if [ -z "$LANG" ]; then + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" + elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then + . "$HOME/.config/locale.conf" + elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf + fi +fi + +LANG=${LANG:-C} +export LANG +[ -n "$LC_CTYPE" ] && export LC_CTYPE +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC +[ -n "$LC_TIME" ] && export LC_TIME +[ -n "$LC_COLLATE" ] && export LC_COLLATE +[ -n "$LC_MONETARY" ] && export LC_MONETARY +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES +[ -n "$LC_PAPER" ] && export LC_PAPER +[ -n "$LC_NAME" ] && export LC_NAME +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION +[ -n "$LANGUAGE" ] && export LANGUAGE diff --git a/filesystem/filesystem-oba/modprobe.d.usb-load-ehci-first b/filesystem/filesystem-oba/modprobe.d.usb-load-ehci-first new file mode 100644 index 0000000..9473794 --- /dev/null +++ b/filesystem/filesystem-oba/modprobe.d.usb-load-ehci-first @@ -0,0 +1,2 @@ +softdep ohci_hcd pre: ehci_hcd +softdep uhci_hcd pre: ehci_hcd diff --git a/filesystem/filesystem-oba/motd b/filesystem/filesystem-oba/motd new file mode 100644 index 0000000..e69de29 diff --git a/filesystem/filesystem-oba/nsswitch.conf b/filesystem/filesystem-oba/nsswitch.conf new file mode 100644 index 0000000..4bb2bef --- /dev/null +++ b/filesystem/filesystem-oba/nsswitch.conf @@ -0,0 +1,18 @@ +# Name Service Switch configuration file. +# See nsswitch.conf(5) for details. + +passwd: files +group: files +shadow: files + +publickey: files + +hosts: files dns myhostname +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +netgroup: files diff --git a/filesystem/filesystem-oba/os-release b/filesystem/filesystem-oba/os-release new file mode 100644 index 0000000..5df62e7 --- /dev/null +++ b/filesystem/filesystem-oba/os-release @@ -0,0 +1,10 @@ +NAME="Obarun Linux" +PRETTY_NAME="Obarun Linux" +ID=obarun +ID_LIKE=arch +ANSI_COLOR="0;36" +HOME_URL="https://web.obarun.org/" +DOCUMENTATION_URL="https://wiki.obarun.org/" +SUPPORT_URL="https://forum.obarun.org/" +BUG_REPORT_URL="https://forum.obarun.org/" + diff --git a/filesystem/filesystem-oba/passwd b/filesystem/filesystem-oba/passwd new file mode 100644 index 0000000..fc3d64e --- /dev/null +++ b/filesystem/filesystem-oba/passwd @@ -0,0 +1,3 @@ +root:x:0:0::/root:/bin/bash +nobody:x:99:99::/:/usr/bin/nologin + diff --git a/filesystem/filesystem-oba/profile b/filesystem/filesystem-oba/profile new file mode 100644 index 0000000..ef3f9f6 --- /dev/null +++ b/filesystem/filesystem-oba/profile @@ -0,0 +1,50 @@ +# /etc/profile + +# Set our umask +umask 022 + +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +# Append our default paths +append_path '/usr/local/sbin' +append_path '/usr/local/bin' +append_path '/usr/bin' + +# Force PATH to be environment +export PATH + +# Load profiles from /etc/profile.d +if test -d /etc/profile.d/; then + for profile in /etc/profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi + +# Unload our profile API functions +unset -f append_path + +# Source global bash config, when interactive but not posix or sh mode +if test "$BASH" &&\ + test "$PS1" &&\ + test -z "$POSIXLY_CORRECT" &&\ + test "${0#-}" != sh &&\ + test -r /etc/bash.bashrc +then + . /etc/bash.bashrc +fi + +# Termcap is outdated, old, and crusty, kill it. +unset TERMCAP + +# Man is much better than us at figuring this out +unset MANPATH diff --git a/filesystem/filesystem-oba/resolv.conf b/filesystem/filesystem-oba/resolv.conf new file mode 100644 index 0000000..1722510 --- /dev/null +++ b/filesystem/filesystem-oba/resolv.conf @@ -0,0 +1,5 @@ +# Resolver configuration file. +# See resolv.conf(5) for details. + +#search +#nameserver diff --git a/filesystem/filesystem-oba/securetty b/filesystem/filesystem-oba/securetty new file mode 100644 index 0000000..67fb10c --- /dev/null +++ b/filesystem/filesystem-oba/securetty @@ -0,0 +1,12 @@ +# File which lists terminals from which root can log in. +# See securetty(5) for details. + +console +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +ttyS0 +hvc0 diff --git a/filesystem/filesystem-oba/shadow b/filesystem/filesystem-oba/shadow new file mode 100644 index 0000000..936823c --- /dev/null +++ b/filesystem/filesystem-oba/shadow @@ -0,0 +1,3 @@ +root::14871:::::: +nobody:x:14871:::::: + diff --git a/filesystem/filesystem-oba/shells b/filesystem/filesystem-oba/shells new file mode 100644 index 0000000..b90486b --- /dev/null +++ b/filesystem/filesystem-oba/shells @@ -0,0 +1,12 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh +/usr/bin/sh +/bin/bash +/usr/bin/bash +/bin/zsh +/usr/bin/zsh +/bin/dash +/usr/bin/dash +/usr/bin/git-shell diff --git a/filesystem/filesystem-oba/sysusers b/filesystem/filesystem-oba/sysusers new file mode 100644 index 0000000..e39b874 --- /dev/null +++ b/filesystem/filesystem-oba/sysusers @@ -0,0 +1,46 @@ +# default arch groups +# groups first, because we have user/group id mismatch on ftp and mail +g sys 3 - - +g lp 7 - - +g mem 8 - - +g ftp 11 - - +g mail 12 - - +g log 19 - - +g smmsp 25 - - +g proc 26 - - +g games 50 - - +g lock 54 - - +g network 90 - - +g floppy 94 - - +g scanner 96 - - +g power 98 - - +g tty 5 - - +g disk 6 - - +g kmem 9 - - +g wheel 10 - - +g uucp 14 - - +g utmp 20 - - +g locate 21 - - +g rfkill 24 - - +g video 91 - - +g audio 92 - - +g optical 93 - - +g storage 95 - - +g input 97 - - +g adm 4 - - +g kvm - - - + +# default arch users +u bin 1 - - +u daemon 2 - - +u mail 8 - /var/spool/mail +u ftp 14 - /srv/ftp +u http 33 - /srv/http +u s6log 19:19 "S6 log user" - + +# default membership +m bin daemon +m bin sys +m daemon adm +m daemon bin +m daemon lp diff --git a/filesystem/filesystem-oba/tmpfiles b/filesystem/filesystem-oba/tmpfiles new file mode 100644 index 0000000..8fc77b5 --- /dev/null +++ b/filesystem/filesystem-oba/tmpfiles @@ -0,0 +1,17 @@ +# copy from factory when missing + +C /etc/crypttab +C /etc/fstab +C /etc/group +C /etc/gshadow +C /etc/host.conf +C /etc/hosts +C /etc/issue +C /etc/ld.so.conf +C /etc/motd +C /etc/nsswitch.conf +C /etc/passwd +C /etc/profile +C /etc/securetty +C /etc/shadow +C /etc/shells diff --git a/filesystem/filesystem.install b/filesystem/filesystem.install new file mode 100644 index 0000000..7f9d796 --- /dev/null +++ b/filesystem/filesystem.install @@ -0,0 +1,11 @@ +post_install() { + + if ! getent passwd s6log >/dev/null; then + useradd -u 19 -g 19 -d / -c "S6 log user" -s /usr/bin/nologin s6log + fi +} + +post_upgrade() { + + post_install +} diff --git a/filesystem/fstab b/filesystem/fstab new file mode 100644 index 0000000..903906d --- /dev/null +++ b/filesystem/fstab @@ -0,0 +1,4 @@ +# Static information about the filesystems. +# See fstab(5) for details. + +# diff --git a/filesystem/group b/filesystem/group new file mode 100644 index 0000000..bef9f7b --- /dev/null +++ b/filesystem/group @@ -0,0 +1,10 @@ +root:x:0:root +tty:x:5: +wheel:x:10:make +log:x:19: +games:x:50: +dbus:x:81: +nobody:x:99: +users:x:100: +polkitd:x:102: +make:x:1000: diff --git a/filesystem/gshadow b/filesystem/gshadow new file mode 100644 index 0000000..36f1fe9 --- /dev/null +++ b/filesystem/gshadow @@ -0,0 +1,10 @@ +root:::root +wheel:!::make +nobody::: +users::: +dbus:!:: +make:!:: +polkitd:!:: +log:!:: +games:!:: +tty:x:: diff --git a/filesystem/host.conf b/filesystem/host.conf new file mode 100644 index 0000000..54b9ec7 --- /dev/null +++ b/filesystem/host.conf @@ -0,0 +1,7 @@ +# Resolver configuration file. +# See host.conf(5) for details. + +order hosts,bind +multi on + +# End of file diff --git a/filesystem/hosts b/filesystem/hosts new file mode 100644 index 0000000..ddf122b --- /dev/null +++ b/filesystem/hosts @@ -0,0 +1,8 @@ +# Static table lookup for hostnames. +# See hosts(5) for details. + +# +127.0.0.1 localhost.localdomain localhost +#::1 localhost.localdomain localhost + +# End of file diff --git a/filesystem/issue b/filesystem/issue new file mode 100644 index 0000000..538dba6 --- /dev/null +++ b/filesystem/issue @@ -0,0 +1,10 @@ + + ______________________________________________________ + __ __ + __ welcome to joborun __ + __ based on obarun __ + __ runit + s6 + 66 on clean root __ + ______________________________________________________ + + joborun \r (\l) \d \t \s + diff --git a/filesystem/ld.so.conf b/filesystem/ld.so.conf new file mode 100644 index 0000000..1f620fa --- /dev/null +++ b/filesystem/ld.so.conf @@ -0,0 +1,4 @@ +# Dynamic linker/loader configuration. +# See ld.so(8) and ldconfig(8) for details. + +include /etc/ld.so.conf.d/*.conf diff --git a/filesystem/locale.sh b/filesystem/locale.sh new file mode 100644 index 0000000..156feb9 --- /dev/null +++ b/filesystem/locale.sh @@ -0,0 +1,33 @@ +#!/bin/sh + +# load locale.conf in XDG paths. +# /etc/locale.conf loads and overrides by kernel command line is done by systemd +# But we override it here, see FS#56688 +if [ -z "$LANG" ]; then + if [ -n "$XDG_CONFIG_HOME" ] && [ -r "$XDG_CONFIG_HOME/locale.conf" ]; then + . "$XDG_CONFIG_HOME/locale.conf" + elif [ -n "$HOME" ] && [ -r "$HOME/.config/locale.conf" ]; then + . "$HOME/.config/locale.conf" + elif [ -r /etc/locale.conf ]; then + . /etc/locale.conf + fi +fi + +# define default LANG to C if not already defined +LANG=${LANG:-C} + +# export all locale (7) variables when they exist +export LANG +[ -n "$LC_CTYPE" ] && export LC_CTYPE +[ -n "$LC_NUMERIC" ] && export LC_NUMERIC +[ -n "$LC_TIME" ] && export LC_TIME +[ -n "$LC_COLLATE" ] && export LC_COLLATE +[ -n "$LC_MONETARY" ] && export LC_MONETARY +[ -n "$LC_MESSAGES" ] && export LC_MESSAGES +[ -n "$LC_PAPER" ] && export LC_PAPER +[ -n "$LC_NAME" ] && export LC_NAME +[ -n "$LC_ADDRESS" ] && export LC_ADDRESS +[ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE +[ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT +[ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION +[ -n "$LANGUAGE" ] && export LANGUAGE diff --git a/filesystem/modprobe.d.usb-load-ehci-first b/filesystem/modprobe.d.usb-load-ehci-first new file mode 100644 index 0000000..9473794 --- /dev/null +++ b/filesystem/modprobe.d.usb-load-ehci-first @@ -0,0 +1,2 @@ +softdep ohci_hcd pre: ehci_hcd +softdep uhci_hcd pre: ehci_hcd diff --git a/filesystem/motd b/filesystem/motd new file mode 100644 index 0000000..f98dd3e --- /dev/null +++ b/filesystem/motd @@ -0,0 +1,10 @@ + + ....:::::: ... :::::::. ... :::::::.. ... ::::::. :::. + ;;;;;;;;;````.;;;;;;;. `;;;'';;' .;;;;;;;.,;;;;``;;;; ,;; ;;;`;;;;, `;;; + ''` `[[. ,[["' `"\[[, [[[__[[\.,[["' `"\[[,[[[,/[[[' [[' [[[ `[[[[[. '[[ + ,,, `$$ $$$, `$$$ $$""""Y$$$$$, `$$$$$$$$$c' $$ ,$$$ $$$'"Y$c$$ + 888boood88 "888,_ _,88P_88o,,od8P"888,_ _,88P888b'"88bo,88. .d888 888 "Y88 + "MMMMMMMM" "YMMMMMP" ""YUMMMP" "YMMMMMP"`MMMM "W" "YmmMMMM"" MMM `YM + + + Enter your username and password below: diff --git a/filesystem/nsswitch.conf b/filesystem/nsswitch.conf new file mode 100644 index 0000000..3aab949 --- /dev/null +++ b/filesystem/nsswitch.conf @@ -0,0 +1,19 @@ +# Name Service Switch configuration file. +# See nsswitch.conf(5) for details. + +passwd: files +group: files +shadow: files +gshadow: files + +publickey: files + +hosts: mymachines resolve files myhostname dns +networks: files + +protocols: files +services: files +ethers: files +rpc: files + +netgroup: files diff --git a/filesystem/os-release b/filesystem/os-release new file mode 100644 index 0000000..8d17aec --- /dev/null +++ b/filesystem/os-release @@ -0,0 +1,10 @@ +NAME="joborun" +PRETTY_NAME="joborun on obarun" +ID=joborun +ID_LIKE=arch +ANSI_COLOR="38;2;23;147;209" +HOME_URL="https://joborun.eu/" +DOCUMENTATION_URL="https://wiki.joborun.eu/" +SUPPORT_URL="https://gitea.disroot.org/joborun/" +BUG_REPORT_URL="https://gitea.disroot.org/joborun/" +LOGO=joborun-logo diff --git a/filesystem/passwd b/filesystem/passwd new file mode 100644 index 0000000..52a994b --- /dev/null +++ b/filesystem/passwd @@ -0,0 +1,2 @@ +root:x:0:0::/root:/usr/bin/zsh +nobody:x:99:99::/:/usr/bin/nologin diff --git a/filesystem/profile b/filesystem/profile new file mode 100644 index 0000000..ef3f9f6 --- /dev/null +++ b/filesystem/profile @@ -0,0 +1,50 @@ +# /etc/profile + +# Set our umask +umask 022 + +# Append "$1" to $PATH when not already in. +# This function API is accessible to scripts in /etc/profile.d +append_path () { + case ":$PATH:" in + *:"$1":*) + ;; + *) + PATH="${PATH:+$PATH:}$1" + esac +} + +# Append our default paths +append_path '/usr/local/sbin' +append_path '/usr/local/bin' +append_path '/usr/bin' + +# Force PATH to be environment +export PATH + +# Load profiles from /etc/profile.d +if test -d /etc/profile.d/; then + for profile in /etc/profile.d/*.sh; do + test -r "$profile" && . "$profile" + done + unset profile +fi + +# Unload our profile API functions +unset -f append_path + +# Source global bash config, when interactive but not posix or sh mode +if test "$BASH" &&\ + test "$PS1" &&\ + test -z "$POSIXLY_CORRECT" &&\ + test "${0#-}" != sh &&\ + test -r /etc/bash.bashrc +then + . /etc/bash.bashrc +fi + +# Termcap is outdated, old, and crusty, kill it. +unset TERMCAP + +# Man is much better than us at figuring this out +unset MANPATH diff --git a/filesystem/resolv.conf b/filesystem/resolv.conf new file mode 100644 index 0000000..d66f4da --- /dev/null +++ b/filesystem/resolv.conf @@ -0,0 +1,15 @@ +# This file was generated by OpenNIC 2019-Apr-26 06:46 UTC +# and shows the most reliable servers near you. +# You may retrieve updates automatically by using: +# wget --inet4-only "https://api.opennicproject.org/geoip?resolv" +domain opennic.glue +search opennic.gluenameserver 192.71.245.208 +nameserver 94.247.43.254 +nameserver 167.86.112.174 +nameserver 51.91.152.156 +nameserver 51.178.92.105 +nameserver 194.36.144.87 +nameserver 91.217.137.37 +nameserver 192.3.165.37 +nameserver 159.89.120.99 +rotate diff --git a/filesystem/securetty b/filesystem/securetty new file mode 100644 index 0000000..67fb10c --- /dev/null +++ b/filesystem/securetty @@ -0,0 +1,12 @@ +# File which lists terminals from which root can log in. +# See securetty(5) for details. + +console +tty1 +tty2 +tty3 +tty4 +tty5 +tty6 +ttyS0 +hvc0 diff --git a/filesystem/shadow b/filesystem/shadow new file mode 100644 index 0000000..936823c --- /dev/null +++ b/filesystem/shadow @@ -0,0 +1,3 @@ +root::14871:::::: +nobody:x:14871:::::: + diff --git a/filesystem/shells b/filesystem/shells new file mode 100644 index 0000000..995fced --- /dev/null +++ b/filesystem/shells @@ -0,0 +1,9 @@ +# Pathnames of valid login shells. +# See shells(5) for details. + +/bin/sh +/usr/bin/sh +/bin/bash +/usr/bin/bash +/bin/zsh +/usr/bin/zsh diff --git a/filesystem/sums b/filesystem/sums new file mode 100644 index 0000000..a7fb588 --- /dev/null +++ b/filesystem/sums @@ -0,0 +1,21 @@ +crypttab +fstab +group +gshadow +host.conf +hosts +issue +ld.so.conf +locale.sh +motd +nsswitch.conf +os-release +passwd +profile +resolv.conf +securetty +shadow +shells +sysusers +tmpfiles +modprobe.d.usb-load-ehci-first diff --git a/filesystem/sysusers b/filesystem/sysusers new file mode 100644 index 0000000..1e3f622 --- /dev/null +++ b/filesystem/sysusers @@ -0,0 +1,47 @@ +# default jobo groups +# groups first, because we have user/group id mismatch on ftp and mail +g sys 3 - - +g adm 4 - - +g tty 5 - - +g disk 6 - - +g lp 7 - - +g mem 8 - - +g kmem 9 - - +g wheel 10 - - +g ftp 11 - - +g mail 12 - - +g uucp 14 - - +g log 19 - - +g utmp 20 - - +g locate 21 - - +g rfkill 24 - - +g smmsp 25 - - +g proc 26 - - +g tor 43 - - +g games 50 - - +g lock 54 - - +g network 90 - - +g video 91 - - +g audio 92 - - +g optical 93 - - +g floppy 94 - - +g storage 95 - - +g scanner 96 - - +g input 97 - - +g power 98 - - +g kvm - - - + +# default jobo users +u bin 1 - - +u daemon 2 - - +u mail 8 - /var/spool/mail +u ftp 14 - /srv/ftp +u s6log 19:19 "S6 log user" - +u http 33 - /srv/http + +# default membership +m bin daemon +m bin sys +m daemon adm +m daemon bin +m daemon lp diff --git a/filesystem/time b/filesystem/time new file mode 100644 index 0000000..42d7b25 --- /dev/null +++ b/filesystem/time @@ -0,0 +1 @@ +2.3s diff --git a/filesystem/tmpfiles b/filesystem/tmpfiles new file mode 100644 index 0000000..8fc77b5 --- /dev/null +++ b/filesystem/tmpfiles @@ -0,0 +1,17 @@ +# copy from factory when missing + +C /etc/crypttab +C /etc/fstab +C /etc/group +C /etc/gshadow +C /etc/host.conf +C /etc/hosts +C /etc/issue +C /etc/ld.so.conf +C /etc/motd +C /etc/nsswitch.conf +C /etc/passwd +C /etc/profile +C /etc/securetty +C /etc/shadow +C /etc/shells diff --git a/findutils/PKGBUILD b/findutils/PKGBUILD new file mode 100644 index 0000000..aed841c --- /dev/null +++ b/findutils/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=findutils +pkgver=4.9.0 +pkgrel=01 +pkgdesc="GNU utilities to locate files" +arch=('x86_64') +groups=('base-devel') +depends=('glibc' 'sh') +url='https://www.gnu.org/software/findutils/' +source=("https://ftp.gnu.org/pub/gnu/findutils/${pkgname}-${pkgver}.tar.xz"{,.sig}) + +build() { + cd ${pkgname}-${pkgver} + + # Don't build or install locate because we use mlocate, + # which is a secure version of locate. + sed -e '/^SUBDIRS/s/locate//' -e 's/frcode locate updatedb//' -i Makefile.in + + ./configure --prefix=/usr + # don't build locate, but the docs want a file in there. + make -C locate dblocation.texi + make +} + +# +# one test fails due to an upstream falty path of init.sh with output: +# FAIL: tests/find/execdir-fd-leak.sh +# So I decided to skip the check and build the package !! +# Read the note stored in this directory about the issue. +# test that fails is: FAIL: tests/find/execdir-fd-leak.sh +# +# +#check() { +# cd ${pkgname}-${pkgver} +# make check +#} +# + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('A5189DB69C1164D33002936646502EF796917195') # Bernhard Voelker + +sha256sums=(a2bfb8c09d436770edc59f50fa483e785b161a3b7b9d547573cb08065fd462fe # findutils-4.9.0.tar.xz + 924c3719d066eda1b3e47175f8b83e90e9a23f0a639ebe7445621917b283c385) # findutils-4.9.0.tar.xz.sig diff --git a/findutils/PKGBUILD-arch b/findutils/PKGBUILD-arch new file mode 100644 index 0000000..af2782c --- /dev/null +++ b/findutils/PKGBUILD-arch @@ -0,0 +1,38 @@ +# Maintainer: + +pkgname=findutils +pkgver=4.9.0 +pkgrel=1 +pkgdesc="GNU utilities to locate files" +arch=('x86_64') +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'sh') +url='https://www.gnu.org/software/findutils/' +source=("https://ftp.gnu.org/pub/gnu/findutils/${pkgname}-${pkgver}.tar.xz"{,.sig}) +sha1sums=('2a7830f1c25c3c7179150084748099c3c31f819b' + 'SKIP') +validpgpkeys=('A5189DB69C1164D33002936646502EF796917195') # Bernhard Voelker + +build() { + cd ${pkgname}-${pkgver} + + # Don't build or install locate because we use mlocate, + # which is a secure version of locate. + sed -e '/^SUBDIRS/s/locate//' -e 's/frcode locate updatedb//' -i Makefile.in + + ./configure --prefix=/usr + # don't build locate, but the docs want a file in there. + make -C locate dblocation.texi + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} diff --git a/findutils/clean b/findutils/clean new file mode 100644 index 0000000..4a05ca1 --- /dev/null +++ b/findutils/clean @@ -0,0 +1 @@ +rm -rvf {pkg,src,*xz*} diff --git a/findutils/deps b/findutils/deps new file mode 100644 index 0000000..e69de29 diff --git a/findutils/key b/findutils/key new file mode 100644 index 0000000..37ce797 --- /dev/null +++ b/findutils/key @@ -0,0 +1 @@ +gpg -v --recv-key 46502EF796917195 diff --git a/findutils/note.problem b/findutils/note.problem new file mode 100644 index 0000000..6700b56 --- /dev/null +++ b/findutils/note.problem @@ -0,0 +1,7 @@ +FAIL: tests/find/execdir-fd-leak.sh + +Both arch and artix use the same PKGBUILD and neither results in a package, are they lying? + +The only way you can build this is to turn tests off, and guess what, the produced pkg has the same exact contents in arch and artix. So why are they publishing a PKGBUILD that fails? +At least patch it officially for the test that is failing, or simply add a note why you have turned tests off in order to build it. + diff --git a/findutils/time b/findutils/time new file mode 100644 index 0000000..726ff98 --- /dev/null +++ b/findutils/time @@ -0,0 +1,3 @@ +real 0m35.283s +user 0m38.721s +sys 0m4.995s diff --git a/flex/PKGBUILD b/flex/PKGBUILD new file mode 100644 index 0000000..142c1c1 --- /dev/null +++ b/flex/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=flex +pkgver=2.6.4 +pkgrel=03 +pkgdesc="A tool for generating text-scanning programs" +arch=('x86_64') +url="https://github.com/westes/flex" +groups=( jobbot ) +depends=('glibc' 'm4' 'sh') +makedepends=('help2man') +source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"{,.sig} + "flex-pie.patch") + +prepare() { + cd "$pkgname-$pkgver" + patch -p1 -i "$srcdir"/flex-pie.patch + autoreconf +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + + # cxx_restart fails - https://github.com/westes/flex/issues/98 + make -k check || true +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + ln -s flex "${pkgdir}/usr/bin/lex" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/license.txt" +} + + +#---- license gpg-key sha512sums ---- + +license=('custom') + +validpgpkeys=('56C67868E93390AA1039AD1CE4B29C8D64885307') # Will Estes + +sha256sums=(e87aae032bf07c26f85ac0ed3250998c37621d95f8bd748b31f15b33c45ee995 # flex-2.6.4.tar.gz + c61ccc11286e1eb2ceeb0f0a8f8437e86f1e41840991566351f438de7eb5a9a2 #flex-2.6.4.tar.gz.sig + 20f3cce6b0ea6ab67a902a46b89c292b959994dedcbe6ee5d187f9bba1408b0e) # flex-pie.patch diff --git a/flex/PKGBUILD-arch b/flex/PKGBUILD-arch new file mode 100644 index 0000000..51721b5 --- /dev/null +++ b/flex/PKGBUILD-arch @@ -0,0 +1,48 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=flex +pkgver=2.6.4 +pkgrel=3 +pkgdesc="A tool for generating text-scanning programs" +arch=('x86_64') +url="https://github.com/westes/flex" +license=('custom') +groups=('base-devel') +depends=('glibc' 'm4' 'sh') +makedepends=('help2man') +source=("https://github.com/westes/flex/releases/download/v$pkgver/flex-$pkgver.tar.gz"{,.sig} + "flex-pie.patch") +md5sums=('2882e3179748cc9f9c23ec593d6adc8d' + 'SKIP' + '0a8e8242b37c57b0bc0c6f673bceb5b7') +validpgpkeys=('56C67868E93390AA1039AD1CE4B29C8D64885307') # Will Estes + +prepare() { + cd "$pkgname-$pkgver" + patch -p1 -i "$srcdir"/flex-pie.patch + autoreconf +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + + # cxx_restart fails - https://github.com/westes/flex/issues/98 + make -k check || true +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + ln -s flex "${pkgdir}/usr/bin/lex" + + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/license.txt" +} diff --git a/flex/clean b/flex/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/flex/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/flex/deps b/flex/deps new file mode 100644 index 0000000..d182898 --- /dev/null +++ b/flex/deps @@ -0,0 +1,3 @@ +help2man +autoconf +automake diff --git a/flex/flex-pie.patch b/flex/flex-pie.patch new file mode 100644 index 0000000..9095626 --- /dev/null +++ b/flex/flex-pie.patch @@ -0,0 +1,39 @@ +This patch fixes a flex-2.6.4 build failure on x86_64 and possibly other +architectures where `size_t' is larger than `int'. The failure occurs as +follows: + +A missing `reallocarray' prototype during compilation means that the +compiler assumes an `int' return type. When compiling with `-pie' (standard +for Fedora), addresses on the heap can be larger than `int' can store. Thus, +pointers returned from `reallocarray' are truncated and any read/write to +them leads to a SIGSEGV. + +From 24fd0551333e7eded87b64dd36062da3df2f6380 Mon Sep 17 00:00:00 2001 +From: Explorer09 +Date: Mon, 4 Sep 2017 10:47:33 +0800 +Subject: [PATCH] build: AC_USE_SYSTEM_EXTENSIONS in configure.ac. + +This would, e.g. define _GNU_SOURCE in config.h, enabling the +reallocarray() prototype in glibc 2.26+ on Linux systems with that +version of glibc. + +Fixes #241. +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -25,8 +25,10 @@ + # autoconf requirements and initialization + + AC_INIT([the fast lexical analyser generator],[2.6.4],[flex-help@lists.sourceforge.net],[flex]) ++AC_PREREQ([2.60]) + AC_CONFIG_SRCDIR([src/scan.l]) + AC_CONFIG_AUX_DIR([build-aux]) ++AC_USE_SYSTEM_EXTENSIONS + LT_INIT + AM_INIT_AUTOMAKE([1.11.3 -Wno-portability foreign check-news std-options dist-lzip parallel-tests subdir-objects]) + AC_CONFIG_HEADER([src/config.h]) diff --git a/flex/key b/flex/key new file mode 100644 index 0000000..0c360a5 --- /dev/null +++ b/flex/key @@ -0,0 +1 @@ +gpg -v --recv-key E4B29C8D64885307 diff --git a/flex/time b/flex/time new file mode 100644 index 0000000..7984f8f --- /dev/null +++ b/flex/time @@ -0,0 +1,5 @@ + +real 0m43.691s +user 1m28.709s +sys 0m5.342s + diff --git a/gawk/PKGBUILD b/gawk/PKGBUILD new file mode 100644 index 0000000..1c3ff6a --- /dev/null +++ b/gawk/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gawk +pkgver=5.1.1 +pkgrel=01 +pkgdesc="GNU version of awk" +arch=('x86_64') +url="https://www.gnu.org/software/gawk/" +groups=('base-devel') +depends=('sh' 'glibc' 'mpfr') +provides=('awk') +source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --without-libsigsegv + make +} + + +check() { + cd ${pkgname}-${pkgver} + make check +} + + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('D1967C63788713177D861ED7DF597815937EC0D2') # Arnold Robbins + +sha256sums=(6168d8d1dc8f74bd17d9dc22fa9634c49070f232343b744901da15fb4f06bffd # gawk-5.1.1.tar.gz + 39598b58057f63dab23fa310b7d51ea73eeee4c5dd217f9bf6dc376779a3050d) # gawk-5.1.1.tar.gz.sig diff --git a/gawk/PKGBUILD-arch b/gawk/PKGBUILD-arch new file mode 100644 index 0000000..28c1595 --- /dev/null +++ b/gawk/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: +# Contributor: Tom Newsom + +pkgname=gawk +pkgver=5.1.1 +pkgrel=1 +pkgdesc="GNU version of awk" +arch=('x86_64') +url="https://www.gnu.org/software/gawk/" +license=('GPL') +groups=('base-devel') +depends=('sh' 'glibc' 'mpfr') +provides=('awk') +source=(https://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz{,.sig}) +validpgpkeys=('D1967C63788713177D861ED7DF597815937EC0D2') # Arnold Robbins +md5sums=('f4aa3fe2dd802cc625c5120a6148e91b' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --without-libsigsegv + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/gawk/clean b/gawk/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/gawk/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/gawk/deps b/gawk/deps new file mode 100644 index 0000000..139597f --- /dev/null +++ b/gawk/deps @@ -0,0 +1,2 @@ + + diff --git a/gawk/key b/gawk/key new file mode 100644 index 0000000..887a260 --- /dev/null +++ b/gawk/key @@ -0,0 +1 @@ +gpg -v --recv-key DF597815937EC0D2 diff --git a/gawk/time b/gawk/time new file mode 100644 index 0000000..04a14d3 --- /dev/null +++ b/gawk/time @@ -0,0 +1,5 @@ + +real 0m31.467s +user 0m54.616s +sys 0m4.218s + diff --git a/gcc/NOTE b/gcc/NOTE new file mode 100644 index 0000000..6d2cf48 --- /dev/null +++ b/gcc/NOTE @@ -0,0 +1 @@ +## use the huge source tarball to make jobextra/libgccjit as well so no double download diff --git a/gcc/PKG-tmp b/gcc/PKG-tmp new file mode 100644 index 0000000..09f1688 --- /dev/null +++ b/gcc/PKG-tmp @@ -0,0 +1,474 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs lib32-gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go gcc-d libgccjit) +pkgver=11.2.0 +_majorver=${pkgver%%.*} +_islver=0.24 +pkgrel=4 +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +url='https://gcc.gnu.org' +makedepends=( + binutils + doxygen + gcc-ada + git + lib32-glibc + lib32-gcc-libs + libisl + libmpc + libxcrypt + python + zstd +) +checkdepends=( + dejagnu + expect + inetutils + python-pytest + tcl +) +options=(!emptydirs !lto debug) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} + c89 c99 + gdc_phobos_path.patch + gcc-ada-repro.patch +) + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # D hacks + patch -Np1 -i "$srcdir/gdc_phobos_path.patch" + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + mkdir -p "$srcdir/gcc-build" + mkdir -p "$srcdir/libgccjit-build" +} + +build() { + local _confflags="--prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-cet=auto \ + --enable-checking=release \ + --enable-clocale=gnu \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ + --enable-gnu-unique-object \ + --enable-linker-build-id \ + --enable-lto \ + --enable-multilib \ + --enable-plugin \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-werror \ + --with-build-config=bootstrap-lto \ + --enable-link-serialization=1 \ + gdc_include_dir=/usr/include/dlang/gdc" + + cd gcc-build + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \ + --enable-bootstrap \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + profiledbootstrap + + # make documentation + make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen + + # Build libgccjit separately, to avoid building all compilers with --enable-host-shared + # which brings a performance penalty + cd "${srcdir}"/libgccjit-build + + "$srcdir/gcc/configure" \ + --enable-languages=jit \ + --disable-bootstrap \ + --enable-host-shared \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + all-gcc + + cp -a gcc/libgccjit.so* ../gcc-build/gcc/ +} + +check() { + cd gcc-build + + # disable libphobos test to avoid segfaults and other unfunny ways to waste my time + sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" + make -O -k check || true + "$srcdir/gcc/contrib/test_summary" +} + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options=(!emptydirs !strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc zstd libisl.so) + groups=('base-devel') + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=("go=1.12.2" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + groups=(multilib-devel) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=(gdc) + replaces=(gdc) + options=(staticlibs debug) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + install -d "$pkgdir"/usr/include/dlang + ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_libgccjit() { + pkgdesc="Just-In-Time Compilation with GCC backend" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + + +#---- license gpg-key sha256sums ---- +license=(GPL LGPL FDL custom) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' + 'SKIP' + 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' + '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' + 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' + '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f') + +sha256sums=(a) diff --git a/gcc/PKGBUILD b/gcc/PKGBUILD new file mode 100644 index 0000000..f8db5c4 --- /dev/null +++ b/gcc/PKGBUILD @@ -0,0 +1,483 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs lib32-gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go gcc-d libgccjit) +pkgver=11.2.0 +_majorver=${pkgver%%.*} +_islver=0.24 +# forgot to change this to 04 before I run it and it came out as 4 same as arch, but 6hrs runs don't get done twice! +pkgrel=04 +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +url='https://gcc.gnu.org' +makedepends=( + binutils + doxygen + gcc-ada + git + lib32-glibc + lib32-gcc-libs + libisl + libmpc + libxcrypt + python + zstd +) +checkdepends=( + dejagnu + expect + inetutils + python-pytest + tcl +) +#options=(!emptydirs !lto debug) +options=(!emptydirs !lto) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} + c89 c99 + gdc_phobos_path.patch + gcc-ada-repro.patch +) + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # D hacks + patch -Np1 -i "$srcdir/gdc_phobos_path.patch" + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + mkdir -p "$srcdir/gcc-build" + mkdir -p "$srcdir/libgccjit-build" +} + +build() { + local _confflags="--prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-cet=auto \ + --enable-checking=release \ + --enable-clocale=gnu \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ + --enable-gnu-unique-object \ + --enable-linker-build-id \ + --enable-lto \ + --enable-multilib \ + --enable-plugin \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-werror \ + --with-build-config=bootstrap-lto \ + --enable-link-serialization=1 \ + gdc_include_dir=/usr/include/dlang/gdc" + + cd gcc-build + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \ + --enable-bootstrap \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + profiledbootstrap + + # make documentation + make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen + + # Build libgccjit separately, to avoid building all compilers with --enable-host-shared + # which brings a performance penalty + cd "${srcdir}"/libgccjit-build + + "$srcdir/gcc/configure" \ + --enable-languages=jit \ + --disable-bootstrap \ + --enable-host-shared \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + all-gcc + + cp -a gcc/libgccjit.so* ../gcc-build/gcc/ +} + +####### +# After many hours, unlike previous builds, this thing exceeded my space of 20GB and +# crashed right at the end with no space to write the remaining pkgs beyond the gcc-11.2 +# so on next run I disabled the damn check section .. +# +#check() { +# cd gcc-build +# +# # disable libphobos test to avoid segfaults and other unfunny ways to waste my time +# sed -i '/maybe-check-target-libphobos \\/d' Makefile +# +# # do not abort on error as some are "expected" +# make -O -k check || true +# "$srcdir/gcc/contrib/test_summary" +#} +######## + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options=(!emptydirs !strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc zstd libisl.so) + groups=('base-devel') + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=("go=1.12.2" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + groups=(multilib-devel) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=(gdc) + replaces=(gdc) + options=(staticlibs debug) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + install -d "$pkgdir"/usr/include/dlang + ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_libgccjit() { + pkgdesc="Just-In-Time Compilation with GCC backend" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL LGPL FDL custom) + +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek + +sha256sums=(d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b # gcc-11.2.0.tar.xz + 6bb782c64994e655abd5cf596ed7879cc52e5bcb0352be636ea9eec7caa98837 # gcc-11.2.0.tar.xz.sig +# 043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad # isl-0.24.tar.xz + de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931 # c89 + 2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a # c99 + c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308 # gdc_phobos_path.patch + 1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f) # gcc-ada-repro.patch diff --git a/gcc/PKGBUILD-arch b/gcc/PKGBUILD-arch new file mode 100644 index 0000000..167aed2 --- /dev/null +++ b/gcc/PKGBUILD-arch @@ -0,0 +1,468 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Frederik Schwan +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Daniel Kozak + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs lib32-gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go gcc-d libgccjit) +pkgver=11.2.0 +_majorver=${pkgver%%.*} +_islver=0.24 +pkgrel=4 +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +license=(GPL LGPL FDL custom) +url='https://gcc.gnu.org' +makedepends=( + binutils + doxygen + gcc-ada + git + lib32-glibc + lib32-gcc-libs + libisl + libmpc + libxcrypt + python + zstd +) +checkdepends=( + dejagnu + expect + inetutils + python-pytest + tcl +) +options=(!emptydirs !lto debug) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} + c89 c99 + gdc_phobos_path.patch + gcc-ada-repro.patch +) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' + 'SKIP' + 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' + '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' + 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' + '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f') + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # D hacks + patch -Np1 -i "$srcdir/gdc_phobos_path.patch" + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + mkdir -p "$srcdir/gcc-build" + mkdir -p "$srcdir/libgccjit-build" +} + +build() { + local _confflags="--prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-cet=auto \ + --enable-checking=release \ + --enable-clocale=gnu \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ + --enable-gnu-unique-object \ + --enable-linker-build-id \ + --enable-lto \ + --enable-multilib \ + --enable-plugin \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-werror \ + --with-build-config=bootstrap-lto \ + --enable-link-serialization=1 \ + gdc_include_dir=/usr/include/dlang/gdc" + + cd gcc-build + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \ + --enable-bootstrap \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + profiledbootstrap + + # make documentation + make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen + + # Build libgccjit separately, to avoid building all compilers with --enable-host-shared + # which brings a performance penalty + cd "${srcdir}"/libgccjit-build + + "$srcdir/gcc/configure" \ + --enable-languages=jit \ + --disable-bootstrap \ + --enable-host-shared \ + $_confflags + + # see https://bugs.archlinux.org/task/71777 for rationale re *FLAGS handling + make -O STAGE1_CFLAGS="-O2" \ + BOOT_CFLAGS="$CFLAGS" \ + BOOT_LDFLAGS="$LDFLAGS" \ + LDFLAGS_FOR_TARGET="$LDFLAGS" \ + all-gcc + + cp -a gcc/libgccjit.so* ../gcc-build/gcc/ +} + +check() { + cd gcc-build + + # disable libphobos test to avoid segfaults and other unfunny ways to waste my time + sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" + make -O -k check || true + "$srcdir/gcc/contrib/test_summary" +} + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options=(!emptydirs !strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc zstd libisl.so) + groups=('base-devel') + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options=(!emptydirs staticlibs debug) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=("go=1.12.2" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + groups=(multilib-devel) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + provides=(gdc) + replaces=(gdc) + options=(staticlibs debug) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + install -d "$pkgdir"/usr/include/dlang + ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_libgccjit() { + pkgdesc="Just-In-Time Compilation with GCC backend" + depends=("gcc=$pkgver-$pkgrel" libisl.so) + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/gcc/PKGBUILD-arch.11.1 b/gcc/PKGBUILD-arch.11.1 new file mode 100644 index 0000000..b73a8eb --- /dev/null +++ b/gcc/PKGBUILD-arch.11.1 @@ -0,0 +1,428 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Daniel Kozak + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs gcc-d) +pkgver=11.1.0 +_majorver=${pkgver%%.*} +_islver=0.24 +pkgrel=3 +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +license=(GPL LGPL FDL custom) +url='https://gcc.gnu.org' +makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python git libxcrypt) +checkdepends=(dejagnu inetutils) +options=(!emptydirs) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} + http://isl.gforge.inria.fr/isl-${_islver}.tar.xz + c89 c99 + gdc_phobos_path.patch + fs64270.patch + ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch + ipa-fix-ICE-in-get_default_value.patch + gcc-ada-repro.patch + gcc11-Wno-format-security.patch +) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha256sums=('4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf' + 'SKIP' + '043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad' + 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' + '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' + 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' + '1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee' + 'fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4' + '42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16' + '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f' + '504e4b5a08eb25b6c35f19fdbe0c743ae4e9015d0af4759e74150006c283585e') + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # link isl for in-tree build + ln -s ../isl-${_islver} isl + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # hack! - some configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure + + # D hacks + patch -p1 -i "$srcdir/gdc_phobos_path.patch" + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + # configure.ac: When adding -Wno-format, also add -Wno-format-security + patch -Np0 < "$srcdir/gcc11-Wno-format-security.patch" + + mkdir -p "$srcdir/gcc-build" +} + +build() { + cd gcc-build + + # using -pipe causes spurious test-suite failures + # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48565 + CFLAGS=${CFLAGS/-pipe/} + CXXFLAGS=${CXXFLAGS/-pipe/} + + "$srcdir/gcc/configure" --prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \ + --with-isl \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-cet=auto \ + --enable-checking=release \ + --enable-clocale=gnu \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ + --enable-gnu-unique-object \ + --enable-install-libiberty \ + --enable-linker-build-id \ + --enable-lto \ + --enable-multilib \ + --enable-plugin \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-libunwind-exceptions \ + --disable-werror \ + gdc_include_dir=/usr/include/dlang/gdc + + make + + # make documentation + make -C $CHOST/libstdc++-v3/doc doc-man-doxygen +} + +check() { + cd gcc-build + + # disable libphobos test to avoid segfaults and other unfunny ways to waste my time + sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" + make -k check || true + "$srcdir/gcc/contrib/test_summary" +} + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options+=(!strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc) + groups=('base-devel') + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options+=(staticlibs) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C libiberty DESTDIR="$pkgdir" install + install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib" + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options+=(staticlibs) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=("go=1.12.2" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + groups=(multilib-devel) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel") + provides=(gdc) + replaces=(gdc) + options=('staticlibs') + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + install -d "$pkgdir"/usr/include/dlang + ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/gcc/PKGBUILD-arch.11.2 b/gcc/PKGBUILD-arch.11.2 new file mode 100644 index 0000000..c371b44 --- /dev/null +++ b/gcc/PKGBUILD-arch.11.2 @@ -0,0 +1,431 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Frederik Schwan +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Daniel Kozak + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: libtool requires rebuilt with each new gcc version + +pkgname=(gcc gcc-libs gcc-fortran gcc-objc gcc-ada gcc-go lib32-gcc-libs gcc-d) +pkgver=11.2.0 +_majorver=${pkgver%%.*} +_islver=0.24 +pkgrel=2 +pkgdesc='The GNU Compiler Collection' +arch=(x86_64) +license=(GPL LGPL FDL custom) +url='https://gcc.gnu.org' +makedepends=(binutils libmpc gcc-ada doxygen lib32-glibc lib32-gcc-libs python git libxcrypt) +checkdepends=(dejagnu inetutils) +options=(!emptydirs !lto) +_libdir=usr/lib/gcc/$CHOST/${pkgver%%+*} +# _commit=6beb39ee6c465c21d0cc547fd66b445100cdcc35 +# source=(git://gcc.gnu.org/git/gcc.git#commit=$_commit +source=(https://sourceware.org/pub/gcc/releases/gcc-${pkgver}/gcc-${pkgver}.tar.xz{,.sig} + https://libisl.sourceforge.io/isl-${_islver}.tar.xz + c89 c99 + gdc_phobos_path.patch + fs64270.patch + ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch + ipa-fix-ICE-in-get_default_value.patch + gcc-ada-repro.patch + gcc11-Wno-format-security.patch +) +validpgpkeys=(F3691687D867B81B51CE07D9BBE43771487328A9 # bpiotrowski@archlinux.org + 86CFFCA918CF3AF47147588051E8B148A9999C34 # evangelos@foutrelis.com + 13975A70E63C361C73AE69EF6EEB81F8981C74C7 # richard.guenther@gmail.com + D3A93CAD751C2AF4F8C7AD516C35B99309B5FA62) # Jakub Jelinek +sha256sums=('d08edc536b54c372a1010ff6619dd274c0f1603aa49212ba20f7aa2cda36fa8b' + 'SKIP' + '043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad' + 'de48736f6e4153f03d0a5d38ceb6c6fdb7f054e8f47ddd6af0a3dbf14f27b931' + '2513c6d9984dd0a2058557bf00f06d8d5181734e41dcfe07be7ed86f2959622a' + 'c86372c207d174c0918d4aedf1cb79f7fc093649eb1ad8d9450dccc46849d308' + '1ef190ed4562c4db8c1196952616cd201cfdd788b65f302ac2cc4dabb4d72cee' + 'fcb11c9bcea320afd202b031b48f8750aeaedaa4b0c5dddcd2c0a16381e927e4' + '42865f2af3f48140580c4ae70b6ea03b5bdca0f29654773ef0d42ce00d60ea16' + '1773f5137f08ac1f48f0f7297e324d5d868d55201c03068670ee4602babdef2f' + '504e4b5a08eb25b6c35f19fdbe0c743ae4e9015d0af4759e74150006c283585e') + +prepare() { + [[ ! -d gcc ]] && ln -s gcc-${pkgver/+/-} gcc + cd gcc + + # link isl for in-tree build + ln -s ../isl-${_islver} isl + + # Do not run fixincludes + sed -i 's@\./fixinc\.sh@-c true@' gcc/Makefile.in + + # Arch Linux installs x86_64 libraries /lib + sed -i '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 + + # hack! - some configure tests for header files using "$CPP $CPPFLAGS" + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" {libiberty,gcc}/configure + + # D hacks + patch -p1 -i "$srcdir/gdc_phobos_path.patch" + + # Reproducible gcc-ada + patch -Np0 < "$srcdir/gcc-ada-repro.patch" + + # configure.ac: When adding -Wno-format, also add -Wno-format-security + patch -Np0 < "$srcdir/gcc11-Wno-format-security.patch" + + mkdir -p "$srcdir/gcc-build" +} + +build() { + cd gcc-build + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/gcc/PKGBUILD + # TODO: properly deal with the build issues resulting from this + CFLAGS=${CFLAGS/-Werror=format-security/} + CXXFLAGS=${CXXFLAGS/-Werror=format-security/} + + "$srcdir/gcc/configure" --prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-bugurl=https://bugs.archlinux.org/ \ + --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++,d \ + --with-isl \ + --with-linker-hash-style=gnu \ + --with-system-zlib \ + --enable-__cxa_atexit \ + --enable-cet=auto \ + --enable-checking=release \ + --enable-clocale=gnu \ + --enable-default-pie \ + --enable-default-ssp \ + --enable-gnu-indirect-function \ + --enable-gnu-unique-object \ + --enable-install-libiberty \ + --enable-linker-build-id \ + --enable-lto \ + --enable-multilib \ + --enable-plugin \ + --enable-shared \ + --enable-threads=posix \ + --disable-libssp \ + --disable-libstdcxx-pch \ + --disable-libunwind-exceptions \ + --disable-werror \ + gdc_include_dir=/usr/include/dlang/gdc + + make -O + + # make documentation + make -O -C $CHOST/libstdc++-v3/doc doc-man-doxygen +} + +check() { + cd gcc-build + + # disable libphobos test to avoid segfaults and other unfunny ways to waste my time + sed -i '/maybe-check-target-libphobos \\/d' Makefile + + # do not abort on error as some are "expected" + make -O -k check || true + "$srcdir/gcc/contrib/test_summary" +} + +package_gcc-libs() { + pkgdesc='Runtime libraries shipped by GCC' + depends=('glibc>=2.27') + options+=(!strip) + provides=($pkgname-multilib libgo.so libgfortran.so libgphobos.so + libubsan.so libasan.so libtsan.so liblsan.so) + replaces=($pkgname-multilib libgphobos) + + cd gcc-build + make -C $CHOST/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub,t}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/libobjc DESTDIR="$pkgdir" install-libs + make -C $CHOST/libstdc++-v3/po DESTDIR="$pkgdir" install + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -rf "$pkgdir"/$_libdir/include/d/ + rm -f "$pkgdir"/usr/lib/libgphobos.spec + + for lib in libgomp \ + libitm \ + libquadmath; do + make -C $CHOST/$lib DESTDIR="$pkgdir" install-info + done + + # remove files provided by lib32-gcc-libs + rm -rf "$pkgdir"/usr/lib32/ + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc() { + pkgdesc="The GNU Compiler Collection - C and C++ frontends" + depends=("gcc-libs=$pkgver-$pkgrel" 'binutils>=2.28' libmpc) + groups=('base-devel') + optdepends=('lib32-gcc-libs: for generating code for 32-bit ABI') + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options+=(staticlibs) + + cd gcc-build + + make -C gcc DESTDIR="$pkgdir" install-driver install-cpp install-gcc-ar \ + c++.install-common install-headers install-plugin install-lto-wrapper + + install -m755 -t "$pkgdir/usr/bin/" gcc/gcov{,-tool} + install -m755 -t "$pkgdir/${_libdir}/" gcc/{cc1,cc1plus,collect2,lto1} + + make -C $CHOST/libgcc DESTDIR="$pkgdir" install + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib{,32}/libgcc_s.so* + + make -C $CHOST/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + make -C $CHOST/libstdc++-v3/python DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/src DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/include DESTDIR="$pkgdir" install + make -C $CHOST/32/libstdc++-v3/libsupc++ DESTDIR="$pkgdir" install + + make DESTDIR="$pkgdir" install-libcc1 + install -d "$pkgdir/usr/share/gdb/auto-load/usr/lib" + mv "$pkgdir"/usr/lib/libstdc++.so.6.*-gdb.py \ + "$pkgdir/usr/share/gdb/auto-load/usr/lib/" + rm "$pkgdir"/usr/lib{,32}/libstdc++.so* + + make DESTDIR="$pkgdir" install-fixincludes + make -C gcc DESTDIR="$pkgdir" install-mkheaders + + make -C lto-plugin DESTDIR="$pkgdir" install + install -dm755 "$pkgdir"/usr/lib/bfd-plugins/ + ln -s /${_libdir}/liblto_plugin.so \ + "$pkgdir/usr/lib/bfd-plugins/" + + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_{libsubinclude,toolexeclib}HEADERS + make -C $CHOST/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libquadmath DESTDIR="$pkgdir" install-nodist_libsubincludeHEADERS + make -C $CHOST/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/tsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/libsanitizer/lsan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libgomp DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libitm DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + make -C $CHOST/32/libsanitizer DESTDIR="$pkgdir" install-nodist_{saninclude,toolexeclib}HEADERS + make -C $CHOST/32/libsanitizer/asan DESTDIR="$pkgdir" install-nodist_toolexeclibHEADERS + + make -C libiberty DESTDIR="$pkgdir" install + install -m644 libiberty/pic/libiberty.a "$pkgdir/usr/lib" + + make -C gcc DESTDIR="$pkgdir" install-man install-info + rm "$pkgdir"/usr/share/man/man1/{gccgo,gfortran,gdc}.1 + rm "$pkgdir"/usr/share/info/{gccgo,gfortran,gnat-style,gnat_rm,gnat_ugn,gdc}.info + + make -C libcpp DESTDIR="$pkgdir" install + make -C gcc DESTDIR="$pkgdir" install-po + + # many packages expect this symlink + ln -s gcc "$pkgdir"/usr/bin/cc + + # POSIX conformance launcher scripts for c89 and c99 + install -Dm755 "$srcdir/c89" "$pkgdir/usr/bin/c89" + install -Dm755 "$srcdir/c99" "$pkgdir/usr/bin/c99" + + # install the libstdc++ man pages + make -C $CHOST/libstdc++-v3/doc DESTDIR="$pkgdir" doc-install-man + + # remove files provided by lib32-gcc-libs + rm -f "$pkgdir"/usr/lib32/lib{stdc++,gcc_s}.so + + # byte-compile python libraries + python -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + python -O -m compileall "$pkgdir/usr/share/gcc-${pkgver%%+*}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-fortran() { + pkgdesc='Fortran front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make -C $CHOST/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/32/libgfortran DESTDIR="$pkgdir" install-cafexeclibLTLIBRARIES \ + install-{toolexeclibDATA,nodist_fincludeHEADERS,gfor_cHEADERS} + make -C $CHOST/libgomp DESTDIR="$pkgdir" install-nodist_fincludeHEADERS + make -C gcc DESTDIR="$pkgdir" fortran.install-{common,man,info} + install -Dm755 gcc/f951 "$pkgdir/${_libdir}/f951" + + ln -s gfortran "$pkgdir/usr/bin/f95" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-objc() { + pkgdesc='Objective-C front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + + cd gcc-build + make DESTDIR="$pkgdir" -C $CHOST/libobjc install-headers + install -dm755 "$pkgdir/${_libdir}" + install -m755 gcc/cc1obj{,plus} "$pkgdir/${_libdir}/" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-ada() { + pkgdesc='Ada front-end for GCC (GNAT)' + depends=("gcc=$pkgver-$pkgrel") + provides=($pkgname-multilib) + replaces=($pkgname-multilib) + options+=(staticlibs) + + cd gcc-build/gcc + make DESTDIR="$pkgdir" ada.install-{common,info} + install -m755 gnat1 "$pkgdir/${_libdir}" + + cd "$srcdir"/gcc-build/$CHOST/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + cd "$srcdir"/gcc-build/$CHOST/32/libada + make DESTDIR="${pkgdir}" INSTALL="install" \ + INSTALL_DATA="install -m644" install-libada + + ln -s gcc "$pkgdir/usr/bin/gnatgcc" + + # insist on dynamic linking, but keep static libraries because gnatmake complains + mv "$pkgdir"/${_libdir}/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib/libgnat.so" + rm -f "$pkgdir"/${_libdir}/adalib/libgna{rl,t}.so + + install -d "$pkgdir/usr/lib32/" + mv "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}-${_majorver}.so "$pkgdir/usr/lib32" + ln -s libgnarl-${_majorver}.so "$pkgdir/usr/lib32/libgnarl.so" + ln -s libgnat-${_majorver}.so "$pkgdir/usr/lib32/libgnat.so" + rm -f "$pkgdir"/${_libdir}/32/adalib/libgna{rl,t}.so + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_gcc-go() { + pkgdesc='Go front-end for GCC' + depends=("gcc=$pkgver-$pkgrel") + provides=("go=1.12.2" $pkgname-multilib) + replaces=($pkgname-multilib) + conflicts=(go) + + cd gcc-build + make -C $CHOST/libgo DESTDIR="$pkgdir" install-exec-am + make -C $CHOST/32/libgo DESTDIR="$pkgdir" install-exec-am + make DESTDIR="$pkgdir" install-gotools + make -C gcc DESTDIR="$pkgdir" go.install-{common,man,info} + + rm -f "$pkgdir"/usr/lib{,32}/libgo.so* + install -Dm755 gcc/go1 "$pkgdir/${_libdir}/go1" + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} + +package_lib32-gcc-libs() { + pkgdesc='32-bit runtime libraries shipped by GCC' + depends=('lib32-glibc>=2.27') + provides=(libgo.so libgfortran.so libubsan.so libasan.so) + groups=(multilib-devel) + options=(!emptydirs !strip) + + cd gcc-build + + make -C $CHOST/32/libgcc DESTDIR="$pkgdir" install-shared + rm -f "$pkgdir/$_libdir/32/libgcc_eh.a" + + for lib in libatomic \ + libgfortran \ + libgo \ + libgomp \ + libitm \ + libquadmath \ + libsanitizer/{a,l,ub}san \ + libstdc++-v3/src \ + libvtv; do + make -C $CHOST/32/$lib DESTDIR="$pkgdir" install-toolexeclibLTLIBRARIES + done + + make -C $CHOST/32/libobjc DESTDIR="$pkgdir" install-libs + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir"/usr/lib32/libgphobos.spec + + # remove files provided by gcc-libs + rm -rf "$pkgdir"/usr/lib + + # Install Runtime Library Exception + install -Dm644 "$srcdir/gcc/COPYING.RUNTIME" \ + "$pkgdir/usr/share/licenses/lib32-gcc-libs/RUNTIME.LIBRARY.EXCEPTION" +} + +package_gcc-d() { + pkgdesc="D frontend for GCC" + depends=("gcc=$pkgver-$pkgrel") + provides=(gdc) + replaces=(gdc) + options=('staticlibs') + + cd gcc-build + make -C gcc DESTDIR="$pkgdir" d.install-{common,man,info} + + install -Dm755 gcc/gdc "$pkgdir"/usr/bin/gdc + install -Dm755 gcc/d21 "$pkgdir"/"$_libdir"/d21 + + make -C $CHOST/libphobos DESTDIR="$pkgdir" install + rm -f "$pkgdir/usr/lib/"lib{gphobos,gdruntime}.so* + rm -f "$pkgdir/usr/lib32/"lib{gphobos,gdruntime}.so* + + install -d "$pkgdir"/usr/include/dlang + ln -s /"${_libdir}"/include/d "$pkgdir"/usr/include/dlang/gdc + + # Install Runtime Library Exception + install -d "$pkgdir/usr/share/licenses/$pkgname/" + ln -s /usr/share/licenses/gcc-libs/RUNTIME.LIBRARY.EXCEPTION \ + "$pkgdir/usr/share/licenses/$pkgname/" +} diff --git a/gcc/c89 b/gcc/c89 new file mode 100644 index 0000000..35486ea --- /dev/null +++ b/gcc/c89 @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c89" +for opt; do + case "$opt" in + -ansi|-std=c89|-std=iso9899:1990) fl="";; + -std=*) echo "`basename $0` called with non ANSI/ISO C option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/gcc/c99 b/gcc/c99 new file mode 100644 index 0000000..88dd806 --- /dev/null +++ b/gcc/c99 @@ -0,0 +1,10 @@ +#!/bin/sh +fl="-std=c99" +for opt; do + case "$opt" in + -std=c99|-std=iso9899:1999) fl="";; + -std=*) echo "`basename $0` called with non ISO C99 option $opt" >&2 + exit 1;; + esac +done +exec gcc $fl ${1+"$@"} diff --git a/gcc/clean b/gcc/clean new file mode 100644 index 0000000..3349a14 --- /dev/null +++ b/gcc/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*} diff --git a/gcc/deps b/gcc/deps new file mode 100644 index 0000000..1fa247e --- /dev/null +++ b/gcc/deps @@ -0,0 +1,11 @@ +doxygen +gcc-ada +git +lib32-glibc +lib32-gcc-libs +python +dejagnu +expect +inetutils +python-pytest +tcl diff --git a/gcc/deps.0 b/gcc/deps.0 new file mode 100644 index 0000000..6c11c0c --- /dev/null +++ b/gcc/deps.0 @@ -0,0 +1,11 @@ +gcc-ada +doxygen +lib32-glibc +lib32-gcc-libs +git +dejagnu +inetutils +python +tcl +expect +python-pytest diff --git a/gcc/fs64270.patch b/gcc/fs64270.patch new file mode 100644 index 0000000..7b9e142 --- /dev/null +++ b/gcc/fs64270.patch @@ -0,0 +1,26 @@ +Disable ssp on -nostdlib, -nodefaultlibs and -ffreestanding + +--- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200 ++++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100 +@@ -857,6 +857,12 @@ proper position among the other output f + #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G" + #endif + ++#ifdef ENABLE_DEFAULT_SSP ++#define NO_SSP_SPEC "%{nostdlib|nodefaultlibs|ffreestanding:-fno-stack-protector} " ++#else ++#define NO_SSP_SPEC "" ++#endif ++ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +@@ -1131,7 +1148,7 @@ static const char *cc1_options = + %{-version:--version}\ + %{-help=*:--help=%*}\ + %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\ +- %{fsyntax-only:-o %j} %{-param*}\ ++ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\ + %{coverage:-fprofile-arcs -ftest-coverage}\ + %{fprofile-arcs|fprofile-generate*|coverage:\ + %{!fprofile-update=singel:\ diff --git a/gcc/gcc-ada-repro.patch b/gcc/gcc-ada-repro.patch new file mode 100644 index 0000000..6625636 --- /dev/null +++ b/gcc/gcc-ada-repro.patch @@ -0,0 +1,15 @@ +Avoid leaking current data on generated file for Ada. + +Index: gcc/ada/gcc-interface/Makefile.in +=================================================================== +--- gcc/ada/gcc-interface/Makefile.in (revision 268977) ++++ gcc/ada/gcc-interface/Makefile.in (working copy) +@@ -2407,6 +2407,7 @@ $(RTSDIR)/s-oscons.ads: ../stamp-gnatlib + $(OSCONS_CPP) ; \ + $(OSCONS_EXTRACT) ; \ + ../bldtools/oscons/xoscons s-oscons) ++ touch -r $(fsrcpfx)ada/gsocket.h $@ + + gnatlib: ../stamp-gnatlib1-$(RTSDIR) ../stamp-gnatlib2-$(RTSDIR) $(RTSDIR)/s-oscons.ads + test -f $(RTSDIR)/s-oscons.ads || exit 1 + diff --git a/gcc/gcc11-Wno-format-security.patch b/gcc/gcc11-Wno-format-security.patch new file mode 100644 index 0000000..974ea44 --- /dev/null +++ b/gcc/gcc11-Wno-format-security.patch @@ -0,0 +1,27 @@ +2017-02-25 Jakub Jelinek + + * configure.ac: When adding -Wno-format, also add -Wno-format-security. + * configure: Regenerated. + +--- gcc/configure.ac.jj 2017-02-13 12:20:53.000000000 +0100 ++++ gcc/configure.ac 2017-02-25 12:42:32.859175403 +0100 +@@ -480,7 +480,7 @@ AC_ARG_ENABLE(build-format-warnings, + AS_HELP_STRING([--disable-build-format-warnings],[don't use -Wformat while building GCC]), + [],[enable_build_format_warnings=yes]) + AS_IF([test $enable_build_format_warnings = no], +- [wf_opt=-Wno-format],[wf_opt=]) ++ [wf_opt="-Wno-format -Wno-format-security"],[wf_opt=]) + ACX_PROG_CXX_WARNING_OPTS( + m4_quote(m4_do([-W -Wall -Wno-narrowing -Wwrite-strings ], + [-Wcast-qual -Wno-error=format-diag $wf_opt])), +--- gcc/configure.jj 2017-02-13 12:20:52.000000000 +0100 ++++ gcc/configure 2017-02-25 12:42:50.041946391 +0100 +@@ -6647,7 +6647,7 @@ else + fi + + if test $enable_build_format_warnings = no; then : +- wf_opt=-Wno-format ++ wf_opt="-Wno-format -Wno-format-security" + else + wf_opt= + fi diff --git a/gcc/gdc_phobos_path.patch b/gcc/gdc_phobos_path.patch new file mode 100644 index 0000000..6f43b6e --- /dev/null +++ b/gcc/gdc_phobos_path.patch @@ -0,0 +1,14 @@ +diff -Naur a/gcc/d/d-incpath.cc b/gcc/d/d-incpath.cc +--- a/gcc/d/d-incpath.cc 2019-01-01 13:31:55.000000000 +0100 ++++ b/gcc/d/d-incpath.cc 2019-06-28 08:32:00.326241502 +0200 +@@ -140,7 +140,7 @@ + path = xstrdup (p->fname); + + /* Add D-specific suffix. */ +- path = concat (path, "/d", NULL); ++ path = concat (path, "/dlang/gdc", NULL); + + /* Ignore duplicate entries. */ + bool found = false; + + diff --git a/gcc/ipa-fix-ICE-in-get_default_value.patch b/gcc/ipa-fix-ICE-in-get_default_value.patch new file mode 100644 index 0000000..5722994 --- /dev/null +++ b/gcc/ipa-fix-ICE-in-get_default_value.patch @@ -0,0 +1,80 @@ +From f91770216eade83f068528c1e4f00e2ac3b23044 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Thu, 13 Aug 2020 09:38:41 +0200 +Subject: [PATCH] ipa: fix ICE in get_default_value + +The patch aligns code with ipcp_bits_lattice::set_to_constant +where we properly mask m_value with m_mask. The same should +be done here. + +gcc/ChangeLog: + + PR ipa/96482 + * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Mask m_value + with m_mask. + +gcc/testsuite/ChangeLog: + + PR ipa/96482 + * gcc.dg/ipa/pr96482-2.c: New test. +--- + gcc/ipa-cp.c | 2 +- + gcc/testsuite/gcc.dg/ipa/pr96482-2.c | 33 ++++++++++++++++++++++++++++ + 2 files changed, 34 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482-2.c + +diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c +index 2b21280d919..e4910a04ffa 100644 +--- a/gcc/ipa-cp.c ++++ b/gcc/ipa-cp.c +@@ -1048,7 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask, + + widest_int old_mask = m_mask; + m_mask = (m_mask | mask) | (m_value ^ value); +- m_value &= value; ++ m_value &= ~m_mask; + + if (wi::sext (m_mask, precision) == -1) + return set_to_bottom (); +diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482-2.c b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c +new file mode 100644 +index 00000000000..54b71ac4fc0 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/ipa/pr96482-2.c +@@ -0,0 +1,33 @@ ++/* PR ipa/96482 */ ++/* { dg-do compile } */ ++/* { dg-options "-O2" } */ ++ ++int i2c_transfer(); ++void _dev_err(); ++ ++struct i2c_msg { ++ char bufaddr; ++ int adapterdev; ++} wdt87xx_i2c_xfer_client; ++ ++int wdt87xx_i2c_xfer_client_0, wdt87xx_i2c_xfer_rxdata, wdt87xx_get_string_str_idx; ++ ++void ++static wdt87xx_i2c_xfer(void *txdata, unsigned rxlen) { ++ struct i2c_msg msgs[] = {wdt87xx_i2c_xfer_client_0, rxlen, ++ wdt87xx_i2c_xfer_rxdata}; ++ int error = i2c_transfer(wdt87xx_i2c_xfer_client, msgs); ++ _dev_err("", __func__, error); ++} ++static void wdt87xx_get_string(unsigned len) { ++ char tx_buf[] = {wdt87xx_get_string_str_idx, 3}; ++ int rx_len = len + 2; ++ wdt87xx_i2c_xfer(tx_buf, rx_len); ++} ++ ++void ++wdt87xx_ts_probe_tx_buf() { ++ wdt87xx_get_string(34); ++ wdt87xx_get_string(8); ++ wdt87xx_i2c_xfer(wdt87xx_ts_probe_tx_buf, 2); ++} +-- +2.28.0 + diff --git a/gcc/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch b/gcc/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch new file mode 100644 index 0000000..cd81262 --- /dev/null +++ b/gcc/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch @@ -0,0 +1,147 @@ +From d58f078ce2d53e5dab6b3d0d5f960504268e1894 Mon Sep 17 00:00:00 2001 +From: Martin Liska +Date: Wed, 12 Aug 2020 09:21:51 +0200 +Subject: [PATCH] ipa: fix bit CPP when combined with IPA bit CP + +As mentioned in the PR, let's consider the following example: + +int +__attribute__((noinline)) +foo(int arg) +{ + if (arg == 3) + return 1; + if (arg == 4) + return 123; + + __builtin_unreachable (); +} + +during WPA we find all calls of the function +(yes the call with value 5 is UBSAN): + + Node: foo/0: + param [0]: 5 [loc_time: 4, loc_size: 2, prop_time: 0, prop_size: 0] + 3 [loc_time: 3, loc_size: 3, prop_time: 0, prop_size: 0] + ctxs: VARIABLE + Bits: value = 0x5, mask = 0x6 + +in LTRANS we have the following VRP info: + + # RANGE [3, 3] NONZERO 3 + +when we AND masks in get_default_value we end up with 6 & 3 = 2 (0x010). +That means the only second (least significant bit) is unknown and +value (5 = 0x101) & ~mask gives us either 7 (0x111) or 5 (0x101). + +That's why if (arg_2(D) == 3) gets optimized to false. + +gcc/ChangeLog: + + PR ipa/96482 + * ipa-cp.c (ipcp_bits_lattice::meet_with_1): Drop value bits + for bits that are unknown. + (ipcp_bits_lattice::set_to_constant): Likewise. + * tree-ssa-ccp.c (get_default_value): Add sanity check that + IPA CP bit info has all bits set to zero in bits that + are unknown. + +gcc/testsuite/ChangeLog: + + PR ipa/96482 + * gcc.dg/ipa/pr96482.c: New test. +--- + gcc/ipa-cp.c | 3 +- + gcc/testsuite/gcc.dg/ipa/pr96482.c | 44 ++++++++++++++++++++++++++++++ + gcc/tree-ssa-ccp.c | 3 ++ + 3 files changed, 49 insertions(+), 1 deletion(-) + create mode 100644 gcc/testsuite/gcc.dg/ipa/pr96482.c + +diff --git a/gcc/ipa-cp.c b/gcc/ipa-cp.c +index 945a69977f3..2b21280d919 100644 +--- a/gcc/ipa-cp.c ++++ b/gcc/ipa-cp.c +@@ -1011,7 +1011,7 @@ ipcp_bits_lattice::set_to_constant (widest_int value, widest_int mask) + { + gcc_assert (top_p ()); + m_lattice_val = IPA_BITS_CONSTANT; +- m_value = value; ++ m_value = wi::bit_and (wi::bit_not (mask), value); + m_mask = mask; + return true; + } +@@ -1048,6 +1048,7 @@ ipcp_bits_lattice::meet_with_1 (widest_int value, widest_int mask, + + widest_int old_mask = m_mask; + m_mask = (m_mask | mask) | (m_value ^ value); ++ m_value &= value; + + if (wi::sext (m_mask, precision) == -1) + return set_to_bottom (); +diff --git a/gcc/testsuite/gcc.dg/ipa/pr96482.c b/gcc/testsuite/gcc.dg/ipa/pr96482.c +new file mode 100644 +index 00000000000..68ead798d28 +--- /dev/null ++++ b/gcc/testsuite/gcc.dg/ipa/pr96482.c +@@ -0,0 +1,44 @@ ++/* PR ipa/96482 */ ++/* { dg-do run } */ ++/* { dg-options "-O2 -flto" } */ ++/* { dg-require-effective-target lto } */ ++ ++int ++__attribute__((noinline)) ++foo(int arg) ++{ ++ if (arg == 3) ++ return 1; ++ if (arg == 4) ++ return 123; ++ ++ __builtin_unreachable (); ++} ++ ++int ++__attribute__((noinline)) ++baz(int x) ++{ ++ if (x != 0) ++ return foo(3); /* called */ ++ ++ return 1; ++} ++ ++int ++__attribute__((noinline)) ++bar(int x) ++{ ++ if (x == 0) ++ return foo(5); /* not executed */ ++ ++ return 1; ++} ++ ++int main(int argc, char **argv) ++{ ++ if (bar(argc) != baz(argc)) ++ __builtin_abort (); ++ ++ return 0; ++} +diff --git a/gcc/tree-ssa-ccp.c b/gcc/tree-ssa-ccp.c +index 7e3921869b8..65dffe06530 100644 +--- a/gcc/tree-ssa-ccp.c ++++ b/gcc/tree-ssa-ccp.c +@@ -306,6 +306,9 @@ get_default_value (tree var) + { + val.lattice_val = CONSTANT; + val.value = value; ++ widest_int ipa_value = wi::to_widest (value); ++ /* Unknown bits from IPA CP must be equal to zero. */ ++ gcc_assert (wi::bit_and (ipa_value, mask) == 0); + val.mask = mask; + if (nonzero_bits != -1) + val.mask &= extend_mask (nonzero_bits, +-- +2.28.0 + diff --git a/gcc/key b/gcc/key new file mode 100644 index 0000000..c57af5c --- /dev/null +++ b/gcc/key @@ -0,0 +1,2 @@ +gpg -v --recv-key 6C35B99309B5FA62 +gpg -v --recv-key 3AB00996FC26A641 diff --git a/gcc/note b/gcc/note new file mode 100644 index 0000000..589eded --- /dev/null +++ b/gcc/note @@ -0,0 +1 @@ +Attention, read ./space before running diff --git a/gcc/space b/gcc/space new file mode 100644 index 0000000..9fff577 --- /dev/null +++ b/gcc/space @@ -0,0 +1,8 @@ + 222128748 32535668 178239948 before w/source pkgs and deps + 222128748 52913976 157861640 +________________________________ + 20.378.308 + +20GB + sources + dependencies + +So do not try this without 25GB diff --git a/gcc/srcs b/gcc/srcs new file mode 100644 index 0000000..53ec65d --- /dev/null +++ b/gcc/srcs @@ -0,0 +1,8 @@ +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/c89 +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/c99 +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/gdc_phobos_path.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/fs64270.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/ipa-fix-ICE-in-get_default_value.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/gcc-ada-repro.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gcc/trunk/gcc11-Wno-format-security.patch diff --git a/gcc/sums b/gcc/sums new file mode 100644 index 0000000..40b1267 --- /dev/null +++ b/gcc/sums @@ -0,0 +1,11 @@ +gcc-11.2.0.tar.xz +gcc-11.2.0.tar.xz.sig +isl-0.24.tar.xz +c89 +c99 +gdc_phobos_path.patch +fs64270.patch +ipa-fix-bit-CPP-when-combined-with-IPA-bit-CP.patch +ipa-fix-ICE-in-get_default_value.patch +gcc-ada-repro.patch +gcc11-Wno-format-security.patch diff --git a/gcc/sums.3 b/gcc/sums.3 new file mode 100644 index 0000000..eb34fc6 --- /dev/null +++ b/gcc/sums.3 @@ -0,0 +1,7 @@ +gcc-11.2.0.tar.xz +gcc-11.2.0.tar.xz.sig +isl-0.24.tar.xz +c89 +c99 +gdc_phobos_path.patch +gcc-ada-repro.patch diff --git a/gcc/time b/gcc/time new file mode 100644 index 0000000..4934946 --- /dev/null +++ b/gcc/time @@ -0,0 +1,10 @@ +11.2-04 w/check +real 359m5.233s +user 1252m12.024s +sys 36m29.926s + +11.2-02 w/check +real 307m5.649s +user 980m28.884s +sys 78m37.832s + diff --git a/gdbm/PKGBUILD b/gdbm/PKGBUILD new file mode 100644 index 0000000..73de6cd --- /dev/null +++ b/gdbm/PKGBUILD @@ -0,0 +1,50 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gdbm +pkgver=1.23 +pkgrel=01 +pkgdesc="GNU database library" +arch=(x86_64) +url="https://www.gnu.org/software/gdbm/gdbm.html" +depends=(glibc sh) +makedepends=(readline) +provides=(libgdbm_compat.so libgdbm.so) +#options=(debug) +source=("https://ftp.gnu.org/gnu/gdbm/$pkgname-$pkgver.tar.gz"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --enable-libgdbm-compat + make +} + +check() { + make check -C $pkgname-$pkgver +} + +package() { + depends+=(libreadline.so) + + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{NOTE-WARNING,AUTHORS,NEWS,README,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL3) + +validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff + +sha256sums=(74b1081d21fff13ae4bd7c16e5d6e504a4c26f7cde1dca0d963a484174bbcacd # gdbm-1.23.tar.gz + 64ebb68cc68e8915d62cb20ea40323c00b56051f844589ee0a52169fff34cecb) # gdbm-1.23.tar.gz.sig diff --git a/gdbm/PKGBUILD-1.22 b/gdbm/PKGBUILD-1.22 new file mode 100644 index 0000000..d076ada --- /dev/null +++ b/gdbm/PKGBUILD-1.22 @@ -0,0 +1,50 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gdbm +pkgver=1.22 +pkgrel=01 +pkgdesc='GNU database library' +url="https://www.gnu.org/software/gdbm/gdbm.html" +arch=('x86_64') +depends=('glibc' 'sh') +makedepends=('readline' 'autoconf' 'automake' 'gettext') +provides=('libgdbm_compat.so' 'libgdbm.so') +source=("https://ftp.gnu.org/gnu/gdbm/${pkgname}-${pkgver}.tar.gz"{,.sig}) + +prepare() { + cd "$pkgname-$pkgver" + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr \ + --enable-libgdbm-compat + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + depends+=('libreadline.so') + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {NOTE-WARNING,AUTHORS,NEWS,README,ChangeLog} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff + +sha256sums=(f366c823a6724af313b6bbe975b2809f9a157e5f6a43612a72949138d161d762 # gdbm-1.22.tar.gz + 0e66b54bc503377c0e13e001c6807f6c908c1cfb51a892446e69ee9400229c3a) # gdbm-1.22.tar.gz.sig diff --git a/gdbm/PKGBUILD-arch b/gdbm/PKGBUILD-arch new file mode 100644 index 0000000..09c3000 --- /dev/null +++ b/gdbm/PKGBUILD-arch @@ -0,0 +1,46 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski +# Contributor: Stéphane Gaudreault +# Contributor: Allan McRae +# Contributor: judd + +pkgname=gdbm +pkgver=1.23 +pkgrel=1 +pkgdesc="GNU database library" +arch=(x86_64) +url="https://www.gnu.org/software/gdbm/gdbm.html" +license=(GPL3) +depends=(glibc sh) +makedepends=(readline) +provides=(libgdbm_compat.so libgdbm.so) +options=(debug) +source=("https://ftp.gnu.org/gnu/gdbm/$pkgname-$pkgver.tar.gz"{,.sig}) +sha512sums=('918080cb0225b221c11eb7339634a95e00c526072395f7a3d46ccf42ef020dea7c4c5bec34aff2c4f16033e1fff6583252b7e978f68b8d7f8736b0e025838e10' + 'SKIP') +b2sums=('a47746577cf2f3c9b62faea496c4d6a50a8f1b0a5af448cb2215e90057c99b5b630ba3f5357c85dfb7fd98ba4e90969e30a779120c29106ed1e8736721f9bec1' + 'SKIP') +validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --enable-libgdbm-compat + make +} + +check() { + make check -C $pkgname-$pkgver +} + +package() { + depends+=(libreadline.so) + + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{NOTE-WARNING,AUTHORS,NEWS,README,ChangeLog} -t "$pkgdir/usr/share/doc/$pkgname" +} diff --git a/gdbm/clean b/gdbm/clean new file mode 100644 index 0000000..b0b40f7 --- /dev/null +++ b/gdbm/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,gdbm*gz*} diff --git a/gdbm/deps b/gdbm/deps new file mode 100644 index 0000000..fb682a8 --- /dev/null +++ b/gdbm/deps @@ -0,0 +1,4 @@ +autoconf +automake +gettext + diff --git a/gdbm/key b/gdbm/key new file mode 100644 index 0000000..fb54657 --- /dev/null +++ b/gdbm/key @@ -0,0 +1 @@ +gpg -v --recv-key 3602B07F55D0C732 diff --git a/gdbm/time b/gdbm/time new file mode 100644 index 0000000..259e4c1 --- /dev/null +++ b/gdbm/time @@ -0,0 +1,3 @@ +real 0m20.835s +user 0m30.946s +sys 0m3.543s diff --git a/gettext/PKGBUILD b/gettext/PKGBUILD new file mode 100644 index 0000000..9515e5a --- /dev/null +++ b/gettext/PKGBUILD @@ -0,0 +1,70 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gettext +pkgver=0.21 +pkgrel=02 +pkgdesc="GNU internationalization library" +url="https://www.gnu.org/software/gettext/" +arch=(x86_64) +groups=(base-devel) +#depends=(gcc-libs acl sh glib2 libunistring libcroco) +depends=(gcc-libs acl sh libunistring libxml2) +makedepends=(gettext emacs-git git) +optdepends=('git: for autopoint infrastructure updates') +options=(!docs) +source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig} + gettext-0.21-disable-libtextstyle.patch) + +prepare() { + cd $pkgname-$pkgver + + # Do not build libtextstyle, as it depends on libcroco + # which is now unmaintained and has known security bugs. + # patch from Fedora + patch -p1 -i $srcdir/gettext-0.21-disable-libtextstyle.patch +} + +build() { + cd $pkgname-$pkgver + + autoreconf --force + + ./configure \ + --prefix=/usr \ + --enable-csharp \ + --enable-nls \ + --with-xz \ + --without-included-gettext + + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \ + -i gettext-{tools,runtime,runtime/libasprintf}/libtool + + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno + '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2' + '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) + +sha256sums=(c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12 # gettext-0.21.tar.gz + ab16c44ecf4dd0228074c2de3e92da4e36f5300a7db575c325f1e0600a6f49f4 # gettext-0.21.tar.gz.sig + 544ce0589e9c70f4f75d77c76fd36f88d009ac9cfecb4812a67f878e38ac6418) # gettext-0.21-disable-libtextstyle.patch diff --git a/gettext/PKGBUILD-arch b/gettext/PKGBUILD-arch new file mode 100644 index 0000000..3996632 --- /dev/null +++ b/gettext/PKGBUILD-arch @@ -0,0 +1,60 @@ +# Maintainer: + +pkgname=gettext +pkgver=0.21 +pkgrel=2 +pkgdesc="GNU internationalization library" +url="https://www.gnu.org/software/gettext/" +arch=(x86_64) +license=(GPL) +groups=(base-devel) +depends=(gcc-libs acl sh libunistring libxml2) +makedepends=(gettext emacs git) +optdepends=('git: for autopoint infrastructure updates') +options=(!docs) +source=(https://ftp.gnu.org/pub/gnu/gettext/$pkgname-$pkgver.tar.gz{,.sig} + gettext-0.21-disable-libtextstyle.patch) +sha256sums=('c77d0da3102aec9c07f43671e60611ebff89a996ef159497ce8e59d075786b12' + 'SKIP' + '544ce0589e9c70f4f75d77c76fd36f88d009ac9cfecb4812a67f878e38ac6418') +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871' # Daiki Ueno + '68D94D8AAEEAD48AE7DC5B904F494A942E4616C2' + '9001B85AF9E1B83DF1BDA942F5BE8B267C6A406D') # Bruno Haible (Open Source Development) + + +prepare() { + cd $pkgname-$pkgver + + # Do not build libtextstyle, as it depends on libcroco + # which is now unmaintained and has known security bugs. + # patch from Fedora + patch -p1 -i $srcdir/gettext-0.21-disable-libtextstyle.patch +} + +build() { + cd $pkgname-$pkgver + + autoreconf --force + + ./configure \ + --prefix=/usr \ + --enable-csharp \ + --enable-nls \ + --with-xz \ + --without-included-gettext + + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' \ + -i gettext-{tools,runtime,runtime/libasprintf}/libtool + + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/gettext/clean b/gettext/clean new file mode 100644 index 0000000..cb3405f --- /dev/null +++ b/gettext/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,gettext*tar.gz*} diff --git a/gettext/deps b/gettext/deps new file mode 100644 index 0000000..d167b4d --- /dev/null +++ b/gettext/deps @@ -0,0 +1,6 @@ +libxml2 +gettext +emacs-git +git +autoconf +automake diff --git a/gettext/gettext-0.21-disable-libtextstyle.patch b/gettext/gettext-0.21-disable-libtextstyle.patch new file mode 100644 index 0000000..66271ad --- /dev/null +++ b/gettext/gettext-0.21-disable-libtextstyle.patch @@ -0,0 +1,128 @@ +diff --git a/Makefile.am b/Makefile.am +index 815e3c7..e897de7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 + +-SUBDIRS = gnulib-local gettext-runtime libtextstyle gettext-tools ++SUBDIRS = gnulib-local gettext-runtime gettext-tools + + changelog_etc = \ + gettext-runtime/ChangeLog.0 \ +@@ -123,7 +123,6 @@ distcheck-hook: + test "`sed 1,16d $(srcdir)/gettext-runtime/intl/xsize.h | md5sum`" = "`sed 1,16d $(srcdir)/gettext-tools/gnulib-lib/xsize.h | md5sum`" + cmp -s $(srcdir)/gettext-runtime/man/help2man $(srcdir)/gettext-tools/man/help2man + cmp -s $(srcdir)/gettext-runtime/man/x-to-1.in $(srcdir)/gettext-tools/man/x-to-1.in +- cmp -s $(srcdir)/libtextstyle/m4/libtextstyle.m4 $(srcdir)/gettext-tools/gnulib-m4/libtextstyle.m4 + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.java $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.java + cmp -s $(srcdir)/gettext-tools/examples/hello-java-awt/m4/TestAWT.class $(srcdir)/gettext-tools/examples/hello-java-swing/m4/TestAWT.class + test "`sed 1,15d $(srcdir)/gnulib-local/lib/alloca.in.h | md5sum`" = "`sed 1,15d $(srcdir)/gettext-runtime/libasprintf/alloca.in.h | md5sum`" +diff --git a/configure.ac b/configure.ac +index 49689fb..2d23b44 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -37,7 +37,7 @@ dnl Checks for typedefs, structures, and compiler characteristics. + + dnl Checks for library functions. + +-AC_CONFIG_SUBDIRS([gettext-runtime libtextstyle gettext-tools]) ++AC_CONFIG_SUBDIRS([gettext-runtime gettext-tools]) + + AM_EXTRA_RECURSIVE_TARGETS([maintainer-update-po]) + +@@ -49,7 +49,7 @@ AC_CANONICAL_HOST + dnl Optional Features: AC_ARG_ENABLE calls + dnl Optional Packages: AC_ARG_WITH calls + dnl Some influential environment variables: AC_ARG_VAR calls +-esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; cd libtextstyle && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.libtextstyle | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) ++esyscmd([{ cd gettext-runtime && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; { cd gettext-tools && autoconf --trace=AC_ARG_ENABLE:'$n([$1],[$2])' --trace=AC_ARG_WITH:'$n([$1],[$2])' --trace=AC_ARG_VAR:'$n($@)' && cd ..; } | grep -v installed.csharp | grep -v 'installed C#'; } | sed -f build-aux/ac-help.sed ]) + + AC_CONFIG_FILES([Makefile]) + +diff --git a/gettext-tools/Makefile.am b/gettext-tools/Makefile.am +index 449a797..c5719c2 100644 +--- a/gettext-tools/Makefile.am ++++ b/gettext-tools/Makefile.am +@@ -19,7 +19,7 @@ + AUTOMAKE_OPTIONS = 1.5 gnu no-dependencies + ACLOCAL_AMFLAGS = -I m4 -I ../gettext-runtime/m4 -I ../m4 -I gnulib-m4 -I libgrep/gnulib-m4 -I libgettextpo/gnulib-m4 + +-SUBDIRS = intl gnulib-lib libgrep src libgettextpo po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc ++SUBDIRS = intl gnulib-lib libgrep libgettextpo src po its projects styles emacs misc man m4 tests system-tests gnulib-tests examples doc + + EXTRA_DIST = misc/DISCLAIM + MOSTLYCLEANFILES = core *.stackdump +diff --git a/gettext-tools/libgettextpo/textstyle.in.h b/gettext-tools/libgettextpo/textstyle.in.h +index 536b51b..585ce66 100644 +--- a/gettext-tools/libgettextpo/textstyle.in.h ++++ b/gettext-tools/libgettextpo/textstyle.in.h +@@ -213,7 +213,8 @@ typedef ostream_t file_ostream_t; + static inline file_ostream_t + file_ostream_create (FILE *fp) + { +- return fp; ++ /* Closing the stream we return should not close 'fp'. */ ++ return fdopen (dup (fileno (fp)), "w"); + } + + /* --------------------------- From fd-ostream.h --------------------------- */ +@@ -413,6 +414,30 @@ html_styled_ostream_create (ostream_t destination _GL_UNUSED, + return NULL; + } + ++/* ----------------------- From noop-styled-ostream.h ----------------------- */ ++ ++/* noop_styled_ostream_t is a subtype of ostream_t. */ ++typedef ostream_t noop_styled_ostream_t; ++ ++#define noop_styled_ostream_write_mem ostream_write_mem ++#define noop_styled_ostream_flush ostream_flush ++#define noop_styled_ostream_free ostream_free ++#define noop_styled_ostream_begin_use_class styled_ostream_begin_use_class ++#define noop_styled_ostream_end_use_class styled_ostream_end_use_class ++#define noop_styled_ostream_get_hyperlink_ref styled_ostream_get_hyperlink_ref ++#define noop_styled_ostream_get_hyperlink_id styled_ostream_get_hyperlink_id ++#define noop_styled_ostream_set_hyperlink styled_ostream_set_hyperlink ++#define noop_styled_ostream_flush_to_current_style styled_ostream_flush_to_current_style ++ ++static inline ostream_t ++noop_styled_ostream_create (ostream_t destination, bool pass_ownership) ++{ ++ if (pass_ownership) ++ return destination; ++ else ++ return fdopen (dup (fileno (destination)), "w"); ++} ++ + /* ------------------------------ From color.h ------------------------------ */ + + #define color_test_mode false +diff --git a/gettext-tools/src/Makefile.am b/gettext-tools/src/Makefile.am +index 764ffad..eccfbbd 100644 +--- a/gettext-tools/src/Makefile.am ++++ b/gettext-tools/src/Makefile.am +@@ -292,19 +292,9 @@ cldr_plurals_SOURCES = cldr-plural.y cldr-plural-exp.c cldr-plurals.c + cldr_plurals_CFLAGS = $(AM_CFLAGS) $(INCXML) + cldr_plurals_LDADD = libgettextsrc.la $(LDADD) + +-if USE_INSTALLED_LIBTEXTSTYLE +-LT_LIBTEXTSTYLE = @LTLIBTEXTSTYLE@ +-else +-# How to get the include files of libtextstyle. +-textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h: +- here=`pwd`; \ +- cd ../../libtextstyle/lib && \ +- $(MAKE) install-nobase_includeHEADERS install-nobase_nodist_includeHEADERS includedir="$$here" +-BUILT_SOURCES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-MOSTLYCLEANFILES += textstyle.h textstyle/stdbool.h textstyle/version.h textstyle/woe32dll.h +-# Where to find the built libtextstyle library. +-LT_LIBTEXTSTYLE = ../../libtextstyle/lib/libtextstyle.la +-endif ++# Use the dummy libtextstyle from gnulib, as libgettextpo does. ++LT_LIBTEXTSTYLE = ++AM_CPPFLAGS += -I../libgettextpo -I$(top_srcdir)/libgettextpo + + # How to build libgettextsrc.la. + # Need ../gnulib-lib/libgettextlib.la. diff --git a/gettext/key b/gettext/key new file mode 100644 index 0000000..305aefb --- /dev/null +++ b/gettext/key @@ -0,0 +1 @@ +gpg -v --recv-key F5BE8B267C6A406D diff --git a/gettext/time b/gettext/time new file mode 100644 index 0000000..eb4f696 --- /dev/null +++ b/gettext/time @@ -0,0 +1,3 @@ +real 5m10.317s +user 8m49.850s +sys 1m5.706s diff --git a/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch b/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch new file mode 100644 index 0000000..7be155b --- /dev/null +++ b/glib2/0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch @@ -0,0 +1,33 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Fri, 7 Jan 2022 18:59:10 +0000 +Subject: [PATCH] glib-compile-schemas: Remove noisy deprecation warnings + +--- + gio/glib-compile-schemas.c | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/gio/glib-compile-schemas.c b/gio/glib-compile-schemas.c +index 7e1152f6bf45..924a3e7f176a 100644 +--- a/gio/glib-compile-schemas.c ++++ b/gio/glib-compile-schemas.c +@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, + return; + } + +- if (path && (g_str_has_prefix (path, "/apps/") || +- g_str_has_prefix (path, "/desktop/") || +- g_str_has_prefix (path, "/system/"))) +- { +- gchar *message = NULL; +- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " +- "Paths starting with " +- "“/apps/”, “/desktop/” or “/system/” are deprecated."), +- id, path); +- g_printerr ("%s\n", message); +- g_free (message); +- } +- + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + diff --git a/glib2/PKGBUILD b/glib2/PKGBUILD new file mode 100644 index 0000000..435c68b --- /dev/null +++ b/glib2/PKGBUILD @@ -0,0 +1,95 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=glib2 +pkgname=(glib2 glib2-docs) +pkgver=2.72.0 +pkgrel=01 +# this is a waste of resources rebuilding this for the shake of catching up +# to arch's late decision to be building debug symbol packages along with the core pkg +# like void does with the -devel pkgs. We are not going to build such debug pkgs, if you +# need them borrow the ones from arch +pkgdesc="Low level core library" +url="https://wiki.gnome.org/Projects/GLib" +arch=(x86_64) +depends=(pcre libffi util-linux-libs zlib) # libsysprof-capture) +makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux + meson dbus) +checkdepends=(desktop-file-utils) +#options=(debug) +source=("git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$pkgver" + 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + glib-compile-schemas.hook gio-querymodules.{hook,script}) + +prepare() { + cd glib + +# # Unicode 14 +# git cherry-pick -n ab895d91d570a18ac74d6f4f6390488210d8fb15 + + # Suppress noise from glib-compile-schemas.hook + git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + +} + +build() { + CFLAGS+=" -DG_DISABLE_CAST_CHECKS" + arch-meson glib build \ + -D glib_debug=disabled \ + -D selinux=disabled \ + -D man=true \ + -D sysprof=disabled \ + -D gtk_doc=true + meson compile -C build +} + +# Read ./note about the reason of the failing test, it is because I refuse to let dbus run! +#check() { +# meson test -C build --no-suite flaky --no-suite slow --print-errorlogs +#} + +package_glib2() { + depends+=(libmount.so libffi.so) + provides+=(libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + libgthread-2.0.so) + optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' + 'libelf: gresource inspection tool') + + meson install -C build --destdir "$pkgdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + install -D gio-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gio-querymodules" + + python -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + python -O -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + + # Split docs + mkdir -p docs/usr/share + mv {"$pkgdir",docs}/usr/share/gtk-doc +} + +package_glib2-docs() { + pkgdesc="Documentation for GLib" + depends=() + license+=(custom) + + mv -t "$pkgdir" docs/* + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL) + +validpgpkeys=('923B7025EE03C1C59F42684CF0942E894B2EAFA0') # Philip Withnall (https://endlessos.org/) + +sha256sums=(SKIP + edb5e34ac0a77431978cab55b98e39754d73455e28a38f5003424e943bbe5fff # 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + 64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25 # glib-compile-schemas.hook + 2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7 # gio-querymodules.hook + 92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e) # gio-querymodules.script diff --git a/glib2/PKGBUILD-arch b/glib2/PKGBUILD-arch new file mode 100644 index 0000000..6598e72 --- /dev/null +++ b/glib2/PKGBUILD-arch @@ -0,0 +1,80 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Jan de Groot + +pkgbase=glib2 +pkgname=(glib2 glib2-docs) +pkgver=2.72.0 +pkgrel=1 +pkgdesc="Low level core library" +url="https://wiki.gnome.org/Projects/GLib" +license=(LGPL) +arch=(x86_64) +depends=(pcre libffi util-linux-libs zlib libsysprof-capture) +makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux + meson dbus) +checkdepends=(desktop-file-utils) +options=(debug) +source=("git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$pkgver" + 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + glib-compile-schemas.hook gio-querymodules.{hook,script}) +sha256sums=('SKIP' + 'edb5e34ac0a77431978cab55b98e39754d73455e28a38f5003424e943bbe5fff' + '64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25' + '2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7' + '92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e') +validpgpkeys=('923B7025EE03C1C59F42684CF0942E894B2EAFA0') # Philip Withnall (https://endlessos.org/) + +prepare() { + cd glib + + # Suppress noise from glib-compile-schemas.hook + git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch +} + +build() { + CFLAGS+=" -DG_DISABLE_CAST_CHECKS" + arch-meson glib build \ + -D glib_debug=disabled \ + -D selinux=disabled \ + -D man=true \ + -D sysprof=enabled \ + -D gtk_doc=true + meson compile -C build +} + +check() { + meson test -C build --no-suite flaky --no-suite slow --print-errorlogs +} + +package_glib2() { + depends+=(libmount.so libffi.so) + provides+=(libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + libgthread-2.0.so) + optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' + 'libelf: gresource inspection tool') + + meson install -C build --destdir "$pkgdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + install -D gio-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gio-querymodules" + + python -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + python -O -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + + # Split docs + mkdir -p docs/usr/share + mv {"$pkgdir",docs}/usr/share/gtk-doc +} + +package_glib2-docs() { + pkgdesc="Documentation for GLib" + depends=() + license+=(custom) + + mv -t "$pkgdir" docs/* + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING +} + +# vim:set sw=2 et: diff --git a/glib2/PKGBUILD-tmp b/glib2/PKGBUILD-tmp new file mode 100644 index 0000000..b77d99e --- /dev/null +++ b/glib2/PKGBUILD-tmp @@ -0,0 +1,84 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=glib2 +pkgname=(glib2 glib2-docs) +pkgver=2.70.3 +pkgrel=01 +pkgdesc="Low level core library" +url="https://wiki.gnome.org/Projects/GLib" +arch=(x86_64) +depends=(pcre libffi util-linux-libs zlib libsysprof-capture) +makedepends=(gettext gtk-doc shared-mime-info python libelf git util-linux + meson dbus) +checkdepends=(desktop-file-utils) +source=("git+https://gitlab.gnome.org/GNOME/glib.git?signed#tag=$pkgver" + 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + glib-compile-schemas.hook gio-querymodules.{hook,script}) + +prepare() { + cd glib + # Suppress noise from glib-compile-schemas.hook + git apply -3 ../0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch +} + +build() { + CFLAGS+=" -DG_DISABLE_CAST_CHECKS" + arch-meson glib build \ + -D glib_debug=disabled \ + -D selinux=disabled \ + -D man=true \ + -D sysprof=enabled \ + -D gtk_doc=true + meson compile -C build +} + +check() { + meson test -C build --no-suite flaky --no-suite slow --print-errorlogs +} + +package_glib2() { + depends+=(libmount.so libffi.so) + provides+=(libgio-2.0.so libglib-2.0.so libgmodule-2.0.so libgobject-2.0.so + libgthread-2.0.so) + optdepends=('python: gdbus-codegen, glib-genmarshal, glib-mkenums, gtester-report' + 'libelf: gresource inspection tool') + + meson install -C build --destdir "$pkgdir" + + install -Dt "$pkgdir/usr/share/libalpm/hooks" -m644 *.hook + install -D gio-querymodules.script "$pkgdir/usr/share/libalpm/scripts/gio-querymodules" + + python -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + python -O -m compileall -d /usr/share/glib-2.0/codegen \ + "$pkgdir/usr/share/glib-2.0/codegen" + + # Split docs + mkdir -p docs/usr/share + mv {"$pkgdir",docs}/usr/share/gtk-doc +} + +package_glib2-docs() { + pkgdesc="Documentation for GLib" + depends=() + license+=(custom) + + mv -t "$pkgdir" docs/* + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 glib/docs/reference/COPYING +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL) + +validpgpkeys=('923B7025EE03C1C59F42684CF0942E894B2EAFA0') # Philip Withnall (https://endlessos.org/) + +sha256sums=(SKIP + edb5e34ac0a77431978cab55b98e39754d73455e28a38f5003424e943bbe5fff # 0001-glib-compile-schemas-Remove-noisy-deprecation-warnin.patch + 64ae5597dda3cc160fc74be038dbe6267d41b525c0c35da9125fbf0de27f9b25 # glib-compile-schemas.hook + 2a9f9b8235f48e3b7d0f6cfcbc76cd2116c45f28692cac4bd61074c495bd5eb7 # gio-querymodules.hook + 92d08db5aa30bda276bc3d718e7ff9dd01dc40dcab45b359182dcc290054e24e) # gio-querymodules.script diff --git a/glib2/clean b/glib2/clean new file mode 100644 index 0000000..924329b --- /dev/null +++ b/glib2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,glib} diff --git a/glib2/deps b/glib2/deps new file mode 100644 index 0000000..9aa6bb2 --- /dev/null +++ b/glib2/deps @@ -0,0 +1,5 @@ +gtk-doc +git gettext +shared-mime-info +meson +desktop-file-utils diff --git a/glib2/gio-querymodules.hook b/glib2/gio-querymodules.hook new file mode 100644 index 0000000..09b0c2f --- /dev/null +++ b/glib2/gio-querymodules.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/gio/modules/ + +[Action] +Description = Updating GIO module cache... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/gio-querymodules +NeedsTargets diff --git a/glib2/gio-querymodules.script b/glib2/gio-querymodules.script new file mode 100644 index 0000000..5c21877 --- /dev/null +++ b/glib2/gio-querymodules.script @@ -0,0 +1,7 @@ +#!/bin/bash + +while read -r d; do + [[ -d $d ]] || continue + gio-querymodules "$d" + rmdir --ignore-fail-on-non-empty "$d" +done diff --git a/glib2/glib-compile-schemas.hook b/glib2/glib-compile-schemas.hook new file mode 100644 index 0000000..974549d --- /dev/null +++ b/glib2/glib-compile-schemas.hook @@ -0,0 +1,12 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/share/glib-2.0/schemas/*.gschema.xml +Target = usr/share/glib-2.0/schemas/*.gschema.override + +[Action] +Description = Compiling GSettings XML schema files... +When = PostTransaction +Exec = /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas diff --git a/glib2/key b/glib2/key new file mode 100644 index 0000000..ec0b31e --- /dev/null +++ b/glib2/key @@ -0,0 +1 @@ +gpg -v --recv-key 92C957F278E2A1AA diff --git a/glib2/noisy-glib-compile-schemas.diff b/glib2/noisy-glib-compile-schemas.diff new file mode 100644 index 0000000..a21deee --- /dev/null +++ b/glib2/noisy-glib-compile-schemas.diff @@ -0,0 +1,24 @@ +diff --git i/gio/glib-compile-schemas.c w/gio/glib-compile-schemas.c +index cfea042f8..1b2afe457 100644 +--- i/gio/glib-compile-schemas.c ++++ w/gio/glib-compile-schemas.c +@@ -1232,19 +1232,6 @@ parse_state_start_schema (ParseState *state, + return; + } + +- if (path && (g_str_has_prefix (path, "/apps/") || +- g_str_has_prefix (path, "/desktop/") || +- g_str_has_prefix (path, "/system/"))) +- { +- gchar *message = NULL; +- message = g_strdup_printf (_("Warning: Schema “%s” has path “%s”. " +- "Paths starting with " +- "“/apps/”, “/desktop/” or “/system/” are deprecated."), +- id, path); +- g_printerr ("%s\n", message); +- g_free (message); +- } +- + state->schema_state = schema_state_new (path, gettext_domain, + extends, extends_name, list_of); + diff --git a/glib2/note b/glib2/note new file mode 100644 index 0000000..94d24c6 --- /dev/null +++ b/glib2/note @@ -0,0 +1,12 @@ +disabled checks as some of them fail, will try next edition +Since sysprof is the only pkg needed as a glib2 dependency for the base chroot of Joborun, not even a make dependency possibly to avert tests from failing, glib2 has been rebuilt Feb6-22 wuthout the dependency. Sysprof will not build without systemd present. LFS builds glib2 without it, so why shouldn't we do the same? + + +169/254 glib:gio / gdbus-address-get-session FAIL 0.02s killed by signal 6 SIGABRT +185/254 glib:gio / gdbus-peer FAIL 0.65s killed by signal 6 SIGABRT + + +Ok: 252 +Expected Fail: 0 +Fail: 2 + diff --git a/glib2/sums b/glib2/sums new file mode 100644 index 0000000..04c5db1 --- /dev/null +++ b/glib2/sums @@ -0,0 +1,4 @@ +noisy-glib-compile-schemas.diff +glib-compile-schemas.hook +gio-querymodules.hook +gio-querymodules.script diff --git a/glib2/time b/glib2/time new file mode 100644 index 0000000..4fc1fe1 --- /dev/null +++ b/glib2/time @@ -0,0 +1,4 @@ +real 11m2.231s +user 15m14.172s +sys 0m41.202s + diff --git a/glibc/0001-nptl_db-Support-different-libpthread-ld.so-load-orde.patch b/glibc/0001-nptl_db-Support-different-libpthread-ld.so-load-orde.patch new file mode 100644 index 0000000..0b9c2ef --- /dev/null +++ b/glibc/0001-nptl_db-Support-different-libpthread-ld.so-load-orde.patch @@ -0,0 +1,308 @@ +From a64afc225240b2b27129ccfb0516d7c958b98040 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Wed, 21 Apr 2021 11:50:43 +0200 +Subject: [PATCH 364/576] nptl_db: Support different libpthread/ld.so load + orders (bug 27744) + +libthread_db is loaded once GDB encounters libpthread, and at this +point, ld.so may not have been processed by GDB yet. As a result, +_rtld_global cannot be accessed by regular means from libthread_db. +To make this work until GDB can be fixed, acess _rtld_global through +a pointer stored in libpthread. + +The new test does not reproduce bug 27744 with +--disable-hardcoded-path-in-tests, but is still a valid smoke test. +With --enable-hardcoded-path-in-tests, it is necessary to avoid +add-symbol-file because this can tickle a GDB bug. + +Fixes commit 1daccf403b1bd86370eb94edca794dc106d02039 ("nptl: Move +stack list variables into _rtld_global"). + +Tested-by: Emil Velikov +--- + nptl/Makefile | 19 +++- + nptl/pthread_create.c | 8 ++ + nptl/tst-pthread-gdb-attach-static.c | 1 + + nptl/tst-pthread-gdb-attach.c | 143 +++++++++++++++++++++++++++ + nptl_db/structs.def | 3 +- + nptl_db/td_init.c | 15 +-- + nptl_db/thread_dbP.h | 2 + + 7 files changed, 180 insertions(+), 11 deletions(-) + create mode 100644 nptl/tst-pthread-gdb-attach-static.c + create mode 100644 nptl/tst-pthread-gdb-attach.c + +diff --git a/nptl/Makefile b/nptl/Makefile +index 8fe92d43fa..e665d37e52 100644 +--- a/nptl/Makefile ++++ b/nptl/Makefile +@@ -313,7 +313,8 @@ tests = tst-attr2 tst-attr3 tst-default-attr \ + tst-thread-affinity-sched \ + tst-pthread-defaultattr-free \ + tst-pthread-attr-sigmask \ +- tst-pthread-timedlock-lockloop ++ tst-pthread-timedlock-lockloop \ ++ tst-pthread-gdb-attach tst-pthread-gdb-attach-static + + tests-container = tst-pthread-getattr + +@@ -359,6 +360,19 @@ CPPFLAGS-test-cond-printers.c := $(CFLAGS-printers-tests) + CPPFLAGS-test-rwlockattr-printers.c := $(CFLAGS-printers-tests) + CPPFLAGS-test-rwlock-printers.c := $(CFLAGS-printers-tests) + ++# Reuse the CFLAGS setting for the GDB attaching test. It needs ++# debugging information. ++CFLAGS-tst-pthread-gdb-attach.c := $(CFLAGS-printers-tests) ++CPPFLAGS-tst-pthread-gdb-attach.c := $(CFLAGS-printers-tests) ++ifeq ($(build-shared)$(build-hardcoded-path-in-tests),yesno) ++CPPFLAGS-tst-pthread-gdb-attach.c += -DDO_ADD_SYMBOL_FILE=1 ++else ++CPPFLAGS-tst-pthread-gdb-attach.c += -DDO_ADD_SYMBOL_FILE=0 ++endif ++CFLAGS-tst-pthread-gdb-attach-static.c := $(CFLAGS-printers-tests) ++CPPFLAGS-tst-pthread-gdb-attach-static.c := \ ++ $(CFLAGS-printers-tests) -DDO_ADD_SYMBOL_FILE=0 ++ + ifeq ($(build-shared),yes) + tests-printers-libs := $(shared-thread-library) + else +@@ -430,7 +444,8 @@ link-libc-static := $(common-objpfx)libc.a $(static-gnulib) \ + tests-static += tst-stackguard1-static \ + tst-cancel24-static \ + tst-mutex8-static tst-mutexpi8-static tst-sem11-static \ +- tst-sem12-static tst-cond11-static ++ tst-sem12-static tst-cond11-static \ ++ tst-pthread-gdb-attach-static + + tests += tst-cancel24-static + +diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c +index 6c645aff48..f13d8e44a4 100644 +--- a/nptl/pthread_create.c ++++ b/nptl/pthread_create.c +@@ -51,6 +51,14 @@ static td_thr_events_t __nptl_threads_events __attribute_used__; + /* Pointer to descriptor with the last event. */ + static struct pthread *__nptl_last_event __attribute_used__; + ++#ifdef SHARED ++/* This variable is used to access _rtld_global from libthread_db. If ++ GDB loads libpthread before ld.so, it is not possible to resolve ++ _rtld_global directly during libpthread initialization. */ ++static struct rtld_global *__nptl_rtld_global __attribute_used__ ++ = &_rtld_global; ++#endif ++ + /* Number of threads running. */ + unsigned int __nptl_nthreads = 1; + +diff --git a/nptl/tst-pthread-gdb-attach-static.c b/nptl/tst-pthread-gdb-attach-static.c +new file mode 100644 +index 0000000000..e159632cac +--- /dev/null ++++ b/nptl/tst-pthread-gdb-attach-static.c +@@ -0,0 +1 @@ ++#include "tst-pthread-gdb-attach.c" +diff --git a/nptl/tst-pthread-gdb-attach.c b/nptl/tst-pthread-gdb-attach.c +new file mode 100644 +index 0000000000..0603ad844d +--- /dev/null ++++ b/nptl/tst-pthread-gdb-attach.c +@@ -0,0 +1,143 @@ ++/* Smoke testing GDB process attach with thread-local variable access. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ . */ ++ ++/* This test runs GDB against a forked copy of itself, to check ++ whether libthread_db can be loaded, and that access to thread-local ++ variables works. */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* Starts out as zero, changed to 1 or 2 by the debugger, depending on ++ the thread. */ ++__thread volatile int altered_by_debugger; ++ ++/* Writes the GDB script to run the test to PATH. */ ++static void ++write_gdbscript (const char *path, int tested_pid) ++{ ++ FILE *fp = xfopen (path, "w"); ++ fprintf (fp, ++ "set trace-commands on\n" ++ "set debug libthread-db 1\n" ++#if DO_ADD_SYMBOL_FILE ++ /* Do not do this unconditionally to work around a GDB ++ assertion failure: ../../gdb/symtab.c:6404: ++ internal-error: CORE_ADDR get_msymbol_address(objfile*, ++ const minimal_symbol*): Assertion `(objf->flags & ++ OBJF_MAINLINE) == 0' failed. */ ++ "add-symbol-file %1$s/nptl/tst-pthread-gdb-attach\n" ++#endif ++ "set auto-load safe-path %1$s/nptl_db\n" ++ "set libthread-db-search-path %1$s/nptl_db\n" ++ "attach %2$d\n", ++ support_objdir_root, tested_pid); ++ fputs ("break debugger_inspection_point\n" ++ "continue\n" ++ "thread 1\n" ++ "print altered_by_debugger\n" ++ "print altered_by_debugger = 1\n" ++ "thread 2\n" ++ "print altered_by_debugger\n" ++ "print altered_by_debugger = 2\n" ++ "continue\n", ++ fp); ++ xfclose (fp); ++} ++ ++/* The test sets a breakpoint on this function and alters the ++ altered_by_debugger thread-local variable. */ ++void __attribute__ ((weak)) ++debugger_inspection_point (void) ++{ ++} ++ ++/* Thread function for the test thread in the subprocess. */ ++static void * ++subprocess_thread (void *closure) ++{ ++ /* Wait until altered_by_debugger changes the value away from 0. */ ++ while (altered_by_debugger == 0) ++ { ++ usleep (100 * 1000); ++ debugger_inspection_point (); ++ } ++ ++ TEST_COMPARE (altered_by_debugger, 2); ++ return NULL; ++} ++ ++/* This function implements the subprocess under test. It creates a ++ second thread, waiting for its value to change to 2, and checks ++ that the main thread also changed its value to 1. */ ++static void ++in_subprocess (void) ++{ ++ pthread_t thr = xpthread_create (NULL, subprocess_thread, NULL); ++ TEST_VERIFY (xpthread_join (thr) == NULL); ++ TEST_COMPARE (altered_by_debugger, 1); ++ _exit (0); ++} ++ ++static int ++do_test (void) ++{ ++ pid_t tested_pid = xfork (); ++ if (tested_pid == 0) ++ in_subprocess (); ++ char *tested_pid_string = xasprintf ("%d", tested_pid); ++ ++ char *gdbscript; ++ xclose (create_temp_file ("tst-pthread-gdb-attach-", &gdbscript)); ++ write_gdbscript (gdbscript, tested_pid); ++ ++ pid_t gdb_pid = xfork (); ++ if (gdb_pid == 0) ++ { ++ clearenv (); ++ xdup2 (STDOUT_FILENO, STDERR_FILENO); ++ execlp ("gdb", "gdb", "-nx", "-batch", "-x", gdbscript, NULL); ++ if (errno == ENOENT) ++ _exit (EXIT_UNSUPPORTED); ++ else ++ _exit (1); ++ } ++ ++ int status; ++ TEST_COMPARE (xwaitpid (gdb_pid, &status, 0), gdb_pid); ++ if (WIFEXITED (status) && WEXITSTATUS (status) == EXIT_UNSUPPORTED) ++ /* gdb is not installed. */ ++ return EXIT_UNSUPPORTED; ++ TEST_COMPARE (status, 0); ++ TEST_COMPARE (xwaitpid (tested_pid, &status, 0), tested_pid); ++ TEST_COMPARE (status, 0); ++ ++ free (tested_pid_string); ++ free (gdbscript); ++ return 0; ++} ++ ++#include +diff --git a/nptl_db/structs.def b/nptl_db/structs.def +index 999a9fc35a..8a613dd2f5 100644 +--- a/nptl_db/structs.def ++++ b/nptl_db/structs.def +@@ -100,8 +100,7 @@ DB_STRUCT_FIELD (pthread, dtvp) + #endif + + #if !(IS_IN (libpthread) && !defined SHARED) +-DB_STRUCT (rtld_global) +-DB_RTLD_VARIABLE (_rtld_global) ++DB_VARIABLE (__nptl_rtld_global) + #endif + DB_RTLD_GLOBAL_FIELD (dl_tls_dtv_slotinfo_list) + DB_RTLD_GLOBAL_FIELD (dl_stack_user) +diff --git a/nptl_db/td_init.c b/nptl_db/td_init.c +index 1d15681228..06b5adc5c2 100644 +--- a/nptl_db/td_init.c ++++ b/nptl_db/td_init.c +@@ -33,13 +33,14 @@ td_init (void) + bool + __td_ta_rtld_global (td_thragent_t *ta) + { +- if (ta->ta_addr__rtld_global == 0 +- && td_mod_lookup (ta->ph, LD_SO, SYM__rtld_global, +- &ta->ta_addr__rtld_global) != PS_OK) ++ if (ta->ta_addr__rtld_global == 0) + { +- ta->ta_addr__rtld_global = (void*)-1; +- return false; ++ psaddr_t rtldglobalp; ++ if (DB_GET_VALUE (rtldglobalp, ta, __nptl_rtld_global, 0) == TD_OK) ++ ta->ta_addr__rtld_global = rtldglobalp; ++ else ++ ta->ta_addr__rtld_global = (void *) -1; + } +- else +- return ta->ta_addr__rtld_global != (void*)-1; ++ ++ return ta->ta_addr__rtld_global != (void *)-1; + } +diff --git a/nptl_db/thread_dbP.h b/nptl_db/thread_dbP.h +index 580a70c471..712fa3aeb6 100644 +--- a/nptl_db/thread_dbP.h ++++ b/nptl_db/thread_dbP.h +@@ -108,6 +108,8 @@ struct td_thragent + # undef DB_SYMBOL + # undef DB_VARIABLE + ++ psaddr_t ta_addr__rtld_global; ++ + /* The method of locating a thread's th_unique value. */ + enum + { +-- +2.31.1 + diff --git a/glibc/0002-nptl-Check-for-compatible-GDB-in-nptl-tst-pthread-gd.patch b/glibc/0002-nptl-Check-for-compatible-GDB-in-nptl-tst-pthread-gd.patch new file mode 100644 index 0000000..d3846d6 --- /dev/null +++ b/glibc/0002-nptl-Check-for-compatible-GDB-in-nptl-tst-pthread-gd.patch @@ -0,0 +1,135 @@ +From f553dc066071a4465321fbc122bed8a75afd996b Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 22 Apr 2021 11:07:43 +0200 +Subject: [PATCH 405/576] nptl: Check for compatible GDB in + nptl/tst-pthread-gdb-attach + +Also do not clear the subprocess environment, in case running +GDB needs certain environment variables. +--- + nptl/tst-pthread-gdb-attach.c | 78 ++++++++++++++++++++++++++++++++++- + 1 file changed, 76 insertions(+), 2 deletions(-) + +diff --git a/nptl/tst-pthread-gdb-attach.c b/nptl/tst-pthread-gdb-attach.c +index 0603ad844d..901a120034 100644 +--- a/nptl/tst-pthread-gdb-attach.c ++++ b/nptl/tst-pthread-gdb-attach.c +@@ -20,8 +20,12 @@ + whether libthread_db can be loaded, and that access to thread-local + variables works. */ + ++#include + #include ++#include ++#include + #include ++#include + #include + #include + #include +@@ -35,6 +39,49 @@ + the thread. */ + __thread volatile int altered_by_debugger; + ++/* Common prefix between 32-bit and 64-bit ELF. */ ++struct elf_prefix ++{ ++ unsigned char e_ident[EI_NIDENT]; ++ uint16_t e_type; ++ uint16_t e_machine; ++ uint32_t e_version; ++}; ++_Static_assert (sizeof (struct elf_prefix) == EI_NIDENT + 8, ++ "padding in struct elf_prefix"); ++ ++/* Reads the ELF header from PATH. Returns true if the header can be ++ read, false if the file is too short. */ ++static bool ++read_elf_header (const char *path, struct elf_prefix *elf) ++{ ++ int fd = xopen (path, O_RDONLY, 0); ++ bool result = read (fd, elf, sizeof (*elf)) == sizeof (*elf); ++ xclose (fd); ++ return result; ++} ++ ++/* Searches for "gdb" alongside the path variable. See execvpe. */ ++static char * ++find_gdb (void) ++{ ++ const char *path = getenv ("PATH"); ++ if (path == NULL) ++ return NULL; ++ while (true) ++ { ++ const char *colon = strchrnul (path, ':'); ++ char *candidate = xasprintf ("%.*s/gdb", (int) (colon - path), path); ++ if (access (candidate, X_OK) == 0) ++ return candidate; ++ free (candidate); ++ if (*colon == '\0') ++ break; ++ path = colon + 1; ++ } ++ return NULL; ++} ++ + /* Writes the GDB script to run the test to PATH. */ + static void + write_gdbscript (const char *path, int tested_pid) +@@ -105,6 +152,33 @@ in_subprocess (void) + static int + do_test (void) + { ++ char *gdb_path = find_gdb (); ++ if (gdb_path == NULL) ++ FAIL_UNSUPPORTED ("gdb command not found in PATH: %s", getenv ("PATH")); ++ ++ /* Check that libthread_db is compatible with the gdb architecture ++ because gdb loads it via dlopen. */ ++ { ++ char *threaddb_path = xasprintf ("%s/nptl_db/libthread_db.so", ++ support_objdir_root); ++ struct elf_prefix elf_threaddb; ++ TEST_VERIFY_EXIT (read_elf_header (threaddb_path, &elf_threaddb)); ++ struct elf_prefix elf_gdb; ++ /* If the ELF header cannot be read or "gdb" is not an ELF file, ++ assume this is a wrapper script that can run. */ ++ if (read_elf_header (gdb_path, &elf_gdb) ++ && memcmp (&elf_gdb, ELFMAG, SELFMAG) == 0) ++ { ++ if (elf_gdb.e_ident[EI_CLASS] != elf_threaddb.e_ident[EI_CLASS]) ++ FAIL_UNSUPPORTED ("GDB at %s has wrong class", gdb_path); ++ if (elf_gdb.e_ident[EI_DATA] != elf_threaddb.e_ident[EI_DATA]) ++ FAIL_UNSUPPORTED ("GDB at %s has wrong data", gdb_path); ++ if (elf_gdb.e_machine != elf_threaddb.e_machine) ++ FAIL_UNSUPPORTED ("GDB at %s has wrong machine", gdb_path); ++ } ++ free (threaddb_path); ++ } ++ + pid_t tested_pid = xfork (); + if (tested_pid == 0) + in_subprocess (); +@@ -117,9 +191,8 @@ do_test (void) + pid_t gdb_pid = xfork (); + if (gdb_pid == 0) + { +- clearenv (); + xdup2 (STDOUT_FILENO, STDERR_FILENO); +- execlp ("gdb", "gdb", "-nx", "-batch", "-x", gdbscript, NULL); ++ execl (gdb_path, "gdb", "-nx", "-batch", "-x", gdbscript, NULL); + if (errno == ENOENT) + _exit (EXIT_UNSUPPORTED); + else +@@ -137,6 +210,7 @@ do_test (void) + + free (tested_pid_string); + free (gdbscript); ++ free (gdb_path); + return 0; + } + +-- +2.31.1 + diff --git a/glibc/0003-nptl-Do-not-build-nptl-tst-pthread-gdb-attach-as-PIE.patch b/glibc/0003-nptl-Do-not-build-nptl-tst-pthread-gdb-attach-as-PIE.patch new file mode 100644 index 0000000..1ba043d --- /dev/null +++ b/glibc/0003-nptl-Do-not-build-nptl-tst-pthread-gdb-attach-as-PIE.patch @@ -0,0 +1,26 @@ +From 6f3e54d404cfe1ba7d1444e6dfcfd77b102d9287 Mon Sep 17 00:00:00 2001 +From: Florian Weimer +Date: Thu, 22 Apr 2021 19:53:15 +0200 +Subject: [PATCH 409/576] nptl: Do not build nptl/tst-pthread-gdb-attach as PIE + +--- + nptl/Makefile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/nptl/Makefile b/nptl/Makefile +index a3d1ef8d66..294bb2faa4 100644 +--- a/nptl/Makefile ++++ b/nptl/Makefile +@@ -377,6 +377,9 @@ endif + CFLAGS-tst-pthread-gdb-attach-static.c := $(CFLAGS-printers-tests) + CPPFLAGS-tst-pthread-gdb-attach-static.c := \ + $(CFLAGS-printers-tests) -DDO_ADD_SYMBOL_FILE=0 ++# As of version 9.2, GDB cannot attach properly to PIE programs that ++# were launched with an explicit ld.so invocation. ++tst-pthread-gdb-attach-no-pie = yes + + ifeq ($(build-shared),yes) + tests-printers-libs := $(shared-thread-library) +-- +2.31.1 + diff --git a/glibc/PKGBUILD b/glibc/PKGBUILD new file mode 100644 index 0000000..1bcd65a --- /dev/null +++ b/glibc/PKGBUILD @@ -0,0 +1,258 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgbase=glibc +pkgname=(glibc lib32-glibc) +pkgver=2.35 +pkgrel=02 +arch=(x86_64) +url='https://www.gnu.org/software/libc' +makedepends=(git gd lib32-gcc-libs python) +optdepends=('perl: for mtrace') +options=(!strip staticlibs !lto) +#_commit=3de512be7ea6053255afed6154db9ee31d4e557a +#source=(git+https://sourceware.org/git/glibc.git#commit=$_commit +source=(https://ftp.gnu.org/gnu/glibc/glibc-$pkgver.tar.xz{,.sig} + locale.gen.txt + locale-gen + lib32-glibc.conf + sdt.h sdt-config.h + disable-clone3.diff) + +prepare() { + mkdir -p glibc-build lib32-glibc-build + + [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc + cd glibc + + # Disable clone3 syscall for now + # Can be removed when eletron{9,11,12} and discord are removed or patched: + # https://github.com/electron/electron/commit/993ecb5bdd5c57024c8718ca6203a8f924d6d574 + # Patch src: https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/ + patch -Np1 -i "${srcdir}"/disable-clone3.diff + +} + +build() { + local _configure_flags=( + --prefix=/usr + --with-headers=/usr/include + --with-bugurl=https://bugs.archlinux.org/ + --enable-add-ons + --enable-bind-now + --enable-cet + --enable-kernel=4.4 + --enable-lock-elision + --enable-multi-arch + --enable-stack-protector=strong + --enable-stackguard-randomization + --enable-static-pie + --enable-systemtap + --disable-profile + --disable-crypt + --disable-werror + ) + + cd "$srcdir/glibc-build" + + echo "slibdir=/usr/lib" >> configparms + echo "rtlddir=/usr/lib" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD + # remove fortify for building libraries + CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/} + + "$srcdir/glibc/configure" \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + "${_configure_flags[@]}" + + # build libraries with fortify disabled + echo "build-programs=no" >> configparms + make -O + + # re-enable fortify for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms + make -O + + # build info pages manually for reprducibility + make info + + cd "$srcdir/lib32-glibc-build" + export CC="gcc -m32 -mstackrealign" + export CXX="g++ -m32 -mstackrealign" + + echo "slibdir=/usr/lib32" >> configparms + echo "rtlddir=/usr/lib32" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + "$srcdir/glibc/configure" \ + --host=i686-pc-linux-gnu \ + --libdir=/usr/lib32 \ + --libexecdir=/usr/lib32 \ + "${_configure_flags[@]}" + + # build libraries with fortify disabled + echo "build-programs=no" >> configparms + make -O + + # re-enable fortify for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms + make -O + +} + +# Credits for skip_test() and check() @allanmcrae +# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD +skip_test() { + test=$1 + file=$2 + sed -i "s/\b$test\b//" $srcdir/glibc/$file +} + +#check() { +# cd glibc-build +# +# # adjust/remove buildflags that cause false-positive testsuite failures +# sed -i '/FORTIFY/d' configparms # failure to build testsuite +# sed -i 's/-Werror=format-security/-Wformat-security/' config.make # failure to build testsuite +# sed -i '/CFLAGS/s/-fno-plt//' config.make # 16 failures +# sed -i '/CFLAGS/s/-fexceptions//' config.make # 1 failure +# LDFLAGS=${LDFLAGS/,-z,now/} # 10 failures +# +# # The following tests fail due to restrictions in the Arch build system +# # The correct fix is to add the following to the systemd-nspawn call: +# # --capability=CAP_IPC_LOCK --system-call-filter="@clock @pkey" +# skip_test test-errno-linux sysdeps/unix/sysv/linux/Makefile +# skip_test tst-ntp_gettime sysdeps/unix/sysv/linux/Makefile +# skip_test tst-ntp_gettimex sysdeps/unix/sysv/linux/Makefile +# skip_test tst-mlock2 sysdeps/unix/sysv/linux/Makefile +# skip_test tst-pkey sysdeps/unix/sysv/linux/Makefile +# skip_test tst-adjtime time/Makefile +# skip_test tst-clock2 time/Makefile +# +# make -O check +#} + +package_glibc() { + pkgdesc='GNU C Library w/o systemd' + depends=('linux-api-headers>=4.10' tzdata filesystem) + optdepends=('gd: for memusagestat') + install=glibc.install + backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) + + install -dm755 "$pkgdir/etc" + touch "$pkgdir/etc/ld.so.conf" + + make -C glibc-build install_root="$pkgdir" install + rm -f "$pkgdir"/etc/ld.so.{cache,conf} + + # Shipped in tzdata + rm -f "$pkgdir"/usr/bin/{tzselect,zdump,zic} + + cd glibc + + install -dm755 "$pkgdir"/usr/lib/{locale,tmpfiles.d} + install -m644 nscd/nscd.conf "$pkgdir/etc/nscd.conf" +# install -m644 nscd/nscd.service "$pkgdir/usr/lib/systemd/system" + install -m644 nscd/nscd.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/nscd.conf" + install -dm755 "$pkgdir/var/db/nscd" + + install -m644 posix/gai.conf "$pkgdir"/etc/gai.conf + + install -m755 "$srcdir/locale-gen" "$pkgdir/usr/bin" + + # Create /etc/locale.gen + install -m644 "$srcdir/locale.gen.txt" "$pkgdir/etc/locale.gen" + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + "$srcdir/glibc/localedata/SUPPORTED" >> "$pkgdir/etc/locale.gen" + + if check_option 'debug' n; then + find "$pkgdir"/usr/bin -type f -executable -exec strip $STRIP_BINARIES {} + 2> /dev/null || true + find "$pkgdir"/usr/lib -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true + + # Do not strip these for gdb and valgrind functionality, but strip the rest + find "$pkgdir"/usr/lib \ + -not -name 'ld-*.so' \ + -not -name 'libc-*.so' \ + -not -name 'libpthread-*.so' \ + -not -name 'libthread_db-*.so' \ + -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true + fi + + # Provide tracing probes to libstdc++ for exceptions, possibly for other + # libraries too. Useful for gdb's catch command. + install -Dm644 "$srcdir/sdt.h" "$pkgdir/usr/include/sys/sdt.h" + install -Dm644 "$srcdir/sdt-config.h" "$pkgdir/usr/include/sys/sdt-config.h" + + # Provided by libxcrypt; keep the old shared library for backwards compatibility + rm -f "$pkgdir"/usr/include/crypt.h "$pkgdir"/usr/lib/libcrypt.{a,so} +} + +package_lib32-glibc() { + pkgdesc='GNU C Library (32-bit) w/o systemd' + depends=("glibc=$pkgver") + options+=('!emptydirs') + + cd lib32-glibc-build + + make install_root="$pkgdir" install + rm -rf "$pkgdir"/{etc,sbin,usr/{bin,sbin,share},var} + + # We need to keep 32 bit specific header files + find "$pkgdir/usr/include" -type f -not -name '*-32.h' -delete + + # Dynamic linker + install -d "$pkgdir/usr/lib" + ln -s ../lib32/ld-linux.so.2 "$pkgdir/usr/lib/" + + # Add lib32 paths to the default library search path + install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf" + + # Symlink /usr/lib32/locale to /usr/lib/locale + ln -s ../lib/locale "$pkgdir/usr/lib32/locale" + + if check_option 'debug' n; then + find "$pkgdir"/usr/lib32 -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true + find "$pkgdir"/usr/lib32 \ + -not -name 'ld-*.so' \ + -not -name 'libc-*.so' \ + -not -name 'libpthread-*.so' \ + -not -name 'libthread_db-*.so' \ + -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true + fi + + # Provided by lib32-libxcrypt; keep the old shared library for backwards compatibility + rm -f "$pkgdir"/usr/lib32/libcrypt.{a,so} +} + +#---- license gpg-key sha256sums ---- + +license=(GPL LGPL) + +validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell + BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar + +sha256sums=(5123732f6b67ccd319305efd399971d58592122bcc2a6518a1bd2510dd0cf52e # glibc-2.35.tar.xz + 853aaaf17d7366817e814057a467625ee7c0b26240e8b878db0f33c389c7bcb6 # glibc-2.35.tar.xz.sig + d42648cea552ba5353a32e264686e992263289d5cc86207314dffc54ab514981 # locale.gen.txt + 83f108f915863c7ed0338e2d3e8f2e071a531a090ef8f8b2eb3a956a3c4f04d7 # locale-gen + c27424154a6096ae32c0824b785e05de6acef33d9224fd6147d1936be9b4962b # lib32-glibc.conf + 774061aff612a377714a509918a9e0e0aafce708b87d2d7e06b1bd1f6542fe70 # sdt.h + cdc234959c6fdb43f000d3bb7d1080b0103f4080f5e67bcfe8ae1aaf477812f0 # sdt-config.h + f5df8fc95592cce7825744aeb8c9699a5b4b5b7ccf7bcf554355167c3a7e375e) # disable-clone3.diff diff --git a/glibc/PKGBUILD-arch b/glibc/PKGBUILD-arch new file mode 100644 index 0000000..d5bfb8d --- /dev/null +++ b/glibc/PKGBUILD-arch @@ -0,0 +1,251 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Frederik Schwan +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc +# NOTE: valgrind requires rebuilt with each major glibc version + +pkgbase=glibc +pkgname=(glibc lib32-glibc) +pkgver=2.35 +pkgrel=2 +arch=(x86_64) +url='https://www.gnu.org/software/libc' +license=(GPL LGPL) +makedepends=(git gd lib32-gcc-libs python) +optdepends=('perl: for mtrace') +options=(!strip staticlibs !lto) +#_commit=3de512be7ea6053255afed6154db9ee31d4e557a +#source=(git+https://sourceware.org/git/glibc.git#commit=$_commit +source=(https://ftp.gnu.org/gnu/glibc/glibc-$pkgver.tar.xz{,.sig} + locale.gen.txt + locale-gen + lib32-glibc.conf + sdt.h sdt-config.h + disable-clone3.diff) +validpgpkeys=(7273542B39962DF7B299931416792B4EA25340F8 # Carlos O'Donell + BC7C7372637EC10C57D7AA6579C43DFBF1CF2187) # Siddhesh Poyarekar +b2sums=('623c728884f070cd87ffeb9203f74206197c52405ac9bc44f3dd519a3468b8e8ae2536c883e5d17d94417dbd1e91775de2e674314e4ff7424f9720026d6b7063' + 'SKIP' + '46d533d25c7a2ce4ae75d452eee7ebb8e3ce4d191af9be3daa43718b78cb81d33cfd8046a117a15d87de9f5e940448c66005b0490515bf731c9e4691c53908d6' + '1f6d927b4972220b1c00abee5329c5d6bc01ed5bee57b20db0c7d7433292f7d666b02baf9968267f8e378b1f3bb273e8eef0ccbf22d21400ac36949d7615a474' + '7c265e6d36a5c0dff127093580827d15519b6c7205c2e1300e82f0fb5b9dd00b6accb40c56581f18179c4fbbc95bd2bf1b900ace867a83accde0969f7b609f8a' + 'a6a5e2f2a627cc0d13d11a82458cfd0aa75ec1c5a3c7647e5d5a3bb1d4c0770887a3909bfda1236803d5bc9801bfd6251e13483e9adf797e4725332cd0d91a0e' + '214e995e84b342fe7b2a7704ce011b7c7fc74c2971f98eeb3b4e677b99c860addc0a7d91b8dc0f0b8be7537782ee331999e02ba48f4ccc1c331b60f27d715678' + 'edef5f724f68ea95c6b0127bd13a10245f548afc381b2d0a6d1d06ee9f87b7dd89c6becd35d5ae722bf838594eb870a747f67f07f46e7d63f8c8d1a43cce4a52') + +prepare() { + mkdir -p glibc-build lib32-glibc-build + + [[ -d glibc-$pkgver ]] && ln -s glibc-$pkgver glibc + cd glibc + + # Disable clone3 syscall for now + # Can be removed when eletron{9,11,12} and discord are removed or patched: + # https://github.com/electron/electron/commit/993ecb5bdd5c57024c8718ca6203a8f924d6d574 + # Patch src: https://patchwork.ozlabs.org/project/glibc/patch/87eebkf8ph.fsf@oldenburg.str.redhat.com/ + patch -Np1 -i "${srcdir}"/disable-clone3.diff + +} + +build() { + local _configure_flags=( + --prefix=/usr + --with-headers=/usr/include + --with-bugurl=https://bugs.archlinux.org/ + --enable-add-ons + --enable-bind-now + --enable-cet + --enable-kernel=4.4 + --enable-lock-elision + --enable-multi-arch + --enable-stack-protector=strong + --enable-stackguard-randomization + --enable-static-pie + --enable-systemtap + --disable-profile + --disable-crypt + --disable-werror + ) + + cd "$srcdir/glibc-build" + + echo "slibdir=/usr/lib" >> configparms + echo "rtlddir=/usr/lib" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + # Credits @allanmcrae + # https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD + # remove fortify for building libraries + CFLAGS=${CFLAGS/-Wp,-D_FORTIFY_SOURCE=2/} + + "$srcdir/glibc/configure" \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + "${_configure_flags[@]}" + + # build libraries with fortify disabled + echo "build-programs=no" >> configparms + make -O + + # re-enable fortify for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms + make -O + + # build info pages manually for reprducibility + make info + + cd "$srcdir/lib32-glibc-build" + export CC="gcc -m32 -mstackrealign" + export CXX="g++ -m32 -mstackrealign" + + echo "slibdir=/usr/lib32" >> configparms + echo "rtlddir=/usr/lib32" >> configparms + echo "sbindir=/usr/bin" >> configparms + echo "rootsbindir=/usr/bin" >> configparms + + "$srcdir/glibc/configure" \ + --host=i686-pc-linux-gnu \ + --libdir=/usr/lib32 \ + --libexecdir=/usr/lib32 \ + "${_configure_flags[@]}" + + # build libraries with fortify disabled + echo "build-programs=no" >> configparms + make -O + + # re-enable fortify for programs + sed -i "/build-programs=/s#no#yes#" configparms + echo "CFLAGS += -Wp,-D_FORTIFY_SOURCE=2" >> configparms + make -O + +} + +# Credits for skip_test() and check() @allanmcrae +# https://github.com/allanmcrae/toolchain/blob/f18604d70c5933c31b51a320978711e4e6791cf1/glibc/PKGBUILD +skip_test() { + test=$1 + file=$2 + sed -i "s/\b$test\b//" $srcdir/glibc/$file +} + +check() { + cd glibc-build + + # adjust/remove buildflags that cause false-positive testsuite failures + sed -i '/FORTIFY/d' configparms # failure to build testsuite + sed -i 's/-Werror=format-security/-Wformat-security/' config.make # failure to build testsuite + sed -i '/CFLAGS/s/-fno-plt//' config.make # 16 failures + sed -i '/CFLAGS/s/-fexceptions//' config.make # 1 failure + LDFLAGS=${LDFLAGS/,-z,now/} # 10 failures + + # The following tests fail due to restrictions in the Arch build system + # The correct fix is to add the following to the systemd-nspawn call: + # --capability=CAP_IPC_LOCK --system-call-filter="@clock @pkey" + skip_test test-errno-linux sysdeps/unix/sysv/linux/Makefile + skip_test tst-ntp_gettime sysdeps/unix/sysv/linux/Makefile + skip_test tst-ntp_gettimex sysdeps/unix/sysv/linux/Makefile + skip_test tst-mlock2 sysdeps/unix/sysv/linux/Makefile + skip_test tst-pkey sysdeps/unix/sysv/linux/Makefile + skip_test tst-adjtime time/Makefile + skip_test tst-clock2 time/Makefile + + make -O check +} + +package_glibc() { + pkgdesc='GNU C Library' + depends=('linux-api-headers>=4.10' tzdata filesystem) + optdepends=('gd: for memusagestat') + install=glibc.install + backup=(etc/gai.conf + etc/locale.gen + etc/nscd.conf) + + install -dm755 "$pkgdir/etc" + touch "$pkgdir/etc/ld.so.conf" + + make -C glibc-build install_root="$pkgdir" install + rm -f "$pkgdir"/etc/ld.so.{cache,conf} + + # Shipped in tzdata + rm -f "$pkgdir"/usr/bin/{tzselect,zdump,zic} + + cd glibc + + install -dm755 "$pkgdir"/usr/lib/{locale,systemd/system,tmpfiles.d} + install -m644 nscd/nscd.conf "$pkgdir/etc/nscd.conf" + install -m644 nscd/nscd.service "$pkgdir/usr/lib/systemd/system" + install -m644 nscd/nscd.tmpfiles "$pkgdir/usr/lib/tmpfiles.d/nscd.conf" + install -dm755 "$pkgdir/var/db/nscd" + + install -m644 posix/gai.conf "$pkgdir"/etc/gai.conf + + install -m755 "$srcdir/locale-gen" "$pkgdir/usr/bin" + + # Create /etc/locale.gen + install -m644 "$srcdir/locale.gen.txt" "$pkgdir/etc/locale.gen" + sed -e '1,3d' -e 's|/| |g' -e 's|\\| |g' -e 's|^|#|g' \ + "$srcdir/glibc/localedata/SUPPORTED" >> "$pkgdir/etc/locale.gen" + + if check_option 'debug' n; then + find "$pkgdir"/usr/bin -type f -executable -exec strip $STRIP_BINARIES {} + 2> /dev/null || true + find "$pkgdir"/usr/lib -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true + + # Do not strip these for gdb and valgrind functionality, but strip the rest + find "$pkgdir"/usr/lib \ + -not -name 'ld-*.so' \ + -not -name 'libc-*.so' \ + -not -name 'libpthread-*.so' \ + -not -name 'libthread_db-*.so' \ + -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true + fi + + # Provide tracing probes to libstdc++ for exceptions, possibly for other + # libraries too. Useful for gdb's catch command. + install -Dm644 "$srcdir/sdt.h" "$pkgdir/usr/include/sys/sdt.h" + install -Dm644 "$srcdir/sdt-config.h" "$pkgdir/usr/include/sys/sdt-config.h" + + # Provided by libxcrypt; keep the old shared library for backwards compatibility + rm -f "$pkgdir"/usr/include/crypt.h "$pkgdir"/usr/lib/libcrypt.{a,so} +} + +package_lib32-glibc() { + pkgdesc='GNU C Library (32-bit)' + depends=("glibc=$pkgver") + options+=('!emptydirs') + + cd lib32-glibc-build + + make install_root="$pkgdir" install + rm -rf "$pkgdir"/{etc,sbin,usr/{bin,sbin,share},var} + + # We need to keep 32 bit specific header files + find "$pkgdir/usr/include" -type f -not -name '*-32.h' -delete + + # Dynamic linker + install -d "$pkgdir/usr/lib" + ln -s ../lib32/ld-linux.so.2 "$pkgdir/usr/lib/" + + # Add lib32 paths to the default library search path + install -Dm644 "$srcdir/lib32-glibc.conf" "$pkgdir/etc/ld.so.conf.d/lib32-glibc.conf" + + # Symlink /usr/lib32/locale to /usr/lib/locale + ln -s ../lib/locale "$pkgdir/usr/lib32/locale" + + if check_option 'debug' n; then + find "$pkgdir"/usr/lib32 -name '*.a' -type f -exec strip $STRIP_STATIC {} + 2> /dev/null || true + find "$pkgdir"/usr/lib32 \ + -not -name 'ld-*.so' \ + -not -name 'libc-*.so' \ + -not -name 'libpthread-*.so' \ + -not -name 'libthread_db-*.so' \ + -name '*-*.so' -type f -exec strip $STRIP_SHARED {} + 2> /dev/null || true + fi + + # Provided by lib32-libxcrypt; keep the old shared library for backwards compatibility + rm -f "$pkgdir"/usr/lib32/libcrypt.{a,so} +} diff --git a/glibc/bz27343.patch b/glibc/bz27343.patch new file mode 100644 index 0000000..3db6a94 --- /dev/null +++ b/glibc/bz27343.patch @@ -0,0 +1,48 @@ +From c3479fb7939898ec22c655c383454d6e8b982a67 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich +Date: Fri, 5 Feb 2021 07:32:18 +0000 +Subject: [PATCH] nsswitch: return result when nss database is locked [BZ + #27343] + +Before the change nss_database_check_reload_and_get() did not populate +the '*result' value when it returned success in a case of chroot +detection. This caused initgroups() to use garage pointer in the +following test (extracted from unbound): + +``` + +int main() { + // load some NSS modules + struct passwd * pw = getpwnam("root"); + + chdir("/tmp"); + chroot("/tmp"); + chdir("/"); + // access nsswitch.conf in a chroot + initgroups("root", 0); +} +``` + +Reviewed-by: DJ Delorie +--- + nss/nss_database.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/nss/nss_database.c b/nss/nss_database.c +index cf0306adc4..e1bef6bd75 100644 +--- a/nss/nss_database.c ++++ b/nss/nss_database.c +@@ -398,8 +398,9 @@ nss_database_check_reload_and_get (struct nss_database_state *local, + && (str.st_ino != local->root_ino + || str.st_dev != local->root_dev))) + { +- /* Change detected; disable reloading. */ ++ /* Change detected; disable reloading and return current state. */ + atomic_store_release (&local->data.reload_disabled, 1); ++ *result = local->data.services[database_index]; + __libc_lock_unlock (local->lock); + __nss_module_disable_loading (); + return true; +-- +2.27.0 + diff --git a/glibc/clean b/glibc/clean new file mode 100644 index 0000000..3349a14 --- /dev/null +++ b/glibc/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*} diff --git a/glibc/deps b/glibc/deps new file mode 100644 index 0000000..6528fc9 --- /dev/null +++ b/glibc/deps @@ -0,0 +1,5 @@ +git +gd +lib32-gcc-libs +python +bison diff --git a/glibc/disable-clone3.diff b/glibc/disable-clone3.diff new file mode 100644 index 0000000..f3afb95 --- /dev/null +++ b/glibc/disable-clone3.diff @@ -0,0 +1,22 @@ +diff --git a/sysdeps/unix/sysv/linux/clone-internal.c b/sysdeps/unix/sysv/linux/clone-internal.c +index 1e7a8f6b35..4046c81180 100644 +--- a/sysdeps/unix/sysv/linux/clone-internal.c ++++ b/sysdeps/unix/sysv/linux/clone-internal.c +@@ -48,17 +48,6 @@ __clone_internal (struct clone_args *cl_args, + int (*func) (void *arg), void *arg) + { + int ret; +-#ifdef HAVE_CLONE3_WRAPPER +- /* Try clone3 first. */ +- int saved_errno = errno; +- ret = __clone3 (cl_args, sizeof (*cl_args), func, arg); +- if (ret != -1 || errno != ENOSYS) +- return ret; +- +- /* NB: Restore errno since errno may be checked against non-zero +- return value. */ +- __set_errno (saved_errno); +-#endif + + /* Map clone3 arguments to clone arguments. NB: No need to check + invalid clone3 specific bits in flags nor exit_signal since this diff --git a/glibc/glibc.install b/glibc/glibc.install new file mode 100644 index 0000000..351f05b --- /dev/null +++ b/glibc/glibc.install @@ -0,0 +1,5 @@ +post_upgrade() { + locale-gen + + ldconfig -r . +} diff --git a/glibc/key b/glibc/key new file mode 100644 index 0000000..01be36a --- /dev/null +++ b/glibc/key @@ -0,0 +1 @@ +gpg -v --recv-key 16792B4EA25340F8 diff --git a/glibc/lib32-glibc.conf b/glibc/lib32-glibc.conf new file mode 100644 index 0000000..9b08c3f --- /dev/null +++ b/glibc/lib32-glibc.conf @@ -0,0 +1 @@ +/usr/lib32 diff --git a/glibc/locale-gen b/glibc/locale-gen new file mode 100755 index 0000000..5aff344 --- /dev/null +++ b/glibc/locale-gen @@ -0,0 +1,42 @@ +#!/bin/sh + +set -e + +LOCALEGEN=/etc/locale.gen +LOCALES=/usr/share/i18n/locales +if [ -n "$POSIXLY_CORRECT" ]; then + unset POSIXLY_CORRECT +fi + + +[ -f $LOCALEGEN -a -s $LOCALEGEN ] || exit 0; + +# Remove all old locale dir and locale-archive before generating new +# locale data. +rm -rf /usr/lib/locale/* || true + +umask 022 + +is_entry_ok() { + if [ -n "$locale" -a -n "$charset" ] ; then + true + else + echo "error: Bad entry '$locale $charset'" + false + fi +} + +echo "Generating locales..." +while read locale charset; do \ + case $locale in \#*) continue;; "") continue;; esac; \ + is_entry_ok || continue + echo -n " `echo $locale | sed 's/\([^.\@]*\).*/\1/'`"; \ + echo -n ".$charset"; \ + echo -n `echo $locale | sed 's/\([^\@]*\)\(\@.*\)*/\2/'`; \ + echo -n '...'; \ + if [ -f $LOCALES/$locale ]; then input=$locale; else \ + input=`echo $locale | sed 's/\([^.]*\)[^@]*\(.*\)/\1\2/'`; fi; \ + localedef -i $input -c -f $charset -A /usr/share/locale/locale.alias $locale; \ + echo ' done'; \ +done < $LOCALEGEN +echo "Generation complete." diff --git a/glibc/locale.gen.txt b/glibc/locale.gen.txt new file mode 100644 index 0000000..ccdd817 --- /dev/null +++ b/glibc/locale.gen.txt @@ -0,0 +1,23 @@ +# Configuration file for locale-gen +# +# lists of locales that are to be generated by the locale-gen command. +# +# Each line is of the form: +# +# +# +# where is one of the locales given in /usr/share/i18n/locales +# and is one of the character sets listed in /usr/share/i18n/charmaps +# +# Examples: +# en_US ISO-8859-1 +# en_US.UTF-8 UTF-8 +# de_DE ISO-8859-1 +# de_DE@euro ISO-8859-15 +# +# The locale-gen command will generate all the locales, +# placing them in /usr/lib/locale. +# +# A list of supported locales is included in this file. +# Uncomment the ones you need. +# diff --git a/glibc/sdt-config.h b/glibc/sdt-config.h new file mode 100644 index 0000000..733045a --- /dev/null +++ b/glibc/sdt-config.h @@ -0,0 +1,6 @@ +/* includes/sys/sdt-config.h. Generated from sdt-config.h.in by configure. + + This file just defines _SDT_ASM_SECTION_AUTOGROUP_SUPPORT to 0 or 1 to + indicate whether the assembler supports "?" in .pushsection directives. */ + +#define _SDT_ASM_SECTION_AUTOGROUP_SUPPORT 1 diff --git a/glibc/sdt.h b/glibc/sdt.h new file mode 100644 index 0000000..c0c5a49 --- /dev/null +++ b/glibc/sdt.h @@ -0,0 +1,430 @@ +/* - Systemtap static probe definition macros. + + This file is dedicated to the public domain, pursuant to CC0 + (https://creativecommons.org/publicdomain/zero/1.0/) +*/ + +#ifndef _SYS_SDT_H +#define _SYS_SDT_H 1 + +/* + This file defines a family of macros + + STAP_PROBEn(op1, ..., opn) + + that emit a nop into the instruction stream, and some data into an auxiliary + note section. The data in the note section describes the operands, in terms + of size and location. Each location is encoded as assembler operand string. + Consumer tools such as gdb or systemtap insert breakpoints on top of + the nop, and decode the location operand-strings, like an assembler, + to find the values being passed. + + The operand strings are selected by the compiler for each operand. + They are constrained by gcc inline-assembler codes. The default is: + + #define STAP_SDT_ARG_CONSTRAINT nor + + This is a good default if the operands tend to be integral and + moderate in number (smaller than number of registers). In other + cases, the compiler may report "'asm' requires impossible reload" or + similar. In this case, consider simplifying the macro call (fewer + and simpler operands), reduce optimization, or override the default + constraints string via: + + #define STAP_SDT_ARG_CONSTRAINT g + #include + + See also: + https://sourceware.org/systemtap/wiki/UserSpaceProbeImplementation + https://gcc.gnu.org/onlinedocs/gcc/Constraints.html + */ + + + +#ifdef __ASSEMBLER__ +# define _SDT_PROBE(provider, name, n, arglist) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING_1, (_SDT_DEPAREN_##n arglist)) \ + _SDT_ASM_BASE +# define _SDT_ASM_1(x) x; +# define _SDT_ASM_2(a, b) a,b; +# define _SDT_ASM_3(a, b, c) a,b,c; +# define _SDT_ASM_5(a, b, c, d, e) a,b,c,d,e; +# define _SDT_ASM_STRING_1(x) .asciz #x; +# define _SDT_DEPAREN_0() /* empty */ +# define _SDT_DEPAREN_1(a) a +# define _SDT_DEPAREN_2(a,b) a b +# define _SDT_DEPAREN_3(a,b,c) a b c +# define _SDT_DEPAREN_4(a,b,c,d) a b c d +# define _SDT_DEPAREN_5(a,b,c,d,e) a b c d e +# define _SDT_DEPAREN_6(a,b,c,d,e,f) a b c d e f +# define _SDT_DEPAREN_7(a,b,c,d,e,f,g) a b c d e f g +# define _SDT_DEPAREN_8(a,b,c,d,e,f,g,h) a b c d e f g h +# define _SDT_DEPAREN_9(a,b,c,d,e,f,g,h,i) a b c d e f g h i +# define _SDT_DEPAREN_10(a,b,c,d,e,f,g,h,i,j) a b c d e f g h i j +# define _SDT_DEPAREN_11(a,b,c,d,e,f,g,h,i,j,k) a b c d e f g h i j k +# define _SDT_DEPAREN_12(a,b,c,d,e,f,g,h,i,j,k,l) a b c d e f g h i j k l +#else +# define _SDT_PROBE(provider, name, n, arglist) \ + do { \ + __asm__ __volatile__ (_SDT_ASM_BODY(provider, name, _SDT_ASM_ARGS, (n)) \ + :: _SDT_ASM_OPERANDS_##n arglist); \ + __asm__ __volatile__ (_SDT_ASM_BASE); \ + } while (0) +# define _SDT_S(x) #x +# define _SDT_ASM_1(x) _SDT_S(x) "\n" +# define _SDT_ASM_2(a, b) _SDT_S(a) "," _SDT_S(b) "\n" +# define _SDT_ASM_3(a, b, c) _SDT_S(a) "," _SDT_S(b) "," \ + _SDT_S(c) "\n" +# define _SDT_ASM_5(a, b, c, d, e) _SDT_S(a) "," _SDT_S(b) "," \ + _SDT_S(c) "," _SDT_S(d) "," \ + _SDT_S(e) "\n" +# define _SDT_ASM_ARGS(n) _SDT_ASM_STRING(_SDT_ASM_TEMPLATE_##n) +# define _SDT_ASM_STRING_1(x) _SDT_ASM_1(.asciz #x) + +# define _SDT_ARGFMT(no) %n[_SDT_S##no]@_SDT_ARGTMPL(_SDT_A##no) + +# ifndef STAP_SDT_ARG_CONSTRAINT +# if defined __powerpc__ +# define STAP_SDT_ARG_CONSTRAINT nZr +# else +# define STAP_SDT_ARG_CONSTRAINT nor +# endif +# endif + +# define _SDT_STRINGIFY(x) #x +# define _SDT_ARG_CONSTRAINT_STRING(x) _SDT_STRINGIFY(x) +# define _SDT_ARG(n, x) \ + [_SDT_S##n] "n" ((_SDT_ARGSIGNED (x) ? 1 : -1) * (int) _SDT_ARGSIZE (x)), \ + [_SDT_A##n] _SDT_ARG_CONSTRAINT_STRING (STAP_SDT_ARG_CONSTRAINT) (_SDT_ARGVAL (x)) +#endif +#define _SDT_ASM_STRING(x) _SDT_ASM_STRING_1(x) + +#define _SDT_ARGARRAY(x) (__builtin_classify_type (x) == 14 \ + || __builtin_classify_type (x) == 5) + +#ifdef __cplusplus +# define _SDT_ARGSIGNED(x) (!_SDT_ARGARRAY (x) \ + && __sdt_type<__typeof (x)>::__sdt_signed) +# define _SDT_ARGSIZE(x) (_SDT_ARGARRAY (x) \ + ? sizeof (void *) : sizeof (x)) +# define _SDT_ARGVAL(x) (x) + +# include + +template +struct __sdt_type +{ + static const bool __sdt_signed = false; +}; + +#define __SDT_ALWAYS_SIGNED(T) \ +template<> struct __sdt_type { static const bool __sdt_signed = true; }; +#define __SDT_COND_SIGNED(T,CT) \ +template<> struct __sdt_type { static const bool __sdt_signed = ((CT)(-1) < 1); }; +__SDT_ALWAYS_SIGNED(signed char) +__SDT_ALWAYS_SIGNED(short) +__SDT_ALWAYS_SIGNED(int) +__SDT_ALWAYS_SIGNED(long) +__SDT_ALWAYS_SIGNED(long long) +__SDT_ALWAYS_SIGNED(volatile signed char) +__SDT_ALWAYS_SIGNED(volatile short) +__SDT_ALWAYS_SIGNED(volatile int) +__SDT_ALWAYS_SIGNED(volatile long) +__SDT_ALWAYS_SIGNED(volatile long long) +__SDT_ALWAYS_SIGNED(const signed char) +__SDT_ALWAYS_SIGNED(const short) +__SDT_ALWAYS_SIGNED(const int) +__SDT_ALWAYS_SIGNED(const long) +__SDT_ALWAYS_SIGNED(const long long) +__SDT_ALWAYS_SIGNED(const volatile signed char) +__SDT_ALWAYS_SIGNED(const volatile short) +__SDT_ALWAYS_SIGNED(const volatile int) +__SDT_ALWAYS_SIGNED(const volatile long) +__SDT_ALWAYS_SIGNED(const volatile long long) +__SDT_COND_SIGNED(char, char) +__SDT_COND_SIGNED(wchar_t, wchar_t) +__SDT_COND_SIGNED(volatile char, char) +__SDT_COND_SIGNED(volatile wchar_t, wchar_t) +__SDT_COND_SIGNED(const char, char) +__SDT_COND_SIGNED(const wchar_t, wchar_t) +__SDT_COND_SIGNED(const volatile char, char) +__SDT_COND_SIGNED(const volatile wchar_t, wchar_t) +#if defined (__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) +/* __SDT_COND_SIGNED(char16_t) */ +/* __SDT_COND_SIGNED(char32_t) */ +#endif + +template +struct __sdt_type<__sdt_E[]> : public __sdt_type<__sdt_E *> {}; + +template +struct __sdt_type<__sdt_E[__sdt_N]> : public __sdt_type<__sdt_E *> {}; + +#elif !defined(__ASSEMBLER__) +__extension__ extern unsigned long long __sdt_unsp; +# define _SDT_ARGINTTYPE(x) \ + __typeof (__builtin_choose_expr (((__builtin_classify_type (x) \ + + 3) & -4) == 4, (x), 0U)) +# define _SDT_ARGSIGNED(x) \ + (!__extension__ \ + (__builtin_constant_p ((((unsigned long long) \ + (_SDT_ARGINTTYPE (x)) __sdt_unsp) \ + & ((unsigned long long)1 << (sizeof (unsigned long long) \ + * __CHAR_BIT__ - 1))) == 0) \ + || (_SDT_ARGINTTYPE (x)) -1 > (_SDT_ARGINTTYPE (x)) 0)) +# define _SDT_ARGSIZE(x) \ + (_SDT_ARGARRAY (x) ? sizeof (void *) : sizeof (x)) +# define _SDT_ARGVAL(x) (x) +#endif + +#if defined __powerpc__ || defined __powerpc64__ +# define _SDT_ARGTMPL(id) %I[id]%[id] +#elif defined __i386__ +# define _SDT_ARGTMPL(id) %w[id] /* gcc.gnu.org/PR80115 */ +#else +# define _SDT_ARGTMPL(id) %[id] +#endif + +#ifdef __LP64__ +# define _SDT_ASM_ADDR .8byte +#else +# define _SDT_ASM_ADDR .4byte +#endif + +/* The ia64 and s390 nop instructions take an argument. */ +#if defined(__ia64__) || defined(__s390__) || defined(__s390x__) +#define _SDT_NOP nop 0 +#else +#define _SDT_NOP nop +#endif + +#define _SDT_NOTE_NAME "stapsdt" +#define _SDT_NOTE_TYPE 3 + +/* If the assembler supports the necessary feature, then we can play + nice with code in COMDAT sections, which comes up in C++ code. + Without that assembler support, some combinations of probe placements + in certain kinds of C++ code may produce link-time errors. */ +#include "sdt-config.h" +#if _SDT_ASM_SECTION_AUTOGROUP_SUPPORT +# define _SDT_ASM_AUTOGROUP "?" +#else +# define _SDT_ASM_AUTOGROUP "" +#endif + +#define _SDT_ASM_BODY(provider, name, pack_args, args) \ + _SDT_ASM_1(990: _SDT_NOP) \ + _SDT_ASM_3( .pushsection .note.stapsdt,_SDT_ASM_AUTOGROUP,"note") \ + _SDT_ASM_1( .balign 4) \ + _SDT_ASM_3( .4byte 992f-991f, 994f-993f, _SDT_NOTE_TYPE) \ + _SDT_ASM_1(991: .asciz _SDT_NOTE_NAME) \ + _SDT_ASM_1(992: .balign 4) \ + _SDT_ASM_1(993: _SDT_ASM_ADDR 990b) \ + _SDT_ASM_1( _SDT_ASM_ADDR _.stapsdt.base) \ + _SDT_SEMAPHORE(provider,name) \ + _SDT_ASM_STRING(provider) \ + _SDT_ASM_STRING(name) \ + pack_args args \ + _SDT_ASM_1(994: .balign 4) \ + _SDT_ASM_1( .popsection) + +#define _SDT_ASM_BASE \ + _SDT_ASM_1(.ifndef _.stapsdt.base) \ + _SDT_ASM_5( .pushsection .stapsdt.base,"aG","progbits", \ + .stapsdt.base,comdat) \ + _SDT_ASM_1( .weak _.stapsdt.base) \ + _SDT_ASM_1( .hidden _.stapsdt.base) \ + _SDT_ASM_1( _.stapsdt.base: .space 1) \ + _SDT_ASM_2( .size _.stapsdt.base, 1) \ + _SDT_ASM_1( .popsection) \ + _SDT_ASM_1(.endif) + +#if defined _SDT_HAS_SEMAPHORES +#define _SDT_SEMAPHORE(p,n) _SDT_ASM_1( _SDT_ASM_ADDR p##_##n##_semaphore) +#else +#define _SDT_SEMAPHORE(p,n) _SDT_ASM_1( _SDT_ASM_ADDR 0) +#endif + +#define _SDT_ASM_TEMPLATE_0 /* no arguments */ +#define _SDT_ASM_TEMPLATE_1 _SDT_ARGFMT(1) +#define _SDT_ASM_TEMPLATE_2 _SDT_ASM_TEMPLATE_1 _SDT_ARGFMT(2) +#define _SDT_ASM_TEMPLATE_3 _SDT_ASM_TEMPLATE_2 _SDT_ARGFMT(3) +#define _SDT_ASM_TEMPLATE_4 _SDT_ASM_TEMPLATE_3 _SDT_ARGFMT(4) +#define _SDT_ASM_TEMPLATE_5 _SDT_ASM_TEMPLATE_4 _SDT_ARGFMT(5) +#define _SDT_ASM_TEMPLATE_6 _SDT_ASM_TEMPLATE_5 _SDT_ARGFMT(6) +#define _SDT_ASM_TEMPLATE_7 _SDT_ASM_TEMPLATE_6 _SDT_ARGFMT(7) +#define _SDT_ASM_TEMPLATE_8 _SDT_ASM_TEMPLATE_7 _SDT_ARGFMT(8) +#define _SDT_ASM_TEMPLATE_9 _SDT_ASM_TEMPLATE_8 _SDT_ARGFMT(9) +#define _SDT_ASM_TEMPLATE_10 _SDT_ASM_TEMPLATE_9 _SDT_ARGFMT(10) +#define _SDT_ASM_TEMPLATE_11 _SDT_ASM_TEMPLATE_10 _SDT_ARGFMT(11) +#define _SDT_ASM_TEMPLATE_12 _SDT_ASM_TEMPLATE_11 _SDT_ARGFMT(12) +#define _SDT_ASM_OPERANDS_0() [__sdt_dummy] "g" (0) +#define _SDT_ASM_OPERANDS_1(arg1) _SDT_ARG(1, arg1) +#define _SDT_ASM_OPERANDS_2(arg1, arg2) \ + _SDT_ASM_OPERANDS_1(arg1), _SDT_ARG(2, arg2) +#define _SDT_ASM_OPERANDS_3(arg1, arg2, arg3) \ + _SDT_ASM_OPERANDS_2(arg1, arg2), _SDT_ARG(3, arg3) +#define _SDT_ASM_OPERANDS_4(arg1, arg2, arg3, arg4) \ + _SDT_ASM_OPERANDS_3(arg1, arg2, arg3), _SDT_ARG(4, arg4) +#define _SDT_ASM_OPERANDS_5(arg1, arg2, arg3, arg4, arg5) \ + _SDT_ASM_OPERANDS_4(arg1, arg2, arg3, arg4), _SDT_ARG(5, arg5) +#define _SDT_ASM_OPERANDS_6(arg1, arg2, arg3, arg4, arg5, arg6) \ + _SDT_ASM_OPERANDS_5(arg1, arg2, arg3, arg4, arg5), _SDT_ARG(6, arg6) +#define _SDT_ASM_OPERANDS_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ + _SDT_ASM_OPERANDS_6(arg1, arg2, arg3, arg4, arg5, arg6), _SDT_ARG(7, arg7) +#define _SDT_ASM_OPERANDS_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ + _SDT_ASM_OPERANDS_7(arg1, arg2, arg3, arg4, arg5, arg6, arg7), \ + _SDT_ARG(8, arg8) +#define _SDT_ASM_OPERANDS_9(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9) \ + _SDT_ASM_OPERANDS_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8), \ + _SDT_ARG(9, arg9) +#define _SDT_ASM_OPERANDS_10(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) \ + _SDT_ASM_OPERANDS_9(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9), \ + _SDT_ARG(10, arg10) +#define _SDT_ASM_OPERANDS_11(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) \ + _SDT_ASM_OPERANDS_10(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10), \ + _SDT_ARG(11, arg11) +#define _SDT_ASM_OPERANDS_12(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) \ + _SDT_ASM_OPERANDS_11(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11), \ + _SDT_ARG(12, arg12) + +/* These macros can be used in C, C++, or assembly code. + In assembly code the arguments should use normal assembly operand syntax. */ + +#define STAP_PROBE(provider, name) \ + _SDT_PROBE(provider, name, 0, ()) +#define STAP_PROBE1(provider, name, arg1) \ + _SDT_PROBE(provider, name, 1, (arg1)) +#define STAP_PROBE2(provider, name, arg1, arg2) \ + _SDT_PROBE(provider, name, 2, (arg1, arg2)) +#define STAP_PROBE3(provider, name, arg1, arg2, arg3) \ + _SDT_PROBE(provider, name, 3, (arg1, arg2, arg3)) +#define STAP_PROBE4(provider, name, arg1, arg2, arg3, arg4) \ + _SDT_PROBE(provider, name, 4, (arg1, arg2, arg3, arg4)) +#define STAP_PROBE5(provider, name, arg1, arg2, arg3, arg4, arg5) \ + _SDT_PROBE(provider, name, 5, (arg1, arg2, arg3, arg4, arg5)) +#define STAP_PROBE6(provider, name, arg1, arg2, arg3, arg4, arg5, arg6) \ + _SDT_PROBE(provider, name, 6, (arg1, arg2, arg3, arg4, arg5, arg6)) +#define STAP_PROBE7(provider, name, arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ + _SDT_PROBE(provider, name, 7, (arg1, arg2, arg3, arg4, arg5, arg6, arg7)) +#define STAP_PROBE8(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8) \ + _SDT_PROBE(provider, name, 8, (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)) +#define STAP_PROBE9(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)\ + _SDT_PROBE(provider, name, 9, (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)) +#define STAP_PROBE10(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10) \ + _SDT_PROBE(provider, name, 10, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)) +#define STAP_PROBE11(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11) \ + _SDT_PROBE(provider, name, 11, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)) +#define STAP_PROBE12(provider,name,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12) \ + _SDT_PROBE(provider, name, 12, \ + (arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)) + +/* This STAP_PROBEV macro can be used in variadic scenarios, where the + number of probe arguments is not known until compile time. Since + variadic macro support may vary with compiler options, you must + pre-#define SDT_USE_VARIADIC to enable this type of probe. + + The trick to count __VA_ARGS__ was inspired by this post by + Laurent Deniau : + http://groups.google.com/group/comp.std.c/msg/346fc464319b1ee5 + + Note that our _SDT_NARG is called with an extra 0 arg that's not + counted, so we don't have to worry about the behavior of macros + called without any arguments. */ + +#ifdef SDT_USE_VARIADIC +#define _SDT_NARG(...) __SDT_NARG(__VA_ARGS__, 12,11,10,9,8,7,6,5,4,3,2,1,0) +#define __SDT_NARG(_0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12, N, ...) N +#define _SDT_PROBE_N(provider, name, N, ...) \ + _SDT_PROBE(provider, name, N, (__VA_ARGS__)) +#define STAP_PROBEV(provider, name, ...) \ + _SDT_PROBE_N(provider, name, _SDT_NARG(0, ##__VA_ARGS__), ##__VA_ARGS__) +#endif + +/* These macros are for use in asm statements. You must compile + with -std=gnu99 or -std=c99 to use the STAP_PROBE_ASM macro. + + The STAP_PROBE_ASM macro generates a quoted string to be used in the + template portion of the asm statement, concatenated with strings that + contain the actual assembly code around the probe site. + + For example: + + asm ("before\n" + STAP_PROBE_ASM(provider, fooprobe, %eax 4(%esi)) + "after"); + + emits the assembly code for "before\nafter", with a probe in between. + The probe arguments are the %eax register, and the value of the memory + word located 4 bytes past the address in the %esi register. Note that + because this is a simple asm, not a GNU C extended asm statement, these + % characters do not need to be doubled to generate literal %reg names. + + In a GNU C extended asm statement, the probe arguments can be specified + using the macro STAP_PROBE_ASM_TEMPLATE(n) for n arguments. The paired + macro STAP_PROBE_ASM_OPERANDS gives the C values of these probe arguments, + and appears in the input operand list of the asm statement. For example: + + asm ("someinsn %0,%1\n" // %0 is output operand, %1 is input operand + STAP_PROBE_ASM(provider, fooprobe, STAP_PROBE_ASM_TEMPLATE(3)) + "otherinsn %[namedarg]" + : "r" (outvar) + : "g" (some_value), [namedarg] "i" (1234), + STAP_PROBE_ASM_OPERANDS(3, some_value, some_ptr->field, 1234)); + + This is just like writing: + + STAP_PROBE3(provider, fooprobe, some_value, some_ptr->field, 1234)); + + but the probe site is right between "someinsn" and "otherinsn". + + The probe arguments in STAP_PROBE_ASM can be given as assembly + operands instead, even inside a GNU C extended asm statement. + Note that these can use operand templates like %0 or %[name], + and likewise they must write %%reg for a literal operand of %reg. */ + +#if __STDC_VERSION__ >= 199901L +# define STAP_PROBE_ASM(provider, name, ...) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING, (__VA_ARGS__)) \ + _SDT_ASM_BASE +# define STAP_PROBE_ASM_OPERANDS(n, ...) _SDT_ASM_OPERANDS_##n(__VA_ARGS__) +#else +# define STAP_PROBE_ASM(provider, name, args) \ + _SDT_ASM_BODY(provider, name, _SDT_ASM_STRING, (args)) \ + _SDT_ASM_BASE +#endif +#define STAP_PROBE_ASM_TEMPLATE(n) _SDT_ASM_TEMPLATE_##n + + +/* DTrace compatible macro names. */ +#define DTRACE_PROBE(provider,probe) \ + STAP_PROBE(provider,probe) +#define DTRACE_PROBE1(provider,probe,parm1) \ + STAP_PROBE1(provider,probe,parm1) +#define DTRACE_PROBE2(provider,probe,parm1,parm2) \ + STAP_PROBE2(provider,probe,parm1,parm2) +#define DTRACE_PROBE3(provider,probe,parm1,parm2,parm3) \ + STAP_PROBE3(provider,probe,parm1,parm2,parm3) +#define DTRACE_PROBE4(provider,probe,parm1,parm2,parm3,parm4) \ + STAP_PROBE4(provider,probe,parm1,parm2,parm3,parm4) +#define DTRACE_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) \ + STAP_PROBE5(provider,probe,parm1,parm2,parm3,parm4,parm5) +#define DTRACE_PROBE6(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6) \ + STAP_PROBE6(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6) +#define DTRACE_PROBE7(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7) \ + STAP_PROBE7(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7) +#define DTRACE_PROBE8(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) \ + STAP_PROBE8(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8) +#define DTRACE_PROBE9(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) \ + STAP_PROBE9(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9) +#define DTRACE_PROBE10(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) \ + STAP_PROBE10(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10) +#define DTRACE_PROBE11(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11) \ + STAP_PROBE11(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11) +#define DTRACE_PROBE12(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11,parm12) \ + STAP_PROBE12(provider,probe,parm1,parm2,parm3,parm4,parm5,parm6,parm7,parm8,parm9,parm10,parm11,parm12) + + +#endif /* sys/sdt.h */ diff --git a/glibc/time b/glibc/time new file mode 100644 index 0000000..d28e373 --- /dev/null +++ b/glibc/time @@ -0,0 +1,8 @@ +With the checks uncommented it takes about 4 4.5 hours so be prepared. +As far as I know it will not make much of a difference. The reason Arch produces all those +patches is to minimize fails, but a month or two from now (Feb 11th 2022) if you rebuilt it you will get more failed tests ... it is the nature of the beast. The previous version couldn't built at all for the past 4 months that several of us tried in verious machines and environments. + + +real 13m22.248s +user 32m45.590s +sys 4m53.424s diff --git a/gmp/PKGBUILD b/gmp/PKGBUILD new file mode 100644 index 0000000..24db944 --- /dev/null +++ b/gmp/PKGBUILD @@ -0,0 +1,46 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gmp +pkgver=6.2.1 +pkgrel=01 +pkgdesc='A free library for arbitrary precision arithmetic' +arch=(x86_64) +url='https://gmplib.org/' +depends=(gcc-libs sh) +source=(https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz{,.sig}) + +build() { + cd $pkgname-$pkgver + + ./configure --build=${CHOST} \ + --prefix=/usr \ + --enable-cxx \ + --enable-fat + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL3 GPL) + +validpgpkeys=('343C2FF0FBEE5EC2EDBEF399F3599FF828C67298') # Niels Möller + +md5sums=('03a31d8cbaf29d136252f8f38875ed82' + 'SKIP') + +sha256sums=(2c7f4f0d370801b2849c48c9ef3f59553b5f1d3791d070cffb04599f9fc67b41 # gmp-6.2.1.tar.lz + 1e01bee28a3ac6ccce3d7b91eaa62c07f43f572565729ed0e0c50948b81c2b14) # gmp-6.2.1.tar.lz.sig diff --git a/gmp/PKGBUILD-arch b/gmp/PKGBUILD-arch new file mode 100644 index 0000000..2c1c1a6 --- /dev/null +++ b/gmp/PKGBUILD-arch @@ -0,0 +1,35 @@ +# Maintainer: Allan McRae +# Contributer: Jan de Groot + +pkgname=gmp +pkgver=6.2.1 +pkgrel=1 +pkgdesc='A free library for arbitrary precision arithmetic' +arch=(x86_64) +url='https://gmplib.org/' +depends=(gcc-libs sh) +license=(LGPL3 GPL) +source=(https://gmplib.org/download/gmp/gmp-$pkgver.tar.lz{,.sig}) +md5sums=('03a31d8cbaf29d136252f8f38875ed82' + 'SKIP') +validpgpkeys=('343C2FF0FBEE5EC2EDBEF399F3599FF828C67298') # Niels Möller + +build() { + cd $pkgname-$pkgver + + ./configure --build=${CHOST} \ + --prefix=/usr \ + --enable-cxx \ + --enable-fat + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="${pkgdir}" install +} diff --git a/gmp/clean b/gmp/clean new file mode 100644 index 0000000..95b41d3 --- /dev/null +++ b/gmp/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.lz*} diff --git a/gmp/deps b/gmp/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/gmp/deps @@ -0,0 +1 @@ + diff --git a/gmp/key b/gmp/key new file mode 100644 index 0000000..900a6c6 --- /dev/null +++ b/gmp/key @@ -0,0 +1 @@ +gpg -v --recv-key F3599FF828C67298 diff --git a/gmp/time b/gmp/time new file mode 100644 index 0000000..a447e6f --- /dev/null +++ b/gmp/time @@ -0,0 +1,3 @@ +real 1m41.039s +user 5m8.967s +sys 0m22.200s diff --git a/gnupg/PKGBUILD b/gnupg/PKGBUILD new file mode 100644 index 0000000..7519faf --- /dev/null +++ b/gnupg/PKGBUILD @@ -0,0 +1,81 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gnupg +pkgver=2.2.32 +pkgrel=02 +pkgdesc='Complete and free implementation of the OpenPGP standard w/o systemd' +url='https://www.gnupg.org/' +arch=('x86_64') +checkdepends=('openssh') +makedepends=('libldap' 'libusb-compat' 'pcsclite' 'automake' 'autoconf' 'gettext') + +depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan' 'pinentry' + 'bzip2' 'libbz2.so' 'readline' 'libreadline.so' 'gnutls' 'sqlite' + 'zlib' 'glibc') +optdepends=('libldap: gpg2keys_ldap' + 'libusb-compat: scdaemon' + 'pcsclite: scdaemon') + +source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig} + 'drop-import-clean.patch' + 'avoid-beta-warning.patch') + +install=install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../avoid-beta-warning.patch + patch -p1 -i ../drop-import-clean.patch + + # improve reproducibility + rm doc/gnupg.info* + + ./autogen.sh +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/gnupg \ + --enable-maintainer-mode \ + + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + ln -s gpg "${pkgdir}"/usr/bin/gpg2 + ln -s gpgv "${pkgdir}"/usr/bin/gpgv2 + + install -Dm 644 doc/examples/systemd-user/*.* -t "${pkgdir}/usr/lib/systemd/user" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=( + 'D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch (dist sig) + '031EC2536E580D8EA286A9F22071B08A33BD3F06' # NIIBE Yutaka (GnuPG Release Key) + '5B80C5754298F0CB55D8ED6ABCEF7E294B092E28' # Andre Heinecke (Release Signing Key) + '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) +) + +sha256sums=(b2571b35f82c63e7d278aa6a1add0d73453dc14d3f0854be490c844fca7e0614 # gnupg-2.2.32.tar.bz2 + 475e10488f9868f2e03e386929fa2c4d9f14777312ed104fd6958991c33ebe9a # gnupg-2.2.32.tar.bz2.sig + 02d375f0045f56f7dd82bacdb5ce559afd52ded8b75f6b2673c39ec666e81abc # drop-import-clean.patch + 22fdf9490fad477f225e731c417867d9e7571ac654944e8be63a1fbaccd5c62d) # avoid-beta-warning.patch diff --git a/gnupg/PKGBUILD-arch.new b/gnupg/PKGBUILD-arch.new new file mode 100644 index 0000000..824cfe8 --- /dev/null +++ b/gnupg/PKGBUILD-arch.new @@ -0,0 +1,76 @@ +# Maintainer: Levente Polyak +# Maintainer: Lukas Fleischer +# Contributor: Gaetan Bisson +# Contributor: Tobias Powalowski +# Contributor: Andreas Radke +# Contributor: Judd Vinet + +pkgname=gnupg +pkgver=2.2.32 +pkgrel=2 +pkgdesc='Complete and free implementation of the OpenPGP standard' +url='https://www.gnupg.org/' +license=('GPL') +arch=('x86_64') +checkdepends=('openssh') +makedepends=('libldap' 'libusb-compat' 'pcsclite') +depends=('npth' 'libgpg-error' 'libgcrypt' 'libksba' 'libassuan' 'pinentry' + 'bzip2' 'libbz2.so' 'readline' 'libreadline.so' 'gnutls' 'sqlite' + 'zlib' 'glibc') +optdepends=('libldap: gpg2keys_ldap' + 'libusb-compat: scdaemon' + 'pcsclite: scdaemon') +validpgpkeys=( + 'D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch (dist sig) + '031EC2536E580D8EA286A9F22071B08A33BD3F06' # NIIBE Yutaka (GnuPG Release Key) + '5B80C5754298F0CB55D8ED6ABCEF7E294B092E28' # Andre Heinecke (Release Signing Key) + '6DAA6E64A76D2840571B4902528897B826403ADA' # Werner Koch (dist signing 2020) +) +source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig} + 'drop-import-clean.patch' + 'avoid-beta-warning.patch') +sha256sums=('b2571b35f82c63e7d278aa6a1add0d73453dc14d3f0854be490c844fca7e0614' + 'SKIP' + '02d375f0045f56f7dd82bacdb5ce559afd52ded8b75f6b2673c39ec666e81abc' + '22fdf9490fad477f225e731c417867d9e7571ac654944e8be63a1fbaccd5c62d') + +install=install + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i ../avoid-beta-warning.patch + patch -p1 -i ../drop-import-clean.patch + + # improve reproducibility + rm doc/gnupg.info* + + ./autogen.sh +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/gnupg \ + --enable-maintainer-mode \ + + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + ln -s gpg "${pkgdir}"/usr/bin/gpg2 + ln -s gpgv "${pkgdir}"/usr/bin/gpgv2 + + install -Dm 644 doc/examples/systemd-user/*.* -t "${pkgdir}/usr/lib/systemd/user" +} + +# vim: ts=2 sw=2 noet: diff --git a/gnupg/avoid-beta-warning.patch b/gnupg/avoid-beta-warning.patch new file mode 100644 index 0000000..569fc09 --- /dev/null +++ b/gnupg/avoid-beta-warning.patch @@ -0,0 +1,56 @@ +From 114ab3037de3b0f9b35cf023b64c8a9b76070065 Mon Sep 17 00:00:00 2001 +From: Debian GnuPG Maintainers +Date: Tue, 14 Apr 2015 10:02:31 -0400 +Subject: [PATCH 6/7] avoid beta warning + +avoid self-describing as a beta + +Using autoreconf against the source as distributed in tarball form +invariably results in a package that thinks it's a "beta" package, +which produces the "THIS IS A DEVELOPMENT VERSION" warning string. + +since we use dh_autoreconf, i need this patch to avoid producing +builds that announce themselves as DEVELOPMENT VERSIONs. + +See discussion at: + + http://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029065.html +--- + autogen.sh | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/autogen.sh b/autogen.sh +index b23855061..9b86d3ff9 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -229,24 +229,24 @@ if [ "$myhost" = "find-version" ]; then + esac + + beta=no +- if [ -e .git ]; then ++ if false; then + ingit=yes + tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) + tmp=$(echo "$tmp" | sed s/^"$package"//) + if [ -n "$tmp" ]; then + tmp=$(echo "$tmp" | sed s/^"$package"// \ + | awk -F- '$3!=0 && $3 !~ /^beta/ {print"-beta"$3}') + else + tmp=$(git describe --match "${matchstr2}" --long 2>/dev/null \ + | awk -F- '$4!=0{print"-beta"$4}') + fi + [ -n "$tmp" ] && beta=yes + rev=$(git rev-parse --short HEAD | tr -d '\n\r') + rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) + else + ingit=no +- beta=yes +- tmp="-unknown" ++ beta=no ++ tmp="" + rev="0000000" + rvd="0" + fi +-- +2.27.0 + diff --git a/gnupg/clean b/gnupg/clean new file mode 100644 index 0000000..bb6072c --- /dev/null +++ b/gnupg/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,gnupg*bz2*} diff --git a/gnupg/deps b/gnupg/deps new file mode 100644 index 0000000..ba77e97 --- /dev/null +++ b/gnupg/deps @@ -0,0 +1,6 @@ +automake +autoconf +gettext +libusb-compat +pcsclite +openssh diff --git a/gnupg/drop-import-clean.patch b/gnupg/drop-import-clean.patch new file mode 100644 index 0000000..526a3ff --- /dev/null +++ b/gnupg/drop-import-clean.patch @@ -0,0 +1,54 @@ +From 1690a464b28fa24ce82189a9bf5d7ce9b44804b8 Mon Sep 17 00:00:00 2001 +From: Daniel Kahn Gillmor +Date: Mon, 15 Jul 2019 16:24:35 -0400 +Subject: [PATCH 3/7] gpg: drop import-clean from default keyserver import + options + +* g10/gpg.c (main): drop IMPORT_CLEAN from the +default opt.keyserver_options.import_options +* doc/gpg.texi: reflect this change in the documentation + +Given that SELF_SIGS_ONLY is already set, it's not clear what +additional benefit IMPORT_CLEAN provides. Furthermore, IMPORT_CLEAN +means that receiving an OpenPGP certificate from a keyserver will +potentially delete data that is otherwise held in the local keyring, +which is surprising to users who expect retrieval from the keyservers +to be purely additive. + +GnuPG-Bug-Id: 4628 +Signed-off-by: Daniel Kahn Gillmor +--- + doc/gpg.texi | 2 +- + g10/gpg.c | 3 +-- + 2 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/doc/gpg.texi b/doc/gpg.texi +index 4870441d4..551459a74 100644 +--- a/doc/gpg.texi ++++ b/doc/gpg.texi +@@ -1963,7 +1963,7 @@ are available for all keyserver types, some common options are: + + @end table + +-The default list of options is: "self-sigs-only, import-clean, ++The default list of options is: "self-sigs-only, + repair-keys, repair-pks-subkey-bug, export-attributes, + honor-pka-record". + +diff --git a/g10/gpg.c b/g10/gpg.c +index 68cc22041..fa2bcfa5e 100644 +--- a/g10/gpg.c ++++ b/g10/gpg.c +@@ -2397,8 +2397,7 @@ main (int argc, char **argv) + opt.export_options = EXPORT_ATTRIBUTES; + opt.keyserver_options.import_options = (IMPORT_REPAIR_KEYS + | IMPORT_REPAIR_PKS_SUBKEY_BUG +- | IMPORT_SELF_SIGS_ONLY +- | IMPORT_CLEAN); ++ | IMPORT_SELF_SIGS_ONLY); + opt.keyserver_options.export_options = EXPORT_ATTRIBUTES; + opt.keyserver_options.options = KEYSERVER_HONOR_PKA_RECORD; + opt.verify_options = (LIST_SHOW_UID_VALIDITY +-- +2.27.0 + diff --git a/gnupg/install b/gnupg/install new file mode 100644 index 0000000..1f19b99 --- /dev/null +++ b/gnupg/install @@ -0,0 +1,31 @@ +_global_units() { + _units=(dirmngr.socket gpg-agent.socket gpg-agent-{browser,extra,ssh}.socket) + _dir=/etc/systemd/user/sockets.target.wants + + case $1 in + enable) + mkdir -p $_dir + for _u in "${_units[@]}"; do + ln -sf /usr/lib/systemd/user/$_u $_dir/$_u + done + ;; + disable) + for _u in "${_units[@]}"; do + rm -f $_dir/$_u + done + rmdir -p --ignore-fail-on-non-empty $_dir + ;; + esac +} + +post_install() { + # See FS#42798 and FS#47371 + dirmngr /dev/null + + # Let systemd supervise daemons by default + _global_units enable +} + +pre_remove() { + _global_units disable +} diff --git a/gnupg/key b/gnupg/key new file mode 100644 index 0000000..b2a33df --- /dev/null +++ b/gnupg/key @@ -0,0 +1 @@ +gpg -v --recv-key 528897B826403ADA diff --git a/gnupg/srcs b/gnupg/srcs new file mode 100644 index 0000000..dbf00eb --- /dev/null +++ b/gnupg/srcs @@ -0,0 +1,5 @@ +#!/usr/bin/zsh +# wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnupg/trunk/PKGBUILD +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnupg/trunk/drop-import-clean.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnupg/trunk/avoid-beta-warning.patch +wget https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/gnupg/trunk/install diff --git a/gnupg/time b/gnupg/time new file mode 100644 index 0000000..d575b5b --- /dev/null +++ b/gnupg/time @@ -0,0 +1,8 @@ +real 2m10.814s +user 3m20.120s +sys 0m11.589s + + +real 2m9.926s +user 3m20.311s +sys 0m11.537s diff --git a/gnutls/PKGBUILD b/gnutls/PKGBUILD new file mode 100644 index 0000000..e896981 --- /dev/null +++ b/gnutls/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gnutls +pkgver=3.7.4 +pkgrel=01 +pkgdesc="A library which provides a secure layer over a reliable transport layer" +arch=('x86_64') +url="https://www.gnutls.org/" +options=('!zipman') +#options=('!zipman' 'debug') # comment or rm zipman option above, uncomment here to have gnutls-debug pkg produced +depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn2' + 'libidn2.so' 'libunistring') +checkdepends=('net-tools') +optdepends=('guile: for use with Guile bindings') +source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/${pkgname}-${pkgver}.tar.xz{,.sig}) + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --with-idn \ + --enable-openssl-compatibility \ + --enable-guile --with-guile-site-dir=no \ + --with-default-trust-store-pkcs11="pkcs11:" +# --enable-ktls \ # breaks testsuite + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # lots of .png files are put into infodir and are gzipped by makepkg! this needs to be fixed by using !zipman + # gzip -9 all files in infodir and manpages manually + find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -n -9 {} \; + find "$pkgdir/usr/share/man" -exec gzip -n -9 {} \; +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3' 'LGPL2.1') + +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno " + +sha256sums=(e6adbebcfbc95867de01060d93c789938cf89cc1d1f6ef9ef661890f6217451f # gnutls-3.7.4.tar.xz + efa67eff568e7606c299fa3261c918ea3cabd1465523f6b76393775aef2df252) # gnutls-3.7.4.tar.xz.sig diff --git a/gnutls/PKGBUILD-arch b/gnutls/PKGBUILD-arch new file mode 100644 index 0000000..87fed40 --- /dev/null +++ b/gnutls/PKGBUILD-arch @@ -0,0 +1,47 @@ +# Maintainer: Jan de Groot +# Maintainer: Andreas Radke + +pkgname=gnutls +pkgver=3.7.4 +pkgrel=1 +pkgdesc="A library which provides a secure layer over a reliable transport layer" +arch=('x86_64') +license=('GPL3' 'LGPL2.1') +url="https://www.gnutls.org/" +options=('!zipman' 'debug') +depends=('gcc-libs' 'libtasn1' 'readline' 'zlib' 'nettle' 'p11-kit' 'libidn2' + 'libidn2.so' 'libunistring') +checkdepends=('net-tools') +optdepends=('guile: for use with Guile bindings') +source=(https://www.gnupg.org/ftp/gcrypt/gnutls/v3.7/${pkgname}-${pkgver}.tar.xz{,.sig}) +sha256sums=('e6adbebcfbc95867de01060d93c789938cf89cc1d1f6ef9ef661890f6217451f' + 'SKIP') +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # "Daiki Ueno " + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --with-idn \ + --enable-openssl-compatibility \ + --enable-guile --with-guile-site-dir=no \ + --with-default-trust-store-pkcs11="pkcs11:" +# --enable-ktls \ # breaks testsuite + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + # lots of .png files are put into infodir and are gzipped by makepkg! this needs to be fixed by using !zipman + # gzip -9 all files in infodir and manpages manually + find "$pkgdir/usr/share/info" -name '*.info*' -exec gzip -n -9 {} \; + find "$pkgdir/usr/share/man" -exec gzip -n -9 {} \; +} diff --git a/gnutls/clean b/gnutls/clean new file mode 100644 index 0000000..3d580f7 --- /dev/null +++ b/gnutls/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.xz*} diff --git a/gnutls/deps b/gnutls/deps new file mode 100644 index 0000000..434335a --- /dev/null +++ b/gnutls/deps @@ -0,0 +1 @@ +net-tools diff --git a/gnutls/key b/gnutls/key new file mode 100644 index 0000000..858bcba --- /dev/null +++ b/gnutls/key @@ -0,0 +1 @@ +gpg -v --recv-key D605848ED7E69871 diff --git a/gnutls/time b/gnutls/time new file mode 100644 index 0000000..e5dd445 --- /dev/null +++ b/gnutls/time @@ -0,0 +1,3 @@ +real 8m21.063s +user 15m16.487s +sys 0m55.998s diff --git a/gpgme/PKGBUILD b/gpgme/PKGBUILD new file mode 100644 index 0000000..dabf4dd --- /dev/null +++ b/gpgme/PKGBUILD @@ -0,0 +1,97 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=gpgme +pkgname=(gpgme qgpgme python-gpgme) +pkgver=1.17.1 +pkgrel=01 +_python_ver=3.10 +pkgdesc="A C wrapper library for GnuPG" +arch=('x86_64') +#options=('debug') +url='https://www.gnupg.org/related_software/gpgme/' +makedepends=('libgpg-error' 'gnupg' 'qt5-base' 'python' 'swig') +source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig} + python310.patch) + +prepare() { + cd ${pkgbase}-${pkgver} + patch -Np1 -i ../python310.patch +} + +build() { + cd ${pkgbase}-${pkgver} + + ./configure \ + --prefix=/usr \ + --disable-fd-passing \ + --disable-static \ + --disable-gpgsm-test + make + + # ensure reproducibility of .pyc files + touch -d @$SOURCE_DATE_EPOCH lang/python/version.py + touch -d @$SOURCE_DATE_EPOCH lang/python/python${_python_ver}-gpg/lib.linux-x86_64-${_python_ver}/gpg/gpgme.py + + # .pyc files will be created if check() is used - generate them here + +} + +check() { + cd ${pkgbase}-${pkgver} + + # this test fails with gnupg (FS#66572) + sed -i 's#"t-keylist-secret",##' tests/json/t-json.c + + make check + + # ensure reproducibilty whether test-suite is run or not + find . -name *.pyc -exec rm {} + +} + +package_gpgme() { + depends=('libgpg-error' 'gnupg>=2') + options+=('!emptydirs') + provides=('libgpgme.so' + 'libgpgmepp.so') + + cd ${pkgbase}-${pkgver} + + make DESTDIR="${pkgdir}" install + + # split qgpgme + rm -r "${pkgdir}"/usr/include/{qgpgme,QGpgME}/ + rm -r "${pkgdir}"/usr/lib/{cmake/QGpgme/,libqgpgme.*} + rm -r "${pkgdir}"/usr/lib/python* +} + +package_qgpgme() { + pkgdesc="Qt bindings for GPGme" + depends=('gpgme' 'qt5-base') + + cd ${pkgbase}-${pkgver}/lang/qt + + make DESTDIR="${pkgdir}" install +} + +package_python-gpgme() { + pkgdesc="Python bindings for GPGme" + depends=('gpgme' 'python') + + cd ${pkgbase}-${pkgver}/lang/python + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) + +sha256sums=(711eabf5dd661b9b04be9edc9ace2a7bc031f6bd9d37a768d02d0efdef108f5f # gpgme-1.17.1.tar.bz2 + 3e6072bfd2cdca46dcb28fb6bd43e89d51791c085608183c395e3bb2dad8b032 # gpgme-1.17.1.tar.bz2.sig + 5de2f6bcb6b30642d0cbc3fbd86803c9460d732f44a526f44cedee8bb78d291a) # python310.patch diff --git a/gpgme/PKGBUILD-arch b/gpgme/PKGBUILD-arch new file mode 100644 index 0000000..e996073 --- /dev/null +++ b/gpgme/PKGBUILD-arch @@ -0,0 +1,89 @@ +# Maintainer: Tobias Powalowski +# Contributor: Roman Kyrylych +# Contributor: Sarah Hay + +pkgbase=gpgme +pkgname=(gpgme qgpgme python-gpgme) +pkgver=1.17.1 +pkgrel=1 +_python_ver=3.10 +pkgdesc='A C wrapper library for GnuPG' +arch=('x86_64') +url='https://www.gnupg.org/related_software/gpgme/' +license=('LGPL') +makedepends=('libgpg-error' 'gnupg' 'qt5-base' 'python' 'swig') +options=('debug') +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) +source=("https://www.gnupg.org/ftp/gcrypt/${pkgbase}/${pkgbase}-${pkgver}.tar.bz2"{,.sig} + python310.patch) +sha256sums=('711eabf5dd661b9b04be9edc9ace2a7bc031f6bd9d37a768d02d0efdef108f5f' + 'SKIP' + '5de2f6bcb6b30642d0cbc3fbd86803c9460d732f44a526f44cedee8bb78d291a') + +prepare() { + cd ${pkgbase}-${pkgver} + patch -Np1 -i ../python310.patch +} + +build() { + cd ${pkgbase}-${pkgver} + + ./configure \ + --prefix=/usr \ + --disable-fd-passing \ + --disable-static \ + --disable-gpgsm-test + make + + # ensure reproducibility of .pyc files + touch -d @$SOURCE_DATE_EPOCH lang/python/version.py + touch -d @$SOURCE_DATE_EPOCH lang/python/python${_python_ver}-gpg/lib.linux-x86_64-${_python_ver}/gpg/gpgme.py + + # .pyc files will be created if check() is used - generate them here + +} + +check() { + cd ${pkgbase}-${pkgver} + + # this test fails with gnupg (FS#66572) + sed -i 's#"t-keylist-secret",##' tests/json/t-json.c + + make check + + # ensure reproducibilty whether test-suite is run or not + find . -name *.pyc -exec rm {} + +} + +package_gpgme() { + depends=('libgpg-error' 'gnupg>=2') + options+=('!emptydirs') + provides=('libgpgme.so' + 'libgpgmepp.so') + + cd ${pkgbase}-${pkgver} + + make DESTDIR="${pkgdir}" install + + # split qgpgme + rm -r "${pkgdir}"/usr/include/{qgpgme,QGpgME}/ + rm -r "${pkgdir}"/usr/lib/{cmake/QGpgme/,libqgpgme.*} + rm -r "${pkgdir}"/usr/lib/python* +} + +package_qgpgme() { + pkgdesc="Qt bindings for GPGme" + depends=('gpgme' 'qt5-base') + + cd ${pkgbase}-${pkgver}/lang/qt + + make DESTDIR="${pkgdir}" install +} + +package_python-gpgme() { + pkgdesc="Python bindings for GPGme" + depends=('gpgme' 'python') + + cd ${pkgbase}-${pkgver}/lang/python + make DESTDIR="${pkgdir}" install +} diff --git a/gpgme/clean b/gpgme/clean new file mode 100644 index 0000000..a479328 --- /dev/null +++ b/gpgme/clean @@ -0,0 +1 @@ +rm -rvf {*.tar.bz2*,src,pkg} diff --git a/gpgme/deps b/gpgme/deps new file mode 100644 index 0000000..9c494fe --- /dev/null +++ b/gpgme/deps @@ -0,0 +1,3 @@ +qt5-base +python +swig diff --git a/gpgme/key b/gpgme/key new file mode 100644 index 0000000..b2a33df --- /dev/null +++ b/gpgme/key @@ -0,0 +1 @@ +gpg -v --recv-key 528897B826403ADA diff --git a/gpgme/python310.patch b/gpgme/python310.patch new file mode 100644 index 0000000..b8e0923 --- /dev/null +++ b/gpgme/python310.patch @@ -0,0 +1,332 @@ +diff -upr gpgme-1.16.0.orig/configure gpgme-1.16.0/configure +--- gpgme-1.16.0.orig/configure 2021-06-24 20:10:50.000000000 +0300 ++++ gpgme-1.16.0/configure 2021-12-01 00:12:24.383952330 +0200 +@@ -19625,7 +19625,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -19666,7 +19666,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -19875,7 +19875,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -19933,7 +19933,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -20255,7 +20255,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -20296,7 +20296,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -20505,7 +20505,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -20563,7 +20563,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -20885,7 +20885,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -20926,7 +20926,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -21135,7 +21135,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -21193,7 +21193,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -21515,7 +21515,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -21556,7 +21556,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -21765,7 +21765,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -21823,7 +21823,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -22145,7 +22145,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -22186,7 +22186,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -22395,7 +22395,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -22453,7 +22453,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -22775,7 +22775,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -22816,7 +22816,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -23025,7 +23025,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -23083,7 +23083,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -23291,13 +23291,13 @@ $as_echo "$as_me: WARNING: + + if test -n "$PYTHON"; then + # If the user set $PYTHON, use it and don't search something else. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.9" >&5 +-$as_echo_n "checking whether $PYTHON version is >= 3.9... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $PYTHON version is >= 3.10" >&5 ++$as_echo_n "checking whether $PYTHON version is >= 3.10... " >&6; } + prog="import sys + # split strings by '.' and convert to numeric. Append some zeros + # because we need at least 4 digits for the hex conversion. + # map returns an iterator in Python 3.0 and a list in 2.x +-minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0] ++minver = list(map(int, '3.10'.split('.'))) + [0, 0, 0] + minverhex = 0 + # xrange is not present in Python 3.0 and range returns an iterator + for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +@@ -23318,19 +23318,19 @@ fi + else + # Otherwise, try each interpreter until we find one that satisfies + # VERSION. +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.9" >&5 +-$as_echo_n "checking for a Python interpreter with version >= 3.9... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a Python interpreter with version >= 3.10" >&5 ++$as_echo_n "checking for a Python interpreter with version >= 3.10... " >&6; } + if ${am_cv_pathless_PYTHON+:} false; then : + $as_echo_n "(cached) " >&6 + else + +- for am_cv_pathless_PYTHON in python3.9 none; do ++ for am_cv_pathless_PYTHON in python3.10 none; do + test "$am_cv_pathless_PYTHON" = none && break + prog="import sys + # split strings by '.' and convert to numeric. Append some zeros + # because we need at least 4 digits for the hex conversion. + # map returns an iterator in Python 3.0 and a list in 2.x +-minver = list(map(int, '3.9'.split('.'))) + [0, 0, 0] ++minver = list(map(int, '3.10'.split('.'))) + [0, 0, 0] + minverhex = 0 + # xrange is not present in Python 3.0 and range returns an iterator + for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[i] +@@ -23405,7 +23405,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -23446,7 +23446,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -23655,7 +23655,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -23713,7 +23713,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + +@@ -24035,7 +24035,7 @@ $as_echo_n "checking for $am_display_PYT + if ${am_cv_python_version+:} false; then : + $as_echo_n "(cached) " >&6 + else +- am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:3])"` ++ am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[:4])"` + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_python_version" >&5 + $as_echo "$am_cv_python_version" >&6; } +@@ -24076,7 +24076,7 @@ else: + # + try: + from platform import python_implementation +- if python_implementation() == 'CPython' and sys.version[:3] == '2.7': ++ if python_implementation() == 'CPython' and sys.version[:4] == '2.7': + can_use_sysconfig = 0 + except ImportError: + pass" +@@ -24285,7 +24285,7 @@ variable to configure. See \`\`configure + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the distutils Python package" >&5 + $as_echo_n "checking for the distutils Python package... " >&6; } + ac_distutils_result=`$PYTHON -c "import distutils" 2>&1` +- if test -z "$ac_distutils_result"; then ++ if test $? -eq 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + else +@@ -24343,7 +24343,7 @@ EOD` + ac_python_version=$PYTHON_VERSION + else + ac_python_version=`$PYTHON -c "import sys; \ +- print (sys.version[:3])"` ++ print (sys.version[:4])"` + fi + fi + diff --git a/gpgme/time b/gpgme/time new file mode 100644 index 0000000..896adba --- /dev/null +++ b/gpgme/time @@ -0,0 +1,5 @@ + +real 2m47.365s +user 4m52.646s +sys 0m17.204s + diff --git a/gpm/PKGBUILD b/gpm/PKGBUILD new file mode 100644 index 0000000..2ff2919 --- /dev/null +++ b/gpm/PKGBUILD @@ -0,0 +1,65 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gpm +pkgver=1.20.7.r38.ge82d1a6 +_commit='e82d1a653ca94aa4ed12441424da6ce780b1e530' +pkgrel=04 +pkgdesc='A mouse server for the console and xterm w/o systemd' +arch=('x86_64') +url='https://www.nico.schottelius.org/software/gpm/' +depends=('bash' 'procps-ng') +makedepends=('git') +provides=('libgpm.so') +options=('!makeflags') +source=("git+https://github.com/telmich/gpm.git#commit=${_commit}" + 'gpm.sh') + +pkgver() { + cd "${srcdir}/${pkgname}" + + GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)" + printf '%s.r%s.g%s' \ + "${GITTAG}" \ + "$(git rev-list --count ${GITTAG}..)" \ + "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/${pkgname}" + + ./autogen.sh +} + +build() { + cd "${srcdir}/${pkgname}" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin + make +} + +package() { + cd "${srcdir}/${pkgname}" + + make DESTDIR="${pkgdir}" install + install -D -m0644 ../gpm.sh "${pkgdir}/etc/profile.d/gpm.sh" + +# library fixes + cd "${pkgdir}/usr/lib/" + ln -s libgpm.so.2.* libgpm.so + chmod 0755 "${pkgdir}"/usr/lib/libgpm.so.* +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(SKIP + f41e90dcf6c0c6c4b8eff1c69039a20eb6b38ea851ffd1fa47ba311bf83d6ed8) # gpm.sh diff --git a/gpm/PKGBUILD-arch b/gpm/PKGBUILD-arch new file mode 100644 index 0000000..531e624 --- /dev/null +++ b/gpm/PKGBUILD-arch @@ -0,0 +1,62 @@ +# Maintainer: Eric Bélanger + +pkgname=gpm +pkgver=1.20.7.r38.ge82d1a6 +_commit='e82d1a653ca94aa4ed12441424da6ce780b1e530' +pkgrel=4 +pkgdesc='A mouse server for the console and xterm' +arch=('x86_64') +url='https://www.nico.schottelius.org/software/gpm/' +license=('GPL') +depends=('bash' 'procps-ng') +makedepends=('git') +provides=('libgpm.so') +options=('!makeflags') +source=("git+https://github.com/telmich/gpm.git#commit=${_commit}" + 'gpm.sh' + 'gpm.path' + 'gpm.service') +sha256sums=('SKIP' + 'f41e90dcf6c0c6c4b8eff1c69039a20eb6b38ea851ffd1fa47ba311bf83d6ed8' + '1b8712650c70fd139f844fa754e288bfe05a8ed8044d118fda75a47d66034d23' + 'dbce5688b3ba1d5bc9c4f38bcc2d89a6d68d51b30fb5d6d29a02d0c011d3688e') + +pkgver() { + cd "${srcdir}/${pkgname}" + + GITTAG="$(git describe --abbrev=0 --tags 2>/dev/null)" + printf '%s.r%s.g%s' \ + "${GITTAG}" \ + "$(git rev-list --count ${GITTAG}..)" \ + "$(git rev-parse --short HEAD)" +} + +prepare() { + cd "${srcdir}/${pkgname}" + + ./autogen.sh +} + +build() { + cd "${srcdir}/${pkgname}" + + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin + make +} + +package() { + cd "${srcdir}/${pkgname}" + + make DESTDIR="${pkgdir}" install + install -D -m0644 ../gpm.sh "${pkgdir}/etc/profile.d/gpm.sh" + install -D -m0644 ../gpm.path "${pkgdir}/usr/lib/systemd/system/gpm.path" + install -D -m0644 ../gpm.service "${pkgdir}/usr/lib/systemd/system/gpm.service" + +# library fixes + cd "${pkgdir}/usr/lib/" + ln -s libgpm.so.2.* libgpm.so + chmod 0755 "${pkgdir}"/usr/lib/libgpm.so.* +} diff --git a/gpm/clean b/gpm/clean new file mode 100644 index 0000000..f69de9a --- /dev/null +++ b/gpm/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,gpm} diff --git a/gpm/deps b/gpm/deps new file mode 100644 index 0000000..5d1747b --- /dev/null +++ b/gpm/deps @@ -0,0 +1,3 @@ +git +automake autoconf +bison diff --git a/gpm/gpm.sh b/gpm/gpm.sh new file mode 100644 index 0000000..1aea572 --- /dev/null +++ b/gpm/gpm.sh @@ -0,0 +1,3 @@ +case $( /usr/bin/tty ) in + /dev/tty[0-9]*) [ -n "$(pidof -s gpm)" ] && /usr/bin/disable-paste ;; +esac diff --git a/gpm/time b/gpm/time new file mode 100644 index 0000000..7d7109c --- /dev/null +++ b/gpm/time @@ -0,0 +1,3 @@ +real 0m13.811s +user 0m11.985s +sys 0m1.637s diff --git a/grep/PKGBUILD b/grep/PKGBUILD new file mode 100644 index 0000000..ae5970f --- /dev/null +++ b/grep/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=grep +pkgver=3.7 +pkgrel=01 +pkgdesc='A string search utility' +arch=('x86_64') +url='https://www.gnu.org/software/grep/' +groups=('base-devel') +depends=('glibc' 'pcre') +makedepends=('texinfo') +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + # configure option --without-included-regex removed in 3.7 + # see: https://lists.gnu.org/archive/html/bug-grep/2021-08/msg00028.html + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering + +sha256sums=(5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c # grep-3.7.tar.xz + d79a0137eb803938ff47dc366825d05d1a042457f74acc264a361a84428a5de7) # grep-3.7.tar.xz.sig diff --git a/grep/PKGBUILD-arch b/grep/PKGBUILD-arch new file mode 100644 index 0000000..7cb5cc0 --- /dev/null +++ b/grep/PKGBUILD-arch @@ -0,0 +1,49 @@ +# Maintainer: Sébastien Luttringer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=grep +pkgver=3.7 +pkgrel=1 +pkgdesc='A string search utility' +arch=('x86_64') +license=('GPL3') +url='https://www.gnu.org/software/grep/' +groups=('base-devel') +depends=('glibc' 'pcre') +makedepends=('texinfo') +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +sha256sums=('5c10da312460aec721984d5d83246d24520ec438dd48d7ab5a05dbc0d6d6823c' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + # configure option --without-included-regex removed in 3.7 + # see: https://lists.gnu.org/archive/html/bug-grep/2021-08/msg00028.html + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/grep/clean b/grep/clean new file mode 100644 index 0000000..3349a14 --- /dev/null +++ b/grep/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*} diff --git a/grep/deps b/grep/deps new file mode 100644 index 0000000..e69de29 diff --git a/grep/key b/grep/key new file mode 100644 index 0000000..05c8949 --- /dev/null +++ b/grep/key @@ -0,0 +1 @@ +gpg -v --recv-key 7FD9FCCB000BEEEE diff --git a/grep/time b/grep/time new file mode 100644 index 0000000..f6c8757 --- /dev/null +++ b/grep/time @@ -0,0 +1,4 @@ + +real 0m57.219s +user 1m27.298s +sys 0m10.042s diff --git a/groff/PKGBUILD b/groff/PKGBUILD new file mode 100644 index 0000000..c3aa66b --- /dev/null +++ b/groff/PKGBUILD @@ -0,0 +1,73 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=groff +pkgver=1.22.4 +pkgrel=06 +pkgdesc='GNU troff text-formatting system' +arch=('x86_64') +url='https://www.gnu.org/software/groff/groff.html' +groups=( jobbot ) +depends=('perl' 'gcc-libs') +makedepends=('netpbm' 'psutils' 'libxaw' 'perl-file-homedir') +optdepends=('netpbm: for use together with man -H command interaction in browsers' + 'psutils: for use together with man -H command interaction in browsers' + 'libxaw: for gxditview' + 'perl-file-homedir: for use with glilypond') +options=('!docs' '!emptydirs' '!makeflags') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig} + display-utc-times.patch + 'site.tmac') + +prepare() { + cd $pkgname-$pkgver + # always use UTC times for display - using localtime is problematic for reproducible builds + # fixes FS#69123 - patch taken from Debian + patch -Np1 -i ../display-utc-times.patch +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --with-x \ + --with-appresdir=/usr/share/X11/app-defaults + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # add compatibility symlinks + ln -s eqn "$pkgdir"/usr/bin/geqn + ln -s tbl "$pkgdir"/usr/bin/gtbl + ln -s soelim "$pkgdir"/usr/bin/zsoelim + + # FS33760 - TERMCAP variables not followed + # TODO: everyone is doing this - find out why upstream does not... + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/man.local + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/mdoc.local +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('2D0C08D2B0AD0D3D8626670272D23FBAC99D4E75') # Bertrand Garrigues + +sha256sums=(e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293 # groff-1.22.4.tar.gz + ef546604f5a32814d975f642877dcc9ad8d236489938b39df04e4d42c51fac96 # groff-1.22.4.tar.gz.sig + b1e0bcbe1e0737aed1301066ff92a1e7fa0bd8b80a36321f92f519366a1acdb3 # display-utc-times.patch + af59ecde597ce9f8189368a7739279a5f8a391139fe048ef6b4e493ed46e5f5f) # site.tmac diff --git a/groff/PKGBUILD-arch b/groff/PKGBUILD-arch new file mode 100644 index 0000000..4a8c1a2 --- /dev/null +++ b/groff/PKGBUILD-arch @@ -0,0 +1,64 @@ +# Maintainer: + +pkgname=groff +pkgver=1.22.4 +pkgrel=6 +pkgdesc='GNU troff text-formatting system' +arch=('x86_64') +url='https://www.gnu.org/software/groff/groff.html' +license=('GPL') +groups=('base-devel') +depends=('perl' 'gcc-libs') +makedepends=('netpbm' 'psutils' 'libxaw' 'perl-file-homedir') +optdepends=('netpbm: for use together with man -H command interaction in browsers' + 'psutils: for use together with man -H command interaction in browsers' + 'libxaw: for gxditview' + 'perl-file-homedir: for use with glilypond') +options=('!docs' '!emptydirs' '!makeflags') +validpgpkeys=('2D0C08D2B0AD0D3D8626670272D23FBAC99D4E75') # Bertrand Garrigues +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig} + display-utc-times.patch + 'site.tmac') +sha256sums=('e78e7b4cb7dec310849004fa88847c44701e8d133b5d4c13057d876c1bad0293' + 'SKIP' + 'b1e0bcbe1e0737aed1301066ff92a1e7fa0bd8b80a36321f92f519366a1acdb3' + 'af59ecde597ce9f8189368a7739279a5f8a391139fe048ef6b4e493ed46e5f5f') + +prepare() { + cd $pkgname-$pkgver + # always use UTC times for display - using localtime is problematic for reproducible builds + # fixes FS#69123 - patch taken from Debian + patch -Np1 -i ../display-utc-times.patch +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --with-x \ + --with-appresdir=/usr/share/X11/app-defaults + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + + # add compatibility symlinks + ln -s eqn "$pkgdir"/usr/bin/geqn + ln -s tbl "$pkgdir"/usr/bin/gtbl + ln -s soelim "$pkgdir"/usr/bin/zsoelim + + # FS33760 - TERMCAP variables not followed + # TODO: everyone is doing this - find out why upstream does not... + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/man.local + cat "$srcdir"/site.tmac >> \ + "$pkgdir"/usr/share/groff/site-tmac/mdoc.local +} diff --git a/groff/clean b/groff/clean new file mode 100644 index 0000000..e6334e7 --- /dev/null +++ b/groff/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz*} diff --git a/groff/deps b/groff/deps new file mode 100644 index 0000000..718a442 --- /dev/null +++ b/groff/deps @@ -0,0 +1,4 @@ +psutils +perl-file-homedir +netpbm +libxaw diff --git a/groff/display-utc-times.patch b/groff/display-utc-times.patch new file mode 100644 index 0000000..6e600e8 --- /dev/null +++ b/groff/display-utc-times.patch @@ -0,0 +1,90 @@ +From 69faba79256faeee8d564298855eebe8c5e9c870 Mon Sep 17 00:00:00 2001 +From: Colin Watson +Date: Fri, 6 Nov 2015 11:40:37 +0000 +Subject: Always use UTC times for display + +Using localtime is problematic for reproducible builds. For now, always +use UTC times (gmtime etc.) for display. (Note that this changes the +semantics of \n[hours] etc., so may need further work.) + +Forwarded: no +Last-Update: 2018-03-05 + +Patch-Name: display-utc-times.patch +--- + src/devices/grohtml/post-html.cpp | 4 ++-- + src/devices/gropdf/gropdf.pl | 4 ++-- + src/devices/grops/ps.cpp | 2 +- + src/roff/troff/input.cpp | 2 +- + 4 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/devices/grohtml/post-html.cpp b/src/devices/grohtml/post-html.cpp +index 7bc017e0..ad7ca54f 100644 +--- a/src/devices/grohtml/post-html.cpp ++++ b/src/devices/grohtml/post-html.cpp +@@ -5016,7 +5016,7 @@ void html_printer::do_file_components (void) + + t = current_time(); + html.begin_comment("CreationDate: ") +- .put_string(ctime(&t), strlen(ctime(&t))-1) ++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1) + .end_comment(); + + if (dialect == html4) +@@ -5129,7 +5129,7 @@ html_printer::~html_printer() + + t = current_time(); + html.begin_comment("CreationDate: ") +- .put_string(ctime(&t), strlen(ctime(&t))-1) ++ .put_string(asctime(gmtime(&t)), strlen(asctime(gmtime(&t)))-1) + .end_comment(); + + if (dialect == html4) +diff --git a/src/devices/gropdf/gropdf.pl b/src/devices/gropdf/gropdf.pl +index 2ec52d06..134b0962 100644 +--- a/src/devices/gropdf/gropdf.pl ++++ b/src/devices/gropdf/gropdf.pl +@@ -280,7 +280,7 @@ elsif (exists($ppsz{$papersz})) + @defaultmb=@mediabox=(0,0,$ppsz{$papersz}->[0],$ppsz{$papersz}->[1]); + } + +-my (@dt)=localtime($ENV{SOURCE_DATE_EPOCH} || time); ++my (@dt)=gmtime($ENV{SOURCE_DATE_EPOCH} || time); + my $dt=PDFDate(\@dt); + + my %info=('Creator' => "(groff version $cfg{GROFF_VERSION})", +@@ -538,7 +538,7 @@ sub GetObj + sub PDFDate + { + my $dt=shift; +- return(sprintf("D:%04d%02d%02d%02d%02d%02d%+03d'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0],( localtime time() + 3600*( 12 - (gmtime)[2] ) )[2] - 12)); ++ return(sprintf("D:%04d%02d%02d%02d%02d%02d+00'00'",$dt->[5]+1900,$dt->[4]+1,$dt->[3],$dt->[2],$dt->[1],$dt->[0])); + } + + sub ToPoints +diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp +index ab3b1d73..b0fb78e1 100644 +--- a/src/devices/grops/ps.cpp ++++ b/src/devices/grops/ps.cpp +@@ -1392,7 +1392,7 @@ ps_printer::~ps_printer() + time_t + #endif + t = current_time(); +- fputs(ctime(&t), out.get_file()); ++ fputs(asctime(gmtime(&t)), out.get_file()); + } + for (font_pointer_list *f = font_list; f; f = f->next) { + ps_font *psf = (ps_font *)(f->p); +diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp +index a1bd8eaf..f415aa6d 100644 +--- a/src/roff/troff/input.cpp ++++ b/src/roff/troff/input.cpp +@@ -8084,7 +8084,7 @@ static void init_registers() + #endif /* not LONG_FOR_TIME_T */ + t = current_time(); + // Use struct here to work around misfeature in old versions of g++. +- struct tm *tt = localtime(&t); ++ struct tm *tt = gmtime(&t); + set_number_reg("seconds", int(tt->tm_sec)); + set_number_reg("minutes", int(tt->tm_min)); + set_number_reg("hours", int(tt->tm_hour)); diff --git a/groff/key b/groff/key new file mode 100644 index 0000000..ab1add9 --- /dev/null +++ b/groff/key @@ -0,0 +1 @@ +gpg -v --recv-key 72D23FBAC99D4E75 diff --git a/groff/site.tmac b/groff/site.tmac new file mode 100644 index 0000000..8ef1040 --- /dev/null +++ b/groff/site.tmac @@ -0,0 +1,16 @@ +. +.if n \{\ +. \" Character translations for non-keyboard +. \" characters - to make them searchable +. if '\*[.T]'utf8' \{\ +. char \- \N'45' +. char - \N'45' +. char ' \N'39' +. char \' \N'39' +. \} +. +. \" Shut off SGR by default (groff colors) +. \" Require GROFF_SGR envvar defined to turn it on +. if '\V[GROFF_SGR]'' \ +. output x X tty: sgr 0 +.\} diff --git a/groff/time b/groff/time new file mode 100644 index 0000000..9ac717b --- /dev/null +++ b/groff/time @@ -0,0 +1,4 @@ +real 1m35.697s +user 1m28.777s +sys 0m6.340s + diff --git a/grub/0001-00_header-add-GRUB_COLOR_-variables.patch b/grub/0001-00_header-add-GRUB_COLOR_-variables.patch new file mode 100644 index 0000000..867e8fe --- /dev/null +++ b/grub/0001-00_header-add-GRUB_COLOR_-variables.patch @@ -0,0 +1,41 @@ +From 21e5bcf22ab1a9f08c63e2a0212219d7482f77c1 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Wed, 10 Mar 2021 18:42:25 +0100 +Subject: [PATCH] 00_header: add GRUB_COLOR_* variables +--- + util/grub-mkconfig.in | 2 ++ + util/grub.d/00_header.in | 8 ++++++++ + 2 files changed, 10 insertions(+) + +diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in +index f8cbb8d7a..1189d95f9 100644 +--- a/util/grub-mkconfig.in ++++ b/util/grub-mkconfig.in +@@ -246,6 +246,8 @@ export GRUB_DEFAULT \ + GRUB_BACKGROUND \ + GRUB_THEME \ + GRUB_GFXPAYLOAD_LINUX \ ++ GRUB_COLOR_NORMAL \ ++ GRUB_COLOR_HIGHLIGHT \ + GRUB_INIT_TUNE \ + GRUB_SAVEDEFAULT \ + GRUB_ENABLE_CRYPTODISK \ +diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in +index 93a90233e..c5955df00 100644 +--- a/util/grub.d/00_header.in ++++ b/util/grub.d/00_header.in +@@ -125,6 +125,14 @@ cat < +Date: Mon, 26 Apr 2021 11:10:01 +0200 +Subject: [PATCH 1/1] 10_linux: detect archlinux initramfs +--- + util/grub.d/10_linux.in | 29 ++++++++++++++++++++++++++++- + 1 file changed, 28 insertions(+), 1 deletion(-) + +diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in +index e8b01c0d0..9b60af944 100644 +--- a/util/grub.d/10_linux.in ++++ b/util/grub.d/10_linux.in +@@ -91,6 +91,10 @@ linux_entry () + fi + if [ x$type != xsimple ] ; then + case $type in ++ booster) ++ title="$(gettext_printf "%s, with Linux %s (booster initramfs)" "${os}" "${version}")" ;; ++ fallback) ++ title="$(gettext_printf "%s, with Linux %s (fallback initramfs)" "${os}" "${version}")" ;; + recovery) + title="$(gettext_printf "%s, with Linux %s (recovery mode)" "${os}" "${version}")" ;; + *) +@@ -198,7 +202,7 @@ while [ "x$list" != "x" ] ; do + basename=`basename $linux` + dirname=`dirname $linux` + rel_dirname=`make_system_path_relative_to_its_root $dirname` +- version=`echo $basename | sed -e "s,^[^0-9]*-,,g"` ++ version=`echo $basename | sed -e "s,vmlinuz-,,g"` + alt_version=`echo $version | sed -e "s,\.old$,,g"` + linux_root_device_thisversion="${LINUX_ROOT_DEVICE}" + +@@ -285,6 +289,29 @@ while [ "x$list" != "x" ] ; do + + linux_entry "${OS}" "${version}" advanced \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ ++ if test -e "${dirname}/initramfs-${version}-fallback.img" ; then ++ initrd="${initrd_early} initramfs-${version}-fallback.img" ++ ++ if test -n "${initrd}" ; then ++ gettext_printf "Found fallback initrd image(s) in %s:%s\n" "${dirname}" "${initrd_extra} ${initrd}" >&2 ++ fi ++ ++ linux_entry "${OS}" "${version}" fallback \ ++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ fi ++ ++ if test -e "${dirname}/booster-${version}.img" ; then ++ initrd="${initrd_early} booster-${version}.img" ++ ++ if test -n "${initrd}" ; then ++ gettext_printf "Found booster initrd image(s) in %s:%s\n" "${dirname}" "${initrd_extra} ${initrd}" >&2 ++ fi ++ ++ linux_entry "${OS}" "${version}" booster \ ++ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" ++ fi ++ + if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then + linux_entry "${OS}" "${version}" recovery \ + "single ${GRUB_CMDLINE_LINUX}" diff --git a/grub/PKGBUILD b/grub/PKGBUILD new file mode 100644 index 0000000..d059739 --- /dev/null +++ b/grub/PKGBUILD @@ -0,0 +1,318 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable +_IA32_EFI_IN_ARCH_X64="1" + +## "1" to enable EMU build, "0" to disable +_GRUB_EMU_BUILD="0" + +[[ "${CARCH}" == 'x86_64' ]] && _EFI_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EFI_ARCH='i386' + +[[ "${CARCH}" == 'x86_64' ]] && _EMU_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EMU_ARCH='i386' + +pkgname='grub' +pkgdesc='GNU GRand Unified Bootloader (2)' +epoch=2 +_tag='53c5000739db114c229fe69ec3d4b76b92441098' # git rev-parse grub-${_pkgver} +_gnulib_commit='be584c56eb1311606e5ea1a36363b97bddb6eed3' +_unifont_ver='14.0.01' +_pkgver=2.06 +pkgver=${_pkgver/-/} +pkgrel=05 +url='https://www.gnu.org/software/grub/' +arch=('x86_64') +backup=('etc/default/grub' + 'etc/grub.d/40_custom') +install="${pkgname}.install" +options=('!makeflags') + +conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy') +replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") + +makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-liberation' 'python' 'autogen' + 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse2') +depends=('sh' 'xz' 'gettext' 'device-mapper') +optdepends=('freetype2: For grub-mkfont usage' + 'fuse2: For grub-mount usage' + 'dosfstools: For grub-mkrescue FAT FS and EFI support' + 'lzop: For grub-mkrescue LZO support' + 'efibootmgr: For grub-install EFI support' + 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' + 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' + 'mtools: For grub-mkrescue FAT FS support') + +if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + makedepends+=('libusbx' 'sdl') + optdepends+=('libusbx: For grub-emu USB support' + 'sdl: For grub-emu SDL support') +fi + +source=("git+https://git.savannah.gnu.org/git/grub.git#tag=${_tag}?signed" + "git+https://git.savannah.gnu.org/git/gnulib.git#commit=${_gnulib_commit}" + "https://ftp.gnu.org/gnu/unifont/unifont-${_unifont_ver}/unifont-${_unifont_ver}.bdf.gz"{,.sig} + '0001-00_header-add-GRUB_COLOR_-variables.patch' + '0002-10_linux-detect-archlinux-initramfs.patch' + 'grub.default') + +_backports=( + # fs/xfs: Fix unreadable filesystem with v4 superblock + 'a4b495520e4dc41a896a8b916a64eda9970c50ea' +) + +_configure_options=( + FREETYPE="pkg-config freetype2" + BUILD_FREETYPE="pkg-config freetype2" + --enable-mm-debug + --enable-nls + --enable-device-mapper + --enable-cache-stats + --enable-grub-mkfont + --enable-grub-mount + --prefix="/usr" + --bindir="/usr/bin" + --sbindir="/usr/bin" + --mandir="/usr/share/man" + --infodir="/usr/share/info" + --datarootdir="/usr/share" + --sysconfdir="/etc" + --program-prefix="" + --with-bootdir="/boot" + --with-grubdir="grub" + --disable-silent-rules + --disable-werror +) + +prepare() { + cd "${srcdir}/grub/" + + echo "Apply backports..." + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done + + echo "Patch to enable GRUB_COLOR_* variables in grub-mkconfig..." + ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html + patch -Np1 -i "${srcdir}/0001-00_header-add-GRUB_COLOR_-variables.patch" + + echo "Patch to detect of Arch Linux initramfs images by grub-mkconfig..." + patch -Np1 -i "${srcdir}/0002-10_linux-detect-archlinux-initramfs.patch" + + echo "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme..." + sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "configure.ac" + + echo "Fix mkinitcpio 'rw' FS#36275..." + sed 's| ro | rw |g' -i "util/grub.d/10_linux.in" + + echo "Fix OS naming FS#33393..." + sed 's|GNU/Linux|Linux|' -i "util/grub.d/10_linux.in" + + echo "Pull in latest language files..." + ./linguas.sh + + echo "Avoid problem with unifont during compile of grub..." + # http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847 + gzip -cd "${srcdir}/unifont-${_unifont_ver}.bdf.gz" > "unifont.bdf" + + echo "Run bootstrap..." + ./bootstrap \ + --gnulib-srcdir="${srcdir}/gnulib/" \ + --no-git + + echo "Make translations reproducible..." + sed -i '1i /^PO-Revision-Date:/ d' po/*.sed +} + +_build_grub-common_and_bios() { + echo "Set ARCH dependent variables for bios build..." + if [[ "${CARCH}" == 'x86_64' ]]; then + _EFIEMU="--enable-efiemu" + else + _EFIEMU="--disable-efiemu" + fi + + echo "Copy the source for building the bios part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-bios/" + cd "${srcdir}/grub-bios/" + + echo "Unset all compiler FLAGS for bios build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for bios build..." + ./configure \ + --with-platform="pc" \ + --target="i386" \ + "${_EFIEMU}" \ + --enable-boot-time \ + "${_configure_options[@]}" + + if [ ! -z "${SOURCE_DATE_EPOCH}" ]; then + echo "Make info pages reproducible..." + touch -d "@${SOURCE_DATE_EPOCH}" $(find -name '*.texi') + fi + + echo "Run make for bios build..." + make +} + +_build_grub-efi() { + echo "Copy the source for building the ${_EFI_ARCH} efi part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-efi-${_EFI_ARCH}/" + cd "${srcdir}/grub-efi-${_EFI_ARCH}/" + + echo "Unset all compiler FLAGS for ${_EFI_ARCH} efi build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for ${_EFI_ARCH} efi build..." + ./configure \ + --with-platform="efi" \ + --target="${_EFI_ARCH}" \ + --disable-efiemu \ + --enable-boot-time \ + "${_configure_options[@]}" + + echo "Run make for ${_EFI_ARCH} efi build..." + make +} + +_build_grub-emu() { + echo "Copy the source for building the emu part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-emu/" + cd "${srcdir}/grub-emu/" + + echo "Unset all compiler FLAGS for emu build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for emu build..." + ./configure \ + --with-platform="emu" \ + --target="${_EMU_ARCH}" \ + --enable-grub-emu-usb=no \ + --enable-grub-emu-sdl=no \ + --disable-grub-emu-pci \ + "${_configure_options[@]}" + + echo "Run make for emu build..." + make +} + +build() { + cd "${srcdir}/grub/" + + echo "Build grub bios stuff..." + _build_grub-common_and_bios + + echo "Build grub ${_EFI_ARCH} efi stuff..." + _build_grub-efi + + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + echo "Build grub i386 efi stuff..." + _EFI_ARCH="i386" _build_grub-efi + fi + + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + echo "Build grub emu stuff..." + _build_grub-emu + fi +} + +_package_grub-common_and_bios() { + cd "${srcdir}/grub-bios/" + + echo "Run make install for bios build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for bios build..." + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true + + echo "Install /etc/default/grub (used by grub-mkconfig)..." + install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" +} + +_package_grub-efi() { + cd "${srcdir}/grub-efi-${_EFI_ARCH}/" + + echo "Run make install for ${_EFI_ARCH} efi build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for ${_EFI_ARCH} efi build..." + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true + + _sbat_file="${pkgdir}/usr/share/grub/sbat.csv" + touch "${_sbat_file}" + echo "sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md" >> "${_sbat_file}" + echo "grub,1,Free Software Foundation,grub,${_pkgver},https//www.gnu.org/software/grub/" >> "${_sbat_file}" + echo "grub.arch,1,Arch Linux,grub,${_pkgver},https://archlinux.org/packages/core/x86_64/grub/" >> "${_sbat_file}" +} + +_package_grub-emu() { + cd "${srcdir}/grub-emu/" + + echo "Run make install for emu build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for emu build..." + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/{kernel.exec,gdb_grub,gmodule.pl} || true +} + +package() { + cd "${srcdir}/grub/" + + echo "Package grub ${_EFI_ARCH} efi stuff..." + _package_grub-efi + + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + echo "Package grub i386 efi stuff..." + _EFI_ARCH="i386" _package_grub-efi + fi + + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + echo "Package grub emu stuff..." + _package_grub-emu + fi + + echo "Package grub bios stuff..." + _package_grub-common_and_bios +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('E53D497F3FA42AD8C9B4D1E835A93B74E82E4209' # Vladimir 'phcoder' Serbinenko + 'BE5C23209ACDDACEB20DB0A28C8189F1988C2166' # Daniel Kiper + '95D2E9AB8740D8046387FD151A09227B1F435A33') # Paul Hardy + +sha256sums=(SKIP + SKIP + 391d194f6307fcd0915daafd360509a734e26f3e4013e63d47deb2530d59e66e # unifont-14.0.01.bdf.gz + a76e389b444b2ad4c3a22b68b53c6fe27b66bc412de102d111483940b40eb56c # unifont-14.0.01.bdf.gz.sig + 5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab # 0001-00_header-add-GRUB_COLOR_-variables.patch + 8488aec30a93e8fe66c23ef8c23aefda39c38389530e9e73ba3fbcc8315d244d # 0002-10_linux-detect-archlinux-initramfs.patch + 5f82bf6d68dc690765f447fce8e52a0204d24805b23d63db04020d727b0f13f8) # grub.default diff --git a/grub/PKGBUILD-arch b/grub/PKGBUILD-arch new file mode 100644 index 0000000..10771f4 --- /dev/null +++ b/grub/PKGBUILD-arch @@ -0,0 +1,314 @@ +# Maintainer : Christian Hesse +# Maintainer : Ronald van Haren +# Contributor: Tobias Powalowski +# Contributor: Keshav Amburay <(the ddoott ridikulus ddoott rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +## "1" to enable IA32-EFI build in Arch x86_64, "0" to disable +_IA32_EFI_IN_ARCH_X64="1" + +## "1" to enable EMU build, "0" to disable +_GRUB_EMU_BUILD="0" + +[[ "${CARCH}" == 'x86_64' ]] && _EFI_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EFI_ARCH='i386' + +[[ "${CARCH}" == 'x86_64' ]] && _EMU_ARCH='x86_64' +[[ "${CARCH}" == 'i686' ]] && _EMU_ARCH='i386' + +pkgname='grub' +pkgdesc='GNU GRand Unified Bootloader (2)' +epoch=2 +_tag='53c5000739db114c229fe69ec3d4b76b92441098' # git rev-parse grub-${_pkgver} +_gnulib_commit='be584c56eb1311606e5ea1a36363b97bddb6eed3' +_unifont_ver='14.0.01' +_pkgver=2.06 +pkgver=${_pkgver/-/} +pkgrel=4 +url='https://www.gnu.org/software/grub/' +arch=('x86_64') +license=('GPL3') +backup=('etc/default/grub' + 'etc/grub.d/40_custom') +install="${pkgname}.install" +options=('!makeflags') + +conflicts=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}" 'grub-legacy') +replaces=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") +provides=('grub-common' 'grub-bios' 'grub-emu' "grub-efi-${_EFI_ARCH}") + +makedepends=('git' 'rsync' 'xz' 'freetype2' 'ttf-dejavu' 'python' 'autogen' + 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse2') +depends=('sh' 'xz' 'gettext' 'device-mapper') +optdepends=('freetype2: For grub-mkfont usage' + 'fuse2: For grub-mount usage' + 'dosfstools: For grub-mkrescue FAT FS and EFI support' + 'lzop: For grub-mkrescue LZO support' + 'efibootmgr: For grub-install EFI support' + 'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue' + 'os-prober: To detect other OSes when generating grub.cfg in BIOS systems' + 'mtools: For grub-mkrescue FAT FS support') + +if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + makedepends+=('libusbx' 'sdl') + optdepends+=('libusbx: For grub-emu USB support' + 'sdl: For grub-emu SDL support') +fi + +validpgpkeys=('E53D497F3FA42AD8C9B4D1E835A93B74E82E4209' # Vladimir 'phcoder' Serbinenko + 'BE5C23209ACDDACEB20DB0A28C8189F1988C2166' # Daniel Kiper + '95D2E9AB8740D8046387FD151A09227B1F435A33') # Paul Hardy + +source=("git+https://git.savannah.gnu.org/git/grub.git#tag=${_tag}?signed" + "git+https://git.savannah.gnu.org/git/gnulib.git#commit=${_gnulib_commit}" + "https://ftp.gnu.org/gnu/unifont/unifont-${_unifont_ver}/unifont-${_unifont_ver}.bdf.gz"{,.sig} + '0001-00_header-add-GRUB_COLOR_-variables.patch' + '0002-10_linux-detect-archlinux-initramfs.patch' + 'grub.default') + +sha256sums=('SKIP' + 'SKIP' + '391d194f6307fcd0915daafd360509a734e26f3e4013e63d47deb2530d59e66e' + 'SKIP' + '5dee6628c48eef79812bb9e86ee772068d85e7fcebbd2b2b8d1e19d24eda9dab' + '8488aec30a93e8fe66c23ef8c23aefda39c38389530e9e73ba3fbcc8315d244d' + 'c17bf255a41103f6b71a1710afc7e9addaebc578bcf51a48845e227b2f651682') + +_backports=( + # fs/xfs: Fix unreadable filesystem with v4 superblock + 'a4b495520e4dc41a896a8b916a64eda9970c50ea' +) + +_configure_options=( + FREETYPE="pkg-config freetype2" + BUILD_FREETYPE="pkg-config freetype2" + --enable-mm-debug + --enable-nls + --enable-device-mapper + --enable-cache-stats + --enable-grub-mkfont + --enable-grub-mount + --prefix="/usr" + --bindir="/usr/bin" + --sbindir="/usr/bin" + --mandir="/usr/share/man" + --infodir="/usr/share/info" + --datarootdir="/usr/share" + --sysconfdir="/etc" + --program-prefix="" + --with-bootdir="/boot" + --with-grubdir="grub" + --disable-silent-rules + --disable-werror +) + +prepare() { + cd "${srcdir}/grub/" + + echo "Apply backports..." + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done + + echo "Patch to enable GRUB_COLOR_* variables in grub-mkconfig..." + ## Based on http://lists.gnu.org/archive/html/grub-devel/2012-02/msg00021.html + patch -Np1 -i "${srcdir}/0001-00_header-add-GRUB_COLOR_-variables.patch" + + echo "Patch to detect of Arch Linux initramfs images by grub-mkconfig..." + patch -Np1 -i "${srcdir}/0002-10_linux-detect-archlinux-initramfs.patch" + + echo "Fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme..." + sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "configure.ac" + + echo "Fix mkinitcpio 'rw' FS#36275..." + sed 's| ro | rw |g' -i "util/grub.d/10_linux.in" + + echo "Fix OS naming FS#33393..." + sed 's|GNU/Linux|Linux|' -i "util/grub.d/10_linux.in" + + echo "Pull in latest language files..." + ./linguas.sh + + echo "Avoid problem with unifont during compile of grub..." + # http://savannah.gnu.org/bugs/?40330 and https://bugs.archlinux.org/task/37847 + gzip -cd "${srcdir}/unifont-${_unifont_ver}.bdf.gz" > "unifont.bdf" + + echo "Run bootstrap..." + ./bootstrap \ + --gnulib-srcdir="${srcdir}/gnulib/" \ + --no-git + + echo "Make translations reproducible..." + sed -i '1i /^PO-Revision-Date:/ d' po/*.sed +} + +_build_grub-common_and_bios() { + echo "Set ARCH dependent variables for bios build..." + if [[ "${CARCH}" == 'x86_64' ]]; then + _EFIEMU="--enable-efiemu" + else + _EFIEMU="--disable-efiemu" + fi + + echo "Copy the source for building the bios part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-bios/" + cd "${srcdir}/grub-bios/" + + echo "Unset all compiler FLAGS for bios build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for bios build..." + ./configure \ + --with-platform="pc" \ + --target="i386" \ + "${_EFIEMU}" \ + --enable-boot-time \ + "${_configure_options[@]}" + + if [ ! -z "${SOURCE_DATE_EPOCH}" ]; then + echo "Make info pages reproducible..." + touch -d "@${SOURCE_DATE_EPOCH}" $(find -name '*.texi') + fi + + echo "Run make for bios build..." + make +} + +_build_grub-efi() { + echo "Copy the source for building the ${_EFI_ARCH} efi part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-efi-${_EFI_ARCH}/" + cd "${srcdir}/grub-efi-${_EFI_ARCH}/" + + echo "Unset all compiler FLAGS for ${_EFI_ARCH} efi build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for ${_EFI_ARCH} efi build..." + ./configure \ + --with-platform="efi" \ + --target="${_EFI_ARCH}" \ + --disable-efiemu \ + --enable-boot-time \ + "${_configure_options[@]}" + + echo "Run make for ${_EFI_ARCH} efi build..." + make +} + +_build_grub-emu() { + echo "Copy the source for building the emu part..." + cp -r "${srcdir}/grub/" "${srcdir}/grub-emu/" + cd "${srcdir}/grub-emu/" + + echo "Unset all compiler FLAGS for emu build..." + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + echo "Run ./configure for emu build..." + ./configure \ + --with-platform="emu" \ + --target="${_EMU_ARCH}" \ + --enable-grub-emu-usb=no \ + --enable-grub-emu-sdl=no \ + --disable-grub-emu-pci \ + "${_configure_options[@]}" + + echo "Run make for emu build..." + make +} + +build() { + cd "${srcdir}/grub/" + + echo "Build grub bios stuff..." + _build_grub-common_and_bios + + echo "Build grub ${_EFI_ARCH} efi stuff..." + _build_grub-efi + + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + echo "Build grub i386 efi stuff..." + _EFI_ARCH="i386" _build_grub-efi + fi + + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + echo "Build grub emu stuff..." + _build_grub-emu + fi +} + +_package_grub-common_and_bios() { + cd "${srcdir}/grub-bios/" + + echo "Run make install for bios build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for bios build..." + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true + + echo "Install /etc/default/grub (used by grub-mkconfig)..." + install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" +} + +_package_grub-efi() { + cd "${srcdir}/grub-efi-${_EFI_ARCH}/" + + echo "Run make install for ${_EFI_ARCH} efi build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for ${_EFI_ARCH} efi build..." + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${_EFI_ARCH}-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true + + _sbat_file="${pkgdir}/usr/share/grub/sbat.csv" + touch "${_sbat_file}" + echo "sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md" >> "${_sbat_file}" + echo "grub,1,Free Software Foundation,grub,${_pkgver},https//www.gnu.org/software/grub/" >> "${_sbat_file}" + echo "grub.arch,1,Arch Linux,grub,${_pkgver},https://archlinux.org/packages/core/x86_64/grub/" >> "${_sbat_file}" +} + +_package_grub-emu() { + cd "${srcdir}/grub-emu/" + + echo "Run make install for emu build..." + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + + echo "Remove gdb debugging related files for emu build..." + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/${_EMU_ARCH}-emu"/{kernel.exec,gdb_grub,gmodule.pl} || true +} + +package() { + cd "${srcdir}/grub/" + + echo "Package grub ${_EFI_ARCH} efi stuff..." + _package_grub-efi + + if [[ "${CARCH}" == "x86_64" ]] && [[ "${_IA32_EFI_IN_ARCH_X64}" == "1" ]]; then + echo "Package grub i386 efi stuff..." + _EFI_ARCH="i386" _package_grub-efi + fi + + if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then + echo "Package grub emu stuff..." + _package_grub-emu + fi + + echo "Package grub bios stuff..." + _package_grub-common_and_bios +} diff --git a/grub/clean b/grub/clean new file mode 100644 index 0000000..3e4c868 --- /dev/null +++ b/grub/clean @@ -0,0 +1 @@ +rm -rf {src,pkg,unif*bdf.gz*,grub,gnulib} diff --git a/grub/deps b/grub/deps new file mode 100644 index 0000000..eddda5b --- /dev/null +++ b/grub/deps @@ -0,0 +1,15 @@ +git +rsync +freetype2 +ttf-liberation +python +autogen +gettext +device-mapper +libusb +sdl +help2man +fuse2 +autoconf +automake +bison diff --git a/grub/grub.default b/grub/grub.default new file mode 100644 index 0000000..0a93bef --- /dev/null +++ b/grub/grub.default @@ -0,0 +1,63 @@ +# GRUB boot loader configuration + +GRUB_DEFAULT=0 +GRUB_TIMEOUT=8 +GRUB_DISTRIBUTOR="joborun linux" +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=0 quiet" +GRUB_CMDLINE_LINUX="net.ifnames=0 ipv6.disable=1 init=/usr/bin/runit-init" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable booting from LUKS encrypted devices +#GRUB_ENABLE_CRYPTODISK=y + +# Set to 'countdown' or 'hidden' to change timeout behavior, +# press ESC key to display menu. +GRUB_TIMEOUT_STYLE=menu + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +GRUB_COLOR_NORMAL="light-cyan/black" +GRUB_COLOR_HIGHLIGHT="yellow/blue" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# Uncomment to get a beep at GRUB start +GRUB_INIT_TUNE="333 565 2" + +# Uncomment to make GRUB remember the last selection. This requires +# setting 'GRUB_DEFAULT=saved' above. +#GRUB_SAVEDEFAULT=true + +# Uncomment to disable submenus in boot menu +#GRUB_DISABLE_SUBMENU=y + +# Probing for other operating systems is disabled for security reasons. Read +# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this +# functionality install os-prober and uncomment to detect and include other +# operating systems. +#GRUB_DISABLE_OS_PROBER=false diff --git a/grub/grub.install b/grub/grub.install new file mode 100644 index 0000000..c268996 --- /dev/null +++ b/grub/grub.install @@ -0,0 +1,28 @@ +#!/bin/sh + +post_upgrade() { + # We used to package /boot/grub/grub.cfg, but there is no reason to. + # Remove the file from package, but move real file back in place. + if [ ! -f /boot/grub/grub.cfg -a -f /boot/grub/grub.cfg.pacsave ]; then + mv /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg + fi + + # return if old package version greater 2:2.06-0... + (( $(vercmp $2 '2:2.06-0') > 0 )) && return + + if [[ -e /sys/firmware/efi/efivars ]]; then + cat < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gssproxy +pkgver=0.8.4 +pkgrel=01 +pkgdesc="GSSAPI Proxy w/o systemd" +arch=(x86_64) +url="https://github.com/gssapi/gssproxy" +depends=('krb5' 'popt' 'ding-libs') +makedepends=('libxslt' 'docbook-xsl' 'doxygen' 'po4a') +options=('emptydirs' 'makeflags') +backup=(etc/gssproxy/{gssproxy,24-nfs-server,80-httpd,99-nfs-client}.conf + etc/gss/mech.d/gssproxy.conf) +source=(https://github.com/gssapi/gssproxy/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) + +prepare() { + cd "$srcdir/gssproxy-$pkgver" + # delete unneeded service dependency + autoreconf -vfi +} + +build() { + cd gssproxy-$pkgver + + # make it find bundled verto from krb5 without its own pkg-config file + export VERTO_CFLAGS="-I/usr/include" + export VERTO_LIBS="-L/usr/lib -lverto" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-pubconf-path=/etc/gssproxy \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --without-selinux \ + --with-initscript=none \ + --with-gpp-default-behavior=REMOTE_FIRST + + make +} + +check() { + cd "$pkgname"-$pkgver + make test_proxymech +} + +package() { + cd gssproxy-$pkgver + make DESTDIR=$pkgdir install + + # cleanup empty directories + rm -rf "$pkgdir"/usr/include + rm -rf "$pkgdir"/usr/share/doc + + # install default config files + install -m644 examples/gssproxy.conf "$pkgdir"/etc/gssproxy/gssproxy.conf + # nfs services + install -m644 examples/24-nfs-server.conf "$pkgdir"/etc/gssproxy/24-nfs-server.conf + install -m644 examples/99-nfs-client.conf "$pkgdir"/etc/gssproxy/99-nfs-client.conf + # httpd service / use Arch UID/GID http/33 (by pkg filesystem) + install -m644 examples/80-httpd.conf "$pkgdir"/etc/gssproxy/80-httpd.conf + sed -i -e "s:euid = apache:euid = http:" "$pkgdir"/etc/gssproxy/80-httpd.conf + + install -Dm644 examples/mech "$pkgdir"/etc/gss/mech.d/gssproxy.conf + + # FS#51574 + install -m700 -d ${pkgdir}/var/lib/gssproxy/rcache + + install -m755 -d ${pkgdir}/usr/share/licenses/$pkgname + install -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/ +} +#---- license gpg-key sha256sums ---- + +license=('custom: MIT') + +sha256sums=(cf1eb125d6273d7fb2fd382581653b4da24abe2b13e054a3400d22bf2448b8c6) # gssproxy-0.8.4.tar.gz diff --git a/gssproxy/PKGBUILD-arch b/gssproxy/PKGBUILD-arch new file mode 100644 index 0000000..3fff317 --- /dev/null +++ b/gssproxy/PKGBUILD-arch @@ -0,0 +1,77 @@ +# Maintainer: AndyRTR +# Contributor: Mantas Mikulėnas + +pkgname=gssproxy +pkgver=0.8.4 +pkgrel=1 +pkgdesc="GSSAPI Proxy" +arch=(x86_64) +url="https://github.com/gssapi/gssproxy" +license=('custom: MIT') +depends=('krb5' 'popt' 'ding-libs') +makedepends=('libxslt' 'systemd' 'docbook-xsl' 'doxygen' 'po4a') +options=('emptydirs' 'makeflags') +backup=(etc/gssproxy/{gssproxy,24-nfs-server,80-httpd,99-nfs-client}.conf + etc/gss/mech.d/gssproxy.conf) +source=(https://github.com/gssapi/gssproxy/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz) +sha512sums=('ab81c40d6c7b1908751feb107d8da66603b7681fb67aa7a1f30194a81d542ca89e6c2f34425e9356b9c55eb3691bfa240ba41441c01498af45e862a133cd088a') + +prepare() { + cd "$srcdir/gssproxy-$pkgver" + # delete unneeded service dependency + sed -i "/# GSSPROXY will not be started until syslog is/d" systemd/gssproxy.service.in + sed -i "s/syslog.target //" systemd/gssproxy.service.in + + autoreconf -vfi +} + +build() { + cd gssproxy-$pkgver + + # make it find bundled verto from krb5 without its own pkg-config file + export VERTO_CFLAGS="-I/usr/include" + export VERTO_LIBS="-L/usr/lib -lverto" + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --with-pubconf-path=/etc/gssproxy \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --without-selinux \ + --with-initscript=systemd \ + --with-gpp-default-behavior=REMOTE_FIRST + + make +} + +check() { + cd "$pkgname"-$pkgver + make test_proxymech +} + + +package() { + cd gssproxy-$pkgver + make DESTDIR=$pkgdir install + + # cleanup empty directories + rm -rf "$pkgdir"/usr/include + rm -rf "$pkgdir"/usr/share/doc + + # install default config files + install -m644 examples/gssproxy.conf "$pkgdir"/etc/gssproxy/gssproxy.conf + # nfs services + install -m644 examples/24-nfs-server.conf "$pkgdir"/etc/gssproxy/24-nfs-server.conf + install -m644 examples/99-nfs-client.conf "$pkgdir"/etc/gssproxy/99-nfs-client.conf + # httpd service / use Arch UID/GID http/33 (by pkg filesystem) + install -m644 examples/80-httpd.conf "$pkgdir"/etc/gssproxy/80-httpd.conf + sed -i -e "s:euid = apache:euid = http:" "$pkgdir"/etc/gssproxy/80-httpd.conf + + install -Dm644 examples/mech "$pkgdir"/etc/gss/mech.d/gssproxy.conf + + # FS#51574 + install -m700 -d ${pkgdir}/var/lib/gssproxy/rcache + + install -m755 -d ${pkgdir}/usr/share/licenses/$pkgname + install -m644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/ +} diff --git a/gssproxy/clean b/gssproxy/clean new file mode 100644 index 0000000..b0f7bcf --- /dev/null +++ b/gssproxy/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz} diff --git a/gssproxy/deps b/gssproxy/deps new file mode 100644 index 0000000..f27feff --- /dev/null +++ b/gssproxy/deps @@ -0,0 +1,8 @@ +popt +ding-libs +libxslt +docbook-xsl +doxygen +po4a +autoconf +automake diff --git a/gssproxy/time b/gssproxy/time new file mode 100644 index 0000000..7dd9fd6 --- /dev/null +++ b/gssproxy/time @@ -0,0 +1,3 @@ +real 0m17.401s +user 0m28.139s +sys 0m2.818s diff --git a/gzip/PKGBUILD b/gzip/PKGBUILD new file mode 100644 index 0000000..4fae7de --- /dev/null +++ b/gzip/PKGBUILD @@ -0,0 +1,53 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=gzip +pkgver=1.11 +pkgrel=01 +pkgdesc='GNU compression utility' +arch=('x86_64') +url='https://www.gnu.org/software/gzip/' +groups=('base-devel') +depends=('glibc' 'bash' 'less') +source=("https://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make prefix="$pkgdir/usr" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering + +sha256sums=(9b9a95d68fdcb936849a4d6fada8bf8686cddf58b9b26c9c4289ed0c92a77907 # gzip-1.11.tar.xz + d1fb725178c534a8ad69f0075f9d487e091f86ccc442a666fe8e76a50cb2ef65) # gzip-1.11.tar.xz.sig diff --git a/gzip/PKGBUILD-arch b/gzip/PKGBUILD-arch new file mode 100644 index 0000000..adc5425 --- /dev/null +++ b/gzip/PKGBUILD-arch @@ -0,0 +1,47 @@ +# Mainainer: Sébastien "Seblu" Luttringer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=gzip +pkgver=1.11 +pkgrel=1 +pkgdesc='GNU compression utility' +arch=('x86_64') +url='https://www.gnu.org/software/gzip/' +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'bash' 'less') +validpgpkeys=('155D3FC500C834486D1EEA677FD9FCCB000BEEEE') # Jim Meyering +source=("https://ftp.gnu.org/pub/gnu/gzip/gzip-$pkgver.tar.xz"{,.sig}) +md5sums=('d1e93996dba00cab0caa7903cd01d454' + 'SKIP') +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch ${filename##*/}" + patch -p1 -N -i "$srcdir/${filename##*/}" + fi + done + : +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make prefix="$pkgdir/usr" install +} + +# vim:set ts=2 sw=2 et: diff --git a/gzip/clean b/gzip/clean new file mode 100644 index 0000000..3349a14 --- /dev/null +++ b/gzip/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*} diff --git a/gzip/deps b/gzip/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/gzip/deps @@ -0,0 +1 @@ + diff --git a/gzip/key b/gzip/key new file mode 100644 index 0000000..05c8949 --- /dev/null +++ b/gzip/key @@ -0,0 +1 @@ +gpg -v --recv-key 7FD9FCCB000BEEEE diff --git a/gzip/time b/gzip/time new file mode 100644 index 0000000..c26c7c8 --- /dev/null +++ b/gzip/time @@ -0,0 +1,4 @@ + +real 0m16.855s +user 0m19.545s +sys 0m2.763 diff --git a/hdparm/PKGBUILD b/hdparm/PKGBUILD new file mode 100644 index 0000000..b2d43de --- /dev/null +++ b/hdparm/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=hdparm +pkgver=9.63 +pkgrel=02 +pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" +arch=(x86_64) +depends=('glibc') +source=(https://downloads.sourceforge.net/sourceforge/hdparm/${pkgname}-${pkgver}.tar.gz +# wiper.sh.2_6.max-ranges.patch + pass-ldflags.patch) +url="https://sourceforge.net/projects/hdparm/" +options=('emptydirs') + +prepare() { + cd ${pkgname}-${pkgver} +# # Fix Range input/output error when wiping Intel G2 and OCZ drives +# patch -Np1 -i "$srcdir"/wiper.sh.2_6.max-ranges.patch + # Enable FULL RELRO + patch -Np1 -i "$srcdir"/pass-ldflags.patch +} + +build() { + cd ${pkgname}-${pkgver} + make +} + +package() { + cd ${pkgname}-${pkgver} + # install + mkdir -p "${pkgdir}"/usr/bin + make DESTDIR="${pkgdir}" sbindir=/usr/bin install + install -m755 contrib/idectl "${pkgdir}"/usr/bin + install -m755 contrib/ultrabayd "${pkgdir}"/usr/bin + + install -D -m 0644 $srcdir/$pkgname-$pkgver/wiper/README.txt "$pkgdir"/usr/share/doc/wiper/README.txt + install -D -m 0755 $srcdir/$pkgname-$pkgver/wiper/wiper.sh "$pkgdir"/usr/bin/wiper.sh + + #install license file + install -D -m 644 LICENSE.TXT "$pkgdir"/usr/share/licenses/hdparm/LICENSE.TXT +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +sha512sums=('1d09dc2c79c31f45fa242dd5bf259e84281d1464e49ada9fd53bb6d58cb0458046e534a93f9d6de18478ca5db50b6d36ecbe5b784c0c681a1db29f15fadd525c' + '4103276304a858a9540ce173f22c5eb64cadac36b5cd38d9396d63fa721a579e16d4d0f84e3c627d0620c42815c437abf14c9657fdb1a28e8263a52a0bb26c4f') + +sha256sums=(70785deaebba5877a89c123568b41dee990da55fc51420f13f609a1072899691 # hdparm-9.63.tar.gz +# f34b28395fbddfa4f7e156314ba5dbadf71f9418e73fad8bdab4e45bd5ae3cb8 # wiper.sh.2_6.max-ranges.patch + 77ffdda10ff4006d873ef71f00e562992e1f256d3d6d14bfcc10c57d7e4449c1) # pass-ldflags.patch diff --git a/hdparm/PKGBUILD-arch b/hdparm/PKGBUILD-arch new file mode 100644 index 0000000..32e2306 --- /dev/null +++ b/hdparm/PKGBUILD-arch @@ -0,0 +1,40 @@ +# Maintainer: Paul Mattal + +pkgname=hdparm +pkgver=9.63 +pkgrel=2 +pkgdesc="A shell utility for manipulating Linux IDE drive/driver parameters" +arch=(x86_64) +depends=('glibc') +source=(https://downloads.sourceforge.net/sourceforge/hdparm/${pkgname}-${pkgver}.tar.gz + pass-ldflags.patch) +license=('BSD') +url="https://sourceforge.net/projects/hdparm/" +sha512sums=('1d09dc2c79c31f45fa242dd5bf259e84281d1464e49ada9fd53bb6d58cb0458046e534a93f9d6de18478ca5db50b6d36ecbe5b784c0c681a1db29f15fadd525c' + '4103276304a858a9540ce173f22c5eb64cadac36b5cd38d9396d63fa721a579e16d4d0f84e3c627d0620c42815c437abf14c9657fdb1a28e8263a52a0bb26c4f') + +prepare() { + cd ${pkgname}-${pkgver} + # Enable FULL RELRO + patch -Np1 -i "$srcdir"/pass-ldflags.patch +} + +build() { + cd ${pkgname}-${pkgver} + make +} + +package() { + cd ${pkgname}-${pkgver} + # install + mkdir -p "${pkgdir}"/usr/bin + make DESTDIR="${pkgdir}" sbindir=/usr/bin install + install -m755 contrib/idectl "${pkgdir}"/usr/bin + install -m755 contrib/ultrabayd "${pkgdir}"/usr/bin + + install -D -m 0644 $srcdir/$pkgname-$pkgver/wiper/README.txt "$pkgdir"/usr/share/doc/wiper/README.txt + install -D -m 0755 $srcdir/$pkgname-$pkgver/wiper/wiper.sh "$pkgdir"/usr/bin/wiper.sh + + #install license file + install -D -m 644 LICENSE.TXT "$pkgdir"/usr/share/licenses/hdparm/LICENSE.TXT +} diff --git a/hdparm/clean b/hdparm/clean new file mode 100644 index 0000000..b0f7bcf --- /dev/null +++ b/hdparm/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz} diff --git a/hdparm/deps b/hdparm/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/hdparm/deps @@ -0,0 +1 @@ + diff --git a/hdparm/pass-ldflags.patch b/hdparm/pass-ldflags.patch new file mode 100644 index 0000000..8db77a7 --- /dev/null +++ b/hdparm/pass-ldflags.patch @@ -0,0 +1,11 @@ +diff -aur hdparm-9.58/Makefile hdparm-9.58.new/Makefile +--- hdparm-9.60/Makefile 2017-05-01 21:08:42.000000000 +0200 ++++ hdparm-9.60.new/Makefile 2019-09-22 19:19:03.783229803 +0200 +@@ -15,6 +15,7 @@ + + CFLAGS := -O2 -W -Wall -Wbad-function-cast -Wcast-align -Wpointer-arith -Wcast-qual -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fkeep-inline-functions -Wwrite-strings -Waggregate-return -Wnested-externs -Wtrigraphs $(CFLAGS) + ++LDFLAGS := -s ${LDFLAGS} + INSTALL = install + INSTALL_DATA = $(INSTALL) -m 644 + INSTALL_DIR = $(INSTALL) -m 755 -d diff --git a/hdparm/time b/hdparm/time new file mode 100644 index 0000000..bfc25b2 --- /dev/null +++ b/hdparm/time @@ -0,0 +1,3 @@ +real 0m3.012s +user 0m4.902s +sys 0m0.423s diff --git a/hdparm/wiper.sh.2_6.max-ranges.patch b/hdparm/wiper.sh.2_6.max-ranges.patch new file mode 100644 index 0000000..c55f7b1 --- /dev/null +++ b/hdparm/wiper.sh.2_6.max-ranges.patch @@ -0,0 +1,84 @@ +--- hdparm-9.28/wiper/wiper.sh.orig 2010-03-09 06:17:37.000000000 -0800 +--- hdparm-9.28/wiper/wiper.sh 2010-05-15 03:08:02.182856971 -0700 +@@ -29,7 +29,7 @@ + function usage_error(){ + echo >&2 + echo "Linux tune-up (TRIM) utility for SATA SSDs" +- echo "Usage: $0 [--verbose] [--commit] " >&2 ++ echo "Usage: $0 [--max-ranges ] [--verbose] [--commit] " >&2 + echo " Eg: $0 /dev/sda1" >&2 + echo >&2 + exit 1 +@@ -44,6 +44,7 @@ + + export verbose=0 + commit="" ++max_ranges=-1 + destroy_me="" + argc=$# + arg="" +@@ -51,6 +52,10 @@ + commit=yes + elif [ "$1" = "--verbose" ]; then + verbose=$((verbose + 1)) ++ elif [ "$1" = "--max-ranges" -a $argc -gt 1 ]; then ++ max_ranges=$2 ++ argc=$((argc - 1)) ++ shift + elif [ "$1" = "" ]; then + usage_error + else +@@ -499,6 +550,18 @@ + fi + fi + ++## Different SSD's have a different maximum number of ranges they'll accept ++## in a single TRIM command. ++if [ $max_ranges -le 0 ] ; then ++ model=`$HDPARM -I $rawdev | $GAWK '/Model Number/ { print $NF }'` ++ case "$model" in ++ SSDSA[12]*) max_ranges=512 ;; # Intel X18-M/X25-M ++ OCZ-VERTEX2) max_ranges=64 ;; # OCZ Vertex2 ++ *) max_ranges=65535 ++ esac ++fi ++[ $verbose -gt 0 ] && echo "max-ranges = $max_ranges" ++ + ## All ready. Now let the user know exactly what we intend to do: + ## + mountstatus="$fstype non-mounted" +@@ -608,7 +671,7 @@ + nsectors += count; + while (count > 0) { + this_count = (count > 65535) ? 65535 : count +- printf "%u:%u ", lba, this_count ++ printf "%u:%u \n", lba, this_count + if (verbose > 1) + printf "%u:%u ", lba, this_count > "/dev/stderr" + lba += this_count +@@ -695,6 +758,22 @@ + -v verbose="$verbose" \ + -v xfs_blksects="$xfs_blksects" \ + -v xfs_agoffsets="$xfs_agoffsets" \ +- "$GAWKPROG" | $TRIM ++ "$GAWKPROG" | ( ++ i=0 ++ while read range ; do ++ ranges=$ranges" "$range ++ ((i++)) ++ if [ $i -ge $max_ranges ] ; then ++ [ $verbose -gt 0 ] && echo -e "Trim ranges:"$ranges"\n" ++ echo $ranges | $TRIM ++ ranges="" ++ i=0 ++ fi ++ done ++ if [ $i -gt 0 ] ; then ++ [ $verbose -gt 0 ] && echo -e "Trim ranges:"$ranges"\n" ++ echo $ranges | $TRIM ++ fi ++ ) + + do_cleanup $? + + diff --git a/hwdata/PKGBUILD b/hwdata/PKGBUILD new file mode 100644 index 0000000..4b2ef64 --- /dev/null +++ b/hwdata/PKGBUILD @@ -0,0 +1,33 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=hwdata +pkgver=0.357 +pkgrel=01 +pkgdesc="hardware identification databases" +makedepends=('git') +replaces=('hwids') +conflicts=(hwids) +url=https://github.com/vcrhonek/hwdata +arch=('any') +source=("git+https://github.com/vcrhonek/hwdata.git#tag=v${pkgver}?signed") + +package() { + cd hwdata + + for ids in pci.ids pnp.ids usb.ids; do + install -Dm644 "$ids" "${pkgdir}/usr/share/hwdata/${ids}" + done +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('3C40194FB79138CE0F78FD4919C2F062574F5403') # Vitezslav Crhonek + +sha256sums=(SKIP) diff --git a/hwdata/PKGBUILD-arch b/hwdata/PKGBUILD-arch new file mode 100644 index 0000000..ef912df --- /dev/null +++ b/hwdata/PKGBUILD-arch @@ -0,0 +1,21 @@ +# Maintainer: Tobias Powalowski +pkgname=hwdata +pkgver=0.357 +pkgrel=1 +pkgdesc="hardware identification databases" +makedepends=('git') +replaces=('hwids') +url=https://github.com/vcrhonek/hwdata +license=('GPL2') +arch=('any') +source=("git+https://github.com/vcrhonek/hwdata.git#tag=v${pkgver}?signed") +validpgpkeys=('3C40194FB79138CE0F78FD4919C2F062574F5403') # Vitezslav Crhonek +sha256sums=('SKIP') + +package() { + cd hwdata + + for ids in pci.ids pnp.ids usb.ids; do + install -Dm644 "$ids" "${pkgdir}/usr/share/hwdata/${ids}" + done +} diff --git a/hwdata/clean b/hwdata/clean new file mode 100644 index 0000000..83c98d4 --- /dev/null +++ b/hwdata/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,hwdata} diff --git a/hwdata/deps b/hwdata/deps new file mode 100644 index 0000000..5664e30 --- /dev/null +++ b/hwdata/deps @@ -0,0 +1 @@ +git diff --git a/hwdata/key b/hwdata/key new file mode 100644 index 0000000..b4201a6 --- /dev/null +++ b/hwdata/key @@ -0,0 +1 @@ +gpg -v --recv-key 19C2F062574F5403 diff --git a/hwdata/time b/hwdata/time new file mode 100644 index 0000000..dcfd981 --- /dev/null +++ b/hwdata/time @@ -0,0 +1,8 @@ +real 0m3.206s +user 0m2.083s +sys 0m0.283s + +real 1m10.726s +user 0m10.546s +sys 0m1.801s + diff --git a/iana-etc/LICENSE b/iana-etc/LICENSE new file mode 100644 index 0000000..32da5f8 --- /dev/null +++ b/iana-etc/LICENSE @@ -0,0 +1 @@ +The contents of this package are inelligible for copyright protection. diff --git a/iana-etc/PKGBUILD b/iana-etc/PKGBUILD new file mode 100644 index 0000000..06339f0 --- /dev/null +++ b/iana-etc/PKGBUILD @@ -0,0 +1,59 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=iana-etc +pkgver=20220205 +_ports=service-names-port-numbers-${pkgver} +_protocols=protocol-numbers-20210718 +pkgrel=01 +pkgdesc='/etc/protocols and /etc/services provided by IANA' +url='https://www.iana.org/protocols' +arch=('any') +backup=('etc/'{protocols,services}) +source=("https://sources.archlinux.org/other/packages/iana-etc/${_ports}.xml" + "https://sources.archlinux.org/other/packages/iana-etc/${_protocols}.xml" + 'LICENSE') + +# Original but unversioned IANA files: +# https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml +# https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml + +package() { + cd "${srcdir}" + + install -d "${pkgdir}/etc" + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/iana-etc/LICENSE" + install -Dm644 ${_ports}.xml "${pkgdir}/usr/share/iana-etc/port-numbers.iana" + install -Dm644 ${_protocols}.xml "${pkgdir}/usr/share/iana-etc/protocol-numbers.iana" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/protocol-numbers.iana\n" } +(/ "${pkgdir}/etc/protocols" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/port-numbers.iana\n" } +(/ "${pkgdir}/etc/services" + +} + +#---- license gpg-key sha256sums ---- + +license=('custom:none') + +sha256sums=(6cc6d42f1fcd5b52d029d7f7de07505cb43e8ff45f479846b1e91573b7ca7c27 # service-names-port-numbers-20220205.xml +## 8734b29e7e9c556d918a979c04e697b9da9db51a97e7d917326e2c32fabba30f # service-names-port-numbers-20220110.xml + 1a9570d4a35702a2b5fcb010701a607d874fc08e51d496c5e893e5881ea2837b # protocol-numbers-20210718.xml + dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb) # LICENSE diff --git a/iana-etc/PKGBUILD-arch b/iana-etc/PKGBUILD-arch new file mode 100644 index 0000000..f9fcf8a --- /dev/null +++ b/iana-etc/PKGBUILD-arch @@ -0,0 +1,52 @@ +# Contributor: Thomas Bächler +# Contributor: Gaetan Bisson +# Maintainer: Jelle van der Waa + +pkgname=iana-etc +pkgver=20220205 +_ports=service-names-port-numbers-${pkgver} +_protocols=protocol-numbers-20210718 +pkgrel=1 +pkgdesc='/etc/protocols and /etc/services provided by IANA' +url='https://www.iana.org/protocols' +arch=('any') +license=('custom:none') +backup=('etc/'{protocols,services}) +source=("https://sources.archlinux.org/other/packages/iana-etc/${_ports}.xml" + "https://sources.archlinux.org/other/packages/iana-etc/${_protocols}.xml" + 'LICENSE') +sha256sums=('6cc6d42f1fcd5b52d029d7f7de07505cb43e8ff45f479846b1e91573b7ca7c27' + '1a9570d4a35702a2b5fcb010701a607d874fc08e51d496c5e893e5881ea2837b' + 'dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb') + +# Original but unversioned IANA files: +# https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xml +# https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml + +package() { + cd "${srcdir}" + + install -d "${pkgdir}/etc" + install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/iana-etc/LICENSE" + install -Dm644 ${_ports}.xml "${pkgdir}/usr/share/iana-etc/port-numbers.iana" + install -Dm644 ${_protocols}.xml "${pkgdir}/usr/share/iana-etc/protocol-numbers.iana" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/protocol-numbers.iana\n" } +(/ "${pkgdir}/etc/protocols" + + gawk -F"[<>]" ' +BEGIN { print "# Full data: /usr/share/iana-etc/port-numbers.iana\n" } +(/ "${pkgdir}/etc/services" + +} diff --git a/iana-etc/clean b/iana-etc/clean new file mode 100644 index 0000000..9e8eced --- /dev/null +++ b/iana-etc/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*xml} diff --git a/iana-etc/deps b/iana-etc/deps new file mode 100644 index 0000000..b28b04f --- /dev/null +++ b/iana-etc/deps @@ -0,0 +1,3 @@ + + + diff --git a/iana-etc/time b/iana-etc/time new file mode 100644 index 0000000..2c96b85 --- /dev/null +++ b/iana-etc/time @@ -0,0 +1,3 @@ +real 0m2.520s +user 0m2.446s +sys 0m0.202s diff --git a/icu/PKGBUILD b/icu/PKGBUILD new file mode 100644 index 0000000..8c652e4 --- /dev/null +++ b/icu/PKGBUILD @@ -0,0 +1,54 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=icu +pkgver=70.1 +pkgrel=01 +pkgdesc="International Components for Unicode library" +arch=(x86_64) +groups=( jobbot ) +url="https://icu.unicode.org" +depends=('gcc-libs' 'sh') +makedepends=('python') +provides=(libicu{data,i18n,io,test,tu,uc}.so) +source=(https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/${pkgname}4c-${pkgver//./_}-src.tgz{,.asc}) +# https://github.com/unicode-org/icu/releases/download/release-70-1/SHASUM512.txt + +build() { + cd icu/source + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --sbindir=/usr/bin + make +} + +check() { + cd icu/source + make -k check +} + +package() { + cd icu/source + make -j1 DESTDIR="${pkgdir}" install + + # Install license + install -Dm644 "${srcdir}"/icu/LICENSE "${pkgdir}"/usr/share/licenses/icu/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=('custom:icu') + +#validpgpkeys=('BA90283A60D67BA0DD910A893932080F4FB419E3') # "Steven R. Loomis (filfla-signing) " +#validpgpkeys+=('9731166CD8E23A83BEE7C6D3ACA5DBE1FD8FABF1') # "Steven R. Loomis (ICU Project) " +#validpgpkeys+=('FFA9129A180D765B7A5BEA1C9B432B27D1BA20D7') # "Fredrik Roubert " +#validpgpkeys+=('E4098B78AFC94394F3F49AA903996C7C83F12F11') # "keybase.io/srl295 " +#validpgpkeys+=('4569BBC09DA846FC91CBD21CE1BBA44593CF2AE0') # "Steven R. Loomis (codesign-qormi) " +validpgpkeys=('0E51E7F06EF719FBD072782A5F56E5AFA63CCD33') #"Craig Cornelius (For use with ICU releases) " + +sha256sums=(8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5 # icu4c-70_1-src.tgz + 12c17203c3fcee4f4577f8927cbf7f7eea8ab9feddd878cc84f9c4cc0741faee) # icu4c-70_1-src.tgz.asc diff --git a/icu/PKGBUILD-arch b/icu/PKGBUILD-arch new file mode 100644 index 0000000..2681046 --- /dev/null +++ b/icu/PKGBUILD-arch @@ -0,0 +1,45 @@ +# Maintainer: Andreas Radke +# Contributor: Art Gramlich + +pkgname=icu +pkgver=70.1 +pkgrel=1 +pkgdesc="International Components for Unicode library" +arch=(x86_64) +url="https://icu.unicode.org" +license=('custom:icu') +depends=('gcc-libs' 'sh') +makedepends=('python') +provides=(libicu{data,i18n,io,test,tu,uc}.so) +source=(https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/${pkgname}4c-${pkgver//./_}-src.tgz{,.asc}) +# https://github.com/unicode-org/icu/releases/download/release-70-1/SHASUM512.txt +sha512sums=('0b26ae7207155cb65a8fdb25f7b2fa4431e74b12bccbed0884a17feaae3c96833d12451064dd152197fd6ea5fd3adfd95594284a463e66c82e0d860f645880c9' + 'SKIP') +#validpgpkeys=('BA90283A60D67BA0DD910A893932080F4FB419E3') # "Steven R. Loomis (filfla-signing) " +#validpgpkeys+=('9731166CD8E23A83BEE7C6D3ACA5DBE1FD8FABF1') # "Steven R. Loomis (ICU Project) " +#validpgpkeys+=('FFA9129A180D765B7A5BEA1C9B432B27D1BA20D7') # "Fredrik Roubert " +#validpgpkeys+=('E4098B78AFC94394F3F49AA903996C7C83F12F11') # "keybase.io/srl295 " +#validpgpkeys+=('4569BBC09DA846FC91CBD21CE1BBA44593CF2AE0') # "Steven R. Loomis (codesign-qormi) " +validpgpkeys=('0E51E7F06EF719FBD072782A5F56E5AFA63CCD33') #"Craig Cornelius (For use with ICU releases) " + +build() { + cd icu/source + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --sbindir=/usr/bin + make +} + +check() { + cd icu/source + make -k check +} + +package() { + cd icu/source + make -j1 DESTDIR="${pkgdir}" install + + # Install license + install -Dm644 "${srcdir}"/icu/LICENSE "${pkgdir}"/usr/share/licenses/icu/LICENSE +} diff --git a/icu/clean b/icu/clean new file mode 100644 index 0000000..8daff33 --- /dev/null +++ b/icu/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,icu*src.tgz*} diff --git a/icu/deps b/icu/deps new file mode 100644 index 0000000..fdc793e --- /dev/null +++ b/icu/deps @@ -0,0 +1 @@ +python diff --git a/icu/key b/icu/key new file mode 100644 index 0000000..53e64f8 --- /dev/null +++ b/icu/key @@ -0,0 +1 @@ +gpg -v --recv-key 5F56E5AFA63CCD33 diff --git a/icu/time b/icu/time new file mode 100644 index 0000000..9b7e24a --- /dev/null +++ b/icu/time @@ -0,0 +1,3 @@ +real 5m43.511s +user 17m44.664s +sys 0m53.565s diff --git a/inetutils/PKGBUILD b/inetutils/PKGBUILD new file mode 100644 index 0000000..860ecbe --- /dev/null +++ b/inetutils/PKGBUILD @@ -0,0 +1,97 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=inetutils +pkgver=2.2 +pkgrel=01 +pkgdesc="A collection of common network programs - w/o ipv6 & systemd" +arch=('x86_64') +url="https://www.gnu.org/software/inetutils/" +depends=('pam' 'libcap' 'readline' 'ncurses' 'libxcrypt' + libpam.so libcrypt.so libreadline.so libncursesw.so) +makedepends=('help2man') +backup=('etc/xinetd.d/telnet' 'etc/xinetd.d/talk' + 'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh' + 'etc/pam.d/rlogin' 'etc/pam.d/rsh') +options=('!emptydirs') +install=inetutils.install +source=("https://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.xz"{,.sig} + 'rlogin.pam' 'rlogin.xinetd' + 'rsh.pam' 'rsh.xinetd' 'talk.xinetd' 'telnet.xinetd') + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --libexec=/usr/bin \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --without-wrap \ + --with-pam \ + --enable-ftp \ + --enable-ftpd \ + --enable-telnet \ + --enable-telnetd \ + --enable-talk \ + --enable-talkd \ + --enable-rlogin \ + --enable-rlogind \ + --enable-rsh \ + --enable-rshd \ + --enable-rcp \ + --enable-hostname \ + --enable-dnsdomainname \ + --disable-ipv6 \ + --disable-rexec \ + --disable-rexecd \ + --disable-tftp \ + --disable-tftpd \ + --disable-ping \ + --disable-ping6 \ + --disable-logger \ + --disable-syslogd \ + --disable-inetd \ + --disable-whois \ + --disable-uucpd \ + --disable-ifconfig \ + --disable-traceroute + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + chmod -s "${pkgdir}"/usr/bin/{rcp,rlogin,rsh} + install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet" + install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk" + install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin" + install -D -m644 "${srcdir}/rsh.xinetd" "${pkgdir}/etc/xinetd.d/rsh" + install -D -m644 "${srcdir}/rlogin.pam" "${pkgdir}/etc/pam.d/rlogin" + install -D -m644 "${srcdir}/rsh.pam" "${pkgdir}/etc/pam.d/rsh" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +# GNU Keyring: https://ftp.gnu.org/gnu/gnu-keyring.gpg +validpgpkeys=(4FBD67621082C4C502448E3B180551BAD95A3C35 # Alfred M. Szmidt + 9AA9BDB11BB1B99A21285A330664A76954265E8C) # Simon Josefsson + +sha256sums=(d547f69172df73afef691a0f7886280fd781acea28def4ff4b4b212086a89d80 # inetutils-2.2.tar.xz + 812c2c7837a9729f73e4af99a13ef649405b737530070cccb4a6f41d2cd81b74 # inetutils-2.2.tar.xz.sig + 428367b148033c7fa865e92bdd73b06cb58e6909488649adebf8d2253a022f1f # rlogin.pam + c5ff9a299f4b09bc097069e8a4987f6db495083fb7b11443e390cabfdf230165 # rlogin.xinetd + 6317e1e62f0dcf32ac99334bafdc8972b4967048456448ef1e2458219661bf18 # rsh.pam + 5d8852f3961ea9b1aec7d50b84ddde4746ddbf4f6c5ed67cb419ab56e79d4762 # rsh.xinetd + 0f5799a8d9a8a7ad28ff99ee022b1e742b6e5cfd1ba451339173d6eb75624bab # talk.xinetd + b019c8d8130a5dcda5dacd988a7e35e21e34738ff4d6b4cfe39be83a413ec8ac) # telnet.xinetd diff --git a/inetutils/PKGBUILD-arch b/inetutils/PKGBUILD-arch new file mode 100644 index 0000000..237d77e --- /dev/null +++ b/inetutils/PKGBUILD-arch @@ -0,0 +1,112 @@ +# Maintainer: Levente Polyak +# Contributor: Eric Bélanger + +pkgname=inetutils +pkgver=2.2 +pkgrel=1 +pkgdesc="A collection of common network programs" +arch=('x86_64') +url="https://www.gnu.org/software/inetutils/" +license=('GPL3') +depends=('pam' 'libcap' 'readline' 'ncurses' 'libxcrypt' + libpam.so libcrypt.so libreadline.so libncursesw.so) +makedepends=('help2man') +backup=('etc/xinetd.d/telnet' 'etc/xinetd.d/talk' + 'etc/xinetd.d/rlogin' 'etc/xinetd.d/rsh' + 'etc/pam.d/rlogin' 'etc/pam.d/rsh') +options=('!emptydirs') +install=inetutils.install +source=("https://ftp.gnu.org/gnu/inetutils/${pkgname}-${pkgver}.tar.xz"{,.sig} + 'ftpd.service' 'rlogin.pam' 'rlogin@.service' 'rlogin.socket' 'rlogin.xinetd' + 'rsh.pam' 'rsh@.service' 'rsh.socket' 'rsh.xinetd' 'talk.service' 'talk.socket' + 'talk.xinetd' 'telnet@.service' 'telnet.socket' 'telnet.xinetd') +sha512sums=('153bc02b2d497f927528f9aac04f16011ec5eb54a3acd98c100dfb6b0b01a63fd1cbc7d2e502b434e38d3ef70208d7a498141b930b1818181343627a525eaeef' + 'SKIP' + 'df5b37c9fc072e012f0e67d849db7e535a62ddb17a37e865acb157f2bc16ffd72d84f24fef1e788dacbbe7e5675e87e141fbd36e53339cc7810dde1b9c54a3b8' + '432a45af5cd4f9f2dee4b631b45745b734e47cf631553e79db31905fa0839988914bcfed1dfcdd00d2ea6e4029b0674d46623c33ce0bd0678c2628fbaa0d1b25' + '5c2d1040484f4053cc6e114d38e3a671792c6f196f666a6f6529276d55589870fa9040ac32ac9b521c80c14931b03c97738d2a6ffb50d3a658363a5123ea9e6e' + '8857dd03794a0ed48b87e6a876c4e17246f3bb4083dc2a9593d8c05d831b03d944d133ae8dc44bc23d1b9d7fe82dd7ab166cb87f53b859a62fc1479e9a49a1de' + '7091c983bb6d96da3b471fa95d6fdda02cee5b42c4abb93048f7db0d313c17f6c11356cafa835ab4ad01401a30c2169288da2d6a1c4e661c93c36496c04cf507' + 'c957708315ea2d873da55691bb0d0997ee3e2dcb40fb47cef19fd60c25379f1660d0605edd8fb0a477252c5af3e422b44b5e0aaa5b76220dadc90791dd526801' + 'b71e7c25bb1fe3e35420ea3d7eda9b44ed61423ec54973a42a0b5bdac01e8d131aa9656a1e050d74f27723a976fe058a79a04bb34ed70dc5eeb7c49b9be078b4' + '9fc711b8260f4340188b8f6bc5ac944958d1609a1a506d76b3be917a01caa4493edae89da3c1eaa55294bbddaa6744c68ecb1cd322bb2d74e284d2d6fcd0d2c8' + '6f5f8b2e1ed24bccfdd08f37d2efca3750d632a5ff4188ed12a10b6cbfe84e85be996020704dfab7b427c023fcc3f328bbda23d69266eba98af0069dcb9de6ea' + 'ca9704da96c457cfb5ca1b5d404470984597af23e5224c53e84c191c98d201b699ad0f712b779a4152b9256e870806b63fefd669bb2532a0f2ef4017bb01b18c' + '502ca66fb2c0a2df0ea8827c820c199c29a91ab5ccff26866e02a4219007ee7fa36ed4b6001207212db332047a574edc70744e6fcc130d62aab02faa3c9566f7' + 'd440094014d13ca7c3afb4eef735d3526ed8de2cc2de98a48d9682bee9aa197ea750de916c90a6b9e9839529a30b98138fb52427d89e1ee541a87e3401d892b2' + '6b1f170c1c680bfa2186e0cb3bf555124048c46669bee0265948d22723493b5a23a735f52a8a72304e6cd020dbf2c9991d6cbc4e006bf38dc3b7d6c1addcf1e8' + '218f2b5686ca0321a9f7a5a991c69b289aa297b7a295e654020636d38fbb5a37d09e720c1e2f950ba14616b0e7dafc2cb6a5e325e3b117dfe0ab3c733b98e5eb' + '7445417b3cde6dd5a8ad5568c1272ac0b9b4a2375735c707c0cff09ad98a2ba322e6921945b5b1efd0e86212db13eacb5606bd3fa841da9515df5d40f75ad4a2') +# GNU Keyring: https://ftp.gnu.org/gnu/gnu-keyring.gpg +validpgpkeys=( + '4FBD67621082C4C502448E3B180551BAD95A3C35' # Alfred M. Szmidt + '9AA9BDB11BB1B99A21285A330664A76954265E8C' # Simon Josefsson +) + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --libexec=/usr/bin \ + --localstatedir=/var \ + --sysconfdir=/etc \ + --without-wrap \ + --with-pam \ + --enable-ftp \ + --enable-ftpd \ + --enable-telnet \ + --enable-telnetd \ + --enable-talk \ + --enable-talkd \ + --enable-rlogin \ + --enable-rlogind \ + --enable-rsh \ + --enable-rshd \ + --enable-rcp \ + --enable-hostname \ + --enable-dnsdomainname \ + --disable-rexec \ + --disable-rexecd \ + --disable-tftp \ + --disable-tftpd \ + --disable-ping \ + --disable-ping6 \ + --disable-logger \ + --disable-syslogd \ + --disable-inetd \ + --disable-whois \ + --disable-uucpd \ + --disable-ifconfig \ + --disable-traceroute + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + chmod -s "${pkgdir}"/usr/bin/{rcp,rlogin,rsh} + + install -D -m644 "${srcdir}/telnet.xinetd" "${pkgdir}/etc/xinetd.d/telnet" + install -D -m644 "${srcdir}/talk.xinetd" "${pkgdir}/etc/xinetd.d/talk" + install -D -m644 "${srcdir}/rlogin.xinetd" "${pkgdir}/etc/xinetd.d/rlogin" + install -D -m644 "${srcdir}/rsh.xinetd" "${pkgdir}/etc/xinetd.d/rsh" + + install -D -m644 "${srcdir}/rlogin.pam" "${pkgdir}/etc/pam.d/rlogin" + install -D -m644 "${srcdir}/rsh.pam" "${pkgdir}/etc/pam.d/rsh" + + install -D -m644 "${srcdir}/ftpd.service" "${pkgdir}/usr/lib/systemd/system/ftpd.service" + install -D -m644 "${srcdir}/rlogin@.service" "${pkgdir}/usr/lib/systemd/system/rlogin@.service" + install -D -m644 "${srcdir}/rlogin.socket" "${pkgdir}/usr/lib/systemd/system/rlogin.socket" + install -D -m644 "${srcdir}/rsh@.service" "${pkgdir}/usr/lib/systemd/system/rsh@.service" + install -D -m644 "${srcdir}/rsh.socket" "${pkgdir}/usr/lib/systemd/system/rsh.socket" + install -D -m644 "${srcdir}/talk.service" "${pkgdir}/usr/lib/systemd/system/talk.service" + install -D -m644 "${srcdir}/talk.socket" "${pkgdir}/usr/lib/systemd/system/talk.socket" + install -D -m644 "${srcdir}/telnet@.service" "${pkgdir}/usr/lib/systemd/system/telnet@.service" + install -D -m644 "${srcdir}/telnet.socket" "${pkgdir}/usr/lib/systemd/system/telnet.socket" +} diff --git a/inetutils/clean b/inetutils/clean new file mode 100644 index 0000000..2d807d4 --- /dev/null +++ b/inetutils/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,inetutils-*tar.xz*} diff --git a/inetutils/deps b/inetutils/deps new file mode 100644 index 0000000..ac7c8aa --- /dev/null +++ b/inetutils/deps @@ -0,0 +1,2 @@ +help2man + diff --git a/inetutils/inetutils.install b/inetutils/inetutils.install new file mode 100644 index 0000000..4776e7e --- /dev/null +++ b/inetutils/inetutils.install @@ -0,0 +1,9 @@ +post_install() { + setcap cap_net_bind_service=+ep usr/bin/rcp 2>/dev/null || chmod +s usr/bin/rcp + setcap cap_net_bind_service=+ep usr/bin/rlogin 2>/dev/null || chmod +s usr/bin/rlogin + setcap cap_net_bind_service=+ep usr/bin/rsh 2>/dev/null || chmod +s usr/bin/rsh +} + +post_upgrade() { + post_install +} diff --git a/inetutils/key b/inetutils/key new file mode 100644 index 0000000..25c9ef5 --- /dev/null +++ b/inetutils/key @@ -0,0 +1 @@ +gpg -v --recv-key 860B7FBB32F8119D diff --git a/inetutils/rlogin.pam b/inetutils/rlogin.pam new file mode 100644 index 0000000..d92a5da --- /dev/null +++ b/inetutils/rlogin.pam @@ -0,0 +1,13 @@ +#%PAM-1.0 +# For root login to succeed here with pam_securetty, "rlogin" must be +# listed in /etc/securetty. +auth required pam_nologin.so +auth required pam_securetty.so +auth required pam_env.so +auth sufficient pam_rhosts.so +auth include system-auth +account include system-auth +password include system-auth +session optional pam_keyinit.so force revoke +session required pam_loginuid.so +session include system-auth diff --git a/inetutils/rlogin.xinetd b/inetutils/rlogin.xinetd new file mode 100644 index 0000000..bffdb90 --- /dev/null +++ b/inetutils/rlogin.xinetd @@ -0,0 +1,10 @@ +service login +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/bin/rlogind + log_on_failure += USERID + disable = yes +} diff --git a/inetutils/rsh.pam b/inetutils/rsh.pam new file mode 100644 index 0000000..3c04bc7 --- /dev/null +++ b/inetutils/rsh.pam @@ -0,0 +1,11 @@ +#%PAM-1.0 +# For root login to succeed here with pam_securetty, "rsh" must be +# listed in /etc/securetty. +auth required pam_nologin.so +auth required pam_securetty.so +auth required pam_env.so +auth required pam_rhosts.so +account include system-auth +session optional pam_keyinit.so force revoke +session required pam_loginuid.so +session include system-auth diff --git a/inetutils/rsh.xinetd b/inetutils/rsh.xinetd new file mode 100644 index 0000000..c8848ce --- /dev/null +++ b/inetutils/rsh.xinetd @@ -0,0 +1,10 @@ +service shell +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/bin/rshd + log_on_failure += USERID + disable = yes +} diff --git a/inetutils/sums b/inetutils/sums new file mode 100644 index 0000000..423b7d1 --- /dev/null +++ b/inetutils/sums @@ -0,0 +1,8 @@ +inetutils-2.2.tar.xz +inetutils-2.2.tar.xz.sig +rlogin.pam +rlogin.xinetd +rsh.pam +rsh.xinetd +talk.xinetd +telnet.xinetd diff --git a/inetutils/talk.xinetd b/inetutils/talk.xinetd new file mode 100644 index 0000000..b62e563 --- /dev/null +++ b/inetutils/talk.xinetd @@ -0,0 +1,10 @@ +service ntalk +{ + flags = REUSE + socket_type = dgram + wait = yes + user = root + server = /usr/bin/talkd + log_on_failure += USERID + disable = yes +} diff --git a/inetutils/telnet.xinetd b/inetutils/telnet.xinetd new file mode 100644 index 0000000..c56f339 --- /dev/null +++ b/inetutils/telnet.xinetd @@ -0,0 +1,10 @@ +service telnet +{ + flags = REUSE + socket_type = stream + wait = no + user = root + server = /usr/bin/telnetd + log_on_failure += USERID + disable = yes +} diff --git a/iproute2/0001-make-iproute2-fhs-compliant.patch b/iproute2/0001-make-iproute2-fhs-compliant.patch new file mode 100644 index 0000000..ef6a077 --- /dev/null +++ b/iproute2/0001-make-iproute2-fhs-compliant.patch @@ -0,0 +1,101 @@ +From f0624f6cc656cb177b64e2664f2a806221bfab58 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Thu, 28 Jul 2016 08:49:20 +0200 +Subject: [PATCH 1/1] make iproute2 fhs compliant + +Signed-off-by: Christian Hesse +--- + Makefile | 2 +- + netem/Makefile | 4 ++-- + tc/q_netem.c | 2 +- + tc/tc_util.c | 15 +++++++++++++++ + tc/tc_util.h | 1 + + 5 files changed, 20 insertions(+), 4 deletions(-) + +diff --git a/Makefile b/Makefile +index eb571a5..db0a04c 100644 +--- a/Makefile ++++ b/Makefile +@@ -14,7 +14,7 @@ DBM_INCLUDE:=$(DESTDIR)/usr/include + + SHARED_LIBS = y + +-DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" ++DEFINES= -DRESOLVE_HOSTNAMES -DLIBDIR=\"$(LIBDIR)\" -DDATADIR=\"$(DATADIR)\" + ifneq ($(SHARED_LIBS),y) + DEFINES+= -DNO_SHARED_LIBS + endif +diff --git a/netem/Makefile b/netem/Makefile +index e52e125..5b4d283 100644 +--- a/netem/Makefile ++++ b/netem/Makefile +@@ -20,9 +20,9 @@ stats: stats.c + $(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm + + install: all +- mkdir -p $(DESTDIR)$(LIBDIR)/tc ++ mkdir -p $(DESTDIR)$(DATADIR)/tc + for i in $(DISTDATA); \ +- do install -m 644 $$i $(DESTDIR)$(LIBDIR)/tc; \ ++ do install -m 644 $$i $(DESTDIR)$(DATADIR)/tc; \ + done + + clean: +diff --git a/tc/q_netem.c b/tc/q_netem.c +index 8fe2204..a15a5c7 100644 +--- a/tc/q_netem.c ++++ b/tc/q_netem.c +@@ -113,7 +113,7 @@ static int get_distribution(const char *type, __s16 *data, int maxdata) + char *line = NULL; + char name[128]; + +- snprintf(name, sizeof(name), "%s/%s.dist", get_tc_lib(), type); ++ snprintf(name, sizeof(name), "%s/%s.dist", get_tc_datadir(), type); + if ((f = fopen(name, "r")) == NULL) { + fprintf(stderr, "No distribution data for %s (%s: %s)\n", + type, name, strerror(errno)); +diff --git a/tc/tc_util.c b/tc/tc_util.c +index afc4cf5..728b854 100644 +--- a/tc/tc_util.c ++++ b/tc/tc_util.c +@@ -32,6 +32,10 @@ + #define LIBDIR "/usr/lib" + #endif + ++#ifndef DATADIR ++#define DATADIR "/usr/share" ++#endif ++ + static struct db_names *cls_names; + + #define NAMES_DB "/etc/iproute2/tc_cls" +@@ -73,6 +77,17 @@ const char *get_tc_lib(void) + return lib_dir; + } + ++const char *get_tc_datadir(void) ++{ ++ const char *data_dir; ++ ++ data_dir = getenv("TC_DATA_DIR"); ++ if (!data_dir) ++ data_dir = DATADIR "/tc/"; ++ ++ return data_dir; ++} ++ + int get_qdisc_handle(__u32 *h, const char *str) + { + __u32 maj; +diff --git a/tc/tc_util.h b/tc/tc_util.h +index 61e60b1..6d448de 100644 +--- a/tc/tc_util.h ++++ b/tc/tc_util.h +@@ -55,6 +55,7 @@ struct exec_util { + }; + + const char *get_tc_lib(void); ++const char *get_tc_datadir(void); + + struct qdisc_util *get_qdisc_kind(const char *str); + struct filter_util *get_filter_kind(const char *str); diff --git a/iproute2/0002-iproute2.patch b/iproute2/0002-iproute2.patch new file mode 100644 index 0000000..7d728e9 --- /dev/null +++ b/iproute2/0002-iproute2.patch @@ -0,0 +1,13 @@ +diff --git a/client/scripts/linux b/client/scripts/linux +index 5fb16121..c4cef632 100755 +--- a/client/scripts/linux ++++ b/client/scripts/linux +@@ -362,7 +362,7 @@ case "$reason" in + interface_up_wait_time=5 + for i in $(seq 0 ${interface_up_wait_time}) + do +- ifconfig ${interface} | grep RUNNING >/dev/null 2>&1 ++ ${ip} link show dev ${interface} | grep -q LOWER_UP 2>&1 + if [ $? -eq 0 ]; then + break; + fi diff --git a/iproute2/PKGBUILD b/iproute2/PKGBUILD new file mode 100644 index 0000000..b4042ae --- /dev/null +++ b/iproute2/PKGBUILD @@ -0,0 +1,68 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=iproute2 +pkgver=5.16.0 +pkgrel=01 +pkgdesc='IP Routing Utilities' +arch=('x86_64') +url='https://git.kernel.org/pub/scm/network/iproute2/iproute2.git' +depends=('glibc' 'iptables' 'libelf') +optdepends=('db: userspace arp daemon' + 'libcap: tipc' + 'linux-atm: ATM support') +provides=('iproute') +backup=('etc/iproute2/ematch_map' + 'etc/iproute2/rt_dsfield' + 'etc/iproute2/rt_protos' + 'etc/iproute2/rt_realms' + 'etc/iproute2/rt_scopes' + 'etc/iproute2/rt_tables') +makedepends=('linux-atm' 'bison' 'gettext') +options=('staticlibs') +source=("https://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign} + '0001-make-iproute2-fhs-compliant.patch') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # set correct fhs structure + patch -Np1 -i "${srcdir}"/0001-make-iproute2-fhs-compliant.patch + + # do not treat warnings as errors + sed -i 's/-Werror//' Makefile + +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export CFLAGS+=' -ffat-lto-objects' + + ./configure + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install + + # libnetlink isn't installed, install it FS#19385 + install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h" + install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger + +sha256sums=(c064b66f6b001c2a35aa5224b5b1ac8aa4bee104d7dce30d6f10a84cb8b01e2f # iproute2-5.16.0.tar.xz + 5188b359b36e727937de535e800bd840b10f377d3414eb03e352e2a1de3f4512 # iproute2-5.16.0.tar.sign + f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3) # 0001-make-iproute2-fhs-compliant.patch +# 837a64189b949afae951655546967cc8f17f2f2cf370faabff00575364f0fcf7) # 0002-iproute2.patch diff --git a/iproute2/PKGBUILD-arch b/iproute2/PKGBUILD-arch new file mode 100644 index 0000000..0cbafeb --- /dev/null +++ b/iproute2/PKGBUILD-arch @@ -0,0 +1,59 @@ +# Maintainer: Christian Hesse +# Maintainer: Ronald van Haren +# Contributor: Judd Vinet + +pkgname=iproute2 +pkgver=5.15.0 +pkgrel=1 +pkgdesc='IP Routing Utilities' +arch=('x86_64') +license=('GPL2') +url='https://git.kernel.org/pub/scm/network/iproute2/iproute2.git' +depends=('glibc' 'iptables' 'libelf') +optdepends=('db: userspace arp daemon' + 'libcap: tipc' + 'linux-atm: ATM support') +provides=('iproute') +backup=('etc/iproute2/ematch_map' + 'etc/iproute2/rt_dsfield' + 'etc/iproute2/rt_protos' + 'etc/iproute2/rt_realms' + 'etc/iproute2/rt_scopes' + 'etc/iproute2/rt_tables') +makedepends=('linux-atm') +options=('staticlibs') +validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger +source=("https://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign} + '0001-make-iproute2-fhs-compliant.patch') +sha256sums=('38e3e4a5f9a7f5575c015027a10df097c149111eeb739993128e5b2b35b291ff' + 'SKIP' + 'f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # set correct fhs structure + patch -Np1 -i "${srcdir}"/0001-make-iproute2-fhs-compliant.patch + + # do not treat warnings as errors + sed -i 's/-Werror//' Makefile + +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + ./configure + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install + + # libnetlink isn't installed, install it FS#19385 + install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h" + install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a" +} + diff --git a/iproute2/PKGBUILD-arch.new b/iproute2/PKGBUILD-arch.new new file mode 100644 index 0000000..3a135a8 --- /dev/null +++ b/iproute2/PKGBUILD-arch.new @@ -0,0 +1,61 @@ +# Maintainer: Christian Hesse +# Maintainer: Ronald van Haren +# Contributor: Judd Vinet + +pkgname=iproute2 +pkgver=5.16.0 +pkgrel=1 +pkgdesc='IP Routing Utilities' +arch=('x86_64') +license=('GPL2') +url='https://git.kernel.org/pub/scm/network/iproute2/iproute2.git' +depends=('glibc' 'iptables' 'libelf') +optdepends=('db: userspace arp daemon' + 'libcap: tipc' + 'linux-atm: ATM support') +provides=('iproute') +backup=('etc/iproute2/ematch_map' + 'etc/iproute2/rt_dsfield' + 'etc/iproute2/rt_protos' + 'etc/iproute2/rt_realms' + 'etc/iproute2/rt_scopes' + 'etc/iproute2/rt_tables') +makedepends=('linux-atm') +options=('staticlibs') +validpgpkeys=('9F6FC345B05BE7E766B83C8F80A77F6095CDE47E') # Stephen Hemminger +source=("https://www.kernel.org/pub/linux/utils/net/${pkgname}/${pkgname}-${pkgver}.tar."{xz,sign} + '0001-make-iproute2-fhs-compliant.patch') +sha256sums=('c064b66f6b001c2a35aa5224b5b1ac8aa4bee104d7dce30d6f10a84cb8b01e2f' + 'SKIP' + 'f60fefe4c17d3b768824bb50ae6416292bcebba06d73452e23f4147b46b827d3') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # set correct fhs structure + patch -Np1 -i "${srcdir}"/0001-make-iproute2-fhs-compliant.patch + + # do not treat warnings as errors + sed -i 's/-Werror//' Makefile + +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export CFLAGS+=' -ffat-lto-objects' + + ./configure + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make DESTDIR="${pkgdir}" SBINDIR="/usr/bin" install + + # libnetlink isn't installed, install it FS#19385 + install -Dm0644 include/libnetlink.h "${pkgdir}/usr/include/libnetlink.h" + install -Dm0644 lib/libnetlink.a "${pkgdir}/usr/lib/libnetlink.a" +} + diff --git a/iproute2/clean b/iproute2/clean new file mode 100644 index 0000000..733bf94 --- /dev/null +++ b/iproute2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*,*.sign} diff --git a/iproute2/deps b/iproute2/deps new file mode 100644 index 0000000..f7b89a3 --- /dev/null +++ b/iproute2/deps @@ -0,0 +1,3 @@ +linux-atm +bison +gettext diff --git a/iproute2/key b/iproute2/key new file mode 100644 index 0000000..1c0b652 --- /dev/null +++ b/iproute2/key @@ -0,0 +1 @@ +gpg -v --recv-key 80A77F6095CDE47E diff --git a/iproute2/time b/iproute2/time new file mode 100644 index 0000000..2ae63a2 --- /dev/null +++ b/iproute2/time @@ -0,0 +1,3 @@ +real 0m26.574s +user 1m7.116s +sys 0m4.814s diff --git a/iptables/PKGBUILD b/iptables/PKGBUILD new file mode 100644 index 0000000..82f02a7 --- /dev/null +++ b/iptables/PKGBUILD @@ -0,0 +1,100 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=iptables +pkgname=(iptables iptables-nft) +pkgver=1.8.7 +pkgrel=01 +epoch=1 +pkgdesc='Linux kernel packet control tool - w/o ipv6 & systemd' +arch=(x86_64) +url='https://www.netfilter.org/projects/iptables/index.html' +depends=(libnftnl libpcap libnfnetlink libnetfilter_conntrack bash) +makedepends=(linux-api-headers) +backup=(etc/ethertypes etc/iptables/{ip,ip6}tables.rules) +source=(https://www.netfilter.org/projects/iptables/files/$pkgbase-$pkgver.tar.bz2{,.sig} + empty.rules simple_firewall.rules empty-{filter,mangle,nat,raw,security}.rules ) +# iptables-{legacy,nft}-flush) + +prepare() { + mkdir build + cd $pkgbase-$pkgver + + # use system one + rm include/linux/types.h +} + +build() { + cd build + ../$pkgbase-$pkgver/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --enable-bpf-compiler \ + --enable-devel \ + --enable-libipq \ + --enable-shared \ + --disable-ipv6 + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' -i libtool + make +} + +package_iptables() { + pkgdesc+=' (using legacy interface - no ipv6)' + _package legacy +} + +package_iptables-nft() { + pkgdesc+=' (using nft interface - no ipv6)' + depends+=(nftables) + provides=(iptables arptables ebtables) + conflicts=(iptables arptables ebtables) + backup+=(etc/{arp,eb}tables.conf) + + _package nft + +# install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {arp,eb}tables.service + touch "$pkgdir"/etc/{arp,eb}tables.conf +} + +_package() { + DESTDIR="$pkgdir" make -C build install + + for _x in {arp,eb,ip}tables{,-restore,-save} iptables-apply iptables-xml; do + if [[ $1 = nft || $_x = ip* ]]; then + ln -sf xtables-$1-multi "$pkgdir/usr/bin/$_x" + else + rm "$pkgdir/usr/bin/$_x" + fi + done + +# install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {ip,ip6}tables.service +# install -D iptables-$1-flush "$pkgdir/usr/lib/systemd/scripts/iptables-flush" + + install -Dm644 empty.rules "$pkgdir/etc/iptables/iptables.rules" +# install -Dm644 empty.rules "$pkgdir/etc/iptables/ip6tables.rules" + install -Dt "$pkgdir/usr/share/iptables" -m644 *.rules + ln -srt "$pkgdir/etc/iptables" "$pkgdir"/usr/share/iptables/{empty,simple_firewall}.rules +} + +#---- license gpg-key sha256sums ---- + +license=(GPL2) + +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4' + '37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team + +sha256sums=(c109c96bb04998cd44156622d36f8e04b140701ec60531a10668cfdff5e8d8f0 # iptables-1.8.7.tar.bz2 + 438ef3feb2c0b5b05a71546382c11c2ff64c729dd864e1f4ac460959512e218f # iptables-1.8.7.tar.bz2.sig + 630d774f089703c2c7370db6d7c188dae25d00c26feaa3d3de8eb52519033948 # empty.rules + 9e83d7ae39d31881790f814930d44acbaeab1520adb2fb4fcb80f0bbfab174b9 # simple_firewall.rules + 09b90da35c2c8cb0fbda63b300f06d2387a102ca53a40980ef0b49829e249528 # empty-filter.rules + 92755648f456e235d17a8faeb5f46d27af66eb4db10ea4bac0abd3e35e2dae07 # empty-mangle.rules + 52bd70dff3e1e1a64127ad7ed86840834b79756c3bdb6947b7c6279ffe95dd48 # empty-nat.rules + 5768a471c0559848635c39d270e456bfa5c43eda65f5f6f666fea2d277183a37 # empty-raw.rules + 91161a73f323016a9efc5eabd16243d20f8ca2467995cf0eabfb95f845090121) # empty-security.rules diff --git a/iptables/PKGBUILD-arch b/iptables/PKGBUILD-arch new file mode 100644 index 0000000..13bec2d --- /dev/null +++ b/iptables/PKGBUILD-arch @@ -0,0 +1,98 @@ +# Maintainer: Ronald van Haren +# Contributor: Thomas Baechler + +pkgbase=iptables +pkgname=(iptables iptables-nft) +pkgver=1.8.7 +pkgrel=1 +epoch=1 +pkgdesc='Linux kernel packet control tool' +arch=(x86_64) +license=(GPL2) +url='https://www.netfilter.org/projects/iptables/index.html' +depends=(libnftnl libpcap libnfnetlink libnetfilter_conntrack bash) +makedepends=(linux-api-headers) +backup=(etc/ethertypes etc/iptables/{ip,ip6}tables.rules) +source=(https://www.netfilter.org/projects/iptables/files/$pkgbase-$pkgver.tar.bz2{,.sig} + empty.rules simple_firewall.rules empty-{filter,mangle,nat,raw,security}.rules + {arp,eb,ip,ip6}tables.service iptables-{legacy,nft}-flush) +sha1sums=('05ef75415cb7cb7641f51d51e74f3ea29cc31ab1' + 'SKIP' + '83b3363878e3660ce23b2ad325b53cbd6c796ecf' + 'f085a71f467e4d7cb2cf094d9369b0bcc4bab6ec' + 'd9f9f06b46b4187648e860afa0552335aafe3ce4' + 'c45b738b5ec4cfb11611b984c21a83b91a2d58f3' + '1694d79b3e6e9d9d543f6a6e75fed06066c9a6c6' + '7db53bb882f62f6c677cc8559cff83d8bae2ef73' + 'ebbd1424a1564fd45f455a81c61ce348f0a14c2e' + '95b0ee26f03132a948fea9f2136b2e2e6a4b40fe' + 'b668ba50d55030c68431a95756bc1f291d74b2b2' + '8d66d21fa4cbfe2a80478301af94ba54f65e4ea0' + '9cec592787e32451f58fa608ea057870e07aa704' + 'd10af7780d1634778d898c709e2d950aa1561856' + '15c1684f3e671f4d0ede639a7c9c08e1a841511c') +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4' + '37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team + +prepare() { + mkdir build + cd $pkgbase-$pkgver + + # use system one + rm include/linux/types.h +} + +build() { + cd build + ../$pkgbase-$pkgver/configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib \ + --enable-bpf-compiler \ + --enable-devel \ + --enable-libipq \ + --enable-shared + sed -e 's/ -shared / -Wl,-O1,--as-needed\0/g' -i libtool + make +} + +package_iptables() { + pkgdesc+=' (using legacy interface)' + _package legacy +} + +package_iptables-nft() { + pkgdesc+=' (using nft interface)' + depends+=(nftables) + provides=(iptables arptables ebtables) + conflicts=(iptables arptables ebtables) + backup+=(etc/{arp,eb}tables.conf) + + _package nft + + install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {arp,eb}tables.service + touch "$pkgdir"/etc/{arp,eb}tables.conf +} + +_package() { + DESTDIR="$pkgdir" make -C build install + + for _x in {arp,eb,ip,ip6}tables{,-restore,-save} iptables-apply iptables-xml; do + if [[ $1 = nft || $_x = ip* ]]; then + ln -sf xtables-$1-multi "$pkgdir/usr/bin/$_x" + else + rm "$pkgdir/usr/bin/$_x" + fi + done + + install -Dt "$pkgdir/usr/lib/systemd/system" -m644 {ip,ip6}tables.service + install -D iptables-$1-flush "$pkgdir/usr/lib/systemd/scripts/iptables-flush" + + install -Dm644 empty.rules "$pkgdir/etc/iptables/iptables.rules" + install -Dm644 empty.rules "$pkgdir/etc/iptables/ip6tables.rules" + install -Dt "$pkgdir/usr/share/iptables" -m644 *.rules + ln -srt "$pkgdir/etc/iptables" "$pkgdir"/usr/share/iptables/{empty,simple_firewall}.rules +} + +# vim:set sw=2 et: diff --git a/iptables/clean b/iptables/clean new file mode 100644 index 0000000..96955eb --- /dev/null +++ b/iptables/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,iptables*tar.bz2*} diff --git a/iptables/deps b/iptables/deps new file mode 100644 index 0000000..cd316f3 --- /dev/null +++ b/iptables/deps @@ -0,0 +1,2 @@ +nftables + diff --git a/iptables/empty-filter.rules b/iptables/empty-filter.rules new file mode 100644 index 0000000..5a4de48 --- /dev/null +++ b/iptables/empty-filter.rules @@ -0,0 +1,6 @@ +# Empty iptables filter table rule file +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/iptables/empty-mangle.rules b/iptables/empty-mangle.rules new file mode 100644 index 0000000..49d493c --- /dev/null +++ b/iptables/empty-mangle.rules @@ -0,0 +1,8 @@ +# Empty iptables mangle table rules file +*mangle +:PREROUTING ACCEPT [0:0] +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:POSTROUTING ACCEPT [0:0] +COMMIT diff --git a/iptables/empty-nat.rules b/iptables/empty-nat.rules new file mode 100644 index 0000000..437e964 --- /dev/null +++ b/iptables/empty-nat.rules @@ -0,0 +1,7 @@ +# Empty iptables nat table rules file +*nat +:PREROUTING ACCEPT [0:0] +:INPUT ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +:POSTROUTING ACCEPT [0:0] +COMMIT diff --git a/iptables/empty-raw.rules b/iptables/empty-raw.rules new file mode 100644 index 0000000..8dc50d2 --- /dev/null +++ b/iptables/empty-raw.rules @@ -0,0 +1,5 @@ +# Empty iptables raw table rules file +*raw +:PREROUTING ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/iptables/empty-security.rules b/iptables/empty-security.rules new file mode 100644 index 0000000..4531fa1 --- /dev/null +++ b/iptables/empty-security.rules @@ -0,0 +1,6 @@ +# Empty iptables security table rules file +*security +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/iptables/empty.rules b/iptables/empty.rules new file mode 100644 index 0000000..e24e1aa --- /dev/null +++ b/iptables/empty.rules @@ -0,0 +1,6 @@ +# Empty iptables rule file +*filter +:INPUT ACCEPT [0:0] +:FORWARD ACCEPT [0:0] +:OUTPUT ACCEPT [0:0] +COMMIT diff --git a/iptables/key b/iptables/key new file mode 100644 index 0000000..01decda --- /dev/null +++ b/iptables/key @@ -0,0 +1 @@ +gpg -v --recv-key D55D978A8A1420E4 diff --git a/iptables/simple_firewall.rules b/iptables/simple_firewall.rules new file mode 100644 index 0000000..63426b0 --- /dev/null +++ b/iptables/simple_firewall.rules @@ -0,0 +1,11 @@ +*filter +:INPUT DROP [0:0] +:FORWARD DROP [0:0] +:OUTPUT ACCEPT [0:0] +-A INPUT -p icmp -j ACCEPT +-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT +-A INPUT -i lo -j ACCEPT +-A INPUT -p tcp -j REJECT --reject-with tcp-reset +-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable +-A INPUT -j REJECT --reject-with icmp-proto-unreachable +COMMIT diff --git a/iptables/sums b/iptables/sums new file mode 100644 index 0000000..737a39f --- /dev/null +++ b/iptables/sums @@ -0,0 +1,9 @@ +iptables-1.8.7.tar.bz2 +iptables-1.8.7.tar.bz2.sig +empty.rules +simple_firewall.rules +empty-filter.rules +empty-mangle.rules +empty-nat.rules +empty-raw.rules +empty-security.rules diff --git a/iptables/time b/iptables/time new file mode 100644 index 0000000..4badac8 --- /dev/null +++ b/iptables/time @@ -0,0 +1,3 @@ +real 0m19.503s +user 0m36.821s +sys 0m3.886s diff --git a/iputils/PKGBUILD b/iputils/PKGBUILD new file mode 100644 index 0000000..ec8c29e --- /dev/null +++ b/iputils/PKGBUILD @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=iputils +# Commit date + git rev-parse --short origin/master +_rev=23c3782a +pkgver=20211215 +pkgrel=01 +pkgdesc="Network monitoring tools, including ping w/o systemd" +arch=('x86_64') +url="http://www.skbuff.net/iputils/" +depends=('libcap' 'libidn2') +makedepends=('perl-sgmls' 'git' 'docbook-xsl' 'meson' 'iproute') +conflicts=('netkit-base' 'arping') +replaces=('netkit-base') +source=("git+https://github.com/iputils/iputils.git#tag=${pkgver}?signed") + +build() { + mkdir -p build + cd build + + arch-meson ../$pkgname -DBUILD_RARPD=true + ninja +} + +package() { + cd build + + DESTDIR="$pkgdir" ninja install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F') # Petr Vorel + +sha256sums=(SKIP) diff --git a/iputils/PKGBUILD-arch b/iputils/PKGBUILD-arch new file mode 100644 index 0000000..d2e55f0 --- /dev/null +++ b/iputils/PKGBUILD-arch @@ -0,0 +1,34 @@ +# Maintainer: Stéphane Gaudreault +# Maintainer: Tobias Powalowski +# Contributor: Aaron Griffin + +pkgname=iputils +# Commit date + git rev-parse --short origin/master +_rev=23c3782a +pkgver=20211215 +pkgrel=1 +pkgdesc="Network monitoring tools, including ping" +arch=('x86_64') +license=('GPL') +url="http://www.skbuff.net/iputils/" +depends=('libcap' 'libidn2') +makedepends=('perl-sgmls' 'git' 'docbook-xsl' 'meson' 'systemd' 'iproute') +conflicts=('netkit-base' 'arping') +replaces=('netkit-base') +source=("git+https://github.com/iputils/iputils.git#tag=${pkgver}?signed") +validpgpkeys=('2016FEA4858B1C36B32E833AC0DEC2EE72F33A5F') # Petr Vorel +sha1sums=('SKIP') + +build() { + mkdir -p build + cd build + + arch-meson ../$pkgname -DBUILD_RARPD=true + ninja +} + +package() { + cd build + + DESTDIR="$pkgdir" ninja install +} diff --git a/iputils/clean b/iputils/clean new file mode 100644 index 0000000..6fcc61a --- /dev/null +++ b/iputils/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,iputils} diff --git a/iputils/deps b/iputils/deps new file mode 100644 index 0000000..6291c8e --- /dev/null +++ b/iputils/deps @@ -0,0 +1,4 @@ +perl-sgmls +git +docbook-xsl +meson diff --git a/iputils/key b/iputils/key new file mode 100644 index 0000000..ee27ea6 --- /dev/null +++ b/iputils/key @@ -0,0 +1 @@ +gpg -v --recv-key C0DEC2EE72F33A5F diff --git a/iputils/time b/iputils/time new file mode 100644 index 0000000..030dbcb --- /dev/null +++ b/iputils/time @@ -0,0 +1,3 @@ +real 0m14.997s +user 0m11.147s +sys 0m1.238s diff --git a/ipw2100-fw/PKGBUILD b/ipw2100-fw/PKGBUILD new file mode 100644 index 0000000..14ecbe6 --- /dev/null +++ b/ipw2100-fw/PKGBUILD @@ -0,0 +1,32 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=ipw2100-fw +pkgver=1.3 +pkgrel=010 +pkgdesc="Intel Centrino Drivers firmware for IPW2100" +arch=('any') +url="http://ipw2100.sourceforge.net/" +replaces=('ipw2100') +source=("https://sources.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tgz") + +package() { + cd "${srcdir}" + + # Install firmware + for i in *.fw + do + install -D -m 644 $i "${pkgdir}/usr/lib/firmware/$i" + done + # Install license + install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('custom') + +sha256sums=(e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2) # ipw2100-fw-1.3.tgz diff --git a/ipw2100-fw/PKGBUILD-arch b/ipw2100-fw/PKGBUILD-arch new file mode 100644 index 0000000..6d86381 --- /dev/null +++ b/ipw2100-fw/PKGBUILD-arch @@ -0,0 +1,26 @@ +# Maintainer: Tom Gundersen +# Contributor: Thomas Baechler +# Contributor: Giovanni Scafora + +pkgname=ipw2100-fw +pkgver=1.3 +pkgrel=10 +pkgdesc="Intel Centrino Drivers firmware for IPW2100" +arch=('any') +url="http://ipw2100.sourceforge.net/" +license=('custom') +replaces=('ipw2100') +source=("https://sources.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tgz") +md5sums=('46aa75bcda1a00efa841f9707bbbd113') + +package() { + cd "${srcdir}" + + # Install firmware + for i in *.fw + do + install -D -m 644 $i "${pkgdir}/usr/lib/firmware/$i" + done + # Install license + install -D -m 644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/ipw2100-fw/clean b/ipw2100-fw/clean new file mode 100644 index 0000000..1e80244 --- /dev/null +++ b/ipw2100-fw/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tgz} diff --git a/ipw2100-fw/deps b/ipw2100-fw/deps new file mode 100644 index 0000000..139597f --- /dev/null +++ b/ipw2100-fw/deps @@ -0,0 +1,2 @@ + + diff --git a/ipw2100-fw/time b/ipw2100-fw/time new file mode 100644 index 0000000..d88cdc9 --- /dev/null +++ b/ipw2100-fw/time @@ -0,0 +1,3 @@ +real 0m1.481s +user 0m1.446s +sys 0m0.149s diff --git a/ipw2200-fw/PKGBUILD b/ipw2200-fw/PKGBUILD new file mode 100644 index 0000000..7b62a24 --- /dev/null +++ b/ipw2200-fw/PKGBUILD @@ -0,0 +1,30 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=ipw2200-fw +pkgver=3.1 +pkgrel=08 +pkgdesc="Firmware for the Intel PRO/Wireless 2200BG" +arch=('any') +url='http://ipw2200.sourceforge.net/' +source=("https://sources.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tgz") +replaces=('ipw2200') + +package() { + cd "${srcdir}/ipw2200-fw-${pkgver}" + # Install firmware + for i in ipw*.fw; do + install -D -m 644 $i "${pkgdir}/usr/lib/firmware/$i" + done + # Install license + install -D -m 644 LICENSE.ipw2200-fw "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('custom') + +sha256sums=(c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd) # ipw2200-fw-3.1.tgz diff --git a/ipw2200-fw/PKGBUILD-arch b/ipw2200-fw/PKGBUILD-arch new file mode 100644 index 0000000..c4cee46 --- /dev/null +++ b/ipw2200-fw/PKGBUILD-arch @@ -0,0 +1,24 @@ +# Maintainer: Tom Gundersen +# Contributor: Thomas Baechler +# Contributor: Giovanni Scafora + +pkgname=ipw2200-fw +pkgver=3.1 +pkgrel=8 +pkgdesc="Firmware for the Intel PRO/Wireless 2200BG" +arch=('any') +url='http://ipw2200.sourceforge.net/' +license=('custom') +source=("https://sources.archlinux.org/other/packages/${pkgname}/${pkgname}-${pkgver}.tgz") +replaces=('ipw2200') +md5sums=('eaba788643c7cc7483dd67ace70f6e99') + +package() { + cd "${srcdir}/ipw2200-fw-${pkgver}" + # Install firmware + for i in ipw*.fw; do + install -D -m 644 $i "${pkgdir}/usr/lib/firmware/$i" + done + # Install license + install -D -m 644 LICENSE.ipw2200-fw "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/ipw2200-fw/clean b/ipw2200-fw/clean new file mode 100644 index 0000000..1e80244 --- /dev/null +++ b/ipw2200-fw/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tgz} diff --git a/ipw2200-fw/deps b/ipw2200-fw/deps new file mode 100644 index 0000000..139597f --- /dev/null +++ b/ipw2200-fw/deps @@ -0,0 +1,2 @@ + + diff --git a/ipw2200-fw/time b/ipw2200-fw/time new file mode 100644 index 0000000..b6269d5 --- /dev/null +++ b/ipw2200-fw/time @@ -0,0 +1,3 @@ +real 0m1.410s +user 0m1.332s +sys 0m0.193s diff --git a/iw/PKGBUILD b/iw/PKGBUILD new file mode 100644 index 0000000..456f9ba --- /dev/null +++ b/iw/PKGBUILD @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=iw +pkgver=5.16 +pkgrel=01 +pkgdesc='nl80211 based CLI configuration utility for wireless devices' +arch=('x86_64') +url='https://wireless.wiki.kernel.org/en/users/documentation/iw' +depends=('libnl') +makedepends=('linux-api-headers') +source=("https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar."{xz,sign}) + +build() { + cd "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" SBINDIR="/usr/bin" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('C0EBC440F6DA091C884D8532E0F373F37BF9099A') # Johannes Berg + +sha256sums=(4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c # iw-5.16.tar.xz + 77685614bb69321b35a5e274aebb4e64596e855762b15017bde63c0d33192ea5) # iw-5.16.tar.sign diff --git a/iw/PKGBUILD-arch b/iw/PKGBUILD-arch new file mode 100644 index 0000000..6a40b46 --- /dev/null +++ b/iw/PKGBUILD-arch @@ -0,0 +1,25 @@ +# Maintainer: Thomas Bächler + +pkgname=iw +pkgver=5.16 +pkgrel=1 +pkgdesc='nl80211 based CLI configuration utility for wireless devices' +arch=('x86_64') +url='https://wireless.wiki.kernel.org/en/users/documentation/iw' +license=('GPL') +depends=('libnl') +makedepends=('linux-api-headers') +validpgpkeys=('C0EBC440F6DA091C884D8532E0F373F37BF9099A') # Johannes Berg +source=("https://www.kernel.org/pub/software/network/$pkgname/$pkgname-$pkgver.tar."{xz,sign}) +sha256sums=('4c44e42762f903f9094ba5a598998c800a97a62afd6fd31ec1e0a799e308659c' + 'SKIP') + +build() { + cd "$srcdir"/$pkgname-$pkgver + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir" SBINDIR="/usr/bin" install +} diff --git a/iw/clean b/iw/clean new file mode 100644 index 0000000..68f13b1 --- /dev/null +++ b/iw/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.xz,*.tar.sign} diff --git a/iw/deps b/iw/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/iw/deps @@ -0,0 +1 @@ + diff --git a/iw/key b/iw/key new file mode 100644 index 0000000..725223c --- /dev/null +++ b/iw/key @@ -0,0 +1 @@ +gpg -v --recv-key 07CA9981AFDF97C4 diff --git a/jobbot/PKGBUILD b/jobbot/PKGBUILD new file mode 100644 index 0000000..3db18c9 --- /dev/null +++ b/jobbot/PKGBUILD @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=jobbot +pkgdesc='Minimal set of packages to maintain the building chroot for JOBORun Linux' +pkgver=0.1 +pkgrel=02 +groups=( jobbot ) +arch=(x86_64) +source=( README-jobbot.txt Qsq ckchroot) +depends=( acl archlinux-keyring obarun-keyring joborun-keyring attr audit bash + binutils brotli bzip2 ca-certificates ca-certificates-mozilla ca-certificates-utils + coreutils cower curl db dbus diffutils e2fsprogs elfutils expat fakeroot file + filesystem findutils flex gawk gc gcc gcc-libs gdbm glib2 glibc gmp gnupg gnutls gpgme + grep groff guile gzip hwdata iana-etc icu iproute2 iptables iputils keyutils + kmod krb5 less libarchive libassuan libcap libcap-ng libelf libeudev libffi libgcrypt + libgpg-error libidn2 libisl libksba libldap libmnl libmpc libnetfilter_conntrack + libnfnetlink libnftnl libnghttp2 libnl libp11-kit libpcap libpsl libsasl libseccomp + libsecret libssh2 libtasn1 libtirpc libtool libunistring libxcrypt licenses linux-api-headers + lz4 m4 make mpfr nano ncurses nettle npth numactl openssl opensysusers p11-kit package-query pacman + pacman-contrib pacman-mirrorlist pam pambase patch pciutils pcre pcre2 perl pinentry + pkgconf procps-ng psmisc readline sed shadow sqlite sudo tar texinfo tzdata util-linux + util-linux-libs wget which xz yajl zlib zsh zstd ) + +package() { + cd "$pkgdir" + install -d -m777 "$pkgdir"/src + install -Dm644 "$srcdir"/README-jobbot.txt "$pkgdir"/src/README-jobbot.txt + install -Dm644 "$srcdir"/Qsq "$pkgdir"/src/Qsq # When jobbot is installed this can be produced +# ... by running 'pacman -Qsq >/src/Qsq' + install -Dm755 "$srcdir"/ckchroot "$pkgdir"/usr/bin/ckchroot +# This ckchroot script runs 'pacman -Qsq >/tmp/Qsq' and then compares it to /src/Qsq +} + +#---- license gpg-key sha512sums ---- + +license=('ISC') + +sha256sums=(b8d35ce63241ebd38ba6fde17894bbb5b0c334b165789fd0454530c20b25ed75 # README-jobbot.txt + 9bf4da3e4cfd1830fd43821946b573bf56e253a951691181142559197397b139 # Qsq + 50febbb21bb779f43b93c7f8e65ba4cbff0c6b32cddd45ecb9118fc801581d99) # ckchroot diff --git a/jobbot/Qsq b/jobbot/Qsq new file mode 100644 index 0000000..0d386fd --- /dev/null +++ b/jobbot/Qsq @@ -0,0 +1,130 @@ +acl +archlinux-keyring +attr +audit +bash +binutils +brotli +bzip2 +ca-certificates +ca-certificates-mozilla +ca-certificates-utils +coreutils +cower +curl +db +dbus +diffutils +e2fsprogs +elfutils +expat +fakeroot +file +filesystem +findutils +flex +gawk +gc +gcc +gcc-libs +gdbm +glib2 +glibc +gmp +gnupg +gnutls +gpgme +grep +groff +guile +gzip +hwdata +iana-etc +icu +iproute2 +iptables +iputils +jobbot +joborun-keyring +keyutils +kmod +krb5 +less +libarchive +libassuan +libcap +libcap-ng +libelf +libeudev +libffi +libgcrypt +libgpg-error +libidn2 +libisl +libksba +libldap +libmnl +libmpc +libnetfilter_conntrack +libnfnetlink +libnftnl +libnghttp2 +libnl +libp11-kit +libpcap +libpsl +libsasl +libseccomp +libsecret +libssh2 +libtasn1 +libtirpc +libtool +libunistring +libxcrypt +licenses +linux-api-headers +lz4 +m4 +make +mpfr +nano +ncurses +nettle +npth +numactl +obarun-keyring +openssl +p11-kit +package-query +pacman +pacman-contrib +pacman-mirrorlist +pam +pambase +patch +pciutils +pcre +pcre2 +perl +pinentry +pkgconf +procps-ng +psmisc +readline +sed +shadow +sqlite +sudo +tar +texinfo +tzdata +util-linux +util-linux-libs +wget +which +xz +yajl +zlib +zsh +zstd diff --git a/jobbot/README-jobbot.txt b/jobbot/README-jobbot.txt new file mode 100644 index 0000000..85f5b88 --- /dev/null +++ b/jobbot/README-jobbot.txt @@ -0,0 +1,38 @@ +This is the base package for the minimal jobbot installation. +This does not produce a bootable system alone, it is the minimum set number of packages to +have the minimum joborun building environment. No kernel, no init, no eudev/udev (just libeudev). +The only unnecessary additions are cower (an AUR helper maintained currently by Eric Vidal of +Obarun) package-query (a very light program that helps searching AUR with similar output to yay. + +# Add the following shortcut to your .zshrc and use it to search for an AUR package in similar +# fashion to yay +# alias yay='f(){package-query -AQSs --rsort w --show-size $@;unset -f f;};f' +# save, restart the zsh shell and run "yay aur helper" as a test +# + +Before and after you build a package you should run ckchroot and expect no output. ++pkgname means you have extra pkgs installed, -pkgname shows pkgs missing. +There shouldn't be much missing if the system is to hold its integrity, even in chroot. + +When in doubt reinstall jobbot metapagkage. If the chroot (or pacman within it) is broken, don't delete your work +and abandon it. Exit the chroot and issue " % sudo pacman -Sy jobbot -r /mnt " , where /mnt can +be changed with the mountpoint of your builder's partition. Enter the chroot again as in " % sudo arch-chroot /mnt zsh " and everything should be operational again. + +________ + +It is crucial to maintain this base of installed packages because all pkg directories in +/src/pkg/jobcore and /src/pkg/jobextra contain a file called deps. deps for each package +are the exact packages you need more than what you have in jobbase. You install deps list +to build, you uninstall deps list when you finish, and you always end up with jobbot. +________ + +######## delete the empty spaces from the addresses below ######## + joborun @ disroot . org reddit . com / r / joborun +######## delete the empty spaces from the above addresses ######## + +We are always open to constructive criticism, suggestions, recommendations, complaints,... +We are here to discuss, not just one on one, but collectively, all that we have an interest in improving +this system. This is not my system, it is our system. Please adjust your mode of thinking +accordingly. Rational arguments only allowed and the stronger ones always produce a common decision +aceeptable by all. + diff --git a/jobbot/ckchroot b/jobbot/ckchroot new file mode 100755 index 0000000..09d4c8b --- /dev/null +++ b/jobbot/ckchroot @@ -0,0 +1,3 @@ +#!/usr/bin/sh +sudo pacman -Qsq >/tmp/Qsq +diff -ua /src/Qsq /tmp/Qsq diff --git a/jobbot/clean b/jobbot/clean new file mode 100644 index 0000000..c39a115 --- /dev/null +++ b/jobbot/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg} diff --git a/jobbot/deps b/jobbot/deps new file mode 100644 index 0000000..f32080e --- /dev/null +++ b/jobbot/deps @@ -0,0 +1,15 @@ +runit +runit-rc +joborun66 +eudev +net-tools +dhclient +wpa_supplicant +runit-service-scripts +terminus-font +licenses +gawk +grep +pciutils +psmisc +iputils diff --git a/jobbot/time b/jobbot/time new file mode 100644 index 0000000..4013efc --- /dev/null +++ b/jobbot/time @@ -0,0 +1,3 @@ +real 0m1.576s +user 0m1.484s +sys 0m0.165s diff --git a/jobo-setup/PKGBUILD b/jobo-setup/PKGBUILD new file mode 100644 index 0000000..a3aa880 --- /dev/null +++ b/jobo-setup/PKGBUILD @@ -0,0 +1,28 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=jobo-setup +pkgdesc='Post Install joborun setup script - currently a dummy empty pkg' +pkgver=0.1 +pkgrel=01 +groups=( jobbase ) +arch=(x86_64) +source=('jobo-setup.sh' + 'README.txt') +depends=('sh') + +package() { + cd "$pkgdir" + install -Dm644 $srcdir/README.txt "$pkgdir/root/README.txt" + install -Dm755 $srcdir/jobo-setup.sh "$pkgdir/usr/bin/jobo-setup.sh" + ln -s /usr/bin/jobo-setup.sh "$pkgdir/usr/bin/jobo-setup" +} + +#---- license gpg-key sha256sums ---- + +sha256sums=(SKIP + SKIP) diff --git a/jobo-setup/README.txt b/jobo-setup/README.txt new file mode 100644 index 0000000..60e74f7 --- /dev/null +++ b/jobo-setup/README.txt @@ -0,0 +1,3 @@ +Currently just an empty dummy pkg till the script will be fully developed and tested +jobo-setup.sh should be run after the installation of base packages and options have been installed, in orger to prepare the system for its first boot and ensure that it will boot. + diff --git a/jobo-setup/jobo-setup.sh b/jobo-setup/jobo-setup.sh new file mode 100644 index 0000000..6d5cd67 --- /dev/null +++ b/jobo-setup/jobo-setup.sh @@ -0,0 +1,17 @@ +#!/bin/sh +echo " +# This script should run after the base has been installed and should run within the chroot +# environment of the installation. +# +# The script can alway be run again to reconfigure the system, such if other partitions to +# be mounted are created, if s6/66 are added together with runit, or runit is removed in place +# of s6/66. The script should always run as root or using "sudo sh jobo-setup.sh" or simply +# "sudo jobo-setup" +# +# Please report any problems, bugs, issues that may arise from its use so we can make +# adjustments and reissue. +# +# We hope you find it helpful. +# +" + diff --git a/jobo66/PKGBUILD b/jobo66/PKGBUILD new file mode 100644 index 0000000..b67873d --- /dev/null +++ b/jobo66/PKGBUILD @@ -0,0 +1,50 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=jobo66 +pkgdesc="installs minimal s6 66 needed software equivalent to the runit setup on joborun" +pkgver=0.1.0 +pkgrel=03 +arch=('x86_64') +source=(jobo66.txt install) + +makedepends=(glibc) +depends=(66 boot-66serv boot@-66serv 66-tools execline oblibs s6 s6-dns s6-linux-utils s6-networking + s6-portable-utils s6-rc skalibs ntpd-66serv dhclient-66serv wpa_supplicant-66serv tty@-66serv + joborun66 obsysusers opentmpfiles) + +prepare() { + mkdir -p $pkgname + cd $pkgname +} + +package() { + install -Dm 0644 $srcdir/jobo66.txt $pkgdir/etc/66/jobo66.txt +} + +install=install + +groups=('s6-suite') + +backup=('etc/66/jobo66.txt') + +optdepends=('lvm2-66serv: lvm service' + 'openntpd-66serv: an alternative to ntp' + 'dhcpcd-66serv: works well with wpa_supplicant' + 'dbus-66serv: if you really need the damn thing running - includes a user dbus script as well' + 'ntpclient-66serv: a very small but effective ntp service by Skarnet') + +# See the observice repository (pkg -Sl observice) for all the Obarun service files available +# See also additional or more minimalistic and runit like services for 66 from mobinmob +# https://codeberg.org/mobinmob/66-voidlinux and https://osdn.net/projects/avyssos/ + +#---- license gpg-key sha256sums ---- + +license=('ISC') + +sha256sums=(39c75848713bb50f782844bb790dc2ec76b104fe15c2e272ee622a559319220e # jobo66.txt + 1f7b692a871ee5118fdb7ab7df2c8f883e4776aeb3de3912e5dde65dc8182ff2) # install diff --git a/jobo66/clean b/jobo66/clean new file mode 100644 index 0000000..903c960 --- /dev/null +++ b/jobo66/clean @@ -0,0 +1 @@ +rm -rf {src,pkg} diff --git a/jobo66/deps b/jobo66/deps new file mode 100644 index 0000000..a8b549e --- /dev/null +++ b/jobo66/deps @@ -0,0 +1,21 @@ +66 +66-tools +execline +mdevd +oblibs +s6 +s6-dns +s6-linux-utils +s6-networking +s6-portable-utils +s6-rc +skalibs +ntpd-66serv +dhclient-66serv +wpa_supplicant-66serv +tty@-66serv +joborun66 +opentmpfiles +obsysusers +boot-66serv +boot@-66serv diff --git a/jobo66/install b/jobo66/install new file mode 100644 index 0000000..e4dc5f5 --- /dev/null +++ b/jobo66/install @@ -0,0 +1,9 @@ +post_install() { + echo "1 This is a metapackage for joborun's boot-66serv to replace boot@-66serv by Obarun" + echo "Read more on the cohabitation of runit and 66" + more /etc/66/jobo66.txt +} + +post_upgrade() { + post_install +} diff --git a/jobo66/jobo66.txt b/jobo66/jobo66.txt new file mode 100644 index 0000000..f92c61b --- /dev/null +++ b/jobo66/jobo66.txt @@ -0,0 +1,84 @@ +/etc/66/jobo66.txt + + Ok, you have seen runit, you see how easy it is to configure, emable/start service + supervision disable/stop them, very little resources attributed to init and service + monitoring, but this is as far as runit's minimalism goes. + + You are now about to try something more, something much better, something much more + configurable/hackable, something that will make runit look like a scateboard compared + to a racy sportscar. Resources used: A tiny bit more in the untrained eye, but + well worth it due to speed and configurability. The slow bash script running of runit + is replaced by binaries built on minimal C libraries (skalibs oblibs), managing + minimalistic databases of configured services, parameters, modules, trees (bundles of + services), and most importantly running all this in very specific and configurable + environments. Meanwhile, while runit has one binary running init another supervising + services, it is prone to crash if the supervisor crashes, leaving a terminal init + program unable to do anything other to receive a signal for shutdown that has left + no place to come from (unless maybe through an ssh server, if it is still running, + which it shouldn't, since it is most likely also supervised by the crashing runsvdir). + + The sky is the limit with this one, root services, user services, containers, virtual + machines, all in separate modifiable environments and customized service dependencies. + + As some people get intimidated too soon by s6 and even 66 (which was made to make + s6 more manageable and easier to understand) and do not pursue further experimentation, + within the Arch-Linux ecosystem, it is either Obarun and s6/66 or many distros with + systemd or its counterpart elogind, making them practically ALL the same with the + exception of PID1. Now there is a choice, and even though runit had its final developmental + touches 8 years ago, it is only recently it has received some attention and popularity, + mainly due to its simplicity, of running it and also of implementing it. + +IMPORTANT - READ BEFORE REBOOTING !!!!!!!!!! + + With this package and our initial setup stored inside the tarball (currently an alpha version) + you can install this package and reboot. The only configuring you must do is to remove + init=/usr/bin/runit-init from the linux line of the bootloader, either at /etc/default/grub + or syslinux, and rerunning it, or by manually editing the bootloader entry (ie /boot/grub/grub.cfg) + and if you haven't removed runit yet maybe make a copied entry into custom.cfg, one + staying as is, marked as runit, the 2nd as 66 without the init=.... + + 66 will install its own /usr/bin/init which is the default location for arch kernels (actually + /sbin/init which points to /usr/bin/init. + Therefore you now have a live choice of two completely separate systems and service supervisors. + Both, together, with all the service scripts, are still a fraction of space of what systemd or + elogind occupy, and either one uses a tiny fraction of the resources that systemd does. + +DO NOT SKIP THE 2 PARAGRAPHS ABOVE !!!!!!!! + + Honestly, our runit employment here is just trivial and to satisfy those willing to inquire + of the two systems. In our daily work we have been using s6/66 for years and wouldn't trade + it for anything else. But we have provided a good bed for true side by side comparison. + + Feel free to shoot questions to our contact/support points but the best source of real accurate + technical information for 66 and s6 are their discussion email lists (obarun.org and skarnet.org). + + Based on the instruction of our wiki https://git.disroot.org/joborun/web/src/branch/main/index.md + you will see how to install using our tar-ball and how easy it is to just install this package + here, edit your bootloader as mentioned above, and REBOOT! We seriously doubt you would want to + go back to runit after this. If something breaks from tinkering and you don't know how to fix + it and reboot, rm -rf /etc/66, copy the /etc/66 tree from the tarball into your installation, + and run % sudo 66-intree -zg and everything should be there ready for reboot again. + + This is why we call our version of boot not boot@, although it is no different from Obarun's + other than where shutdown, halt, reboot, poweroff are located. + + +For additional service scripts for 66 see below: + See the observice repository (pkg -Sl observice) for all the Obarun service files available + See also additional or more minimalistic and runit like services for 66 from mobinmob + https://codeberg.org/mobinmob/66-voidlinux and https://osdn.net/projects/avyssos/ + + Although those from mobinmob/avyssos projects are meant for void, few scripts may need + some manual modification to match flags and parameters to arch's packages (very few, like ntpd) + otherwise they generally work. /etc/66/service is the default place for sysadmins to store + 66 service files that will not be altered by packaging. + + The avyssos project is a close cousin of joborun. While the avyssos tries to make it easier + to adopt s6/66 in void without removing runit necesseraly, we try to make it possible for + arch-linux/obarun to also boot with runit. + + +To read this document again it is saved in /etc/66: + + + /etc/66/jobo66.txt diff --git a/jobo66/time b/jobo66/time new file mode 100644 index 0000000..4623ec7 --- /dev/null +++ b/jobo66/time @@ -0,0 +1,4 @@ +real 0m1.488s +user 0m1.430s +sys 0m0.230s + diff --git a/joborun-keyring/Makefile b/joborun-keyring/Makefile new file mode 100644 index 0000000..ea9c229 --- /dev/null +++ b/joborun-keyring/Makefile @@ -0,0 +1,11 @@ +PREFIX = /usr/local + +install: + install -dm755 $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + install -m0644 joborun{.gpg,-trusted} $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/share/pacman/keyrings/joborun{.gpg,-trusted} + rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + +.PHONY: install uninstall diff --git a/joborun-keyring/Makefile-template b/joborun-keyring/Makefile-template new file mode 100644 index 0000000..8cfbc07 --- /dev/null +++ b/joborun-keyring/Makefile-template @@ -0,0 +1,11 @@ +PREFIX = /usr/local + +install: + install -dm755 $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + install -m0644 joborun{.gpg,-trusted,-revoked} $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + +uninstall: + rm -f $(DESTDIR)$(PREFIX)/share/pacman/keyrings/joborun{.gpg,-trusted,-revoked} + rmdir -p --ignore-fail-on-non-empty $(DESTDIR)$(PREFIX)/share/pacman/keyrings/ + +.PHONY: install uninstall diff --git a/joborun-keyring/PKGBUILD b/joborun-keyring/PKGBUILD new file mode 100644 index 0000000..3f31fb4 --- /dev/null +++ b/joborun-keyring/PKGBUILD @@ -0,0 +1,32 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=joborun-keyring +pkgdesc="joborun PGP keyring" +pkgver=20220202 +pkgrel=02 +groups=(base jobbot) +arch=(x86_64) +url="https://pozol.eu/" +source=( Makefile + joborun.gpg + joborun-trusted + joborun-keyring.install) + +package() { + cd ${srcdir} + make PREFIX=/usr DESTDIR=${pkgdir} install +} + +install=${pkgname}.install + +#---- license gpg-key sha256sums ---- + +sha256sums=(97f4816db026e06b980bdd285b17ab4d3f65667d1b2485e489904400eda75336 # Makefile + c43f81eace2bfac5b6bc5b991675771f5008d7c4dc36ece4a2a6bc13e965a3ad # joborun-pkg.gpg + 23ced1c65c177725b2b95b5fb346bd448db68020b3b06c4e623cad9cb2d51eb7 # joborun-pkg-trusted + e7624da47ffb6364aee31246414132590bbe24eed3cda4b7b1d7141881c78b54) # joborun-pkg-keyring.install diff --git a/joborun-keyring/PKGBUILD-template b/joborun-keyring/PKGBUILD-template new file mode 100644 index 0000000..96216b7 --- /dev/null +++ b/joborun-keyring/PKGBUILD-template @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=joborun-keyring +pkgdesc="joborun PGP keyring" +pkgver=20220202 +pkgrel=02 +groups=(base jobbot) +arch=(x86_64) +url="https://pozol.eu/" +source=( Makefile + joborun.gpg +# joborun-revoked + joborun-trusted + joborun-keyring.install) + +package() { + cd ${srcdir} + make PREFIX=/usr DESTDIR=${pkgdir} install +} + +install=${pkgname}.install + +#---- license gpg-key sha256sums ---- + +sha256sums=(a8238d532a0a39349f003d260ccf5f702ec5de655e64969c7b591c86f9aeab38 # Makefile + c43f81eace2bfac5b6bc5b991675771f5008d7c4dc36ece4a2a6bc13e965a3ad # joborun.gpg + # joborun-revoked + 23ced1c65c177725b2b95b5fb346bd448db68020b3b06c4e623cad9cb2d51eb7 # joborun-trusted + e7624da47ffb6364aee31246414132590bbe24eed3cda4b7b1d7141881c78b54) # joborun-keyring.install diff --git a/joborun-keyring/clean b/joborun-keyring/clean new file mode 100644 index 0000000..903c960 --- /dev/null +++ b/joborun-keyring/clean @@ -0,0 +1 @@ +rm -rf {src,pkg} diff --git a/joborun-keyring/deps b/joborun-keyring/deps new file mode 100644 index 0000000..bac9c71 --- /dev/null +++ b/joborun-keyring/deps @@ -0,0 +1 @@ + diff --git a/joborun-keyring/joborun-keyring.install b/joborun-keyring/joborun-keyring.install new file mode 100644 index 0000000..aed042c --- /dev/null +++ b/joborun-keyring/joborun-keyring.install @@ -0,0 +1,14 @@ +post_upgrade() { + if usr/bin/pacman-key -l >/dev/null 2>&1; then + usr/bin/pacman-key --populate joborun + else + echo " >>> Run \`pacman-key --init\` to set up your pacman keyring." + echo " >>> Then run \`pacman-key --populate joborun\` to install the joborun keyring." + fi +} + +post_install() { + if [ -x usr/bin/pacman-key ]; then + post_upgrade + fi +} diff --git a/joborun-keyring/joborun-revoked b/joborun-keyring/joborun-revoked new file mode 100644 index 0000000..e69de29 diff --git a/joborun-keyring/joborun-trusted b/joborun-keyring/joborun-trusted new file mode 100644 index 0000000..60c472e --- /dev/null +++ b/joborun-keyring/joborun-trusted @@ -0,0 +1 @@ +B0F939B98B226DB987F506AE1FF446212CB68483:4: diff --git a/joborun-keyring/joborun.gpg b/joborun-keyring/joborun.gpg new file mode 100644 index 0000000..ff4be1e --- /dev/null +++ b/joborun-keyring/joborun.gpg @@ -0,0 +1,41 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQGNBGHz1kQBDAC0THk6VqYStkyovD+wFaWoET8CHNyJmZ/eZUNXbzWSptQ0oXNS +Y2mQIWFDrfTejDLScRu7UfR83shlzDPMFtgo84q9gj9a0SElNyH483b52Qs2gbqZ +g7a2sIfFwcgclYRmTkWXBcqbqX5XBbwPa4VWO3KfGZ1D5EXncE+9oag+vBaABYBz +w/sg8Z874+iXr8hYBricmmOpK5xDDHHhrDoFt+wUtWWA0VocWChDghSBoXEv4EPl +Kl1xho8/8aSjFpukya3u19g07+/rDRZQTaTDTgv/b0rgZ0wj/JFuaSaCiZChOLgk +jw9mYduZql0hR/oLngwaHO2THJiQ+Tr2HwVfS7ZJL7c+SAxEHuC/PtYZZjZJ3B5y +PzQ4XBDpCB/ROEg+rVLddcjhjit0TB/n73QiOFe+VlpqseQNqXw7aSVbFbL6Q52a +nLZjK4ZHRccGHdhe0kEqb9jGBYzRGqMo41A34MOO0FIEbkDO6/YT4kOjrjqr3yAy +3peipHm9cWCUrCEAEQEAAbQdam9ib3J1biA8am9ib3J1bkBkaXNyb290Lm9yZz6J +AdQEEwEIAD4WIQSw+Tm5iyJtuYf1Bq4f9EYhLLaEgwUCYfPWRAIbAwUJA8JnAAUL +CQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRAf9EYhLLaEgyE4C/9Mmc0liHrH2eNO +keK/yoUTPKqBQw/n3VUvoaUyVEiFKRskdr1XessDx73OYd7WpKWQPvOe2YXXPDlO +ZnZLO8YySSitrvfuTpOyoa/Oc+uko0hZRq8P8OdqoYe+HwdFbtWWAmBd8v5bavgY +cc9Hla+jtwekaVftRHP9+GAUCWojpSCm3Lh2n9E1PcIEr+tf+4s2btY7Wv7j3xzg +z7hTtAMbl2QzdRbQU/irQKto1YcZiCqlG02BswG+gkDfTyo5FbaR2YrITNkia5tM +vQxs85xWHAHct5VB63/llhL9xNnDPcUdtAxlQd/AywWCftiAVF2x7M+O1Hi1D8V6 +Ninc+0L2wUZdx2mUKF4gr9kCoKceXlF5mnffeawrK8cjHIS9z9C3sG6jq62Tj8yq +v9gC5XXRxvCkI7UV6qY7nrOEYD9xzE9L/DzlSk6Kwvs+wSICrkbvdRw174nWa/JG +ylKmsbhw1FHJpBTm52NrbNau8IgBW9iAWv17t6DFZwihbdvehKC5AY0EYfPWRAEM +AM2d3XEhYy6HbqrIQSkDR1b8n8pddxlcJcelRUcyQLPj8qt+ShwBBxxq9IbSpCAw ++sljuL98XA7Chs+fPQ9fSaISPTty+0XbllSW9F5MbuaBabloQTrUki+8QReBQDij +MM2YGfH+L4qpRV8pTqgYP56FhTH7zM+Awci/8H1r3Wk/FW/paEvi3/LigLafdsRv +DO1SyM29/NtnL8DqXDGtFL166vALpDMgUNlaxPm//AX5JhpvDVCapf4i2bDzobk3 +n/mIr8unEK9W7r5bu6t524lRkR3nQ0C9OnvhHUUlxDPan0nBvSPIan4rzKeG2Xve +cvxxzzSSTlu4iWzyk9bHLU5fQ76pwQd5vvwXhL1M7C5y1dbWwhp8V5ZeCNV49fpu +8dPiNFhnd8FugunYM0+woNNdrfeX5QXJ+40TTw/tyqxAHF/QW0g5cYD4jZGXbymy +4HnlN8lbB4ZH5ipO9uwCNi1j3e5hyCzVX92EZx6iD77GIg8hxdiuedfEBlWMmjjG +5wARAQABiQG8BBgBCAAmFiEEsPk5uYsibbmH9QauH/RGISy2hIMFAmHz1kQCGwwF +CQPCZwAACgkQH/RGISy2hIMkFgv/awHEcQYGVf4CzOyXSn6JVcR+HnXi9n2s+WWF +Ct//qJOHg4M8gyp5t+Yr7vjx56KYVYF1gEu0EDa/eJHvzpMHaPzAZdbVD8dF9jIR +sjDUEHd2bMPUHt+o9hW3SrtB4kCA1DovynVK7M3/lSMv2Zkj59xurYBncc8LKiQA +aJ4+nRSZLiVB0G4UftLhN9n4bkwN5XRFetJkMKaSJ+j9JCA31yNvz+V3BcsGKe5M +QGHiDw69+0WInfmXvaPz9Y3Kfrhn7fQfvTpcT1tz0OxzDfK4MnWaBH5uWv1lZX2J +HkBmOHj/rVc9vqcXGS3VzNz7rAj57oNwTZmB0GHKuY2MwGCYsKAVIFkwY2OMXhMi +Q75xMV24G5eQnkpTkStyGiciPDIGiC6RtNZSc5Fajy9l7u8ERDd5vr8mKOsiq7+U +De3tQfBrSXIO8p8zKxdsl6DqJru1iRKRIO0vXtBFijUsdSMl2W0ry+WLsJiuiTKQ +Fwe6mCx6pntKyk+3XYJRXX8/8+Tg +=XepH +-----END PGP PUBLIC KEY BLOCK----- diff --git a/joborun-keyring/time b/joborun-keyring/time new file mode 100644 index 0000000..3e689ed --- /dev/null +++ b/joborun-keyring/time @@ -0,0 +1,4 @@ + +real 0m1.940s +user 0m1.652s +sys 0m0.406s diff --git a/joborun66/PKGBUILD b/joborun66/PKGBUILD new file mode 100644 index 0000000..8189ff2 --- /dev/null +++ b/joborun66/PKGBUILD @@ -0,0 +1,31 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=joborun66 +pkgver=0.1 +pkgrel=04 +pkgdesc='for runit and 66 to coexist the 4 conflicting power functions must be separate in /usr/bin/s6 and /usr/bin/run ' +groups=(base) +arch=(any) +depends=(sh) +source=(halt poweroff reboot shutdown) + +package() { + install -Dm755 halt "${pkgdir}"/usr/local/bin/halt + install -Dm755 poweroff "${pkgdir}"/usr/local/bin/poweroff + install -Dm755 reboot "${pkgdir}"/usr/local/bin/reboot + install -Dm755 shutdown "${pkgdir}"/usr/local/bin/shutdown +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(1ef6a85ecd951c7f03fa0512fe3d0de2a75c971ea30618174a1471ef831be426 # halt + 0e85b128a79d8dd6c23601bc2e97a494712ba20e9b3e45410ac74900fb343892 # poweroff + f117e88f5c8fa44bdec761ff52f6bd9590fd56d7618d4a7076bdb1340550f544 # reboot + 503229263c74d293162eac25473a92fcc55a9436a29122740f99013ab992b9ae) # shutdown diff --git a/joborun66/clean b/joborun66/clean new file mode 100644 index 0000000..903c960 --- /dev/null +++ b/joborun66/clean @@ -0,0 +1 @@ +rm -rf {src,pkg} diff --git a/joborun66/deps b/joborun66/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/joborun66/deps @@ -0,0 +1 @@ + diff --git a/joborun66/halt b/joborun66/halt new file mode 100755 index 0000000..646be23 --- /dev/null +++ b/joborun66/halt @@ -0,0 +1,4 @@ +#!/bin/sh +echo ".... joborun is now halting .... SO FAST!!!" +sudo /usr/bin/run/halt 2>/dev/null +sudo /usr/bin/s6/halt 2>/dev/null diff --git a/joborun66/poweroff b/joborun66/poweroff new file mode 100755 index 0000000..723befd --- /dev/null +++ b/joborun66/poweroff @@ -0,0 +1,4 @@ +#!/bin/sh +echo ".... joborun is now powering off .... SO FAST!!!" +sudo /usr/bin/run/poweroff 2>/dev/null +sudo /usr/bin/s6/poweroff 2>/dev/null diff --git a/joborun66/reboot b/joborun66/reboot new file mode 100755 index 0000000..260dd93 --- /dev/null +++ b/joborun66/reboot @@ -0,0 +1,4 @@ +#!/bin/sh +echo ".... joborun is now rebooting .... SO FAST!!!" +sudo /usr/bin/run/reboot -f 2>/dev/null +sudo /usr/bin/s6/reboot 2>/dev/null diff --git a/joborun66/shutdown b/joborun66/shutdown new file mode 100755 index 0000000..4ec2db5 --- /dev/null +++ b/joborun66/shutdown @@ -0,0 +1,4 @@ +#!/bin/sh +echo ".... joborun is now shuting down .... SO FAST!!!" +sudo /usr/bin/run/shutdown 2>/dev/null +sudo /usr/bin/s6/shutdowm 2>/dev/null diff --git a/json-c/PKGBUILD b/json-c/PKGBUILD new file mode 100644 index 0000000..3762b01 --- /dev/null +++ b/json-c/PKGBUILD @@ -0,0 +1,55 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=json-c +pkgver=0.15 +pkgrel=03 +pkgdesc="A JSON implementation in C" +url="https://github.com/json-c/json-c/wiki" +arch=(x86_64) +depends=(glibc) +makedepends=(git cmake ninja) +provides=(libjson-c.so) +#options=(debug) +_commit=9021cdcdd01fc9dbcbe1f06391848c2ac915212f # tags/json-c-0.15-20200726^0 +source=("git+https://github.com/json-c/json-c#commit=$_commit") + +pkgver() { + cd json-c + local tag="$(git describe --tags --abbrev=0)" + local ver="$(git describe --tags)" + echo "${tag%-*}${ver#$tag}" | sed 's/^json-c-//;s/-/+/g' +} + +prepare() { + cd json-c +} + +build() { + cmake -S json-c -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_STATIC_LIBS=OFF \ + -DENABLE_THREADING=ON \ + -DENABLE_RDRAND=OFF + cmake --build build +} + +check() { + cmake --build build --target test +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 json-c/COPYING +} + +#---- license gpg-key sha256sums ---- + +license=(MIT) + +sha256sums=(SKIP) diff --git a/json-c/PKGBUILD-arch b/json-c/PKGBUILD-arch new file mode 100644 index 0000000..1c0db01 --- /dev/null +++ b/json-c/PKGBUILD-arch @@ -0,0 +1,51 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Geoffroy Carrier +# Contributor: congyiwu + +pkgname=json-c +pkgver=0.15 +pkgrel=3 +pkgdesc="A JSON implementation in C" +url="https://github.com/json-c/json-c/wiki" +license=(MIT) +arch=(x86_64) +depends=(glibc) +makedepends=(git cmake ninja) +provides=(libjson-c.so) +options=(debug) +_commit=9021cdcdd01fc9dbcbe1f06391848c2ac915212f # tags/json-c-0.15-20200726^0 +source=("git+https://github.com/json-c/json-c#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd json-c + local tag="$(git describe --tags --abbrev=0)" + local ver="$(git describe --tags)" + echo "${tag%-*}${ver#$tag}" | sed 's/^json-c-//;s/-/+/g' +} + +prepare() { + cd json-c +} + +build() { + cmake -S json-c -B build -G Ninja \ + -DCMAKE_BUILD_TYPE=None \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_STATIC_LIBS=OFF \ + -DENABLE_THREADING=ON \ + -DENABLE_RDRAND=OFF + cmake --build build +} + +check() { + cmake --build build --target test +} + +package() { + DESTDIR="$pkgdir" cmake --install build + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 json-c/COPYING +} + +# vim:set sw=2 et: diff --git a/json-c/clean b/json-c/clean new file mode 100644 index 0000000..e1dea79 --- /dev/null +++ b/json-c/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,json-c} diff --git a/json-c/deps b/json-c/deps new file mode 100644 index 0000000..e13fee2 --- /dev/null +++ b/json-c/deps @@ -0,0 +1 @@ +git cmake ninja diff --git a/json-c/time b/json-c/time new file mode 100644 index 0000000..246513a --- /dev/null +++ b/json-c/time @@ -0,0 +1,4 @@ +real 0m51.559s +user 0m10.657s +sys 0m1.697s + diff --git a/kbd/PKGBUILD b/kbd/PKGBUILD new file mode 100644 index 0000000..735ef5c --- /dev/null +++ b/kbd/PKGBUILD @@ -0,0 +1,72 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=kbd +pkgver=2.4.0 +pkgrel=02 +pkgdesc="Keytable files and keyboard utilities" +arch=('x86_64') +url="http://www.kbd-project.org" +depends=('glibc' 'pam') +makedepends=('check' 'git' 'gettext' 'autoconf' 'automake') +source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgname}-${pkgver}.tar.gz + https://www.kernel.org/pub/linux/utils/kbd/${pkgname}-${pkgver}.tar.sign +#source=(git+https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git#tag=v$pkgver?signed + 'fix-euro2.patch' + 'vlock.pam') +backup=('etc/pam.d/vlock') +provides=('vlock') +conflicts=('vlock') +replaces=('vlock') + +prepare() { + cd ${pkgname}-${pkgver} + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) + # this should be removed when upstream adopts the change + mv data/keymaps/i386/qwertz/cz{,-qwertz}.map + mv data/keymaps/i386/olpc/es{,-olpc}.map + mv data/keymaps/i386/olpc/pt{,-olpc}.map + mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map + mv data/keymaps/i386/colemak/{en-latin9,colemak}.map + # fix euro2 #28213 + patch -Np1 -i ../fix-euro2.patch + autoreconf -if +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share/kbd --mandir=/usr/share/man + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +check() { + cd ${pkgname}-${pkgver} + +# This test is expected to fail since kbd-fix-loadkmap-compat.patch modifies the binary format + sed -e 's|dumpkeys-bkeymap ||' -i tests/Makefile + + make check +} + +package() { + cd ${pkgname}-${pkgver} + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR="${pkgdir}" install + install -Dm644 ../vlock.pam "${pkgdir}"/etc/pam.d/vlock +} + + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('7F2A3D07298149A0793C9A4EA45ABA544CFFD434') # Alexey Gladkov + +sha256sums=(cd7852ef59fd01d1b125a5f7241b39fd2b58ca8097b69766eae478e47cc83c3b # kbd-2.4.0.tar.gz + c5fae25c2fc55f4b558b83c2241328c99f7133906714c8c7bb53346644a64e66 # kbd-2.4.0.tar.sign + a5e0167b6a82a9eb4d581d56baab930c2d80f5541dc34630460b73e1115384b8 # fix-euro2.patch + 5c2d377a87121e7c399534fb91e2ffc0cc1e75d44a8f07ee6f55c9c089bc81e4) # vlock.pam diff --git a/kbd/PKGBUILD-arch b/kbd/PKGBUILD-arch new file mode 100644 index 0000000..9aedfd5 --- /dev/null +++ b/kbd/PKGBUILD-arch @@ -0,0 +1,63 @@ +# Maintainer: Tobias Powalowski + +pkgname=kbd +pkgver=2.4.0 +pkgrel=2 +pkgdesc="Keytable files and keyboard utilities" +arch=('x86_64') +url="http://www.kbd-project.org" +license=('GPL') +depends=('glibc' 'pam') +makedepends=('check' 'git') +#source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgname}-${pkgver}.tar.gz +# https://www.kernel.org/pub/linux/utils/kbd/${pkgname}-${pkgver}.tar.sign +source=(git+https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git#tag=v$pkgver?signed + 'fix-euro2.patch' + 'vlock.pam') +backup=('etc/pam.d/vlock') +provides=('vlock') +conflicts=('vlock') +replaces=('vlock') +sha256sums=('SKIP' + 'a5e0167b6a82a9eb4d581d56baab930c2d80f5541dc34630460b73e1115384b8' + '5c2d377a87121e7c399534fb91e2ffc0cc1e75d44a8f07ee6f55c9c089bc81e4') +validpgpkeys=( + '7F2A3D07298149A0793C9A4EA45ABA544CFFD434' #Alexey Gladkov + ) + +prepare() { + cd ${pkgname} + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) + # this should be removed when upstream adopts the change + mv data/keymaps/i386/qwertz/cz{,-qwertz}.map + mv data/keymaps/i386/olpc/es{,-olpc}.map + mv data/keymaps/i386/olpc/pt{,-olpc}.map + mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map + mv data/keymaps/i386/colemak/{en-latin9,colemak}.map + # fix euro2 #28213 + patch -Np1 -i ../fix-euro2.patch + autoreconf -if +} + +build() { + cd ${pkgname} + ./configure --prefix=/usr --sysconfdir=/etc --datadir=/usr/share/kbd --mandir=/usr/share/man + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +check() { + cd ${pkgname} + +# This test is expected to fail since kbd-fix-loadkmap-compat.patch modifies the binary format + sed -e 's|dumpkeys-bkeymap ||' -i tests/Makefile + + make check +} + +package() { + cd ${pkgname} + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR="${pkgdir}" install + install -Dm644 ../vlock.pam "${pkgdir}"/etc/pam.d/vlock +} diff --git a/kbd/clean b/kbd/clean new file mode 100644 index 0000000..d0258f2 --- /dev/null +++ b/kbd/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*,*.sign} diff --git a/kbd/deps b/kbd/deps new file mode 100644 index 0000000..d1199ed --- /dev/null +++ b/kbd/deps @@ -0,0 +1,4 @@ +check git +gettext +automake +autoconf diff --git a/kbd/fix-euro2.patch b/kbd/fix-euro2.patch new file mode 100644 index 0000000..572cba7 --- /dev/null +++ b/kbd/fix-euro2.patch @@ -0,0 +1,9 @@ +--- kbd-1.15.5/data/keymaps/i386/include/euro2.map.old 2013-05-08 15:00:25.917752313 +0200 ++++ kbd-1.15.5/data/keymaps/i386/include/euro2.map 2013-05-08 15:00:54.943957367 +0200 +@@ -2,5 +2,5 @@ + # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt) + # on the positions where many keyboards have E and C. + # To get it displayed, use a latin0 (i.e., latin9) font.] +-altgr keycode 18 = currency ++altgr keycode 18 = euro + altgr keycode 46 = cent diff --git a/kbd/key b/kbd/key new file mode 100644 index 0000000..45f1daa --- /dev/null +++ b/kbd/key @@ -0,0 +1 @@ +gpg -v --recv-key A45ABA544CFFD434 diff --git a/kbd/time b/kbd/time new file mode 100644 index 0000000..1d77105 --- /dev/null +++ b/kbd/time @@ -0,0 +1,3 @@ +real 0m28.265s +user 0m40.159s +sys 0m4.662s diff --git a/kbd/vlock.pam b/kbd/vlock.pam new file mode 100644 index 0000000..dbda833 --- /dev/null +++ b/kbd/vlock.pam @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth required pam_unix.so +account required pam_unix.so +password required pam_unix.so +session required pam_unix.so diff --git a/keyutils/PKGBUILD b/keyutils/PKGBUILD new file mode 100644 index 0000000..ae18c69 --- /dev/null +++ b/keyutils/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=keyutils +_tag='5678a1aae8834b5c16b5ed7dc72ef8836a29e122' # git rev-parse v${pkgver} +pkgver=1.6.3 +pkgrel=01 +pkgdesc='Linux Key Management Utilities' +arch=('x86_64') +url='https://www.kernel.org/' +depends=('glibc' 'sh') +makedepends=('git') +provides=('libkeyutils.so') +backup=('etc/request-key.conf') +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git#tag=${_tag}?signed" + 'request-key.conf.patch' 'reproducible.patch') + +prepare() { + cd ${pkgname} + # fix paths of binaries in /etc/request-key.conf + patch -Np0 -i ../request-key.conf.patch + + # make keyutils reproducible + patch -Np1 -i ../reproducible.patch +} + +build() { + cd ${pkgname} + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" SBINDIR='/usr/bin' BINDIR='/usr/bin' +} + +package() { + cd ${pkgname} + make DESTDIR="${pkgdir}" SBINDIR='/usr/bin' BINDIR='/usr/bin' LIBDIR='/usr/lib' USRLIBDIR='/usr/lib' install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'LGPL2.1') + +validpgpkeys=('A86E54B0D5E1B4E0AB7C640FFBB7576BA7CB0B6B') # David Howells + +sha256sums=(SKIP + 203c602c61ed94ccd423a0a453d74143d678c641a9a4486367576ee8af2cb8d6 # request-key.conf.patch + 7bb7400b2b8c8f0288c86ec9191f8964a1e682745a204013d5fc7c2e1a253d8e) # reproducible.patch diff --git a/keyutils/PKGBUILD-arch b/keyutils/PKGBUILD-arch new file mode 100644 index 0000000..d9831c5 --- /dev/null +++ b/keyutils/PKGBUILD-arch @@ -0,0 +1,40 @@ +# Maintainer: Stéphane Gaudreault +# Contributor: Tobias Powalowski + +pkgname=keyutils +_tag='5678a1aae8834b5c16b5ed7dc72ef8836a29e122' # git rev-parse v${pkgver} +pkgver=1.6.3 +pkgrel=1 +pkgdesc='Linux Key Management Utilities' +arch=('x86_64') +url='https://www.kernel.org/' +license=('GPL2' 'LGPL2.1') +depends=('glibc' 'sh') +makedepends=('git') +provides=('libkeyutils.so') +backup=('etc/request-key.conf') +validpgpkeys=('A86E54B0D5E1B4E0AB7C640FFBB7576BA7CB0B6B') # David Howells +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/keyutils.git#tag=${_tag}?signed" + 'request-key.conf.patch' 'reproducible.patch') +sha256sums=('SKIP' + '203c602c61ed94ccd423a0a453d74143d678c641a9a4486367576ee8af2cb8d6' + '7bb7400b2b8c8f0288c86ec9191f8964a1e682745a204013d5fc7c2e1a253d8e') + +prepare() { + cd ${pkgname} + # fix paths of binaries in /etc/request-key.conf + patch -Np0 -i ../request-key.conf.patch + + # make keyutils reproducible + patch -Np1 -i ../reproducible.patch +} + +build() { + cd ${pkgname} + make CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" SBINDIR='/usr/bin' BINDIR='/usr/bin' +} + +package() { + cd ${pkgname} + make DESTDIR="${pkgdir}" SBINDIR='/usr/bin' BINDIR='/usr/bin' LIBDIR='/usr/lib' USRLIBDIR='/usr/lib' install +} diff --git a/keyutils/clean b/keyutils/clean new file mode 100644 index 0000000..e251505 --- /dev/null +++ b/keyutils/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,keyutils} diff --git a/keyutils/deps b/keyutils/deps new file mode 100644 index 0000000..6a91c13 --- /dev/null +++ b/keyutils/deps @@ -0,0 +1,2 @@ +git + diff --git a/keyutils/key b/keyutils/key new file mode 100644 index 0000000..d28abb4 --- /dev/null +++ b/keyutils/key @@ -0,0 +1 @@ +gpg -v --recv-key FBB7576BA7CB0B6B diff --git a/keyutils/reproducible.patch b/keyutils/reproducible.patch new file mode 100644 index 0000000..db5cfe8 --- /dev/null +++ b/keyutils/reproducible.patch @@ -0,0 +1,24 @@ +Adhere to the SOURCE_DATE_EPOCH standard and use it's date when set +otherwise fall back to the default behaviour. + +Signed-off-by: Jelle van der Waa +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 33a451e..9066d5d 100644 +--- a/Makefile ++++ b/Makefile +@@ -108,7 +108,7 @@ all: keyctl request-key key.dns_resolver + ############################################################################### + #RPATH = -Wl,-rpath,$(LIBDIR) + +-VCPPFLAGS := -DPKGBUILD="\"$(shell date -u +%F)\"" ++VCPPFLAGS := -DPKGBUILD="\"$(date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%F)\"" + VCPPFLAGS += -DPKGVERSION="\"keyutils-$(VERSION)\"" + VCPPFLAGS += -DAPIVERSION="\"libkeyutils-$(APIVERSION)\"" + +-- +2.21.0 + diff --git a/keyutils/request-key.conf.patch b/keyutils/request-key.conf.patch new file mode 100644 index 0000000..9ab4796 --- /dev/null +++ b/keyutils/request-key.conf.patch @@ -0,0 +1,21 @@ +--- request-key.conf.old 2013-05-28 15:34:10.966001242 +0200 ++++ request-key.conf 2013-05-28 15:35:34.857969598 +0200 +@@ -31,11 +31,11 @@ + + #OP TYPE DESCRIPTION CALLOUT INFO PROGRAM ARG1 ARG2 ARG3 ... + #====== ======= =============== =============== =============================== +-create dns_resolver * * /sbin/key.dns_resolver %k +-create user debug:* negate /bin/keyctl negate %k 30 %S +-create user debug:* rejected /bin/keyctl reject %k 30 %c %S +-create user debug:* expired /bin/keyctl reject %k 30 %c %S +-create user debug:* revoked /bin/keyctl reject %k 30 %c %S +-create user debug:loop:* * |/bin/cat ++create dns_resolver * * /usr/bin/key.dns_resolver %k ++create user debug:* negate /usr/bin/keyctl negate %k 30 %S ++create user debug:* rejected /usr/bin/keyctl reject %k 30 %c %S ++create user debug:* expired /usr/bin/keyctl reject %k 30 %c %S ++create user debug:* revoked /usr/bin/keyctl reject %k 30 %c %S ++create user debug:loop:* * |/usr/bin/cat + create user debug:* * /usr/share/keyutils/request-key-debug.sh %k %d %c %S +-negate * * * /bin/keyctl negate %k 30 %S ++negate * * * /usr/bin/keyctl negate %k 30 %S diff --git a/keyutils/time b/keyutils/time new file mode 100644 index 0000000..013dd77 --- /dev/null +++ b/keyutils/time @@ -0,0 +1 @@ +4.3s diff --git a/kmod/PKGBUILD b/kmod/PKGBUILD new file mode 100644 index 0000000..aa8f63d --- /dev/null +++ b/kmod/PKGBUILD @@ -0,0 +1,82 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=kmod +pkgver=29 +pkgrel=02 +pkgdesc="Linux kernel module management tools and library" +arch=('x86_64') +url='https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git' +depends=('glibc' 'zlib' 'openssl' 'xz') +checkdepends=('linux-lts-headers' 'libelf') +#options=('strip' 'debug') +options=(strip) +provides=('module-init-tools=3.16' 'libkmod.so') conflicts=('module-init-tools') +replaces=('module-init-tools') +source=("https://www.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar."{xz,sign} + 'depmod-search.conf' + 'depmod.hook' 'depmod.script') + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --sysconfdir=/etc \ + --with-xz \ + --with-zlib \ + --with-openssl + + make +} + +check() { + # As of kmod v20, the test suite needs to build some kernel modules, and thus + # needs headers available in order to run. We depend on linux-headers, but + # this is really only to try and make sure that *some* useable tree of kernel + # headers exist. The first useable tree we find is good enough, as these + # modules will never be loaded by tests. + + local kdirs=(/usr/lib/modules/*/build/Makefile) + if [[ ! -f ${kdirs[0]} ]]; then + printf '==> Unable to find kernel headers to build modules for tests\n' >&2 + return 1 + fi + + local kver kdir=${kdirs[0]%/Makefile} + IFS=/ read _ _ _ kver _ <<<"$kdir" + + make -C "$pkgname-$pkgver" check KDIR="$kdir" KVER="$kver" +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # extra directories + install -dm755 "$pkgdir"/{etc,usr/lib}/{depmod,modprobe}.d + + for tool in {ins,ls,rm,dep}mod mod{probe,info}; do + ln -s kmod "$pkgdir/usr/bin/$tool" + done + + # install depmod.d file for search/ dir + install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/usr/lib/depmod.d/search.conf" + + # hook + install -Dm644 "$srcdir/depmod.hook" "$pkgdir/usr/share/libalpm/hooks/60-depmod.hook" + install -Dm755 "$srcdir/depmod.script" "$pkgdir/usr/share/libalpm/scripts/depmod" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('EAB33C9690013C733916AC839BA2A5A630CBEA53') # Lucas DeMarchi + +sha256sums=(0b80eea7aa184ac6fd20cafa2a1fdf290ffecc70869a797079e2cc5c6225a52a # kmod-29.tar.xz + e98f09d07f63b25d4f9ac2c07cb683eeeef2a6c68202b1449cb01d4e94613dd7 # kmod-29.tar.sign + 1a92bfeae870f61ce814577e69d2a147a9c0caf6aed1131243e4179241fcc4a8 # depmod-search.conf + c11c2a0f66ea405493e8617689ca10818dc81dd1dddc19bdb220c8b2917119c1 # depmod.hook + 827c02e868777e8fcaa91fd519966ef5d30c8d30bad1b20eb56e01cbc9a2e43f) # depmod.script diff --git a/kmod/PKGBUILD-arch b/kmod/PKGBUILD-arch new file mode 100644 index 0000000..b9364aa --- /dev/null +++ b/kmod/PKGBUILD-arch @@ -0,0 +1,76 @@ +# Maintainer: Dave Reisner + +pkgname=kmod +pkgver=29 +pkgrel=2 +pkgdesc="Linux kernel module management tools and library" +arch=('x86_64') +url='https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git' +license=('GPL2') +depends=('glibc' 'zlib' 'openssl' 'xz' 'zstd') +checkdepends=('linux-headers' 'libelf') +options=('strip' 'debug') +provides=('module-init-tools=3.16' 'libkmod.so') +conflicts=('module-init-tools') +replaces=('module-init-tools') +validpgpkeys=('EAB33C9690013C733916AC839BA2A5A630CBEA53') # Lucas DeMarchi +source=("https://www.kernel.org/pub/linux/utils/kernel/$pkgname/$pkgname-$pkgver.tar."{xz,sign} + 'depmod-search.conf' + 'depmod.hook' 'depmod.script') +md5sums=('e81e63acd80697d001c8d85c1acb38a0' + 'SKIP' + 'dd62cbf62bd8f212f51ef8c43bec9a77' + 'e179ace75721e92b04b2e145b69dab29' + '18fb3d1f6024a5a84514c8276cb3ebff') + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --sysconfdir=/etc \ + --with-xz \ + --with-zlib \ + --with-zstd \ + --with-openssl + + make +} + +check() { + # As of kmod v20, the test suite needs to build some kernel modules, and thus + # needs headers available in order to run. We depend on linux-headers, but + # this is really only to try and make sure that *some* useable tree of kernel + # headers exist. The first useable tree we find is good enough, as these + # modules will never be loaded by tests. + + local kdirs=(/usr/lib/modules/*/build/Makefile) + if [[ ! -f ${kdirs[0]} ]]; then + printf '==> Unable to find kernel headers to build modules for tests\n' >&2 + return 1 + fi + + local kver kdir=${kdirs[0]%/Makefile} + IFS=/ read _ _ _ kver _ <<<"$kdir" + + make -C "$pkgname-$pkgver" check KDIR="$kdir" KVER="$kver" +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # extra directories + install -dm755 "$pkgdir"/{etc,usr/lib}/{depmod,modprobe}.d + + for tool in {ins,ls,rm,dep}mod mod{probe,info}; do + ln -s kmod "$pkgdir/usr/bin/$tool" + done + + # install depmod.d file for search/ dir + install -Dm644 "$srcdir/depmod-search.conf" "$pkgdir/usr/lib/depmod.d/search.conf" + + # hook + install -Dm644 "$srcdir/depmod.hook" "$pkgdir/usr/share/libalpm/hooks/60-depmod.hook" + install -Dm755 "$srcdir/depmod.script" "$pkgdir/usr/share/libalpm/scripts/depmod" +} + +# vim: ft=sh syn=sh et diff --git a/kmod/clean b/kmod/clean new file mode 100644 index 0000000..85110ff --- /dev/null +++ b/kmod/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*,*.sign} diff --git a/kmod/depmod-search.conf b/kmod/depmod-search.conf new file mode 100644 index 0000000..36f2cf7 --- /dev/null +++ b/kmod/depmod-search.conf @@ -0,0 +1,5 @@ +# +# /usr/lib/depmod.d/search.conf +# + +search updates extramodules built-in diff --git a/kmod/depmod.hook b/kmod/depmod.hook new file mode 100644 index 0000000..bbb39a9 --- /dev/null +++ b/kmod/depmod.hook @@ -0,0 +1,13 @@ +[Trigger] +Type = Path +Operation = Install +Operation = Upgrade +Operation = Remove +Target = usr/lib/modules/*/ +Target = !usr/lib/modules/*/?* + +[Action] +Description = Updating module dependencies... +When = PostTransaction +Exec = /usr/share/libalpm/scripts/depmod +NeedsTargets diff --git a/kmod/depmod.script b/kmod/depmod.script new file mode 100644 index 0000000..79f1ccd --- /dev/null +++ b/kmod/depmod.script @@ -0,0 +1,9 @@ +#!/bin/bash + +while read -r f; do + if [[ -e ${f}vmlinuz ]]; then + depmod $(basename "$f") + fi +done + +# vim:set ft=sh sw=2 et: diff --git a/kmod/deps b/kmod/deps new file mode 100644 index 0000000..43c540b --- /dev/null +++ b/kmod/deps @@ -0,0 +1 @@ +linux-lts-headers diff --git a/kmod/key b/kmod/key new file mode 100644 index 0000000..6352bf8 --- /dev/null +++ b/kmod/key @@ -0,0 +1 @@ +gpg -v --recv-key 9BA2A5A630CBEA53 diff --git a/kmod/sums b/kmod/sums new file mode 100644 index 0000000..e3cee3f --- /dev/null +++ b/kmod/sums @@ -0,0 +1,5 @@ +kmod-29.tar.xz +kmod-29.tar.sign +depmod-search.conf +depmod.hook +depmod.script diff --git a/kmod/time b/kmod/time new file mode 100644 index 0000000..13a93ea --- /dev/null +++ b/kmod/time @@ -0,0 +1,5 @@ + +real 0m18.417s +user 0m32.438s +sys 0m3.395s + diff --git a/krb5/PKGBUILD b/krb5/PKGBUILD new file mode 100644 index 0000000..ed5b9ca --- /dev/null +++ b/krb5/PKGBUILD @@ -0,0 +1,93 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=krb5 +_pkgvermajor=1.19 +pkgver=1.19.2 +pkgrel=02 +pkgdesc='The Kerberos network authentication system w/o systemd' +url='https://web.mit.edu/kerberos/' +arch=('x86_64') +depends=('glibc' 'e2fsprogs' 'libss.so' 'libcom_err.so' 'libldap' 'keyutils') +makedepends=('perl' 'bison' 'gettext') +provides=( + libgssapi_krb5.so + libgssrpc.so + libk5crypto.so + libkadm5clnt_mit.so + libkadm5srv_mit.so + libkdb5.so + libkdb_ldap.so + libkrad.so + libkrb5.so + libkrb5support.so + libverto.so +) +backup=( + 'etc/krb5.conf' + 'var/lib/krb5kdc/kdc.conf' +) +options=('!emptydirs') +source=(https://web.mit.edu/kerberos/dist/krb5/${_pkgvermajor}/${pkgname}-${pkgver}.tar.gz{,.asc} + krb5-config_LDFLAGS.patch) + +prepare() { + cd ${pkgname}-${pkgver} + + # cf https://bugs.gentoo.org/show_bug.cgi?id=448778 + patch -Np1 < "${srcdir}"/krb5-config_LDFLAGS.patch + + # FS#25384 + sed -i "/KRB5ROOT=/s/\/local//" src/util/ac_check_krb5.m4 +} + +build() { + cd ${pkgname}-${pkgver}/src + export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" + export CPPFLAGS+=" -I/usr/include/et" + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --enable-shared \ + --with-system-et \ + --with-system-ss \ + --disable-rpath \ + --without-tcl \ + --enable-dns-for-realm \ + --with-ldap \ + --without-system-verto + make +} + +package() { + cd ${pkgname}-${pkgver}/src + make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install + + # Fix FS#29889 + install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} \ + "${pkgdir}/usr/share/doc/${pkgname}/examples" + + install -Dpm 644 config-files/krb5.conf -t "${pkgdir}/etc" + install -Dpm 644 config-files/kdc.conf -t "${pkgdir}/var/lib/krb5kdc" + + install -Dm 644 util/ac_check_krb5.m4 -t "${pkgdir}/usr/share/aclocal" + + install -Dm 644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('custom') + +validpgpkeys=('2C732B1C0DBEF678AB3AF606A32F17FD0055C305' # Tom Yu + 'C4493CB739F4A89F9852CBC20CBA08575F8372DF') # Greg Hudson + +sha256sums=(10453fee4e3a8f8ce6129059e5c050b8a65dab1c257df68b99b3112eaa0cdf6a # krb5-1.19.2.tar.gz + afaa581a1551eba22c1f193c04f913193785e2dce12677ff2aed80503a99a8f8 # krb5-1.19.2.tar.gz.asc + 84007c7423f67db7a8b248b9643c49ef25f2d56ce15c2574eb41ecbf51bcd3f2) # krb5-config_LDFLAGS.patch diff --git a/krb5/PKGBUILD-arch b/krb5/PKGBUILD-arch new file mode 100644 index 0000000..09329a6 --- /dev/null +++ b/krb5/PKGBUILD-arch @@ -0,0 +1,99 @@ +# Maintainer: Levente Polyak + +pkgname=krb5 +_pkgvermajor=1.19 +pkgver=1.19.2 +pkgrel=2 +pkgdesc='The Kerberos network authentication system' +url='https://web.mit.edu/kerberos/' +arch=('x86_64') +license=('custom') +depends=('glibc' 'e2fsprogs' 'libss.so' 'libcom_err.so' 'libldap' 'keyutils') +makedepends=('perl') +provides=( + libgssapi_krb5.so + libgssrpc.so + libk5crypto.so + libkadm5clnt_mit.so + libkadm5srv_mit.so + libkdb5.so + libkdb_ldap.so + libkrad.so + libkrb5.so + libkrb5support.so + libverto.so +) +backup=( + 'etc/krb5.conf' + 'var/lib/krb5kdc/kdc.conf' +) +options=('!emptydirs') +source=(https://web.mit.edu/kerberos/dist/krb5/${_pkgvermajor}/${pkgname}-${pkgver}.tar.gz{,.asc} + krb5-config_LDFLAGS.patch + krb5-kadmind.service + krb5-kdc.service + krb5-kpropd.service + krb5-kpropd@.service + krb5-kpropd.socket) +sha512sums=('b90d6ed0e1e8a87eb5cb2c36d88b823a6a6caabf85e5d419adb8a930f7eea09a5f8491464e7e454cca7ba88be09d19415962fe0036ad2e31fc584f9fc0bbd470' + 'SKIP' + '5a3782ff17b383f8cd0415fd13538ab56afd788130d6ad640e9f2682b7deaae7f25713ce358058ed771091040dccf62a3bc87e6fd473d505ec189a95debcc801' + 'ae1fa980e8e30a83dfef7fe233be70a9ec530ebaffc344a0e7eba61e7de4c800421b45cf203f1e526cc8351754038d6539184b30aa049a567e2a9e80f0d39841' + 'b137ff0154f9af4891e9e78cec692af47ecfd92ca9ce6e00b40ef137d942ba04e8caf483fc5d464b9559ad4a5c4e75ec57b6eab7fc35181115ca1606c0b316c1' + 'b57bbe55c19c92a04cd3e8ad569adcc5aedd4246075b2e6dbcc363e523853332a3e7650be85098b91e495799f8b728ea550495ab303f46ccd9298a2260120b2f' + 'a31ed42e988fed892dd3f1ca1942c3cd4bf391d894c9cebe5e91f52797392261e129727590ae06e2f727bb7b0f8d73a7aa35e8b983d6bad77f22a099091ee944' + '4e7ae175425e0787a1d5ff959471a88bf5af4cd6e213dc6d4048902fab7547c1186a082370b523f9549f5096acfab1fb03b4839e42bd80dc539130ae4bb3ea55') +validpgpkeys=('2C732B1C0DBEF678AB3AF606A32F17FD0055C305' # Tom Yu + 'C4493CB739F4A89F9852CBC20CBA08575F8372DF') # Greg Hudson + +prepare() { + cd ${pkgname}-${pkgver} + + # cf https://bugs.gentoo.org/show_bug.cgi?id=448778 + patch -Np1 < "${srcdir}"/krb5-config_LDFLAGS.patch + + # FS#25384 + sed -i "/KRB5ROOT=/s/\/local//" src/util/ac_check_krb5.m4 +} + +build() { + cd ${pkgname}-${pkgver}/src + export CFLAGS+=" -fPIC -fno-strict-aliasing -fstack-protector-all" + export CPPFLAGS+=" -I/usr/include/et" + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var/lib \ + --enable-shared \ + --with-system-et \ + --with-system-ss \ + --disable-rpath \ + --without-tcl \ + --enable-dns-for-realm \ + --with-ldap \ + --without-system-verto + make +} + +package() { + cd ${pkgname}-${pkgver}/src + make DESTDIR="${pkgdir}" EXAMPLEDIR=/usr/share/doc/${pkgname}/examples install + + # Fix FS#29889 + install -m 644 plugins/kdb/ldap/libkdb_ldap/kerberos.{ldif,schema} \ + "${pkgdir}/usr/share/doc/${pkgname}/examples" + + install -Dpm 644 config-files/krb5.conf -t "${pkgdir}/etc" + install -Dpm 644 config-files/kdc.conf -t "${pkgdir}/var/lib/krb5kdc" + + install -Dm 644 util/ac_check_krb5.m4 -t "${pkgdir}/usr/share/aclocal" + + install -Dm 644 "${srcdir}"/${pkgname}-${pkgver}/NOTICE \ + "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + # systemd stuff + install -Dm 644 "${srcdir}"/krb5-{kadmind.service,kdc.service,kpropd.service,kpropd@.service,kpropd.socket} \ + -t "${pkgdir}/usr/lib/systemd/system" +} + +# vim: ts=2 sw=2 et: diff --git a/krb5/clean b/krb5/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/krb5/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/krb5/deps b/krb5/deps new file mode 100644 index 0000000..eb94d92 --- /dev/null +++ b/krb5/deps @@ -0,0 +1,2 @@ +bison +gettext diff --git a/krb5/key b/krb5/key new file mode 100644 index 0000000..6fd266e --- /dev/null +++ b/krb5/key @@ -0,0 +1 @@ +gpg -v --recv-key 0CBA08575F8372DF diff --git a/krb5/krb5-config_LDFLAGS.patch b/krb5/krb5-config_LDFLAGS.patch new file mode 100644 index 0000000..1b85086 --- /dev/null +++ b/krb5/krb5-config_LDFLAGS.patch @@ -0,0 +1,12 @@ +Bug #448778 +--- krb5-1.11/src/build-tools/krb5-config.in 2012-12-18 02:47:04.000000000 +0000 ++++ krb5-1.11/src/build-tools/krb5-config.in 2012-12-28 07:13:16.582693363 +0000 +@@ -217,7 +217,7 @@ + -e 's#\$(PROG_RPATH)#'$libdir'#' \ + -e 's#\$(PROG_LIBPATH)#'$libdirarg'#' \ + -e 's#\$(RPATH_FLAG)#'"$RPATH_FLAG"'#' \ +- -e 's#\$(LDFLAGS)#'"$LDFLAGS"'#' \ ++ -e 's#\$(LDFLAGS)##' \ + -e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \ + -e 's#\$(CFLAGS)##'` + diff --git a/krb5/sums b/krb5/sums new file mode 100644 index 0000000..1b6ef9b --- /dev/null +++ b/krb5/sums @@ -0,0 +1,4 @@ +sha512sum krb5-1.19.2.tar.gz +sha512sum krb5-1.19.2.tar.gz.asc +sha512sum krb5-config_LDFLAGS.patch +sha512sum krb5-kpropd.socket diff --git a/krb5/time b/krb5/time new file mode 100644 index 0000000..c2ce795 --- /dev/null +++ b/krb5/time @@ -0,0 +1,8 @@ + +real 1m10.603s +user 2m39.861s +sys 0m14.208s + +real 1m38.936s +user 2m41.312s +sys 0m15.232s diff --git a/ldns/PKGBUILD b/ldns/PKGBUILD new file mode 100644 index 0000000..58ceaa4 --- /dev/null +++ b/ldns/PKGBUILD @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=ldns +pkgver=1.8.1 +pkgrel=01 +pkgdesc='Fast DNS library supporting recent RFCs' +url='https://www.nlnetlabs.nl/projects/ldns/' +arch=('x86_64') +depends=('openssl' 'dnssec-anchors') +optdepends=('libpcap: ldns-dpa tool') +makedepends=('libpcap') +source=("https://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz") + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-rpath \ + --with-drill \ + --with-examples \ + --with-trust-anchor=/etc/trusted-key.key \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('custom:BSD') + +sha256sums=(958229abce4d3aaa19a75c0d127666564b17216902186e952ca4aef47c6d7fa3) # ldns-1.8.1.tar.gz diff --git a/ldns/PKGBUILD-arch b/ldns/PKGBUILD-arch new file mode 100644 index 0000000..0181a2d --- /dev/null +++ b/ldns/PKGBUILD-arch @@ -0,0 +1,36 @@ +# Maintainer: Gaetan Bisson +# Contributor: mathieui +# Contributor: jiribb + +pkgname=ldns +pkgver=1.7.1 +pkgrel=2 +pkgdesc='Fast DNS library supporting recent RFCs' +url='https://www.nlnetlabs.nl/projects/ldns/' +license=('custom:BSD') +arch=('x86_64') +depends=('openssl' 'dnssec-anchors') +optdepends=('libpcap: ldns-dpa tool') +makedepends=('libpcap') +source=("https://www.nlnetlabs.nl/downloads/${pkgname}/${pkgname}-${pkgver}.tar.gz") +sha256sums=('8ac84c16bdca60e710eea75782356f3ac3b55680d40e1530d7cea474ac208229') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --disable-rpath \ + --with-drill \ + --with-examples \ + --with-trust-anchor=/etc/trusted-key.key \ + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" +} diff --git a/ldns/clean b/ldns/clean new file mode 100644 index 0000000..ae7d071 --- /dev/null +++ b/ldns/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,ldns*.tar.gz*} diff --git a/ldns/deps b/ldns/deps new file mode 100644 index 0000000..4600325 --- /dev/null +++ b/ldns/deps @@ -0,0 +1 @@ +dnssec-anchors diff --git a/ldns/time b/ldns/time new file mode 100644 index 0000000..ab94085 --- /dev/null +++ b/ldns/time @@ -0,0 +1,3 @@ +real 0m38.737s +user 1m36.095s +sys 0m8.221s diff --git a/less/PKGBUILD b/less/PKGBUILD new file mode 100644 index 0000000..e0ef122 --- /dev/null +++ b/less/PKGBUILD @@ -0,0 +1,36 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=less +pkgver=590 +pkgrel=01 +epoch=1 +pkgdesc='A terminal based program for viewing text files' +arch=('x86_64') +url='https://www.greenwoodsoftware.com/less/' +depends=('glibc' 'ncurses' 'pcre2') +source=("https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz" + "$pkgname-$pkgver.tar.gz.sig::https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.sig") + +build() { + cd $pkgname-$pkgver + sh configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre2 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('AE27252BD6846E7D6EAE1DD6F153A7C833235259') # Mark Nudelman + +sha256sums=(6aadf54be8bf57d0e2999a3c5d67b1de63808bb90deb8f77b028eafae3a08e10 # less-590.tar.gz + 0fe49b62d3437400d232eb290ef4757c41a43dd390c99528d8bb777aee53b557) # less-590.tar.gz.sig diff --git a/less/PKGBUILD-arch b/less/PKGBUILD-arch new file mode 100644 index 0000000..7143e2f --- /dev/null +++ b/less/PKGBUILD-arch @@ -0,0 +1,31 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=less +pkgver=590 +pkgrel=1 +epoch=1 +pkgdesc='A terminal based program for viewing text files' +license=('GPL3') +arch=('x86_64') +url='https://www.greenwoodsoftware.com/less/' +depends=('glibc' 'ncurses' 'pcre2') +validpgpkeys=('AE27252BD6846E7D6EAE1DD6F153A7C833235259') # Mark Nudelman +source=("https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.tar.gz" + "$pkgname-$pkgver.tar.gz.sig::https://www.greenwoodsoftware.com/$pkgname/$pkgname-$pkgver.sig") +sha256sums=('6aadf54be8bf57d0e2999a3c5d67b1de63808bb90deb8f77b028eafae3a08e10' + 'SKIP') + +build() { + cd $pkgname-$pkgver + sh configure --prefix=/usr --sysconfdir=/etc --with-regex=pcre2 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/less/clean b/less/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/less/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/less/deps b/less/deps new file mode 100644 index 0000000..e69de29 diff --git a/less/key b/less/key new file mode 100644 index 0000000..deebb29 --- /dev/null +++ b/less/key @@ -0,0 +1 @@ +gpg -v --recv-key F153A7C833235259 diff --git a/less/sums b/less/sums new file mode 100644 index 0000000..06237c9 --- /dev/null +++ b/less/sums @@ -0,0 +1,2 @@ +sha512sum less-590.tar.gz +sha512sum less-590.tar.gz.sig diff --git a/less/time b/less/time new file mode 100644 index 0000000..d80215a --- /dev/null +++ b/less/time @@ -0,0 +1,4 @@ + +real 0m6.563s +user 0m11.448s +sys 0m1.094s diff --git a/libaio/PKGBUILD b/libaio/PKGBUILD new file mode 100644 index 0000000..5451df1 --- /dev/null +++ b/libaio/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libaio +pkgver=0.3.112 +pkgrel=02 +pkgdesc="The Linux-native asynchronous I/O facility (aio) library" +arch=('x86_64') +url="https://pagure.io/libaio" +source=(https://releases.pagure.org/libaio/${pkgname}-${pkgver}.tar.gz) + +build() { + cd "$srcdir/$pkgname-$pkgver" + # AIO library is a thin wrapper around kernel syscalls, it does not use stdlib + # and other helpers like stack protection libraries + CFLAGS="-march=${CARCH/_/-} -mtune=generic -O2 -pipe" + make +} + +#check() { +# cd "$srcdir/$pkgname-$pkgver" +# +# # work around gcc warning (-Werror) in test suite +# sed -i '/strncpy/s#sizeof(TEMPLATE)#sizeof(template)#' harness/cases/19.t +# sed -i '/strncpy/s#sizeof(TEMPLATE)#sizeof(temp_file)#' harness/cases/21.t +# +# make partcheck +#} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make prefix="$pkgdir/usr" install +} + + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +sha256sums=(ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492) # libaio-0.3.112.tar.gz diff --git a/libaio/PKGBUILD-arch b/libaio/PKGBUILD-arch new file mode 100644 index 0000000..1e86e82 --- /dev/null +++ b/libaio/PKGBUILD-arch @@ -0,0 +1,36 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas S Hatch + +pkgname=libaio +pkgver=0.3.112 +pkgrel=2 +pkgdesc="The Linux-native asynchronous I/O facility (aio) library" +arch=('x86_64') +url="https://pagure.io/libaio" +license=('LGPL') +source=(https://releases.pagure.org/libaio/${pkgname}-${pkgver}.tar.gz) +sha256sums=('ab0462f2c9d546683e5147b1ce9c195fe95d07fac5bf362f6c01637955c3b492') + +build() { + cd "$srcdir/$pkgname-$pkgver" + # AIO library is a thin wrapper around kernel syscalls, it does not use stdlib + # and other helpers like stack protection libraries + CFLAGS="-march=${CARCH/_/-} -mtune=generic -O2 -pipe" + make +} + +check() { + cd "$srcdir/$pkgname-$pkgver" + + # work around gcc warning (-Werror) in test suite + sed -i '/strncpy/s#sizeof(TEMPLATE)#sizeof(template)#' harness/cases/19.t + sed -i '/strncpy/s#sizeof(TEMPLATE)#sizeof(temp_file)#' harness/cases/21.t + + make partcheck +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + make prefix="$pkgdir/usr" install +} + diff --git a/libaio/clean b/libaio/clean new file mode 100644 index 0000000..b0f7bcf --- /dev/null +++ b/libaio/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz} diff --git a/libaio/deps b/libaio/deps new file mode 100644 index 0000000..139597f --- /dev/null +++ b/libaio/deps @@ -0,0 +1,2 @@ + + diff --git a/libaio/note b/libaio/note new file mode 100644 index 0000000..0bec420 --- /dev/null +++ b/libaio/note @@ -0,0 +1 @@ +disabled checks as some of them fail, will try next edition diff --git a/libaio/time b/libaio/time new file mode 100644 index 0000000..d11ca61 --- /dev/null +++ b/libaio/time @@ -0,0 +1,3 @@ +real 0m1.588s +user 0m1.478s +sys 0m0.248s diff --git a/libarchive/0001-unescape-when-extracting-link.patch b/libarchive/0001-unescape-when-extracting-link.patch new file mode 100644 index 0000000..7aa2242 --- /dev/null +++ b/libarchive/0001-unescape-when-extracting-link.patch @@ -0,0 +1,10 @@ +--- a/libarchive/archive_read_support_format_mtree.c ++++ b/libarchive/archive_read_support_format_mtree.c +@@ -1675,6 +1675,7 @@ parse_keyword(struct archive_read *a, struct mtree *mtree, + break; + case 'l': + if (strcmp(key, "link") == 0) { ++ parse_escapes(val, NULL); + archive_entry_copy_symlink(entry, val); + return (ARCHIVE_OK); + } diff --git a/libarchive/PKGBUILD b/libarchive/PKGBUILD new file mode 100644 index 0000000..f1dad1a --- /dev/null +++ b/libarchive/PKGBUILD @@ -0,0 +1,50 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libarchive +pkgver=3.6.0 +pkgrel=02 +pkgdesc='Multi-format archive and compression library no zstd' +arch=('x86_64') +url='https://libarchive.org/' +depends=('acl' 'libacl.so' 'bzip2' 'expat' 'lz4' 'openssl' 'xz' 'zlib') +# 'zstd') +provides=('libarchive.so') +#options=('debug') +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc}) + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --without-xml2 \ + --without-nettle \ + --without-zstd \ + --disable-static + + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm0644 COPYING "$pkgdir/usr/share/licenses/libarchive/COPYING" +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +validpgpkeys=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E') # Martin Matuska + +sha256sums=(df283917799cb88659a5b33c0a598f04352d61936abcd8a48fe7b64e74950de7 # libarchive-3.6.0.tar.xz + 75d1524d2aba1bed0d7ad3e38807d94b595c2bbbd4a14bb860f7d4a494a12f2c) # libarchive-3.6.0.tar.xz.asc diff --git a/libarchive/PKGBUILD-arch b/libarchive/PKGBUILD-arch new file mode 100644 index 0000000..a74f971 --- /dev/null +++ b/libarchive/PKGBUILD-arch @@ -0,0 +1,41 @@ +# Maintainer: Bartłomiej Piotrowski +# Maintainer: Dan McGee + +pkgname=libarchive +pkgver=3.6.0 +pkgrel=1 +pkgdesc='Multi-format archive and compression library' +arch=('x86_64') +url='https://libarchive.org/' +license=('BSD') +depends=('acl' 'libacl.so' 'bzip2' 'expat' 'lz4' 'openssl' 'xz' 'zlib' 'zstd') +provides=('libarchive.so') +options=('debug') +validpgpkeys=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E') # Martin Matuska +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc}) +sha256sums=('df283917799cb88659a5b33c0a598f04352d61936abcd8a48fe7b64e74950de7' + 'SKIP') + +build() { + cd "${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --without-xml2 \ + --without-nettle \ + --disable-static + make +} + +check() { + cd "${pkgname}-${pkgver}" + + make check +} + +package() { + cd "${pkgname}-${pkgver}" + + make DESTDIR="$pkgdir" install + install -Dm0644 COPYING "$pkgdir/usr/share/licenses/libarchive/COPYING" +} diff --git a/libarchive/clean b/libarchive/clean new file mode 100644 index 0000000..3d580f7 --- /dev/null +++ b/libarchive/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.xz*} diff --git a/libarchive/deps b/libarchive/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libarchive/deps @@ -0,0 +1 @@ + diff --git a/libarchive/key b/libarchive/key new file mode 100644 index 0000000..f91f8ea --- /dev/null +++ b/libarchive/key @@ -0,0 +1 @@ +gpg -v --recv-key EC560C81CEC2276E diff --git a/libarchive/time b/libarchive/time new file mode 100644 index 0000000..258ac5c --- /dev/null +++ b/libarchive/time @@ -0,0 +1,3 @@ +real 1m52.496s +user 3m43.426s +sys 0m18.310s diff --git a/libassuan/PKGBUILD b/libassuan/PKGBUILD new file mode 100644 index 0000000..a705e69 --- /dev/null +++ b/libassuan/PKGBUILD @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libassuan +pkgver=2.5.5 +pkgrel=01 +pkgdesc='IPC library used by some GnuPG related software' +url="https://www.gnupg.org/related_software/libassuan/" +arch=('x86_64') +depends=('glibc' 'libgpg-error') +provides=('libassuan.so') +source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}) +sha512sums=('70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403' + 'SKIP') + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + make check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -vDm 644 {AUTHORS,NEWS,README,ChangeLog} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} + + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" + +sha256sums=(8e8c2fcc982f9ca67dcbb1d95e2dc746b1739a4668bc20b3a3c5be632edb34e4 # libassuan-2.5.5.tar.bz2 + 0f284f9c74386306eff77b1ffa9d36d2689bd1d93290870f5365513bd3ee3669) # libassuan-2.5.5.tar.bz2.sig diff --git a/libassuan/PKGBUILD-arch b/libassuan/PKGBUILD-arch new file mode 100644 index 0000000..355f366 --- /dev/null +++ b/libassuan/PKGBUILD-arch @@ -0,0 +1,37 @@ +# Maintainer: David Runge +# Contributor: Gaetan Bisson +# Contributor: Tobias Powalowski + +pkgname=libassuan +pkgver=2.5.5 +pkgrel=1 +pkgdesc='IPC library used by some GnuPG related software' +url="https://www.gnupg.org/related_software/libassuan/" +arch=('x86_64') +license=('GPL3') +depends=('glibc' 'libgpg-error') +provides=('libassuan.so') +source=("https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}) +sha512sums=('70117f77aa43bbbe0ed28da5ef23834c026780a74076a92ec775e30f851badb423e9a2cb9e8d142c94e4f6f8a794988c1b788fd4bd2271e562071adf0ab16403' + 'SKIP') +b2sums=('24952e97c757b97c387ab4c2c4bf7b040f2874e9326c129805c7f5326fa14d80e083b0842e336a635531a2c8d4a66d428c816bae6b175f1c4518add1ffa3554d' + 'SKIP') +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + make check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -vDm 644 {AUTHORS,NEWS,README,ChangeLog} \ + -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/libassuan/clean b/libassuan/clean new file mode 100644 index 0000000..8627ab6 --- /dev/null +++ b/libassuan/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2*} diff --git a/libassuan/deps b/libassuan/deps new file mode 100644 index 0000000..e69de29 diff --git a/libassuan/key b/libassuan/key new file mode 100644 index 0000000..b2a33df --- /dev/null +++ b/libassuan/key @@ -0,0 +1 @@ +gpg -v --recv-key 528897B826403ADA diff --git a/libassuan/sums b/libassuan/sums new file mode 100644 index 0000000..b977100 --- /dev/null +++ b/libassuan/sums @@ -0,0 +1,2 @@ +sha512sum libassuan-2.5.5.tar.bz2 +sha512sum libassuan-2.5.5.tar.bz2.sig diff --git a/libassuan/time b/libassuan/time new file mode 100644 index 0000000..fe43c96 --- /dev/null +++ b/libassuan/time @@ -0,0 +1,5 @@ + +real 0m7.767s +user 0m10.763s +sys 0m1.369s + diff --git a/libcap-ng/PKGBUILD b/libcap-ng/PKGBUILD new file mode 100644 index 0000000..2a72931 --- /dev/null +++ b/libcap-ng/PKGBUILD @@ -0,0 +1,76 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=libcap-ng +pkgname=(libcap-ng python-capng) +pkgver=0.8.2 +pkgrel=07 +pkgdesc='A library for Linux that makes using posix capabilities easy' +arch=(x86_64) +url='https://people.redhat.com/sgrubb/libcap-ng/' +depends=(glibc) +makedepends=(python swig) +#options=(debug) # uncomment if you want libcap-ng-debug package made +source=(https://github.com/stevegrubb/libcap-ng/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + cd $pkgbase-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgbase-$pkgver + ./configure \ + --prefix=/usr \ + --enable-static=no \ + --without-python \ + --with-python3 + make +} + +check() { + make check -C $pkgbase-$pkgver +} + +package_libcap-ng() { + provides=(libcap-ng.so libdrop_ambient.so) + + make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver + + ( + cd "$pkgdir" + _pick python-capng usr/lib/python* + ) +} + +package_python-capng() { + pkgdesc+=' (Python bindings)' + depends+=(libcap-ng.so) + provides=(python-libcap-ng) + + mv -v python-capng/* "$pkgdir" +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL2.1) + +sha512sums=('33832ee16972050a7c5cb20de21d766d5e88f5357db28166b83b05369f7ceea0b1aded39bae2d746d582ad4ee7703c131876fc4bcbc5d4b4eadd7dd429e8cf10') + +b2sums=('6bb07503421f88803ce2597289c18762f6ad06a3535ad7c6ffc28d2519adf2a130189332e56df174aa9be768340983ea6f7a6046b2209916815a19a0c6fa3693') + +sha256sums=(65b86885b8d873e55c05bd49427fd370d559b26f0c2089ac9194828e6a2fe233) # libcap-ng-0.8.2.tar.gz diff --git a/libcap-ng/PKGBUILD-B4 b/libcap-ng/PKGBUILD-B4 new file mode 100644 index 0000000..5000193 --- /dev/null +++ b/libcap-ng/PKGBUILD-B4 @@ -0,0 +1,65 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=libcap-ng +pkgname=(libcap-ng python-capng) +pkgver=0.8.2 +pkgrel=06 +pkgdesc='A library for Linux that makes using posix capabilities easy' +url='https://people.redhat.com/sgrubb/libcap-ng/' +arch=('x86_64') +depends=('glibc') +makedepends=('python' 'swig' 'autoconf' 'automake') +source=(https://github.com/stevegrubb/libcap-ng/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) + +prepare() { + cd ${pkgbase}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgbase}-${pkgver} + ./configure \ + --prefix=/usr \ + --enable-static=no \ + --without-python \ + --with-python3 + make +} + +check() { + cd ${pkgbase}-${pkgver} + make check +} + +package_libcap-ng() { + provides=('libcap-ng.so' 'libdrop_ambient.so') + + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + + # remove files provided by python-capng + rm -frv "${pkgdir}/usr/lib/python"* +} + +package_python-capng() { + pkgdesc+=' (Python bindings)' + depends+=('libcap-ng.so') + provides=('python-libcap-ng') + + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + + # remove files provided by libcap-ng + rm -frv "${pkgdir}/usr/lib/"{lib*,pkgconfig} + rm -frv "${pkgdir}/usr/"{bin,include,share} +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +sha256sums=(65b86885b8d873e55c05bd49427fd370d559b26f0c2089ac9194828e6a2fe233) # libcap-ng-0.8.2.tar.gz diff --git a/libcap-ng/PKGBUILD-arch b/libcap-ng/PKGBUILD-arch new file mode 100644 index 0000000..2ee0feb --- /dev/null +++ b/libcap-ng/PKGBUILD-arch @@ -0,0 +1,69 @@ +# Maintainer: Levente Polyak +# Maintainer: David Runge +# Contributor: Ionut Biru +# Contributor: Gerardo Exequiel Pozzi + +pkgbase=libcap-ng +pkgname=(libcap-ng python-capng) +pkgver=0.8.2 +pkgrel=7 +pkgdesc='A library for Linux that makes using posix capabilities easy' +arch=(x86_64) +url='https://people.redhat.com/sgrubb/libcap-ng/' +license=(LGPL2.1) +depends=(glibc) +makedepends=(python swig) +options=(debug) +source=(https://github.com/stevegrubb/libcap-ng/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('33832ee16972050a7c5cb20de21d766d5e88f5357db28166b83b05369f7ceea0b1aded39bae2d746d582ad4ee7703c131876fc4bcbc5d4b4eadd7dd429e8cf10') +b2sums=('6bb07503421f88803ce2597289c18762f6ad06a3535ad7c6ffc28d2519adf2a130189332e56df174aa9be768340983ea6f7a6046b2209916815a19a0c6fa3693') + +_pick() { + local p="$1" f d; shift + for f; do + d="$srcdir/$p/${f#$pkgdir/}" + mkdir -p "$(dirname "$d")" + mv "$f" "$d" + rmdir -p --ignore-fail-on-non-empty "$(dirname "$f")" + done +} + +prepare() { + cd $pkgbase-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgbase-$pkgver + ./configure \ + --prefix=/usr \ + --enable-static=no \ + --without-python \ + --with-python3 + make +} + +check() { + make check -C $pkgbase-$pkgver +} + +package_libcap-ng() { + provides=(libcap-ng.so libdrop_ambient.so) + + make DESTDIR="$pkgdir" install -C $pkgbase-$pkgver + + ( + cd "$pkgdir" + _pick python-capng usr/lib/python* + ) +} + +package_python-capng() { + pkgdesc+=' (Python bindings)' + depends+=(libcap-ng.so) + provides=(python-libcap-ng) + + mv -v python-capng/* "$pkgdir" +} + +# vim: ts=2 sw=2 et: diff --git a/libcap-ng/clean b/libcap-ng/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libcap-ng/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libcap-ng/deps b/libcap-ng/deps new file mode 100644 index 0000000..624a82f --- /dev/null +++ b/libcap-ng/deps @@ -0,0 +1,4 @@ +python +swig +autoconf +automake diff --git a/libcap-ng/key b/libcap-ng/key new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libcap-ng/key @@ -0,0 +1 @@ + diff --git a/libcap-ng/time b/libcap-ng/time new file mode 100644 index 0000000..32c11af --- /dev/null +++ b/libcap-ng/time @@ -0,0 +1,3 @@ +real 0m16.090s +user 0m12.717s +sys 0m1.323s diff --git a/libcap/PKGBUILD b/libcap/PKGBUILD new file mode 100644 index 0000000..b5db70f --- /dev/null +++ b/libcap/PKGBUILD @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libcap +pkgver=2.63 +pkgrel=02 +pkgdesc='POSIX 1003.1e capabilities' +arch=('x86_64') +url="https://sites.google.com/site/fullycapable/" +depends=('glibc' 'pam') +makedepends=('linux-api-headers') +provides=('libcap.so' 'libpsx.so') +#options=(debug) +source=("https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/${pkgname}-$pkgver.tar."{xz,sign} +) + +build() { + make DYNAMIC=yes KERNEL_HEADERS=/usr/include lib=lib prefix=/usr sbindir=bin -C $pkgname-$pkgver +} + +check() { + make test -k -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" RAISE_SETFCAP=no lib=lib prefix=/usr sbindir=bin install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{CHANGELOG,README} -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 $pkgname-$pkgver/pam_cap/capability.conf -t "$pkgdir/usr/share/doc/$pkgname/examples/" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan + +sha256sums=(0c637b8f44fc7d8627787e9cf57f15ac06c1ddccb53e41feec5496be3466f77f # libcap-2.63.tar.xz + 766862ef4c7551ed2865a091624ae60873e650647ca5cdbfe8c3c71c0b20e12b) # libcap-2.63.tar.sign diff --git a/libcap/PKGBUILD-arch b/libcap/PKGBUILD-arch new file mode 100644 index 0000000..95908c2 --- /dev/null +++ b/libcap/PKGBUILD-arch @@ -0,0 +1,37 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: Hugo Doria + +pkgname=libcap +pkgver=2.63 +pkgrel=2 +pkgdesc="POSIX 1003.1e capabilities" +arch=(x86_64) +url="https://sites.google.com/site/fullycapable/" +license=(GPL2) +depends=(glibc pam) +makedepends=(linux-api-headers) +provides=(libcap.so libpsx.so) +options=(debug) +source=("https://kernel.org/pub/linux/libs/security/linux-privs/${pkgname}2/${pkgname}-$pkgver.tar."{xz,sign} +) +sha512sums=('832842b71ca32db8f53ca5f1a3010f14e7f42693f62f29632e9948c860f990899bb094165c37307ce8b9e5bc5eb1c833e780ebca98442df3e6d900e4b238834b' + 'SKIP') +b2sums=('a49a628f5b9ddf5a3d077428544a53b9cdedf62053ff296a0aa7d61e12ca05f9ba7597f20ee16a3843736bee2417a3d1585ad6b336651fcb3e4ee29b108cfa0f' + 'SKIP') +validpgpkeys=(38A644698C69787344E954CE29EE848AE2CCF3F4) # Andrew G. Morgan + +build() { + make DYNAMIC=yes KERNEL_HEADERS=/usr/include lib=lib prefix=/usr sbindir=bin -C $pkgname-$pkgver +} + +check() { + make test -k -C $pkgname-$pkgver +} + +package() { + make DESTDIR="$pkgdir" RAISE_SETFCAP=no lib=lib prefix=/usr sbindir=bin install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{CHANGELOG,README} -t "$pkgdir/usr/share/doc/$pkgname/" + install -vDm 644 $pkgname-$pkgver/pam_cap/capability.conf -t "$pkgdir/usr/share/doc/$pkgname/examples/" +} diff --git a/libcap/clean b/libcap/clean new file mode 100644 index 0000000..733bf94 --- /dev/null +++ b/libcap/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*,*.sign} diff --git a/libcap/deps b/libcap/deps new file mode 100644 index 0000000..e69de29 diff --git a/libcap/key b/libcap/key new file mode 100644 index 0000000..4fd211a --- /dev/null +++ b/libcap/key @@ -0,0 +1 @@ +gpg -v --recv-key 29EE848AE2CCF3F4 diff --git a/libcap/time b/libcap/time new file mode 100644 index 0000000..de38b96 --- /dev/null +++ b/libcap/time @@ -0,0 +1,4 @@ + +real 0m5.102s +user 0m3.037s +sys 0m2.311s diff --git a/libedit/PKGBUILD b/libedit/PKGBUILD new file mode 100644 index 0000000..d2869fc --- /dev/null +++ b/libedit/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libedit +_pkgver=20210910-3.1 +pkgver=${_pkgver/-/_} +pkgrel=01 +pkgdesc='Command line editor library providing generic line editing, history, and tokenization functions' +url='https://thrysoee.dk/editline/' +arch=('x86_64') +depends=('glibc' 'ncurses' 'libncursesw.so') +provides=('libedit.so') +source=(${url}/${pkgname}-${_pkgver}.tar.gz) + +build() { + cd ${pkgname}-${_pkgver} + ./configure --prefix=/usr + make V=1 +} + +package() { + cd ${pkgname}-${_pkgver} + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}"/usr/share/man/man3/history.3 # conflicts with readline + install -Dm 644 "${pkgdir}"/usr/share/man/man3/editline.3 "${pkgdir}"/usr/share/man/man3/el.3 + + install -Dm 644 ChangeLog -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +b2sums=('325dc756fc6c6244e336cd6faeed2ab37817bdab8c0684586c44d551074fd2ec84bfcd3f4d5897db3196e783653a042699e5b9a8a3351d653992bb256956b652') + +sha256sums=(6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5) # libedit-20210910-3.1.tar.gz diff --git a/libedit/PKGBUILD-arch b/libedit/PKGBUILD-arch new file mode 100644 index 0000000..3ffff1e --- /dev/null +++ b/libedit/PKGBUILD-arch @@ -0,0 +1,37 @@ +# Maintainer: Levente Polyak +# Contributor: Gaetan Bisson +# Contributor: Vesa Kaihlavirta +# Contributor: Roman Cheplyaka + +pkgname=libedit +_pkgver=20210910-3.1 +pkgver=${_pkgver/-/_} +pkgrel=1 +pkgdesc='Command line editor library providing generic line editing, history, and tokenization functions' +url='https://thrysoee.dk/editline/' +arch=('x86_64') +license=('BSD') +depends=('glibc' 'ncurses' 'libncursesw.so') +provides=('libedit.so') +source=(${url}/${pkgname}-${_pkgver}.tar.gz) +sha256sums=('6792a6a992050762edcca28ff3318cdb7de37dccf7bc30db59fcd7017eed13c5') +b2sums=('325dc756fc6c6244e336cd6faeed2ab37817bdab8c0684586c44d551074fd2ec84bfcd3f4d5897db3196e783653a042699e5b9a8a3351d653992bb256956b652') + +build() { + cd ${pkgname}-${_pkgver} + ./configure --prefix=/usr + make V=1 +} + +package() { + cd ${pkgname}-${_pkgver} + make DESTDIR="${pkgdir}" install + + rm "${pkgdir}"/usr/share/man/man3/history.3 # conflicts with readline + install -Dm 644 "${pkgdir}"/usr/share/man/man3/editline.3 "${pkgdir}"/usr/share/man/man3/el.3 + + install -Dm 644 ChangeLog -t "${pkgdir}/usr/share/doc/${pkgname}" + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/libedit/clean b/libedit/clean new file mode 100644 index 0000000..304682e --- /dev/null +++ b/libedit/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libedit*tar.gz} diff --git a/libedit/deps b/libedit/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libedit/deps @@ -0,0 +1 @@ + diff --git a/libedit/time b/libedit/time new file mode 100644 index 0000000..94d7dc0 --- /dev/null +++ b/libedit/time @@ -0,0 +1,3 @@ +real 0m10.598s +user 0m21.961s +sys 0m1.759s diff --git a/libeudev b/libeudev new file mode 120000 index 0000000..847a5d7 --- /dev/null +++ b/libeudev @@ -0,0 +1 @@ +eudev \ No newline at end of file diff --git a/libevent/PKGBUILD b/libevent/PKGBUILD new file mode 100644 index 0000000..534a08f --- /dev/null +++ b/libevent/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libevent +pkgver=2.1.12 +pkgrel=01 +pkgdesc="An event notification library" +arch=('x86_64') +url="https://libevent.org/" +depends=('openssl') +makedepends=('cmake' 'python') +optdepends=('python: to use event_rpcgen.py') +source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc}) + +build() { + cd ${pkgname}-${pkgver}-stable + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DEVENT__LIBRARY_TYPE=SHARED -S . -B build + cmake --build build +} + +#check() { +# cd ${pkgname}-${pkgver}-stable +# cmake --build build --target test +#} + +package() { + cd ${pkgname}-${pkgver}-stable + cmake --build build --target install -- DESTDIR="$pkgdir" + install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/libevent/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA' + '9E3AC83A27974B84D1B3401DB86086848EF8686D') + +sha256sums=(92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb # libevent-2.1.12-stable.tar.gz + 3cd3d764777540305813495912cd5f7ea7d16edb456d6c88b331a1aa8974dfc2) # libevent-2.1.12-stable.tar.gz.asc diff --git a/libevent/PKGBUILD-arch b/libevent/PKGBUILD-arch new file mode 100644 index 0000000..5b5adb8 --- /dev/null +++ b/libevent/PKGBUILD-arch @@ -0,0 +1,35 @@ +# Maintainer: Tom Gundersen +# Contributor: Judd + +pkgname=libevent +pkgver=2.1.12 +pkgrel=1 +pkgdesc="An event notification library" +arch=('x86_64') +url="https://libevent.org/" +license=('BSD') +depends=('openssl') +makedepends=('cmake' 'python') +optdepends=('python: to use event_rpcgen.py') +source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc}) +sha256sums=('92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb' + 'SKIP') +validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA' + '9E3AC83A27974B84D1B3401DB86086848EF8686D') + +build() { + cd ${pkgname}-${pkgver}-stable + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DEVENT__LIBRARY_TYPE=SHARED -S . -B build + cmake --build build +} + +check() { + cd ${pkgname}-${pkgver}-stable + cmake --build build --target test +} + +package() { + cd ${pkgname}-${pkgver}-stable + cmake --build build --target install -- DESTDIR="$pkgdir" + install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/libevent/LICENSE +} diff --git a/libevent/clean b/libevent/clean new file mode 100644 index 0000000..e6334e7 --- /dev/null +++ b/libevent/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz*} diff --git a/libevent/deps b/libevent/deps new file mode 100644 index 0000000..7954898 --- /dev/null +++ b/libevent/deps @@ -0,0 +1 @@ +cmake python diff --git a/libevent/key b/libevent/key new file mode 100644 index 0000000..d47b3e7 --- /dev/null +++ b/libevent/key @@ -0,0 +1 @@ +gpg -v --recv-key B86086848EF8686D diff --git a/libevent/note-on-checks b/libevent/note-on-checks new file mode 100644 index 0000000..18d6d4a --- /dev/null +++ b/libevent/note-on-checks @@ -0,0 +1 @@ +some tests fail, so for this edition I commented checks out, I will try next version diff --git a/libevent/time b/libevent/time new file mode 100644 index 0000000..88a30b7 --- /dev/null +++ b/libevent/time @@ -0,0 +1,4 @@ +real 0m32.845s +user 1m6.741s +sys 0m6.217s + diff --git a/libffi/PKGBUILD b/libffi/PKGBUILD new file mode 100644 index 0000000..fdec7b0 --- /dev/null +++ b/libffi/PKGBUILD @@ -0,0 +1,52 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libffi +pkgver=3.4.2 +pkgrel=04 +pkgdesc='Portable foreign function interface library' +arch=('x86_64') +url='https://sourceware.org/libffi/' +depends=('glibc') +checkdepends=('dejagnu') +makedepends=('automake' 'autoconf') +provides=('libffi.so') +source=(https://github.com/libffi/libffi/releases/download/v${pkgver}/libffi-${pkgver}.tar.gz) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + # remove --disable-exec-static-tramp once ghc and gobject-introspection + # work fine with it enabled (https://github.com/libffi/libffi/pull/647) + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-multi-os-directory \ + --disable-exec-static-tramp \ + --enable-pax_emutramp + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname +} + +#---- license gpg-key sha256sums ---- + +license=('MIT') + +sha256sums=(540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620) # libffi-3.4.2.tar.gz diff --git a/libffi/PKGBUILD-arch b/libffi/PKGBUILD-arch new file mode 100644 index 0000000..e4393b9 --- /dev/null +++ b/libffi/PKGBUILD-arch @@ -0,0 +1,45 @@ +# Maintainer: Levente Polyak +# Contributor: Bartłomiej Piotrowski +# Contributor: Stéphane Gaudreault +# Contributor: Jan de Groot + +pkgname=libffi +pkgver=3.4.2 +pkgrel=1 +pkgdesc='Portable foreign function interface library' +arch=('x86_64') +url='https://sourceware.org/libffi/' +license=('MIT') +depends=('glibc') +checkdepends=('dejagnu') +provides=('libffi.so') +source=(https://github.com/libffi/libffi/releases/download/v${pkgver}/libffi-${pkgver}.tar.gz) +sha256sums=('540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620') +b2sums=('a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308') + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --disable-static \ + --enable-pax_emutramp + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname +} + +# vim: ts=2 sw=2 et: diff --git a/libffi/PKGBUILD-arch.new b/libffi/PKGBUILD-arch.new new file mode 100644 index 0000000..9e0603b --- /dev/null +++ b/libffi/PKGBUILD-arch.new @@ -0,0 +1,44 @@ +# Maintainer: Levente Polyak +# Contributor: Bartłomiej Piotrowski +# Contributor: Stéphane Gaudreault +# Contributor: Jan de Groot + +pkgname=libffi +pkgver=3.4.2 +pkgrel=4 +pkgdesc='Portable foreign function interface library' +arch=('x86_64') +url='https://sourceware.org/libffi/' +license=('MIT') +depends=('glibc') +checkdepends=('dejagnu') +provides=('libffi.so') +source=(https://github.com/libffi/libffi/releases/download/v$pkgver/libffi-$pkgver.tar.gz) +sha256sums=('540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620') +b2sums=('a8137bc895b819f949fd7705e405be627219c6d1fdef280253330f7407d4a548bb057d7bb0e9225d1767d42f9bf5f0ab3c455db1c3470d7cc876bb7b7d55d308') + +build() { + cd $pkgname-$pkgver + # remove --disable-exec-static-tramp once ghc and gobject-introspection + # work fine with it enabled (https://github.com/libffi/libffi/pull/647) + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-multi-os-directory \ + --disable-exec-static-tramp \ + --enable-pax_emutramp + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname + install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname +} + +# vim: ts=2 sw=2 et: diff --git a/libffi/clean b/libffi/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libffi/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libffi/deps b/libffi/deps new file mode 100644 index 0000000..5ef5a33 --- /dev/null +++ b/libffi/deps @@ -0,0 +1,3 @@ +dejagnu +autoconf +automake diff --git a/libffi/time b/libffi/time new file mode 100644 index 0000000..b8f86f8 --- /dev/null +++ b/libffi/time @@ -0,0 +1,3 @@ +real 4m39.759s +user 4m26.734s +sys 0m15.097s diff --git a/libgcrypt/PKGBUILD b/libgcrypt/PKGBUILD new file mode 100644 index 0000000..1ab2111 --- /dev/null +++ b/libgcrypt/PKGBUILD @@ -0,0 +1,59 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libgcrypt +pkgver=1.9.4 +pkgrel=01 +pkgdesc="General purpose cryptographic library based on the code from GnuPG w/o systemd" +arch=(x86_64) +url="https://www.gnupg.org" +depends=('libgpg-error') +options=('!emptydirs') +# https://www.gnupg.org/download/integrity_check.html +source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) + +prepare() { + cd "${pkgname}"-${pkgver} + + # tests fail due to systemd+libseccomp preventing memory syscalls when building in chroots + # t-secmem: line 176: gcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0) failed: General error + # FAIL: t-secmem + # t-sexp: line 1174: gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0) failed: General error + # FAIL: t-sexp +## sed -i "s:t-secmem::" tests/Makefile.am +## sed -i "s:t-sexp::" tests/Makefile.am +## We commented out those two lines above since without systemd ALL tests pass. Thank you Gnu! + autoreconf -vfi +} + +build() { + cd "${pkgname}"-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --disable-padlock-support \ + --disable-systemd + make +} + +check() { + cd "${pkgname}"-${pkgver} + make check +} + +package() { + cd "${pkgname}"-${pkgver} + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" + +sha256sums=(ea849c83a72454e3ed4267697e8ca03390aee972ab421e7df69dfe42b65caaf7 # libgcrypt-1.9.4.tar.bz2 + c17a3738d97ae42f236c3245f75c6547fbbcaa256961475fe10244d14bee9806) # libgcrypt-1.9.4.tar.bz2.sig diff --git a/libgcrypt/PKGBUILD-arch b/libgcrypt/PKGBUILD-arch new file mode 100644 index 0000000..5b6fd7b --- /dev/null +++ b/libgcrypt/PKGBUILD-arch @@ -0,0 +1,51 @@ +# Maintainer: Andreas Radke + +# after a .so bump first rebuild dirmngr +# with sudo testing-x86_64-build -- -I libgcrypt-1.6.0-1-x86_64.pkg.tar.xz +# then cp /usr/lib/libgcrypt.so.11 /var/lib/archbuild/staging-x86_64/root/usr/lib/ and do staging-x86_64-build + +pkgname=libgcrypt +pkgver=1.9.4 +pkgrel=1 +pkgdesc="General purpose cryptographic library based on the code from GnuPG" +arch=(x86_64) +url="https://www.gnupg.org" +license=('LGPL') +depends=('libgpg-error') +options=('!emptydirs') +# https://www.gnupg.org/download/integrity_check.html +source=(https://gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2{,.sig}) +sha1sums=('1bccc8393482fa1953323ff429c6b5ba5676eb1a' + 'SKIP') +validpgpkeys=('6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" + +prepare() { + cd "${pkgname}"-${pkgver} + + # tests fail due to systemd+libseccomp preventing memory syscalls when building in chroots + # t-secmem: line 176: gcry_control (GCRYCTL_INIT_SECMEM, pool_size, 0) failed: General error + # FAIL: t-secmem + # t-sexp: line 1174: gcry_control (GCRYCTL_INIT_SECMEM, 16384, 0) failed: General error + # FAIL: t-sexp + sed -i "s:t-secmem::" tests/Makefile.am + sed -i "s:t-sexp::" tests/Makefile.am + autoreconf -vfi +} + +build() { + cd "${pkgname}"-${pkgver} + ./configure --prefix=/usr \ + --disable-static \ + --disable-padlock-support + make +} + +check() { + cd "${pkgname}"-${pkgver} + make check +} + +package() { + cd "${pkgname}"-${pkgver} + make DESTDIR="${pkgdir}" install +} diff --git a/libgcrypt/clean b/libgcrypt/clean new file mode 100644 index 0000000..b1968ac --- /dev/null +++ b/libgcrypt/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libgcrypt*tar.bz2*} diff --git a/libgcrypt/deps b/libgcrypt/deps new file mode 100644 index 0000000..c05614c --- /dev/null +++ b/libgcrypt/deps @@ -0,0 +1,3 @@ + +autoconf +automake diff --git a/libgcrypt/key b/libgcrypt/key new file mode 100644 index 0000000..b2a33df --- /dev/null +++ b/libgcrypt/key @@ -0,0 +1 @@ +gpg -v --recv-key 528897B826403ADA diff --git a/libgcrypt/time b/libgcrypt/time new file mode 100644 index 0000000..1ad2129 --- /dev/null +++ b/libgcrypt/time @@ -0,0 +1,4 @@ +real 1m34.952s +user 2m14.357s +sys 0m5.817s + diff --git a/libgpg-error/GPG-key-Problem b/libgpg-error/GPG-key-Problem new file mode 100644 index 0000000..da247b1 --- /dev/null +++ b/libgpg-error/GPG-key-Problem @@ -0,0 +1 @@ +check again later if it has been updated, add .sig and keys diff --git a/libgpg-error/PKGBUILD b/libgpg-error/PKGBUILD new file mode 100644 index 0000000..af859d5 --- /dev/null +++ b/libgpg-error/PKGBUILD @@ -0,0 +1,47 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libgpg-error +pkgver=1.44 +pkgrel=01 +pkgdesc="Support library for libgcrypt" +arch=(x86_64) +url="https://www.gnupg.org" +depends=('glibc' 'sh') +makedepends=('autoconf' 'automake' 'gettext') +source=(https://www.gnupg.org/ftp/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2{,.sig}) +# https://www.gnupg.org/download/integrity_check.html + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}/" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=(6DAA6E64A76D2840571B4902528897B826403ADA # Werner Koch (dist signing 2020) + 031EC2536E580D8EA286A9F22071B08A33BD3F06) # NIIBE Yutaka (GnuPG Release Key) + +sha256sums=(8e3d2da7a8b9a104dd8e9212ebe8e0daf86aa838cc1314ba6bc4de8f2d8a1ff9 # libgpg-error-1.44.tar.bz2 + dd807f159c7acb0ee46dacf940ded43689d6259aad00ad57b4322bdffede890c) # libgpg-error-1.44.tar.bz2.sig diff --git a/libgpg-error/PKGBUILD-arch b/libgpg-error/PKGBUILD-arch new file mode 100644 index 0000000..c3bc433 --- /dev/null +++ b/libgpg-error/PKGBUILD-arch @@ -0,0 +1,39 @@ +# Maintainer: Andreas Radke +# Contributor: judd + +pkgname=libgpg-error +pkgver=1.44 +pkgrel=1 +pkgdesc="Support library for libgcrypt" +arch=(x86_64) +url="https://www.gnupg.org" +license=('LGPL') +depends=('glibc' 'sh') +source=(https://www.gnupg.org/ftp/gcrypt/libgpg-error/${pkgname}-${pkgver}.tar.bz2{,.sig}) +# https://www.gnupg.org/download/integrity_check.html +sha1sums=('c16ab473d1e558ba1712c77ace38bd03e467cbb0' + 'SKIP') +validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch + '031EC2536E580D8EA286A9F22071B08A33BD3F06' # NIIBE Yutaka (GnuPG Release Key) + '6DAA6E64A76D2840571B4902528897B826403ADA') # "Werner Koch (dist signing 2020)" + +prepare() { + cd ${pkgname}-${pkgver} + autoreconf -vfi +} + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}/" install +} diff --git a/libgpg-error/clean b/libgpg-error/clean new file mode 100644 index 0000000..8627ab6 --- /dev/null +++ b/libgpg-error/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2*} diff --git a/libgpg-error/deps b/libgpg-error/deps new file mode 100644 index 0000000..4fc9e5d --- /dev/null +++ b/libgpg-error/deps @@ -0,0 +1,3 @@ +autoconf +gettext +automake diff --git a/libgpg-error/key b/libgpg-error/key new file mode 100644 index 0000000..6f19581 --- /dev/null +++ b/libgpg-error/key @@ -0,0 +1,3 @@ +gpg -v --recv-key 528897B826403ADA +gpg -v --recv-key 249B39D24F25E3B6 +gpg -v --recv-key 2071B08A33BD3F06 diff --git a/libgpg-error/time b/libgpg-error/time new file mode 100644 index 0000000..877ac6c --- /dev/null +++ b/libgpg-error/time @@ -0,0 +1,8 @@ + +real 0m20.054s +user 0m25.422s +sys 0m2.375s + +real 0m20.419s +user 0m26.123s +sys 0m2.523s diff --git a/libgssglue/NOTE-against-Univ-of-Michigan b/libgssglue/NOTE-against-Univ-of-Michigan new file mode 100644 index 0000000..6fb8fe8 --- /dev/null +++ b/libgssglue/NOTE-against-Univ-of-Michigan @@ -0,0 +1 @@ +Univ of Michigan, publishes code, doesn't sign the tarball, doesn't even provide a certificate for a secure connection to get the source, still in 1980s mentality and innocense, or is it irresponsibility for hire? diff --git a/libgssglue/PKGBUILD b/libgssglue/PKGBUILD new file mode 100644 index 0000000..eed6969 --- /dev/null +++ b/libgssglue/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libgssglue +pkgver=0.4 +pkgrel=04 +pkgdesc="Exports a gssapi interface which calls other random gssapi libraries" +arch=('x86_64') +url="https://www.citi.umich.edu/projects/nfsv4/linux/" +depends=('glibc') +makedepends=('pkgconfig' 'autoconf') +backup=(etc/gssapi_mech.conf) +source=(http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz + gssapi_mech.conf) + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # Configuration + install -Dm644 "$srcdir"/gssapi_mech.conf "$pkgdir/"etc/gssapi_mech.conf + # install license + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/libgssglue/COPYING +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +sha512sums=('25d514c08320e42851ff153d7691267a8454f205492faf942f566aa30c1ac1c83bd095732a1a0fcc010ba3a5d48b4c95a196ad05bc821598cc1fc3a2c4960d29' + '28b8e77b61d6c86531b0b04e28bea6df6effd19f92b8f55f7c646b19cee75c1e9bb5132dc475a95dfc237ff0360ae4b117651a99474f15c5c1e710fdbe6f9465') + +sha256sums=(3f791a75502ba723e5e85e41e5e0c711bb89e2716b7c0ec6e74bd1df6739043a # libgssglue-0.4.tar.gz + 6c584922c9cba6df84cb771ecda3e2a13670c34104adbd5b8ee9aac0da93bbf4) # gssapi_mech.conf diff --git a/libgssglue/PKGBUILD-arch b/libgssglue/PKGBUILD-arch new file mode 100644 index 0000000..3d257f6 --- /dev/null +++ b/libgssglue/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: Tom Gundersen +# Contributor: Tobias Powalowski + +pkgname=libgssglue +pkgver=0.4 +pkgrel=4 +pkgdesc="Exports a gssapi interface which calls other random gssapi libraries" +arch=('x86_64') +url="http://www.citi.umich.edu/projects/nfsv4/linux/" +license=('BSD') +depends=('glibc') +makedepends=('pkgconfig' 'autoconf') +backup=(etc/gssapi_mech.conf) +source=(http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz + gssapi_mech.conf) + +build() { + cd "$srcdir"/$pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + make DESTDIR="$pkgdir/" install + + # Configuration + install -Dm644 "$srcdir"/gssapi_mech.conf "$pkgdir/"etc/gssapi_mech.conf + # install license + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/libgssglue/COPYING +} +sha512sums=('25d514c08320e42851ff153d7691267a8454f205492faf942f566aa30c1ac1c83bd095732a1a0fcc010ba3a5d48b4c95a196ad05bc821598cc1fc3a2c4960d29' + '28b8e77b61d6c86531b0b04e28bea6df6effd19f92b8f55f7c646b19cee75c1e9bb5132dc475a95dfc237ff0360ae4b117651a99474f15c5c1e710fdbe6f9465') diff --git a/libgssglue/clean b/libgssglue/clean new file mode 100644 index 0000000..b0f7bcf --- /dev/null +++ b/libgssglue/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz} diff --git a/libgssglue/deps b/libgssglue/deps new file mode 100644 index 0000000..171a939 --- /dev/null +++ b/libgssglue/deps @@ -0,0 +1 @@ +autoconf diff --git a/libgssglue/gssapi_mech.conf b/libgssglue/gssapi_mech.conf new file mode 100644 index 0000000..9a832ee --- /dev/null +++ b/libgssglue/gssapi_mech.conf @@ -0,0 +1,22 @@ +# Example /etc/gssapi_mech.conf file +# +# GSSAPI Mechanism Definitions +# +# This configuration file determines which GSS-API mechanisms +# the gssd code should use +# +# NOTE: +# The initiaiization function "mechglue_internal_krb5_init" +# is used for the MIT krb5 gssapi mechanism. This special +# function name indicates that an internal function should +# be used to determine the entry points for the MIT gssapi +# mechanism funtions. +# +# library initialization function +# ================================ ========================== +# The MIT K5 gssapi library, use special function for initialization. +/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init +#/usr/lib/libgssapi.so mechglue_internal_krb5_init +# +# The SPKM3 gssapi library function. Use the function spkm3_gss_initialize. +# /usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so spkm3_gss_initialize diff --git a/libgssglue/time b/libgssglue/time new file mode 100644 index 0000000..1e29e14 --- /dev/null +++ b/libgssglue/time @@ -0,0 +1,3 @@ +real 0m6.706s +user 0m8.942s +sys 0m1.239s diff --git a/libidn2/PKGBUILD b/libidn2/PKGBUILD new file mode 100644 index 0000000..549bbe1 --- /dev/null +++ b/libidn2/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libidn2 +pkgver=2.3.2 +pkgrel=01 +pkgdesc="Free software implementation of IDNA2008, Punycode and TR46" +arch=('x86_64') +url="https://www.gnu.org/software/libidn/#libidn2" +depends=('libunistring') +makedepends=('ruby-ronn') +provides=('libidn2.so') +source=(https://ftp.gnu.org/gnu/libidn/$pkgname-$pkgver.tar.gz{,.sig}) + +prepare() { + cd $pkgname-$pkgver +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'LGPL3') + +validpgpkeys=('9AA9BDB11BB1B99A21285A330664A76954265E8C' # Simon Josefsson + '1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen + +sha256sums=(76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91 # libidn2-2.3.2.tar.gz + 3d533d0b18e031e90fbee0e552e1a034ef0b5bb11298019f0b99c0c85132ff9a) # libidn2-2.3.2.tar.gz.sig diff --git a/libidn2/PKGBUILD-arch b/libidn2/PKGBUILD-arch new file mode 100644 index 0000000..0ee0c44 --- /dev/null +++ b/libidn2/PKGBUILD-arch @@ -0,0 +1,43 @@ +# Maintainer: Evangelos Foutras +# Contributor: Daurnimator + +pkgname=libidn2 +pkgver=2.3.2 +pkgrel=1 +pkgdesc="Free software implementation of IDNA2008, Punycode and TR46" +arch=('x86_64') +url="https://www.gnu.org/software/libidn/#libidn2" +license=('GPL2' 'LGPL3') +depends=('libunistring') +makedepends=('ruby-ronn') +provides=('libidn2.so') +source=(https://ftp.gnu.org/gnu/libidn/$pkgname-$pkgver.tar.gz{,.sig}) +sha256sums=('76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91' + 'SKIP') +validpgpkeys=('9AA9BDB11BB1B99A21285A330664A76954265E8C' # Simon Josefsson + '1CB27DBC98614B2D5841646D08302DB6A2670428') # Tim Rühsen + + +prepare() { + cd $pkgname-$pkgver +} + +build() { + cd $pkgname-$pkgver + + ./configure \ + --prefix=/usr \ + --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/libidn2/clean b/libidn2/clean new file mode 100644 index 0000000..39d84bb --- /dev/null +++ b/libidn2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libidn2*tar.gz*} diff --git a/libidn2/deps b/libidn2/deps new file mode 100644 index 0000000..9814ba6 --- /dev/null +++ b/libidn2/deps @@ -0,0 +1 @@ +ruby-ronn-ng diff --git a/libidn2/key b/libidn2/key new file mode 100644 index 0000000..71a2919 --- /dev/null +++ b/libidn2/key @@ -0,0 +1,2 @@ +gpg -v --recv-key 860B7FBB32F8119D +gpg -v --recv-key 64FF90AAE8C70AF9 diff --git a/libidn2/time b/libidn2/time new file mode 100644 index 0000000..5d99bf7 --- /dev/null +++ b/libidn2/time @@ -0,0 +1,3 @@ +real 0m18.132s +user 0m22.670s +sys 0m2.421 diff --git a/libinih/PKGBUILD b/libinih/PKGBUILD new file mode 100644 index 0000000..63a82c4 --- /dev/null +++ b/libinih/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libinih +pkgver=53 +pkgrel=02 +pkgdesc='A simple .INI file parser written in C' +arch=(x86_64) +url=https://github.com/benhoyt/inih +depends=( gcc-libs glibc ) +makedepends=( git meson ) +provides=(libinih.so libINIReader.so) +_tag=cb55f57d87ae840bd0f65dbe6bd22fa021a873a7 +source=(git+https://github.com/benhoyt/inih.git#tag=${_tag}) + +prepare() { + cd inih + git cherry-pick -n 32519ea045670fbd9a057a9c48f77d7b473ce53b +} + +pkgver() { + cd inih + git describe --tags | sed 's/^r//' +} + +build() { + arch-meson inih build \ + -Ddefault_library=shared \ + -Ddistro_install=true \ + -Dwith_INIReader=true + meson compile -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -Dm 644 inih/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/libinih/ +} + +#---- license gpg-key sha256sums ---- + +license=(BSD) + +sha256sums=(SKIP) + diff --git a/libinih/PKGBUILD-arch b/libinih/PKGBUILD-arch new file mode 100644 index 0000000..bff2817 --- /dev/null +++ b/libinih/PKGBUILD-arch @@ -0,0 +1,50 @@ +# Maintainer: Maxime Gauduin +# Contributor: Alberto Oporto Ames + +pkgname=libinih +pkgver=53 +pkgrel=2 +pkgdesc='A simple .INI file parser written in C' +arch=(x86_64) +url=https://github.com/benhoyt/inih +license=(BSD) +depends=( + gcc-libs + glibc +) +makedepends=( + git + meson +) +provides=( + libinih.so + libINIReader.so +) +_tag=cb55f57d87ae840bd0f65dbe6bd22fa021a873a7 +source=(git+https://github.com/benhoyt/inih.git#tag=${_tag}) +b2sums=(SKIP) + +prepare() { + cd inih + git cherry-pick -n 32519ea045670fbd9a057a9c48f77d7b473ce53b +} + +pkgver() { + cd inih + git describe --tags | sed 's/^r//' +} + +build() { + arch-meson inih build \ + -Ddefault_library=shared \ + -Ddistro_install=true \ + -Dwith_INIReader=true + meson compile -C build +} + +package() { + DESTDIR="$pkgdir" meson install -C build + install -Dm 644 inih/LICENSE.txt -t "${pkgdir}"/usr/share/licenses/libinih/ +} + +# vim: ts=2 sw=2 et: diff --git a/libinih/clean b/libinih/clean new file mode 100644 index 0000000..5491cb7 --- /dev/null +++ b/libinih/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,inih} diff --git a/libinih/deps b/libinih/deps new file mode 100644 index 0000000..943c791 --- /dev/null +++ b/libinih/deps @@ -0,0 +1,3 @@ +git +meson + diff --git a/libinih/time b/libinih/time new file mode 100644 index 0000000..a455863 --- /dev/null +++ b/libinih/time @@ -0,0 +1,3 @@ +real 0m11.407s +user 0m3.599s +sys 0m0.394s diff --git a/libisl/PKGBUILD b/libisl/PKGBUILD new file mode 100644 index 0000000..a8b1935 --- /dev/null +++ b/libisl/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libisl +pkgver=0.24 +pkgrel=04 +pkgdesc='Library for manipulating sets and relations of integer points bounded by linear constraints' +arch=('x86_64') +url='https://libisl.sourceforge.io' +depends=('gmp') +provides=('isl' 'libisl.so') +replaces=('isl') +options=(staticlibs) +source=("https://libisl.sourceforge.io/isl-${pkgver}.tar.xz") + +build() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + make check || true +} + +package() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + + make DESTDIR="${pkgdir}" install + + install -dm755 "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + mv "${pkgdir}"/usr/lib/libisl.so.*-gdb.py "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=('MIT') + +b2sums=('39cbfd18ad05778e3a5a44429261b45e4abc3efe7730ee890674d968890fe5e52c73bc1f8d271c7c3bc72d5754e3f7fcb209bd139e823d19cb9ea4ce1440164d') + +sha256sums=(043105cc544f416b48736fff8caf077fb0663a717d06b1113f16e391ac99ebad) # isl-0.24.tar.xz diff --git a/libisl/PKGBUILD-arch b/libisl/PKGBUILD-arch new file mode 100644 index 0000000..c6e15df --- /dev/null +++ b/libisl/PKGBUILD-arch @@ -0,0 +1,41 @@ +# Maintainer: Frederik Schwan +# Contributor: Andrew Sun +# Contributor: Kritias +# Contributor: sudokode +# Contributor: Allan McRae + +pkgname=libisl +pkgver=0.24 +pkgrel=4 +pkgdesc='Library for manipulating sets and relations of integer points bounded by linear constraints' +arch=('x86_64') +url='https://libisl.sourceforge.io' +license=('MIT') +depends=('gmp') +provides=('isl' 'libisl.so') +replaces=('isl') +options=(staticlibs) +source=("https://libisl.sourceforge.io/isl-${pkgver}.tar.xz") +b2sums=('39cbfd18ad05778e3a5a44429261b45e4abc3efe7730ee890674d968890fe5e52c73bc1f8d271c7c3bc72d5754e3f7fcb209bd139e823d19cb9ea4ce1440164d') + +build() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + make check || true +} + +package() { + cd "${srcdir}"/${pkgname#lib}-${pkgver} + + make DESTDIR="${pkgdir}" install + + install -dm755 "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + mv "${pkgdir}"/usr/lib/libisl.so.*-gdb.py "${pkgdir}"/usr/share/gdb/auto-load/usr/lib/ + + install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/libisl/clean b/libisl/clean new file mode 100644 index 0000000..1cbf9dc --- /dev/null +++ b/libisl/clean @@ -0,0 +1 @@ +rm -rf {src,pkg,isl*xz} diff --git a/libisl/deps b/libisl/deps new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/libisl/deps @@ -0,0 +1 @@ + diff --git a/libisl/time b/libisl/time new file mode 100644 index 0000000..636f3ff --- /dev/null +++ b/libisl/time @@ -0,0 +1,3 @@ +real 0m33.761s +user 1m5.399s +sys 0m3.360s diff --git a/libksba/PKGBUILD b/libksba/PKGBUILD new file mode 100644 index 0000000..5a4c7e5 --- /dev/null +++ b/libksba/PKGBUILD @@ -0,0 +1,39 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libksba +pkgver=1.6.0 +pkgrel=01 +pkgdesc='Library for working with X.509 certificates, CMS data and related objects' +url='https://www.gnupg.org/related_software/libksba/' +arch=('x86_64') +depends=('bash' 'libgpg-error' 'glibc') +source=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') +validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch + '6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) + +sha256sums=(dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b # libksba-1.6.0.tar.bz2 + 6de8228b624e933f52b9e4cb82069a927d4db3c809c420c7ba278941dc087a7d) # libksba-1.6.0.tar.bz2.sig diff --git a/libksba/PKGBUILD-arch b/libksba/PKGBUILD-arch new file mode 100644 index 0000000..90f877b --- /dev/null +++ b/libksba/PKGBUILD-arch @@ -0,0 +1,32 @@ +# Maintainer: Gaetan Bisson +# Contributor: Damir Perisa + +pkgname=libksba +pkgver=1.6.0 +pkgrel=1 +pkgdesc='Library for working with X.509 certificates, CMS data and related objects' +url='https://www.gnupg.org/related_software/libksba/' +license=('GPL') +arch=('x86_64') +depends=('bash' 'libgpg-error' 'glibc') +source=("https://www.gnupg.org/ftp/gcrypt/${pkgname}/${pkgname}-${pkgver}.tar.bz2"{,.sig}) +sha256sums=('dad683e6f2d915d880aa4bed5cea9a115690b8935b78a1bbe01669189307a48b' + 'SKIP') +validpgpkeys=('D8692123C4065DEA5E0F3AB5249B39D24F25E3B6' # Werner Koch + '6DAA6E64A76D2840571B4902528897B826403ADA') # Werner Koch (dist signing 2020) + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/${pkgname}-${pkgver}" + make check +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/libksba/clean b/libksba/clean new file mode 100644 index 0000000..8627ab6 --- /dev/null +++ b/libksba/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2*} diff --git a/libksba/deps b/libksba/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libksba/deps @@ -0,0 +1 @@ + diff --git a/libksba/key b/libksba/key new file mode 100644 index 0000000..82d094e --- /dev/null +++ b/libksba/key @@ -0,0 +1 @@ +gpg -v --recv-key 249B39D24F25E3B6 diff --git a/libksba/time b/libksba/time new file mode 100644 index 0000000..50dd4be --- /dev/null +++ b/libksba/time @@ -0,0 +1,3 @@ +real 0m9.832s +user 0m20.052s +sys 0m1.482s diff --git a/libmicrohttpd/PKGBUILD b/libmicrohttpd/PKGBUILD new file mode 100644 index 0000000..2cb4c5f --- /dev/null +++ b/libmicrohttpd/PKGBUILD @@ -0,0 +1,50 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libmicrohttpd +pkgver=0.9.75 +pkgrel=01 +pkgdesc="a small C library that is supposed to make it easy to run an HTTP server as part of another application." +arch=('x86_64') +url="https://www.gnu.org/software/libmicrohttpd/" +depends=('gnutls') +checkdepends=('curl') +provides=('libmicrohttpd.so') +source=("https://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz"{,.sig}) + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-dependency-tracking \ + --disable-examples \ + --enable-curl \ + --enable-https \ + --enable-largefile \ + --enable-messages \ + --with-pic + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=('EA812DBEFA5A7EF17DA8F2C1460A317C3326D2AE' # Evgeny Grin (Karlson2k) + 'D8423BCB326C7907033929C7939E6BE1E29FC3CC') # Christian Grothoff + +sha256sums=(9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb # libmicrohttpd-0.9.75.tar.gz + f7ac2182dc585d932defca4b6fb78143222c6f0e0135c75f3f1300f43f079ac6) # libmicrohttpd-0.9.75.tar.gz.sig diff --git a/libmicrohttpd/PKGBUILD-arch b/libmicrohttpd/PKGBUILD-arch new file mode 100644 index 0000000..ec91e8a --- /dev/null +++ b/libmicrohttpd/PKGBUILD-arch @@ -0,0 +1,48 @@ +# Maintainer: Sergej Pupykin +# Maintainer: Norberto Lopes +# Contributor: Kao Dome +# Contributor: Dmitrij D. Czarkoff +# Contributor: Mathias Rohnstock + +pkgname=libmicrohttpd +pkgver=0.9.75 +pkgrel=1 +pkgdesc='a small C library that is supposed to make it easy to run an HTTP server as part of another application.' +arch=('x86_64') +url='https://www.gnu.org/software/libmicrohttpd/' +license=('LGPL') +depends=('gnutls') +checkdepends=('curl') +provides=('libmicrohttpd.so') +validpgpkeys=('EA812DBEFA5A7EF17DA8F2C1460A317C3326D2AE' # Evgeny Grin (Karlson2k) + 'D8423BCB326C7907033929C7939E6BE1E29FC3CC') # Christian Grothoff +source=("https://ftp.gnu.org/gnu/libmicrohttpd/$pkgname-$pkgver.tar.gz"{,.sig}) +sha256sums=('9278907a6f571b391aab9644fd646a5108ed97311ec66f6359cebbedb0a4e3bb' + 'SKIP') + +build() { + cd ${pkgname}-${pkgver} + + ./configure \ + --prefix=/usr \ + --disable-dependency-tracking \ + --disable-examples \ + --enable-curl \ + --enable-https \ + --enable-largefile \ + --enable-messages \ + --with-pic + make +} + +check() { + cd ${pkgname}-${pkgver} + + make check +} + +package() { + cd ${pkgname}-${pkgver} + + make DESTDIR="$pkgdir" install +} diff --git a/libmicrohttpd/clean b/libmicrohttpd/clean new file mode 100644 index 0000000..21b4398 --- /dev/null +++ b/libmicrohttpd/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libmi*tar.gz*} diff --git a/libmicrohttpd/deps b/libmicrohttpd/deps new file mode 100644 index 0000000..e69de29 diff --git a/libmicrohttpd/key b/libmicrohttpd/key new file mode 100644 index 0000000..bd63ef2 --- /dev/null +++ b/libmicrohttpd/key @@ -0,0 +1 @@ +gpg -v --recv-key 460A317C3326D2AE diff --git a/libmicrohttpd/time b/libmicrohttpd/time new file mode 100644 index 0000000..df8f3a1 --- /dev/null +++ b/libmicrohttpd/time @@ -0,0 +1,3 @@ +real 0m57.346s +user 1m10.692s +sys 0m9.276s diff --git a/libmnl/PKGBUILD b/libmnl/PKGBUILD new file mode 100644 index 0000000..caaa8f1 --- /dev/null +++ b/libmnl/PKGBUILD @@ -0,0 +1,33 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libmnl +pkgver=1.0.4 +pkgrel=03 +pkgdesc='Minimalistic user-space library oriented to Netlink developers.' +arch=('x86_64') +url='https://www.netfilter.org/projects/libmnl/' +depends=('glibc') +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4') # Netfilter Core Team + +sha256sums=(171f89699f286a5854b72b91d06e8f8e3683064c5901fb09d954a9ab6f551f81 # libmnl-1.0.4.tar.bz2 + de4a8f7f941e8983481cadee8327321c73e621916df53f1c331d1009ec3568e6) # libmnl-1.0.4.tar.bz2.sig diff --git a/libmnl/PKGBUILD-arch b/libmnl/PKGBUILD-arch new file mode 100644 index 0000000..6bfac96 --- /dev/null +++ b/libmnl/PKGBUILD-arch @@ -0,0 +1,27 @@ +# Maintainer: Sébastien Luttringer +# Contributor: Christian Hesse + +pkgname=libmnl +pkgver=1.0.4 +pkgrel=3 +pkgdesc='Minimalistic user-space library oriented to Netlink developers.' +arch=('x86_64') +url='https://www.netfilter.org/projects/libmnl/' +license=('LGPL2.1') +depends=('glibc') +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha1sums=('2db40dea612e88c62fd321906be40ab5f8f1685a' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/libmnl/clean b/libmnl/clean new file mode 100644 index 0000000..8627ab6 --- /dev/null +++ b/libmnl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2*} diff --git a/libmnl/deps b/libmnl/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libmnl/deps @@ -0,0 +1 @@ + diff --git a/libmnl/key b/libmnl/key new file mode 100644 index 0000000..00bdeb8 --- /dev/null +++ b/libmnl/key @@ -0,0 +1 @@ +gpg -v --recv-key AB4655A126D292E4 diff --git a/libmnl/time b/libmnl/time new file mode 100644 index 0000000..e1d4b9d --- /dev/null +++ b/libmnl/time @@ -0,0 +1,3 @@ +real 0m3.577s +user 0m3.705s +sys 0m0.530s diff --git a/libmpc/PKGBUILD b/libmpc/PKGBUILD new file mode 100644 index 0000000..1654fb5 --- /dev/null +++ b/libmpc/PKGBUILD @@ -0,0 +1,40 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libmpc +pkgver=1.2.1 +pkgrel=02 +pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision" +arch=('x86_64') +url="http://www.multiprecision.org/" +depends=('mpfr') +source=(https://ftp.gnu.org/gnu/mpc/mpc-${pkgver/_/-}.tar.gz{,.sig}) + +build() { + cd "${srcdir}/mpc-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/mpc-${pkgver}" + make check +} + +package() { + cd "${srcdir}/mpc-${pkgver}" + make DESTDIR="${pkgdir}" install + mv "${pkgdir}"/usr/share/info/{mpc,libmpc}.info +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL') + +validpgpkeys=('AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3') # Andreas Enge + +sha256sums=(17503d2c395dfcf106b622dc142683c1199431d095367c6aacba6eec30340459 # mpc-1.2.1.tar.gz + cc0ef52279aa6bcd5827f167d904eb39e74ee9ed31a174f9d00c56154454928f) # mpc-1.2.1.tar.gz.sig diff --git a/libmpc/PKGBUILD-arch b/libmpc/PKGBUILD-arch new file mode 100644 index 0000000..7ea1a9e --- /dev/null +++ b/libmpc/PKGBUILD-arch @@ -0,0 +1,31 @@ +# Maintainer: Allan McRae + +pkgname=libmpc +pkgver=1.2.1 +pkgrel=2 +pkgdesc="Library for the arithmetic of complex numbers with arbitrarily high precision" +arch=('x86_64') +url="http://www.multiprecision.org/" +license=('LGPL') +depends=('mpfr') +source=(https://ftp.gnu.org/gnu/mpc/mpc-${pkgver/_/-}.tar.gz{,.sig}) +md5sums=('9f16c976c25bb0f76b50be749cd7a3a8' + 'SKIP') +validpgpkeys=('AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3') # Andreas Enge + +build() { + cd "${srcdir}/mpc-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${srcdir}/mpc-${pkgver}" + make check +} + +package() { + cd "${srcdir}/mpc-${pkgver}" + make DESTDIR="${pkgdir}" install + mv "${pkgdir}"/usr/share/info/{mpc,libmpc}.info +} diff --git a/libmpc/clean b/libmpc/clean new file mode 100644 index 0000000..7dbeb85 --- /dev/null +++ b/libmpc/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mpc*} diff --git a/libmpc/deps b/libmpc/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libmpc/deps @@ -0,0 +1 @@ + diff --git a/libmpc/key b/libmpc/key new file mode 100644 index 0000000..7b034e5 --- /dev/null +++ b/libmpc/key @@ -0,0 +1 @@ +gpg -v --recv-key F7D5C9BF765C61E3 diff --git a/libmpc/time b/libmpc/time new file mode 100644 index 0000000..a6cdbe1 --- /dev/null +++ b/libmpc/time @@ -0,0 +1,4 @@ +real 0m22.237s +user 1m8.430s +sys 0m4.894s + diff --git a/libnetfilter_conntrack/PKGBUILD b/libnetfilter_conntrack/PKGBUILD new file mode 100644 index 0000000..b9341ac --- /dev/null +++ b/libnetfilter_conntrack/PKGBUILD @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnetfilter_conntrack +pkgver=1.0.8 +pkgrel=01 +pkgdesc='Library providing an API to the in-kernel connection tracking state table' +arch=('x86_64') +depends=('libnfnetlink' 'libmnl') +url='https://www.netfilter.org/projects/libnetfilter_conntrack/' +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4') # Netfilter Core Team + +sha256sums=(0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf # libnetfilter_conntrack-1.0.8.tar.bz2 + 832f7a92383d13953a2d8bdf06f651a045e45763ce2f5165b3944c187053c439) # libnetfilter_conntrack-1.0.8.tar.bz2.sig diff --git a/libnetfilter_conntrack/PKGBUILD-arch b/libnetfilter_conntrack/PKGBUILD-arch new file mode 100644 index 0000000..d498b43 --- /dev/null +++ b/libnetfilter_conntrack/PKGBUILD-arch @@ -0,0 +1,31 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Sergej Pupykin +# Contributor: Alessandro Sagratini +# Contributor: Kevin Edmonds + +pkgname=libnetfilter_conntrack +pkgver=1.0.8 +pkgrel=1 +pkgdesc='Library providing an API to the in-kernel connection tracking state table' +arch=('x86_64') +depends=('libnfnetlink' 'libmnl') +url='https://www.netfilter.org/projects/libnetfilter_conntrack/' +license=('GPL') +validpgpkeys=('C09DB2063F1D7034BA6152ADAB4655A126D292E4') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha256sums=('0cd13be008923528687af6c6b860f35392d49251c04ee0648282d36b1faec1cf' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + + +# vim:set ts=2 sw=2 et: diff --git a/libnetfilter_conntrack/clean b/libnetfilter_conntrack/clean new file mode 100644 index 0000000..6c9e33f --- /dev/null +++ b/libnetfilter_conntrack/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libnetfilt*tar.bz2*} diff --git a/libnetfilter_conntrack/deps b/libnetfilter_conntrack/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libnetfilter_conntrack/deps @@ -0,0 +1 @@ + diff --git a/libnetfilter_conntrack/key b/libnetfilter_conntrack/key new file mode 100644 index 0000000..00bdeb8 --- /dev/null +++ b/libnetfilter_conntrack/key @@ -0,0 +1 @@ +gpg -v --recv-key AB4655A126D292E4 diff --git a/libnetfilter_conntrack/time b/libnetfilter_conntrack/time new file mode 100644 index 0000000..a366364 --- /dev/null +++ b/libnetfilter_conntrack/time @@ -0,0 +1,3 @@ +real 0m5.757s +user 0m10.006s +sys 0m1.135s diff --git a/libnfnetlink/PKGBUILD b/libnfnetlink/PKGBUILD new file mode 100644 index 0000000..a575f31 --- /dev/null +++ b/libnfnetlink/PKGBUILD @@ -0,0 +1,34 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnfnetlink +pkgver=1.0.1 +pkgrel=04 +pkgdesc='Low-level library for netfilter related kernel/userspace communication' +arch=('x86_64') +url='https://www.netfilter.org/projects/libnfnetlink/' +depends=('glibc') +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('57FF5E9C9AA67A860B557AF7A4111F89BB5F58CC') # Netfilter Core Team + +sha256sums=(f270e19de9127642d2a11589ef2ec97ef90a649a74f56cf9a96306b04817b51a # libnfnetlink-1.0.1.tar.bz2 + 3c9b44e866468646242d289f59e652c5811171d4fec52626af3385d0d1125b85) # libnfnetlink-1.0.1.tar.bz2.sig diff --git a/libnfnetlink/PKGBUILD-arch b/libnfnetlink/PKGBUILD-arch new file mode 100644 index 0000000..b546ea4 --- /dev/null +++ b/libnfnetlink/PKGBUILD-arch @@ -0,0 +1,30 @@ +# Maintainer: Sébastien "Seblu" Luttringer +# Contributor: Sergej Pupykin +# Contributor: Kevin Edmonds +# Contributor: Filip Wojciechowski, filip at loka dot pl + +pkgname=libnfnetlink +pkgver=1.0.1 +pkgrel=4 +pkgdesc='Low-level library for netfilter related kernel/userspace communication' +arch=('x86_64') +url='https://www.netfilter.org/projects/libnfnetlink/' +license=('GPL') +depends=('glibc') +validpgpkeys=('57FF5E9C9AA67A860B557AF7A4111F89BB5F58CC') # Netfilter Core Team +source=("https://www.netfilter.org/projects/$pkgname/files/$pkgname-$pkgver.tar.bz2"{,.sig}) +sha512sums=('2ec2cd389c04e21c8a02fb3f6d6f326fc33ca9589577f1739c23d883fe2ee9feaa16e83b6ed09063ad886432e49565dc3256277d035260aca5aab17954b46104' + 'SKIP') + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/libnfnetlink/clean b/libnfnetlink/clean new file mode 100644 index 0000000..8627ab6 --- /dev/null +++ b/libnfnetlink/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2*} diff --git a/libnfnetlink/deps b/libnfnetlink/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libnfnetlink/deps @@ -0,0 +1 @@ + diff --git a/libnfnetlink/key b/libnfnetlink/key new file mode 100644 index 0000000..0924ea1 --- /dev/null +++ b/libnfnetlink/key @@ -0,0 +1 @@ +gpg -v --recv-key A4111F89BB5F58CC diff --git a/libnfnetlink/time b/libnfnetlink/time new file mode 100644 index 0000000..8418221 --- /dev/null +++ b/libnfnetlink/time @@ -0,0 +1,4 @@ + +real 0m4.694s +user 0m3.789s +sys 0m0.532s diff --git a/libnftnl/PKGBUILD b/libnftnl/PKGBUILD new file mode 100644 index 0000000..af98ff8 --- /dev/null +++ b/libnftnl/PKGBUILD @@ -0,0 +1,52 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnftnl +pkgver=1.2.1 +pkgrel=01 +pkgdesc='Netfilter library providing interface to the nf_tables subsystem' +arch=('x86_64') +url='https://netfilter.org/projects/libnftnl/' +depends=('libmnl') +source=("https://netfilter.org/projects/libnftnl/files/libnftnl-$pkgver.tar.bz2"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team + +sha256sums=(7508a5c414fab13e3cb3ce8262d0ce4f02c1590a8e4f8628ab497b5b4585937c # libnftnl-1.2.1.tar.bz2 + 1b1aec537976e77eceb4b0730ff10b300aec232eb0366ca580784a78278bf450) # libnftnl-1.2.1.tar.bz2.sig diff --git a/libnftnl/PKGBUILD-arch b/libnftnl/PKGBUILD-arch new file mode 100644 index 0000000..194f0dd --- /dev/null +++ b/libnftnl/PKGBUILD-arch @@ -0,0 +1,45 @@ +# Maintainer: Sébastien Luttringer + +pkgname=libnftnl +pkgver=1.2.1 +pkgrel=1 +pkgdesc='Netfilter library providing interface to the nf_tables subsystem' +arch=('x86_64') +url='https://netfilter.org/projects/libnftnl/' +license=('GPL2') +depends=('libmnl') +validpgpkeys=('37D964ACC04981C75500FB9BD55D978A8A1420E4') # Netfilter Core Team +source=("https://netfilter.org/projects/libnftnl/files/libnftnl-$pkgver.tar.bz2"{,.sig}) +sha256sums=('7508a5c414fab13e3cb3ce8262d0ce4f02c1590a8e4f8628ab497b5b4585937c' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} + +# vim:set ts=2 sw=2 et: diff --git a/libnftnl/clean b/libnftnl/clean new file mode 100644 index 0000000..8389a3d --- /dev/null +++ b/libnftnl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libnftnl*tar.bz2*} diff --git a/libnftnl/deps b/libnftnl/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libnftnl/deps @@ -0,0 +1 @@ + diff --git a/libnftnl/key b/libnftnl/key new file mode 100644 index 0000000..01decda --- /dev/null +++ b/libnftnl/key @@ -0,0 +1 @@ +gpg -v --recv-key D55D978A8A1420E4 diff --git a/libnftnl/time b/libnftnl/time new file mode 100644 index 0000000..7fac25b --- /dev/null +++ b/libnftnl/time @@ -0,0 +1,3 @@ +real 0m12.286s +user 0m31.686s +sys 0m3.566s diff --git a/libnghttp2/PKGBUILD b/libnghttp2/PKGBUILD new file mode 100644 index 0000000..453d5cf --- /dev/null +++ b/libnghttp2/PKGBUILD @@ -0,0 +1,46 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnghttp2 +pkgver=1.47.0 +pkgrel=01 +pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library' +arch=(x86_64) +url='https://nghttp2.org/' +depends=(glibc) +makedepends=('automake' 'autoconf') +conflicts=('nghttp2<1.20.0-2') +source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz) + +build() { + cd nghttp2-$pkgver + + autoreconf -i + ./configure \ + --prefix=/usr \ + --disable-examples \ + --disable-python-bindings \ + --enable-lib-only + make +} + +check() { + cd nghttp2-$pkgver + make check +} + +package() { + cd nghttp2-$pkgver/lib + + make DESTDIR="$pkgdir" install + install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING" +} + +#---- license gpg-key sha256sums ---- + +license=(MIT) + +sha256sums=(68271951324554c34501b85190f22f2221056db69f493afc3bbac8e7be21e7cc) # nghttp2-1.47.0.tar.xz diff --git a/libnghttp2/PKGBUILD-arch b/libnghttp2/PKGBUILD-arch new file mode 100644 index 0000000..d80ad6e --- /dev/null +++ b/libnghttp2/PKGBUILD-arch @@ -0,0 +1,38 @@ +# Maintainer: Anatol Pomozov +# Contributor: Zhuoyun Wei + +pkgname=libnghttp2 +pkgver=1.47.0 +pkgrel=1 +pkgdesc='Framing layer of HTTP/2 is implemented as a reusable C library' +arch=(x86_64) +url='https://nghttp2.org/' +license=(MIT) +depends=(glibc) +conflicts=('nghttp2<1.20.0-2') +source=(https://github.com/nghttp2/nghttp2/releases/download/v$pkgver/nghttp2-$pkgver.tar.xz) +sha512sums=('ad6266a15789fec966db6be8ac0b9ee6cca257a3bb91fdd34a58acf0e472643a571941b5974d16c98f6ac5bfa6a03c4b70a6dff222fb0cd50909178b7e94ce48') + +build() { + cd nghttp2-$pkgver + + autoreconf -i + ./configure \ + --prefix=/usr \ + --disable-examples \ + --disable-python-bindings \ + --enable-lib-only + make +} + +check() { + cd nghttp2-$pkgver + make check +} + +package() { + cd nghttp2-$pkgver/lib + + make DESTDIR="$pkgdir" install + install -Dm644 ../COPYING "$pkgdir/usr/share/licenses/libnghttp2/COPYING" +} diff --git a/libnghttp2/clean b/libnghttp2/clean new file mode 100644 index 0000000..3349a14 --- /dev/null +++ b/libnghttp2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.xz*} diff --git a/libnghttp2/deps b/libnghttp2/deps new file mode 100644 index 0000000..8617447 --- /dev/null +++ b/libnghttp2/deps @@ -0,0 +1,2 @@ +autoconf +automake diff --git a/libnghttp2/time b/libnghttp2/time new file mode 100644 index 0000000..2b07e6a --- /dev/null +++ b/libnghttp2/time @@ -0,0 +1,5 @@ + +real 0m20.486s +user 0m24.534s +sys 0m2.279s + diff --git a/libnl/PKGBUILD b/libnl/PKGBUILD new file mode 100644 index 0000000..3a435ac --- /dev/null +++ b/libnl/PKGBUILD @@ -0,0 +1,42 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnl +pkgver=3.5.0 +pkgrel=03 +pkgdesc='Library for applications dealing with netlink sockets' +arch=(x86_64) +url='https://github.com/thom311/libnl/' +depends=(glibc) +makedepends=(bison) +backup=(etc/libnl/classid etc/libnl/pktloc) +source=(https://github.com/thom311/libnl/releases/download/libnl${pkgver//./_}/${pkgname}-${pkgver}.tar.gz{,.sig}) + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --disable-static + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('49EA7C670E0850E7419514F629C2366E4DFC5728') # Thomas Haller + +sha256sums=(352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa # libnl-3.5.0.tar.gz + 78fea1448750316c3c86de1837037cc9355f9439f9aa5fe29974687f10bea618) # libnl-3.5.0.tar.gz.sig diff --git a/libnl/PKGBUILD-arch b/libnl/PKGBUILD-arch new file mode 100644 index 0000000..7904c3b --- /dev/null +++ b/libnl/PKGBUILD-arch @@ -0,0 +1,34 @@ +# Maintainer: Bartłomiej Piotrowski +# Contributor: Thomas Bächler + +pkgname=libnl +pkgver=3.5.0 +pkgrel=3 +pkgdesc='Library for applications dealing with netlink sockets' +arch=(x86_64) +url='https://github.com/thom311/libnl/' +license=(GPL) +depends=(glibc) +backup=(etc/libnl/classid etc/libnl/pktloc) +source=(https://github.com/thom311/libnl/releases/download/libnl${pkgver//./_}/${pkgname}-${pkgver}.tar.gz{,.sig}) +sha256sums=('352133ec9545da76f77e70ccb48c9d7e5324d67f6474744647a7ed382b5e05fa' + 'SKIP') +validpgpkeys=('49EA7C670E0850E7419514F629C2366E4DFC5728') # Thomas Haller + +build() { + cd $pkgname-$pkgver + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --disable-static + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} diff --git a/libnl/clean b/libnl/clean new file mode 100644 index 0000000..2400798 --- /dev/null +++ b/libnl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*,*.sig} diff --git a/libnl/deps b/libnl/deps new file mode 100644 index 0000000..81f33b1 --- /dev/null +++ b/libnl/deps @@ -0,0 +1 @@ +bison diff --git a/libnl/key b/libnl/key new file mode 100644 index 0000000..89a52f7 --- /dev/null +++ b/libnl/key @@ -0,0 +1 @@ +gpg -v --recv-key 29C2366E4DFC5728 diff --git a/libnl/time b/libnl/time new file mode 100644 index 0000000..f9d7f95 --- /dev/null +++ b/libnl/time @@ -0,0 +1,3 @@ +real 0m38.987s +user 1m30.943s +sys 0m9.596s diff --git a/libnsl/PKGBUILD b/libnsl/PKGBUILD new file mode 100644 index 0000000..6db9108 --- /dev/null +++ b/libnsl/PKGBUILD @@ -0,0 +1,39 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libnsl +pkgver=2.0.0 +pkgrel=02 +pkgdesc="Public client interface library for NIS(YP)" +arch=(x86_64) +url="https://github.com/thkukuk/libnsl" +depends=(glibc libtirpc) +provides=(libnsl.so) +#options=(debug) +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") + +prepare() { + cd "$pkgname-$pkgver" + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +sha256sums=(eb37be57c1cf650b3a8a4fc7cd66c8b3dfc06215b41956a16325a9388171bc40) # libnsl-2.0.0.tar.gz + diff --git a/libnsl/PKGBUILD-arch b/libnsl/PKGBUILD-arch new file mode 100644 index 0000000..80b569a --- /dev/null +++ b/libnsl/PKGBUILD-arch @@ -0,0 +1,32 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski + +pkgname=libnsl +pkgver=2.0.0 +pkgrel=2 +pkgdesc="Public client interface library for NIS(YP)" +arch=(x86_64) +url="https://github.com/thkukuk/libnsl" +license=(LGPL2.1) +depends=(glibc libtirpc) +provides=(libnsl.so) +options=(debug) +source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz") +sha512sums=('86a7738707a3e4e56b60c8de0445fb576e66148bc12fa2a6aab422ea81eb4b42be3287a12f78384acd2b8bfb3885e9a0ce4f7328f078da3a5099acb66a35a935') +b2sums=('e16bba0d64afa3c1473be831fa9fa743e88323091a4ee62436383169d282b1ad6deab3ff1f9462828c88e443a4b9b913ac18b36c68664593a6a80dae25988b7d') + +prepare() { + cd "$pkgname-$pkgver" + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr --disable-static + make +} + +package() { + make DESTDIR="$pkgdir" install -C $pkgname-$pkgver + install -vDm 644 $pkgname-$pkgver/{AUTHORS,NEWS,README} -t "${pkgdir}/usr/share/doc/${pkgname}" +} diff --git a/libnsl/clean b/libnsl/clean new file mode 100644 index 0000000..605d3ee --- /dev/null +++ b/libnsl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libnsl*tar.gz*} diff --git a/libnsl/deps b/libnsl/deps new file mode 100644 index 0000000..1c82ab0 --- /dev/null +++ b/libnsl/deps @@ -0,0 +1,3 @@ +autoconf +automake +gettext diff --git a/libnsl/time b/libnsl/time new file mode 100644 index 0000000..54f7f57 --- /dev/null +++ b/libnsl/time @@ -0,0 +1,5 @@ + +real 0m10.004s +user 0m9.825s +sys 0m1.078s + diff --git a/libp11-kit b/libp11-kit new file mode 120000 index 0000000..045935f --- /dev/null +++ b/libp11-kit @@ -0,0 +1 @@ +p11-kit \ No newline at end of file diff --git a/libpcap/PKGBUILD b/libpcap/PKGBUILD new file mode 100644 index 0000000..648e45b --- /dev/null +++ b/libpcap/PKGBUILD @@ -0,0 +1,49 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libpcap +pkgver=1.10.1 +pkgrel=02 +pkgdesc='A system-independent interface for user-level packet capture - no ipv6' +arch=(x86_64) +url="https://www.tcpdump.org/" +depends=(glibc libnl sh) +makedepends=(bluez-libs dbus) +provides=(libpcap.so) +#options=(debug) +source=("https://www.tcpdump.org/release/${pkgname}-${pkgver}.tar.gz"{,.sig}) + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --disable-ipv6 \ + --enable-bluetooth \ + --enable-usb \ + --with-libnl + make +} + +package() { + depends+=('libdbus-1.so') + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 {CHANGES,{CONTRIBUTING,README}.md} -t "${pkgdir}/usr/share/doc/${pkgname}/" +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +validpgpkeys=('1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D') # The Tcpdump Group + +sha256sums=(ed285f4accaf05344f90975757b3dbfe772ba41d1c401c2648b7fa45b711bdd4 # libpcap-1.10.1.tar.gz + 7c85dad0244778e67e421603bfb98b91515c94702ad798a8348733add68fe7c7) # libpcap-1.10.1.tar.gz.sig diff --git a/libpcap/PKGBUILD-arch b/libpcap/PKGBUILD-arch new file mode 100644 index 0000000..f800d72 --- /dev/null +++ b/libpcap/PKGBUILD-arch @@ -0,0 +1,45 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski +# Contributor: Thomas Bächler + +pkgname=libpcap +pkgver=1.10.1 +pkgrel=2 +pkgdesc='A system-independent interface for user-level packet capture' +arch=(x86_64) +url='https://www.tcpdump.org/' +license=(BSD) +depends=(glibc libnl sh) +makedepends=(bluez-libs dbus) +provides=(libpcap.so) +options=(debug) +source=("https://www.tcpdump.org/release/${pkgname}-${pkgver}.tar.gz"{,.sig}) +sha512sums=('56c314f19c2b857742bf8abcb1e78066986aaa95cec339b75a3c8b70a9fa2b5167da98708352f9ec97a1cea2700cfb4e040bda108d58ac46cec9b7deab88d171' + 'SKIP') +b2sums=('0ec028e5d026a97b92ba6f23f88daf36b827eee08a752a0162fbabd1b5a2a70141ec403b6ff26dc3eb25ca5c6630c9c2f60f05b33161770da3d5e829c4eecdc6' + 'SKIP') +validpgpkeys=('1F166A5742ABB9E0249A8D30E089DEF1D9C15D0D') # The Tcpdump Group + +prepare() { + cd $pkgname-$pkgver + autoreconf -fiv +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr \ + --enable-ipv6 \ + --enable-bluetooth \ + --enable-usb \ + --with-libnl + make +} + +package() { + depends+=(libdbus-1.so) + + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -vDm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname/" + install -vDm 644 {CHANGES,{CONTRIBUTING,README}.md} -t "$pkgdir/usr/share/doc/$pkgname/" +} diff --git a/libpcap/clean b/libpcap/clean new file mode 100644 index 0000000..e6334e7 --- /dev/null +++ b/libpcap/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.gz*} diff --git a/libpcap/deps b/libpcap/deps new file mode 100644 index 0000000..096e6c9 --- /dev/null +++ b/libpcap/deps @@ -0,0 +1,3 @@ +bluez-libs +autoconf +bison diff --git a/libpcap/key b/libpcap/key new file mode 100644 index 0000000..a573a6e --- /dev/null +++ b/libpcap/key @@ -0,0 +1 @@ +gpg -v --recv-key E089DEF1D9C15D0D diff --git a/libpcap/time b/libpcap/time new file mode 100644 index 0000000..476f60c --- /dev/null +++ b/libpcap/time @@ -0,0 +1,3 @@ +real 0m10.844s +user 0m14.978s +sys 0m1.543s diff --git a/libpipeline/PKGBUILD b/libpipeline/PKGBUILD new file mode 100644 index 0000000..6ee29f7 --- /dev/null +++ b/libpipeline/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libpipeline +pkgver=1.5.5 +pkgrel=01 +pkgdesc="a C library for manipulating pipelines of subprocesses in a flexible and convenient way" +arch=('x86_64') +url="https://nongnu.org/libpipeline/" +depends=('glibc') +# https://gitlab.com/cjwatson/libpipeline +source=(https://download.savannah.gnu.org/releases/libpipeline/$pkgname-$pkgver.tar.gz{,.asc}) + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} + +#---- license gpg-key sha256sums ---- +license=('GPL') +#validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson +#validpgpkeys=('87317259431038049C92C139F6DD330210FA4CD1') # "Colin Watson " +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # "Colin Watson " + +sha256sums=('0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc' + 'SKIP') + +sha256sums=(0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc # libpipeline-1.5.5.tar.gz + 724112f2f1e8e950b9999687845cea686c088d2b308f5b5f540386f3cde6a2de) # libpipeline-1.5.5.tar.gz.asc diff --git a/libpipeline/PKGBUILD-arch b/libpipeline/PKGBUILD-arch new file mode 100644 index 0000000..174ac61 --- /dev/null +++ b/libpipeline/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: Andreas Radke + +pkgname=libpipeline +pkgver=1.5.5 +pkgrel=1 +pkgdesc="a C library for manipulating pipelines of subprocesses in a flexible and convenient way" +arch=('x86_64') +url="https://nongnu.org/libpipeline/" +license=('GPL') +depends=('glibc') +# https://gitlab.com/cjwatson/libpipeline +source=(https://download.savannah.gnu.org/releases/libpipeline/$pkgname-$pkgver.tar.gz{,.asc}) +sha256sums=('0c8367f8b82bb721b50647a647115b6e62a37e3b2e954a9685e4d933f30c00cc' + 'SKIP') +#validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson +#validpgpkeys=('87317259431038049C92C139F6DD330210FA4CD1') # "Colin Watson " +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # "Colin Watson " + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir/" install +} diff --git a/libpipeline/clean b/libpipeline/clean new file mode 100644 index 0000000..cedda8b --- /dev/null +++ b/libpipeline/clean @@ -0,0 +1 @@ +rm -rvf {*.tar.gz*,src,pkg} diff --git a/libpipeline/deps b/libpipeline/deps new file mode 100644 index 0000000..e69de29 diff --git a/libpipeline/key b/libpipeline/key new file mode 100644 index 0000000..32685fa --- /dev/null +++ b/libpipeline/key @@ -0,0 +1 @@ +gpg -v --recv-key 393587D97D86500B diff --git a/libpipeline/time b/libpipeline/time new file mode 100644 index 0000000..4e49857 --- /dev/null +++ b/libpipeline/time @@ -0,0 +1,4 @@ +real 0m14.958s +user 0m15.325s +sys 0m2.706s + diff --git a/libpsl/PKGBUILD b/libpsl/PKGBUILD new file mode 100644 index 0000000..caa0655 --- /dev/null +++ b/libpsl/PKGBUILD @@ -0,0 +1,56 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libpsl +pkgver=0.21.1 +pkgrel=01 +pkgdesc='Public Suffix List library' +url='https://github.com/rockdaboot/libpsl' +arch=('x86_64') +depends=('libidn2' 'libidn2.so' 'libunistring') +makedepends=('libxslt' 'python' 'publicsuffix-list' 'gtk-doc') +provides=('libpsl.so') +source=(https://github.com/rockdaboot/libpsl/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz) + +prepare() { + cd ${pkgname}-${pkgver} + rm -frv list + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-dependency-tracking \ + --enable-man \ + --enable-gtk-doc \ + --enable-{builtin,runtime}=libidn2 \ + --with-psl-file=/usr/share/publicsuffix/effective_tld_names.dat \ + --with-psl-testfile=/usr/share/publicsuffix/test_psl.txt + LC_CTYPE=en_US.UTF-8 make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +#---- license gpg-key sha256sums ---- + +license=('MIT') + +sha512sums=('a5084b9df4ff2a0b1f5074b20972efe0da846473396d27b57967c7f6aa190ab3c910b4bfc4f8f03802f08decbbad5820d850c36ad59610262ae37fe77de0c7f5') +b2sums=('87c72651303a7870fd3f742e9ce8028e0dd48d3ded78ae7dea317ce54b98975f372429399b6a2d6746fd8e074d6a3ed13772b6c173f96c3a86aa7d726fd75586') + +sha256sums=(ac6ce1e1fbd4d0254c4ddb9d37f1fa99dec83619c1253328155206b896210d4c) # libpsl-0.21.1.tar.gz diff --git a/libpsl/PKGBUILD-arch b/libpsl/PKGBUILD-arch new file mode 100644 index 0000000..26b5703 --- /dev/null +++ b/libpsl/PKGBUILD-arch @@ -0,0 +1,49 @@ +# Maintainer: Levente Polyak +# Contributor: Darshit Shah + +pkgname=libpsl +pkgver=0.21.1 +pkgrel=1 +pkgdesc='Public Suffix List library' +url='https://github.com/rockdaboot/libpsl' +arch=('x86_64') +license=('MIT') +depends=('libidn2' 'libidn2.so' 'libunistring') +makedepends=('libxslt' 'python' 'publicsuffix-list' 'gtk-doc') +provides=('libpsl.so') +source=(https://github.com/rockdaboot/libpsl/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.gz) +sha512sums=('a5084b9df4ff2a0b1f5074b20972efe0da846473396d27b57967c7f6aa190ab3c910b4bfc4f8f03802f08decbbad5820d850c36ad59610262ae37fe77de0c7f5') +b2sums=('87c72651303a7870fd3f742e9ce8028e0dd48d3ded78ae7dea317ce54b98975f372429399b6a2d6746fd8e074d6a3ed13772b6c173f96c3a86aa7d726fd75586') + +prepare() { + cd ${pkgname}-${pkgver} + rm -frv list + autoreconf -fiv +} + +build() { + cd ${pkgname}-${pkgver} + ./configure \ + --prefix=/usr \ + --disable-static \ + --disable-dependency-tracking \ + --enable-man \ + --enable-gtk-doc \ + --enable-{builtin,runtime}=libidn2 \ + --with-psl-file=/usr/share/publicsuffix/effective_tld_names.dat \ + --with-psl-testfile=/usr/share/publicsuffix/test_psl.txt + LC_CTYPE=en_US.UTF-8 make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}" +} + +# vim: ts=2 sw=2 et: diff --git a/libpsl/clean b/libpsl/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libpsl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libpsl/deps b/libpsl/deps new file mode 100644 index 0000000..36c3ed0 --- /dev/null +++ b/libpsl/deps @@ -0,0 +1,4 @@ +libxslt python publicsuffix-list gtk-doc +autoconf +gettext +automake diff --git a/libpsl/time b/libpsl/time new file mode 100644 index 0000000..199e37d --- /dev/null +++ b/libpsl/time @@ -0,0 +1,3 @@ +real 0m17.990s +user 0m18.788s +sys 0m1.424s diff --git a/libsasl/0003-Update-saslauthd.conf-location-in-documentation.patch b/libsasl/0003-Update-saslauthd.conf-location-in-documentation.patch new file mode 100644 index 0000000..1c567f3 --- /dev/null +++ b/libsasl/0003-Update-saslauthd.conf-location-in-documentation.patch @@ -0,0 +1,41 @@ +From: Debian Cyrus SASL Team + +Date: Thu, 24 Mar 2016 11:35:03 +0100 +Subject: Update saslauthd.conf location in documentation + +date format (cosmetic). +--- + saslauthd/saslauthd.mdoc | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/saslauthd/saslauthd.mdoc b/saslauthd/saslauthd.mdoc +index 0c2209e..17c9284 100644 +--- a/saslauthd/saslauthd.mdoc ++++ b/saslauthd/saslauthd.mdoc +@@ -10,7 +10,7 @@ + .\" manpage in saslauthd.8 whenever you change this source + .\" version. Only the pre-formatted manpage is installed. + .\" +-.Dd 12 12 2005 ++.Dd December 12 2005 + .Dt SASLAUTHD 8 + .Os "CMU-SASL" + .Sh NAME +@@ -245,7 +245,7 @@ instead. + .Em (All platforms that support OpenLDAP 2.0 or higher) + .Pp + Authenticate against an ldap server. The ldap configuration parameters are +-read from /usr/local/etc/saslauthd.conf. The location of this file can be ++read from /etc/saslauthd.conf. The location of this file can be + changed with the -O parameter. See the LDAP_SASLAUTHD file included with the + distribution for the list of available parameters. + .It Li sia +@@ -278,7 +278,7 @@ was never intended to be used in this manner, anyway.) + .Bl -tag -width "/var/run/saslauthd/mux" + .It Pa /var/run/saslauthd/mux + The default communications socket. +-.It Pa /usr/local/etc/saslauthd.conf ++.It Pa /etc/saslauthd.conf + The default configuration file for ldap support. + .El + .Sh SEE ALSO diff --git a/libsasl/0006-Enable-autoconf-maintainer-mode.patch b/libsasl/0006-Enable-autoconf-maintainer-mode.patch new file mode 100644 index 0000000..4f2f65c --- /dev/null +++ b/libsasl/0006-Enable-autoconf-maintainer-mode.patch @@ -0,0 +1,22 @@ +From: Debian Cyrus SASL Team + +Date: Thu, 24 Mar 2016 11:35:03 +0100 +Subject: Enable autoconf maintainer mode + +--- + configure.ac | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 388f5d0..b3db52c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -69,6 +69,8 @@ AC_CANONICAL_TARGET + + AM_INIT_AUTOMAKE([1.11 tar-ustar dist-bzip2 foreign -Wno-portability subdir-objects]) + ++AM_MAINTAINER_MODE ++ + DIRS="" + + AC_ARG_ENABLE(cmulocal, diff --git a/libsasl/0010-Update-required-libraries-when-ld-as-needed-is-used.patch b/libsasl/0010-Update-required-libraries-when-ld-as-needed-is-used.patch new file mode 100644 index 0000000..d1457ee --- /dev/null +++ b/libsasl/0010-Update-required-libraries-when-ld-as-needed-is-used.patch @@ -0,0 +1,37 @@ +From: Debian Cyrus SASL Team + +Date: Thu, 24 Mar 2016 11:35:04 +0100 +Subject: Update required libraries when ld --as-needed is used + +it. +--- + saslauthd/Makefile.am | 2 +- + sasldb/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/saslauthd/Makefile.am b/saslauthd/Makefile.am +index 864b29b..4cf3a3d 100644 +--- a/saslauthd/Makefile.am ++++ b/saslauthd/Makefile.am +@@ -25,7 +25,7 @@ EXTRA_saslauthd_sources = getaddrinfo.c getnameinfo.c + saslauthd_DEPENDENCIES = saslauthd-main.o $(LTLIBOBJS_FULL) + saslauthd_LDADD = @SASL_KRB_LIB@ \ + @GSSAPIBASE_LIBS@ @LIB_CRYPT@ @LIB_SIA@ \ +- @LIB_SOCKET@ @SASL_DB_LIB@ @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS) ++ @LIB_SOCKET@ ../sasldb/libsasldb.la @LIB_PAM@ @LDAP_LIBS@ $(LTLIBOBJS_FULL) $(CRYPTO_COMPAT_OBJS) $(LIBSASLDB_OBJS) + + testsaslauthd_SOURCES = testsaslauthd.c utils.c + testsaslauthd_LDADD = @LIB_SOCKET@ +diff --git a/sasldb/Makefile.am b/sasldb/Makefile.am +index 497ee25..a27645f 100644 +--- a/sasldb/Makefile.am ++++ b/sasldb/Makefile.am +@@ -54,6 +54,6 @@ noinst_LTLIBRARIES = libsasldb.la + + libsasldb_la_SOURCES = allockey.c sasldb.h + EXTRA_libsasldb_la_SOURCES = $(extra_common_sources) +-libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) +-libsasldb_la_LIBADD = $(SASL_DB_BACKEND) ++libsasldb_la_DEPENDENCIES = $(SASL_DB_BACKEND) $(SASL_DB_LIB) ++libsasldb_la_LIBADD = $(SASL_DB_BACKEND) $(SASL_DB_LIB) + libsasldb_la_LDFLAGS = -no-undefined diff --git a/libsasl/0013-Don-t-use-la-files-for-opening-plugins.patch b/libsasl/0013-Don-t-use-la-files-for-opening-plugins.patch new file mode 100644 index 0000000..d024139 --- /dev/null +++ b/libsasl/0013-Don-t-use-la-files-for-opening-plugins.patch @@ -0,0 +1,153 @@ +From: Debian Cyrus SASL Team + +Date: Thu, 24 Mar 2016 11:35:04 +0100 +Subject: Don't use la files for opening plugins + +--- + lib/dlopen.c | 121 ++++------------------------------------------------------- + 1 file changed, 7 insertions(+), 114 deletions(-) + +diff --git a/lib/dlopen.c b/lib/dlopen.c +index 8284cd8..ef90b11 100644 +--- a/lib/dlopen.c ++++ b/lib/dlopen.c +@@ -246,113 +246,6 @@ static int _sasl_plugin_load(char *plugin, void *library, + return result; + } + +-/* this returns the file to actually open. +- * out should be a buffer of size PATH_MAX +- * and may be the same as in. */ +- +-/* We'll use a static buffer for speed unless someone complains */ +-#define MAX_LINE 2048 +- +-static int _parse_la(const char *prefix, const char *in, char *out) +-{ +- FILE *file; +- size_t length; +- char line[MAX_LINE]; +- char *ntmp = NULL; +- +- if(!in || !out || !prefix || out == in) return SASL_BADPARAM; +- +- /* Set this so we can detect failure */ +- *out = '\0'; +- +- length = strlen(in); +- +- if (strcmp(in + (length - strlen(LA_SUFFIX)), LA_SUFFIX)) { +- if(!strcmp(in + (length - strlen(SO_SUFFIX)),SO_SUFFIX)) { +- /* check for a .la file */ +- if (strlen(prefix) + strlen(in) + strlen(LA_SUFFIX) + 1 >= MAX_LINE) +- return SASL_BADPARAM; +- strcpy(line, prefix); +- strcat(line, in); +- length = strlen(line); +- *(line + (length - strlen(SO_SUFFIX))) = '\0'; +- strcat(line, LA_SUFFIX); +- file = fopen(line, "r"); +- if(file) { +- /* We'll get it on the .la open */ +- fclose(file); +- return SASL_FAIL; +- } +- } +- if (strlen(prefix) + strlen(in) + 1 >= PATH_MAX) +- return SASL_BADPARAM; +- strcpy(out, prefix); +- strcat(out, in); +- return SASL_OK; +- } +- +- if (strlen(prefix) + strlen(in) + 1 >= MAX_LINE) +- return SASL_BADPARAM; +- strcpy(line, prefix); +- strcat(line, in); +- +- file = fopen(line, "r"); +- if(!file) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "unable to open LA file: %s", line); +- return SASL_FAIL; +- } +- +- while(!feof(file)) { +- if(!fgets(line, MAX_LINE, file)) break; +- if(line[strlen(line) - 1] != '\n') { +- _sasl_log(NULL, SASL_LOG_WARN, +- "LA file has too long of a line: %s", in); +- fclose(file); +- return SASL_BUFOVER; +- } +- if(line[0] == '\n' || line[0] == '#') continue; +- if(!strncmp(line, "dlname=", sizeof("dlname=") - 1)) { +- /* We found the line with the name in it */ +- char *end; +- char *start; +- size_t len; +- end = strrchr(line, '\''); +- if(!end) continue; +- start = &line[sizeof("dlname=")-1]; +- len = strlen(start); +- if(len > 3 && start[0] == '\'') { +- ntmp=&start[1]; +- *end='\0'; +- /* Do we have dlname="" ? */ +- if(ntmp == end) { +- _sasl_log(NULL, SASL_LOG_DEBUG, +- "dlname is empty in .la file: %s", in); +- fclose(file); +- return SASL_FAIL; +- } +- strcpy(out, prefix); +- strcat(out, ntmp); +- } +- break; +- } +- } +- if(ferror(file) || feof(file)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Error reading .la: %s\n", in); +- fclose(file); +- return SASL_FAIL; +- } +- fclose(file); +- +- if(!(*out)) { +- _sasl_log(NULL, SASL_LOG_WARN, +- "Could not find a dlname line in .la file: %s", in); +- return SASL_FAIL; +- } +- +- return SASL_OK; +-} + #endif /* DO_DLOPEN */ + + /* loads a plugin library */ +@@ -506,18 +399,18 @@ int _sasl_load_plugins(const add_plugin_list_t *entrypoints, + if (length + pos>=PATH_MAX) continue; /* too big */ + + if (strcmp(dir->d_name + (length - strlen(SO_SUFFIX)), +- SO_SUFFIX) +- && strcmp(dir->d_name + (length - strlen(LA_SUFFIX)), +- LA_SUFFIX)) ++ SO_SUFFIX)) + continue; + ++ /* We only use .so files for loading plugins */ ++ + memcpy(name,dir->d_name,length); + name[length]='\0'; + +- result = _parse_la(prefix, name, tmp); +- if(result != SASL_OK) +- continue; +- ++ /* Create full name with path */ ++ strncpy(tmp, prefix, PATH_MAX); ++ strncat(tmp, name, PATH_MAX); ++ + /* skip "lib" and cut off suffix -- + this only need be approximate */ + strcpy(plugname, name + 3); diff --git a/libsasl/0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch b/libsasl/0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch new file mode 100644 index 0000000..fd82dd7 --- /dev/null +++ b/libsasl/0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch @@ -0,0 +1,26 @@ +From 31b68a9438c24fc9e3e52f626462bf514de31757 Mon Sep 17 00:00:00 2001 +From: Ryan Tandy +Date: Mon, 24 Dec 2018 15:07:02 -0800 +Subject: [PATCH] Restore LIBS after checking gss_inquire_sec_context_by_oid + +Fixes: 4b0306dcd76031460246b2dabcb7db766d6b04d8 +--- + m4/sasl2.m4 | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/m4/sasl2.m4 b/m4/sasl2.m4 +index 56e0504a..17f5d081 100644 +--- a/m4/sasl2.m4 ++++ b/m4/sasl2.m4 +@@ -311,9 +311,10 @@ if test "$gssapi" != no; then + [AC_DEFINE(HAVE_GSS_C_SEC_CONTEXT_SASL_SSF,, + [Define if your GSSAPI implementation defines GSS_C_SEC_CONTEXT_SASL_SSF])]) + fi ++ LIBS="$cmu_save_LIBS" ++ + cmu_save_LIBS="$LIBS" + LIBS="$LIBS $GSSAPIBASE_LIBS" +- + AC_MSG_CHECKING([for SPNEGO support in GSSAPI libraries]) + AC_TRY_RUN([ + #ifdef HAVE_GSSAPI_H diff --git a/libsasl/0022-Fix-keytab-option-for-MIT-Kerberos.patch b/libsasl/0022-Fix-keytab-option-for-MIT-Kerberos.patch new file mode 100644 index 0000000..316ecd1 --- /dev/null +++ b/libsasl/0022-Fix-keytab-option-for-MIT-Kerberos.patch @@ -0,0 +1,66 @@ +From: Debian Cyrus SASL Team + +Date: Thu, 24 Mar 2016 11:35:05 +0100 +Subject: Fix keytab option for MIT Kerberos + +--- + m4/sasl2.m4 | 1 + + plugins/gssapi.c | 11 ++++++++--- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/m4/sasl2.m4 b/m4/sasl2.m4 +index 56e0504..a90f7b4 100644 +--- a/m4/sasl2.m4 ++++ b/m4/sasl2.m4 +@@ -282,6 +282,7 @@ if test "$gssapi" != no; then + ]) + fi + fi ++ AC_CHECK_FUNCS(krb5_gss_register_acceptor_identity) + AC_CHECK_FUNCS(gss_decapsulate_token) + AC_CHECK_FUNCS(gss_encapsulate_token) + AC_CHECK_FUNCS(gss_oid_equal) +diff --git a/plugins/gssapi.c b/plugins/gssapi.c +index ff663da..7c69ac2 100644 +--- a/plugins/gssapi.c ++++ b/plugins/gssapi.c +@@ -1545,7 +1545,7 @@ static sasl_server_plug_t gssapi_server_plugins[] = + }; + + int gssapiv2_server_plug_init( +-#ifndef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY ++#if !defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) && !defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY) + const sasl_utils_t *utils __attribute__((unused)), + #else + const sasl_utils_t *utils, +@@ -1555,7 +1555,7 @@ int gssapiv2_server_plug_init( + sasl_server_plug_t **pluglist, + int *plugcount) + { +-#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY ++#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY) + const char *keytab = NULL; + char keytab_path[1024]; + unsigned int rl; +@@ -1565,7 +1565,7 @@ int gssapiv2_server_plug_init( + return SASL_BADVERS; + } + +-#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY ++#if defined(HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY) || defined(HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY) + /* unfortunately, we don't check for readability of keytab if it's + the standard one, since we don't know where it is */ + +@@ -1587,7 +1587,12 @@ int gssapiv2_server_plug_init( + + strncpy(keytab_path, keytab, 1024); + ++#ifdef HAVE_GSSKRB5_REGISTER_ACCEPTOR_IDENTITY + gsskrb5_register_acceptor_identity(keytab_path); ++#endif ++#ifdef HAVE_KRB5_GSS_REGISTER_ACCEPTOR_IDENTITY ++ krb5_gss_register_acceptor_identity(keytab_path); ++#endif + } + #endif + diff --git a/libsasl/0032-Add-with_pgsql-include-postgresql-to-include-path.patch b/libsasl/0032-Add-with_pgsql-include-postgresql-to-include-path.patch new file mode 100644 index 0000000..304d5ca --- /dev/null +++ b/libsasl/0032-Add-with_pgsql-include-postgresql-to-include-path.patch @@ -0,0 +1,23 @@ +From: =?utf-8?b?T25kxZllaiBTdXLDvQ==?= +Date: Tue, 25 Oct 2016 12:33:27 +0200 +Subject: Add ${with_pgsql}include/postgresql/ to include path + +--- + configure.ac | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index fe7f0eb..1882f31 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -894,7 +894,9 @@ case "$with_pgsql" in + LIB_PGSQL_DIR=$LIB_PGSQL + LIB_PGSQL="$LIB_PGSQL -lpq" + +- if test -d ${with_pgsql}/include/pgsql; then ++ if test -d ${with_pgsql}/include/postgresql/; then ++ CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/postgresql" ++ elif test -d ${with_pgsql}/include/pgsql; then + CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/include/pgsql" + elif test -d ${with_pgsql}/pgsql/include; then + CPPFLAGS="${CPPFLAGS} -I${with_pgsql}/pgsql/include" diff --git a/libsasl/PKGBUILD b/libsasl/PKGBUILD new file mode 100644 index 0000000..792b5e6 --- /dev/null +++ b/libsasl/PKGBUILD @@ -0,0 +1,197 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +# This package spans multiple repositories. +# Always build from cyrus-sasl/trunk and merge changes to libsasl/trunk. + +#pkgbase='cyrus-sasl' +#pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql') +pkgname=libsasl +pkgver=2.1.27 +pkgrel=03 +pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library w/o systemd" +arch=('x86_64') +url="https://www.cyrusimap.org/sasl/" +options=('!makeflags') +makedepends=('postgresql-libs' 'mariadb-libs' 'libldap' 'krb5' 'openssl' 'sqlite') +source=(https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-${pkgver}/cyrus-sasl-${pkgver}.tar.gz{,.sig} + 0003-Update-saslauthd.conf-location-in-documentation.patch + 0006-Enable-autoconf-maintainer-mode.patch + 0010-Update-required-libraries-when-ld-as-needed-is-used.patch + 0013-Don-t-use-la-files-for-opening-plugins.patch + 0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch + 0022-Fix-keytab-option-for-MIT-Kerberos.patch + 0032-Add-with_pgsql-include-postgresql-to-include-path.patch + gdbm-errno.patch +# saslauthd.service + saslauthd.conf.d + tmpfiles.conf) + +prepare() { + cd cyrus-sasl-$pkgver + patch -Np1 -i ../0003-Update-saslauthd.conf-location-in-documentation.patch + patch -Np1 -i ../0006-Enable-autoconf-maintainer-mode.patch + patch -Np1 -i ../0010-Update-required-libraries-when-ld-as-needed-is-used.patch + patch -Np1 -i ../0013-Don-t-use-la-files-for-opening-plugins.patch + patch -Np1 -i ../0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch + patch -Np1 -i ../0022-Fix-keytab-option-for-MIT-Kerberos.patch + patch -Np1 -i ../0032-Add-with_pgsql-include-postgresql-to-include-path.patch + patch -Np1 -i ../gdbm-errno.patch + cp -a saslauthd/saslauthd.mdoc saslauthd/saslauthd.8 +} + +build() { + export CFLAGS="$CFLAGS -fPIC" + cd cyrus-sasl-$pkgver + + rm -f config/config.guess config/config.sub + rm -f config/ltconfig config/ltmain.sh config/libtool.m4 + rm -fr autom4te.cache + libtoolize -c + aclocal -I config + automake -a -c + autoheader + autoconf + + ./configure --prefix=/usr \ + --sbin=/usr/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-static \ + --enable-shared \ + --enable-alwaystrue \ + --enable-checkapop \ + --enable-cram \ + --enable-digest \ + --disable-otp \ + --disable-srp \ + --disable-srp-setpass \ + --disable-krb4 \ + --enable-gssapi \ + --enable-auth-sasldb \ + --enable-plain \ + --enable-anon \ + --enable-login \ + --enable-ntlm \ + --disable-passdss \ + --enable-sql \ + --with-mysql=/usr \ + --with-pgsql=/usr/lib \ + --with-sqlite3=/usr/lib \ + --enable-ldapdb \ + --disable-macos-framework \ + --with-pam \ + --with-saslauthd=/var/run/saslauthd \ + --with-ldap \ + --with-dblib=gdbm \ + --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ + --sysconfdir=/etc \ + --with-devrandom=/dev/urandom \ + --without-systemd + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package_libsasl() { + pkgdesc="Cyrus Simple Authentication Service Layer (SASL) Library" + depends=('openssl') + conflicts=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver + make DESTDIR="$pkgdir" install-pkgconfigDATA + for dir in include lib sasldb plugins utils; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + rm -f "${pkgdir}"/usr/lib/sasl2/libsql.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libgssapiv2.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libldapdb.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libgs2.so* + install -m755 -d "${pkgdir}/usr/share/licenses/libsasl" + install -m644 COPYING "${pkgdir}/usr/share/licenses/libsasl/" +} + +package_cyrus-sasl() { + depends=("libsasl=${pkgver}" 'krb5' 'pam') + pkgdesc="Cyrus saslauthd SASL authentication daemon" + backup=('etc/conf.d/saslauthd') + + cd cyrus-sasl-$pkgver/saslauthd + make DESTDIR="${pkgdir}" install + install -Dm644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd" +# install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service" + install -Dm644 "${srcdir}/tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/saslauthd.conf" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl/" +} + +package_cyrus-sasl-gssapi() { + pkgdesc="GSSAPI authentication mechanism for Cyrus SASL" + depends=("libsasl=${pkgver}" 'krb5') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libgssapiv2.so* "${pkgdir}/usr/lib/sasl2/" + cp -a .libs/libgs2.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi/" +} + +package_cyrus-sasl-ldap() { + pkgdesc="ldapdb auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'libldap') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libldapdb.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap/" +} + +package_cyrus-sasl-sql() { + pkgdesc="SQL auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'postgresql-libs' 'mariadb-libs' 'sqlite') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libsql.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-sql" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-sql/" +} + +# +# install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service" +# saslauthd.service +# install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service" +# + +#---- license gpg-key sha256sums ---- +license=('custom') +validpgpkeys=('829F339F8C296FE80F409D93E3D7C118C7B9F46A') +sha256sums=('26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5' + 'SKIP' + '9919c81196701d11a3a77e2573a541489ad9ab42a4c50eb7d19edfb37713c604' + '7bd2b2af36c061e92f69944a18e2c122aea0d2b21773f5ea47bb6209f13d0812' + '8e22cb6ac58208f191b1eb19aac602c1bf49708f2a3b2e3de5f5b2c1e2467906' + 'bbee401c01dc6942710e0c1285091fcd98588bf636b52f24ed0e3b04039b748b' + 'a953c79c585d579f25135de0fe807d6da1fddccbd5b66a9606fb6390c12c7e31' + '1a0ae7bd722d57feb6fab12c05eb1922982c68bd9be1c165d405954012e6634f' + '3c375f8755fdbd98a21c4ee195bebbd2a146901fee327e4dd6cfde7a4dcba7c3' + '03a57cbcec85602fb8e39b7c8a3ff1a22d2c20a28e771b8b326a570d733bf432' +# '5c6453050a5f594ca1d53baf3a6188d8f3cdc7a28467ad7c844ad51f663dae9a' + 'fa57b4f374ae633633091b1c8b44e1e0be814e4fddbfa75f16eb3dd1f16b8640' + '16ca1a4185847b0c6c70ef6c7c314cb466f698d3ed02185a5f50e8179822f024') + +# sha256sums=(a) diff --git a/libsasl/PKGBUILD-arch b/libsasl/PKGBUILD-arch new file mode 100644 index 0000000..778afc4 --- /dev/null +++ b/libsasl/PKGBUILD-arch @@ -0,0 +1,181 @@ +# Maintainer: Jan de Groot + +# This package spans multiple repositories. +# Always build from cyrus-sasl/trunk and merge changes to libsasl/trunk. + +#pkgbase='cyrus-sasl' +#pkgname=('cyrus-sasl' 'cyrus-sasl-gssapi' 'cyrus-sasl-ldap' 'cyrus-sasl-sql') +pkgname=libsasl +pkgver=2.1.27 +pkgrel=3 +pkgdesc="Cyrus Simple Authentication Service Layer (SASL) library" +arch=('x86_64') +url="https://www.cyrusimap.org/sasl/" +license=('custom') +options=('!makeflags') +makedepends=('postgresql-libs' 'mariadb-libs' 'libldap' 'krb5' 'openssl' 'sqlite') +source=(https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-${pkgver}/cyrus-sasl-${pkgver}.tar.gz{,.sig} + 0003-Update-saslauthd.conf-location-in-documentation.patch + 0006-Enable-autoconf-maintainer-mode.patch + 0010-Update-required-libraries-when-ld-as-needed-is-used.patch + 0013-Don-t-use-la-files-for-opening-plugins.patch + 0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch + 0022-Fix-keytab-option-for-MIT-Kerberos.patch + 0032-Add-with_pgsql-include-postgresql-to-include-path.patch + gdbm-errno.patch + saslauthd.service + saslauthd.conf.d + tmpfiles.conf) +sha256sums=('26866b1549b00ffd020f188a43c258017fa1c382b3ddadd8201536f72efb05d5' + 'SKIP' + '9919c81196701d11a3a77e2573a541489ad9ab42a4c50eb7d19edfb37713c604' + '7bd2b2af36c061e92f69944a18e2c122aea0d2b21773f5ea47bb6209f13d0812' + '8e22cb6ac58208f191b1eb19aac602c1bf49708f2a3b2e3de5f5b2c1e2467906' + 'bbee401c01dc6942710e0c1285091fcd98588bf636b52f24ed0e3b04039b748b' + 'a953c79c585d579f25135de0fe807d6da1fddccbd5b66a9606fb6390c12c7e31' + '1a0ae7bd722d57feb6fab12c05eb1922982c68bd9be1c165d405954012e6634f' + '3c375f8755fdbd98a21c4ee195bebbd2a146901fee327e4dd6cfde7a4dcba7c3' + '03a57cbcec85602fb8e39b7c8a3ff1a22d2c20a28e771b8b326a570d733bf432' + '5c6453050a5f594ca1d53baf3a6188d8f3cdc7a28467ad7c844ad51f663dae9a' + 'fa57b4f374ae633633091b1c8b44e1e0be814e4fddbfa75f16eb3dd1f16b8640' + '16ca1a4185847b0c6c70ef6c7c314cb466f698d3ed02185a5f50e8179822f024') +validpgpkeys=('829F339F8C296FE80F409D93E3D7C118C7B9F46A') + +prepare() { + cd cyrus-sasl-$pkgver + patch -Np1 -i ../0003-Update-saslauthd.conf-location-in-documentation.patch + patch -Np1 -i ../0006-Enable-autoconf-maintainer-mode.patch + patch -Np1 -i ../0010-Update-required-libraries-when-ld-as-needed-is-used.patch + patch -Np1 -i ../0013-Don-t-use-la-files-for-opening-plugins.patch + patch -Np1 -i ../0020-Restore-LIBS-after-checking-gss_inquire_sec_context_.patch + patch -Np1 -i ../0022-Fix-keytab-option-for-MIT-Kerberos.patch + patch -Np1 -i ../0032-Add-with_pgsql-include-postgresql-to-include-path.patch + patch -Np1 -i ../gdbm-errno.patch + cp -a saslauthd/saslauthd.mdoc saslauthd/saslauthd.8 +} + +build() { + export CFLAGS="$CFLAGS -fPIC" + cd cyrus-sasl-$pkgver + + rm -f config/config.guess config/config.sub + rm -f config/ltconfig config/ltmain.sh config/libtool.m4 + rm -fr autom4te.cache + libtoolize -c + aclocal -I config + automake -a -c + autoheader + autoconf + + ./configure --prefix=/usr \ + --sbin=/usr/bin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-static \ + --enable-shared \ + --enable-alwaystrue \ + --enable-checkapop \ + --enable-cram \ + --enable-digest \ + --disable-otp \ + --disable-srp \ + --disable-srp-setpass \ + --disable-krb4 \ + --enable-gssapi \ + --enable-auth-sasldb \ + --enable-plain \ + --enable-anon \ + --enable-login \ + --enable-ntlm \ + --disable-passdss \ + --enable-sql \ + --with-mysql=/usr \ + --with-pgsql=/usr/lib \ + --with-sqlite3=/usr/lib \ + --enable-ldapdb \ + --disable-macos-framework \ + --with-pam \ + --with-saslauthd=/var/run/saslauthd \ + --with-ldap \ + --with-dblib=gdbm \ + --with-configdir=/etc/sasl2:/etc/sasl:/usr/lib/sasl2 \ + --sysconfdir=/etc \ + --with-devrandom=/dev/urandom + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package_libsasl() { + pkgdesc="Cyrus Simple Authentication Service Layer (SASL) Library" + depends=('openssl') + conflicts=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver + make DESTDIR="$pkgdir" install-pkgconfigDATA + for dir in include lib sasldb plugins utils; do + pushd ${dir} + make DESTDIR="${pkgdir}" install + popd + done + rm -f "${pkgdir}"/usr/lib/sasl2/libsql.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libgssapiv2.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libldapdb.so* + rm -f "${pkgdir}"/usr/lib/sasl2/libgs2.so* + install -m755 -d "${pkgdir}/usr/share/licenses/libsasl" + install -m644 COPYING "${pkgdir}/usr/share/licenses/libsasl/" +} + +package_cyrus-sasl() { + depends=("libsasl=${pkgver}" 'krb5' 'pam') + pkgdesc="Cyrus saslauthd SASL authentication daemon" + backup=('etc/conf.d/saslauthd') + + cd cyrus-sasl-$pkgver/saslauthd + make DESTDIR="${pkgdir}" install + install -Dm644 "${srcdir}/saslauthd.conf.d" "${pkgdir}/etc/conf.d/saslauthd" + install -Dm644 "${srcdir}/saslauthd.service" "${pkgdir}/usr/lib/systemd/system/saslauthd.service" + install -Dm644 "${srcdir}/tmpfiles.conf" "${pkgdir}/usr/lib/tmpfiles.d/saslauthd.conf" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl/" +} + +package_cyrus-sasl-gssapi() { + pkgdesc="GSSAPI authentication mechanism for Cyrus SASL" + depends=("libsasl=${pkgver}" 'krb5') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libgssapiv2.so* "${pkgdir}/usr/lib/sasl2/" + cp -a .libs/libgs2.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-gssapi/" +} + +package_cyrus-sasl-ldap() { + pkgdesc="ldapdb auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'libldap') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libldapdb.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-ldap/" +} + +package_cyrus-sasl-sql() { + pkgdesc="SQL auxprop module for Cyrus SASL" + depends=("libsasl=${pkgver}" 'postgresql-libs' 'mariadb-libs' 'sqlite') + replaces=('cyrus-sasl-plugins') + + cd cyrus-sasl-$pkgver/plugins + install -m755 -d "${pkgdir}/usr/lib/sasl2" + cp -a .libs/libsql.so* "${pkgdir}/usr/lib/sasl2/" + + install -m755 -d "${pkgdir}/usr/share/licenses/cyrus-sasl-sql" + ln -sf ../libsasl/COPYING "${pkgdir}/usr/share/licenses/cyrus-sasl-sql/" +} diff --git a/libsasl/clean b/libsasl/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libsasl/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libsasl/deps b/libsasl/deps new file mode 100644 index 0000000..66dac9d --- /dev/null +++ b/libsasl/deps @@ -0,0 +1,4 @@ +postgresql-libs +mariadb-libs +automake +autoconf diff --git a/libsasl/gdbm-errno.patch b/libsasl/gdbm-errno.patch new file mode 100644 index 0000000..dd9147d --- /dev/null +++ b/libsasl/gdbm-errno.patch @@ -0,0 +1,29 @@ +From af48f6fec9a7b6374d4153c5db894d4a1f349645 Mon Sep 17 00:00:00 2001 +From: Jonas Jelten +Date: Sat, 2 Feb 2019 20:53:37 +0100 +Subject: [PATCH] db_gdbm: fix gdbm_errno overlay from gdbm_close + +`gdbm_close` also sets gdbm_errno since version 1.17. +This leads to a problem in `libsasl` as the `gdbm_close` incovation overlays +the `gdbm_errno` value which is then later used for the error handling. +--- + sasldb/db_gdbm.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/sasldb/db_gdbm.c b/sasldb/db_gdbm.c +index ee56a6bf..c908808e 100644 +--- a/sasldb/db_gdbm.c ++++ b/sasldb/db_gdbm.c +@@ -107,9 +107,11 @@ int _sasldb_getdata(const sasl_utils_t *utils, + gkey.dptr = key; + gkey.dsize = key_len; + gvalue = gdbm_fetch(db, gkey); ++ int fetch_errno = gdbm_errno; ++ + gdbm_close(db); + if (! gvalue.dptr) { +- if (gdbm_errno == GDBM_ITEM_NOT_FOUND) { ++ if (fetch_errno == GDBM_ITEM_NOT_FOUND) { + utils->seterror(conn, SASL_NOLOG, + "user: %s@%s property: %s not found in %s", + authid, realm, propName, path); diff --git a/libsasl/key b/libsasl/key new file mode 100644 index 0000000..704a36b --- /dev/null +++ b/libsasl/key @@ -0,0 +1 @@ +gpg -v --recv-key E3D7C118C7B9F46A diff --git a/libsasl/saslauthd.conf.d b/libsasl/saslauthd.conf.d new file mode 100644 index 0000000..1672112 --- /dev/null +++ b/libsasl/saslauthd.conf.d @@ -0,0 +1 @@ +SASLAUTHD_OPTS="-a pam" diff --git a/libsasl/time b/libsasl/time new file mode 100644 index 0000000..9260f6b --- /dev/null +++ b/libsasl/time @@ -0,0 +1,3 @@ +real 0m26.743s +user 0m24.015s +sys 0m2.664s diff --git a/libsasl/tmpfiles.conf b/libsasl/tmpfiles.conf new file mode 100644 index 0000000..7258b1a --- /dev/null +++ b/libsasl/tmpfiles.conf @@ -0,0 +1 @@ +d /run/saslauthd 0755 root root - - diff --git a/libseccomp/PKGBUILD b/libseccomp/PKGBUILD new file mode 100644 index 0000000..cc6b553 --- /dev/null +++ b/libseccomp/PKGBUILD @@ -0,0 +1,58 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=libseccomp +pkgname=(libseccomp python-libseccomp) +pkgver=2.5.3 +pkgrel=03 +pkgdesc='Enhanced seccomp library' +arch=('x86_64') +url="https://github.com/seccomp/libseccomp" +depends=('glibc') +checkdepends=('valgrind') +makedepends=('gperf' 'cython' 'python-setuptools' 'automake' 'autoconf') +source=(https://github.com/seccomp/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz{,.asc}) + +prepare() { + cd ${pkgbase}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgbase}-${pkgver} + ./configure --prefix=/usr + make + cd src/python + env VERSION_RELEASE=${pkgver} python setup.py build +} + +check() { + cd ${pkgbase}-${pkgver} + make check +} + +package_libseccomp() { + provides=('libseccomp.so') + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 CHANGELOG README.md SECURITY.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_python-libseccomp() { + depends=('python') + cd ${pkgbase}-${pkgver}/src/python + env VERSION_RELEASE=${pkgver} python setup.py install --root="${pkgdir}" --prefix=/usr -O1 --skip-build +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +validpgpkeys=('7100AADFAE6E6E940D2E0AD655E45A5AE8CA7C8A' # Paul Moore + '47A68FCE37C7D7024FD65E11356CE62C2B524099') # Tom Hromatka + +sha256sums=(59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76 # libseccomp-2.5.3.tar.gz + cc1cbe9d9eb6a67b78de107eb37b2bc8d7599e3c1d36699ae2528db489cb5d44) # libseccomp-2.5.3.tar.gz.asc diff --git a/libseccomp/PKGBUILD-arch b/libseccomp/PKGBUILD-arch new file mode 100644 index 0000000..c8bdcf5 --- /dev/null +++ b/libseccomp/PKGBUILD-arch @@ -0,0 +1,58 @@ +# Maintainer: Levente Polyak +# Maintainer: Tobias Powalowski +# Contributor: Daniel Micay +# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws> + +pkgbase=libseccomp +pkgname=(libseccomp python-libseccomp) +pkgver=2.5.3 +pkgrel=3 +pkgdesc='Enhanced seccomp library' +arch=('x86_64') +license=('LGPL2.1') +url="https://github.com/seccomp/libseccomp" +depends=('glibc') +checkdepends=('valgrind') +makedepends=('gperf' 'cython' 'python-setuptools') +source=(https://github.com/seccomp/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz{,.asc}) +sha256sums=('59065c8733364725e9721ba48c3a99bbc52af921daf48df4b1e012fbc7b10a76' + 'SKIP') +b2sums=('cedf04b3a926f9fe5202e6169ddac6b983e755009c14fc1d645157b9c0bcdf65d4085f8ea7abad90f3a0c13ae4d66b5d8306e725168490863aad15976de1eae7' + 'SKIP') +validpgpkeys=( + '7100AADFAE6E6E940D2E0AD655E45A5AE8CA7C8A' # Paul Moore + '47A68FCE37C7D7024FD65E11356CE62C2B524099' # Tom Hromatka +) + +prepare() { + cd ${pkgbase}-${pkgver} + autoreconf -fiv +} + +build() { + cd ${pkgbase}-${pkgver} + ./configure --prefix=/usr + make + cd src/python + env VERSION_RELEASE=${pkgver} python setup.py build +} + +check() { + cd ${pkgbase}-${pkgver} + make check +} + +package_libseccomp() { + provides=('libseccomp.so') + cd ${pkgbase}-${pkgver} + make DESTDIR="${pkgdir}" install + install -Dm 644 CHANGELOG README.md SECURITY.md -t "${pkgdir}/usr/share/doc/${pkgname}" +} + +package_python-libseccomp() { + depends=('python' 'libseccomp.so') + cd ${pkgbase}-${pkgver}/src/python + env VERSION_RELEASE=${pkgver} python setup.py install --root="${pkgdir}" --prefix=/usr -O1 --skip-build +} + +# vim: ts=2 sw=2 et: diff --git a/libseccomp/clean b/libseccomp/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libseccomp/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libseccomp/deps b/libseccomp/deps new file mode 100644 index 0000000..14365cf --- /dev/null +++ b/libseccomp/deps @@ -0,0 +1,3 @@ +gperf cython python-setuptools python valgrind +autoconf +automake diff --git a/libseccomp/key b/libseccomp/key new file mode 100644 index 0000000..32bc571 --- /dev/null +++ b/libseccomp/key @@ -0,0 +1 @@ +gpg -v --recv-key 356CE62C2B524099 diff --git a/libseccomp/time b/libseccomp/time new file mode 100644 index 0000000..b19d9f8 --- /dev/null +++ b/libseccomp/time @@ -0,0 +1,5 @@ + +real 3m12.347s +user 3m35.379s +sys 0m29.094s + diff --git a/libsecret/PKGBUILD b/libsecret/PKGBUILD new file mode 100644 index 0000000..8cad2b0 --- /dev/null +++ b/libsecret/PKGBUILD @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libsecret +pkgver=0.20.5 +pkgrel=02 +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://wiki.gnome.org/Projects/Libsecret" +arch=(x86_64) +depends=(glib2 libgcrypt) +checkdepends=(dbus-python dbus-glib python-gobject gjs) +makedepends=(docbook-xsl gobject-introspection vala git gtk-doc meson valgrind) +optdepends=('org.freedesktop.secrets: secret storage backend') +provides=(libsecret-1.so) +_commit=d64530ac70d9723945d68ca079293ea0f9df9e9f # tags/0.20.5^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit") + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + dbus-run-session meson test -C build --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL) + +sha256sums=(SKIP) diff --git a/libsecret/PKGBUILD-0205-like-arch b/libsecret/PKGBUILD-0205-like-arch new file mode 100644 index 0000000..2f0b657 --- /dev/null +++ b/libsecret/PKGBUILD-0205-like-arch @@ -0,0 +1,87 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=libsecret +pkgname=(libsecret libsecret-docs) +pkgver=0.20.5 +pkgrel=01 +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://wiki.gnome.org/Projects/Libsecret" +arch=(x86_64) +depends=(glib2 libgcrypt tpm2-tss) +makedepends=(gobject-introspection vala git meson gi-docgen bash-completion) +checkdepends=(python-dbus python-gobject gjs swtpm tpm2-abrmd) +_commit=d64530ac70d9723945d68ca079293ea0f9df9e9f # tags/0.20.5^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit") + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgbase + + # Secure memory tests fail in containers + sed -i '/test-secmem/d' egg/meson.build +} + +build() { + arch-meson $pkgbase build -D tpm2=true + meson compile -C build +} + +_check() ( + mkdir -p "${TPM_PATH:=$PWD/tpm}" + export TPM_PATH + + swtpm_setup --create-config-files + swtpm_setup --tpm2 --tpm-state "$TPM_PATH" --createek --allow-signing \ + --decryption --overwrite --display + + swtpm socket --tpm2 --flags startup-clear \ + --server type=unixio,path="$TPM_PATH/socket" \ + --ctrl type=unixio,path="$TPM_PATH/socket.ctrl" & + _p1=$! + + tpm2-abrmd --tcti=swtpm:path="$TPM_PATH/socket" \ + --session --flush-all & + _p2=$! + + trap "kill $_p1 $_p2; wait" EXIT + + export TCTI=tabrmd:bus_type=session + + meson test -C build --print-errorlogs +) + +check() { + dbus-run-session bash -c "$(declare -f _check); _check" +} + +package_libsecret() { + optdepends=('org.freedesktop.secrets: secret storage backend') + provides=(libsecret-1.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libsecret-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +#---- license gpg-key sha256sums ---- + +license=(LGPL) + +sha256sums=('SKIP') diff --git a/libsecret/PKGBUILD-arch b/libsecret/PKGBUILD-arch new file mode 100644 index 0000000..db83685 --- /dev/null +++ b/libsecret/PKGBUILD-arch @@ -0,0 +1,81 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Contributor: Jan de Groot + +pkgbase=libsecret +pkgname=(libsecret libsecret-docs) +pkgver=0.20.5 +pkgrel=1 +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://wiki.gnome.org/Projects/Libsecret" +arch=(x86_64) +license=(LGPL) +depends=(glib2 libgcrypt tpm2-tss) +makedepends=(gobject-introspection vala git meson gi-docgen bash-completion) +checkdepends=(python-dbus python-gobject gjs swtpm tpm2-abrmd) +_commit=d64530ac70d9723945d68ca079293ea0f9df9e9f # tags/0.20.5^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit") +sha256sums=('SKIP') + +pkgver() { + cd $pkgbase + git describe --tags | sed 's/[^-]*-g/r&/;s/-/+/g' +} + +prepare() { + cd $pkgbase + + # Secure memory tests fail in containers + sed -i '/test-secmem/d' egg/meson.build +} + +build() { + arch-meson $pkgbase build -D tpm2=true + meson compile -C build +} + +_check() ( + mkdir -p "${TPM_PATH:=$PWD/tpm}" + export TPM_PATH + + swtpm_setup --create-config-files + swtpm_setup --tpm2 --tpm-state "$TPM_PATH" --createek --allow-signing \ + --decryption --overwrite --display + + swtpm socket --tpm2 --flags startup-clear \ + --server type=unixio,path="$TPM_PATH/socket" \ + --ctrl type=unixio,path="$TPM_PATH/socket.ctrl" & + _p1=$! + + tpm2-abrmd --tcti=swtpm:path="$TPM_PATH/socket" \ + --session --flush-all & + _p2=$! + + trap "kill $_p1 $_p2; wait" EXIT + + export TCTI=tabrmd:bus_type=session + + meson test -C build --print-errorlogs +) + +check() { + dbus-run-session bash -c "$(declare -f _check); _check" +} + +package_libsecret() { + optdepends=('org.freedesktop.secrets: secret storage backend') + provides=(libsecret-1.so) + + meson install -C build --destdir "$pkgdir" + + mkdir -p doc/usr/share + mv {"$pkgdir",doc}/usr/share/doc +} + +package_libsecret-docs() { + pkgdesc+=" (documentation)" + depends=() + + mv doc/* "$pkgdir" +} + +# vim:set sw=2 et: diff --git a/libsecret/PKGBUILD-arch-0204 b/libsecret/PKGBUILD-arch-0204 new file mode 100644 index 0000000..e0e96ac --- /dev/null +++ b/libsecret/PKGBUILD-arch-0204 @@ -0,0 +1,48 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Maintainer: Jan de Groot + +pkgname=libsecret +pkgver=0.20.4 +pkgrel=1 +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://wiki.gnome.org/Projects/Libsecret" +arch=(x86_64) +license=(LGPL) +depends=(glib2 libgcrypt) +checkdepends=(python-dbus dbus-glib python-gobject gjs) +makedepends=(docbook-xsl gobject-introspection vala git gtk-doc meson valgrind) +optdepends=('org.freedesktop.secrets: secret storage backend') +provides=(libsecret-1.so) +_commit=3fe635e64efd4b8dbc9ec3548b0bc8034c7665c4 # tags/0.20.4^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit" + fix-test.diff) +sha256sums=('SKIP' + '760e40ffcd3383149d62f803a900b3af1a838fb084a8403e45d0764696dd2ffe') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + # Fix compiliation of test-vala-unstable + # https://gitlab.gnome.org/GNOME/libsecret/-/issues/54 + git apply -3 ../fix-test.diff +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + dbus-run-session meson test -C build --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} + +# vim:set sw=2 et: diff --git a/libsecret/PKGBUILD-arch.old b/libsecret/PKGBUILD-arch.old new file mode 100644 index 0000000..e0e96ac --- /dev/null +++ b/libsecret/PKGBUILD-arch.old @@ -0,0 +1,48 @@ +# Maintainer: Jan Alexander Steffens (heftig) +# Maintainer: Jan de Groot + +pkgname=libsecret +pkgver=0.20.4 +pkgrel=1 +pkgdesc="Library for storing and retrieving passwords and other secrets" +url="https://wiki.gnome.org/Projects/Libsecret" +arch=(x86_64) +license=(LGPL) +depends=(glib2 libgcrypt) +checkdepends=(python-dbus dbus-glib python-gobject gjs) +makedepends=(docbook-xsl gobject-introspection vala git gtk-doc meson valgrind) +optdepends=('org.freedesktop.secrets: secret storage backend') +provides=(libsecret-1.so) +_commit=3fe635e64efd4b8dbc9ec3548b0bc8034c7665c4 # tags/0.20.4^0 +source=("git+https://gitlab.gnome.org/GNOME/libsecret.git#commit=$_commit" + fix-test.diff) +sha256sums=('SKIP' + '760e40ffcd3383149d62f803a900b3af1a838fb084a8403e45d0764696dd2ffe') + +pkgver() { + cd $pkgname + git describe --tags | sed 's/-/+/g' +} + +prepare() { + cd $pkgname + + # Fix compiliation of test-vala-unstable + # https://gitlab.gnome.org/GNOME/libsecret/-/issues/54 + git apply -3 ../fix-test.diff +} + +build() { + arch-meson $pkgname build + meson compile -C build +} + +check() { + dbus-run-session meson test -C build --print-errorlogs +} + +package() { + DESTDIR="$pkgdir" meson install -C build +} + +# vim:set sw=2 et: diff --git a/libsecret/clean b/libsecret/clean new file mode 100644 index 0000000..83de361 --- /dev/null +++ b/libsecret/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libsecret} diff --git a/libsecret/deps b/libsecret/deps new file mode 100644 index 0000000..ea67d58 --- /dev/null +++ b/libsecret/deps @@ -0,0 +1,13 @@ +docbook-xsl +gobject-introspection +vala +git +gtk-doc +meson +valgrind +dbus-python +dbus-glib +python-gobject +gjs +ttf-liberation +cmake gi-docgen diff --git a/libsecret/deps-0205-like-arch b/libsecret/deps-0205-like-arch new file mode 100644 index 0000000..7ae0ae7 --- /dev/null +++ b/libsecret/deps-0205-like-arch @@ -0,0 +1,12 @@ +tpm2-tss +gobject-introspection +vala +git +meson +gi-docgen +bash-completion +dbus-python +python-gobject +gjs +swtpm +tpm2-abrmd diff --git a/libsecret/fix-test.diff b/libsecret/fix-test.diff new file mode 100644 index 0000000..b85f25b --- /dev/null +++ b/libsecret/fix-test.diff @@ -0,0 +1,12 @@ +diff --git i/libsecret/meson.build w/libsecret/meson.build +index 0c448b9..c0138d2 100644 +--- i/libsecret/meson.build ++++ w/libsecret/meson.build +@@ -185,6 +185,7 @@ pkg.generate(description: 'GObject bindings for Secret Service API (Unstable)', + test_cflags = [ + libsecret_cflags, + '-DSRCDIR="@0@"'.format(meson.source_root()), ++ '-DSECRET_WITH_UNSTABLE', + ] + + mock_service_lib = library('mock-service', diff --git a/libsecret/note b/libsecret/note new file mode 100644 index 0000000..c80bddf --- /dev/null +++ b/libsecret/note @@ -0,0 +1,2 @@ +Arch is having a very core package having to build with checks run on community packages, without objecting to documentation, the additional complications should not be necessary, and since the package builds cleanly with the old fashioned way, for now and till we encounter some incompatibility, we choose to build it the simpler way. +We will also monitor what Void does with this package when its version is incorporated. diff --git a/libsecret/time b/libsecret/time new file mode 100644 index 0000000..70bb4cc --- /dev/null +++ b/libsecret/time @@ -0,0 +1,3 @@ +real 0m12.518s +user 0m17.295s +sys 0m1.453s diff --git a/libssh2/PKGBUILD b/libssh2/PKGBUILD new file mode 100644 index 0000000..6cdf767 --- /dev/null +++ b/libssh2/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libssh2 +pkgver=1.10.0 +pkgrel=01 +pkgdesc="A library implementing the SSH2 protocol as defined by Internet Drafts" +url="https://www.libssh2.org/" +arch=('x86_64') +depends=('openssl' 'zlib') +provides=('libssh2.so') +source=("https://www.libssh2.org/download/$pkgname-$pkgver.tar.gz"{,.asc}) + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg + '914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg (old key) + +sha256sums=(2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51 # libssh2-1.10.0.tar.gz + 75702eaf490fa8c1e69b889c5c6366c2c3f3b089bc715f9f9be081c88f115f81) # libssh2-1.10.0.tar.gz.asc diff --git a/libssh2/PKGBUILD-arch b/libssh2/PKGBUILD-arch new file mode 100644 index 0000000..d386c6c --- /dev/null +++ b/libssh2/PKGBUILD-arch @@ -0,0 +1,38 @@ +# Maintainer: Dave Reisner +# Contributor: Angel Velasquez +# Contributor: Sergej Pupykin +# Contributor: Andrea Scarpino +# Contributor: ice-man + +pkgname=libssh2 +pkgver=1.10.0 +pkgrel=1 +pkgdesc="A library implementing the SSH2 protocol as defined by Internet Drafts" +url="https://www.libssh2.org/" +arch=('x86_64') +license=('BSD') +depends=('openssl' 'zlib') +provides=('libssh2.so') +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2' # Daniel Stenberg + '914C533DF9B2ADA2204F586D78E11C6B279D5C91') # Daniel Stenberg (old key) +source=("https://www.libssh2.org/download/$pkgname-$pkgver.tar.gz"{,.asc}) +sha256sums=('2d64e90f3ded394b91d3a2e774ca203a4179f69aebee03003e5a6fa621e41d51' + 'SKIP') + +build() { + cd "$pkgname-$pkgver" + + ./configure --prefix=/usr + make +} + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} diff --git a/libssh2/clean b/libssh2/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libssh2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libssh2/deps b/libssh2/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libssh2/deps @@ -0,0 +1 @@ + diff --git a/libssh2/key b/libssh2/key new file mode 100644 index 0000000..d256671 --- /dev/null +++ b/libssh2/key @@ -0,0 +1 @@ +gpg -v --recv-key 5CC908FDB71E12C2 diff --git a/libssh2/time b/libssh2/time new file mode 100644 index 0000000..b9ebdb3 --- /dev/null +++ b/libssh2/time @@ -0,0 +1,3 @@ +real 0m15.101s +user 0m35.424s +sys 0m3.351s diff --git a/libtasn1/PKGBUILD b/libtasn1/PKGBUILD new file mode 100644 index 0000000..3f93c12 --- /dev/null +++ b/libtasn1/PKGBUILD @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libtasn1 +pkgver=4.18.0 +pkgrel=01 +pkgdesc="The ASN.1 library used in GNUTLS" +arch=('x86_64') +url="https://www.gnu.org/software/libtasn1/" +depends=('glibc') +source=(https://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig}) + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + CODE_COVERAGE_LDFLAGS=${LDFLAGS} make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + make -C doc/reference DESTDIR="${pkgdir}" install-data-local +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3' 'LGPL') + +validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE') # "Simon Josefsson " + +sha256sums=(4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898 # libtasn1-4.18.0.tar.gz + 68edccaf988071e0c0154495e82be0b783553a49762381435accc79f2fdb463d) # libtasn1-4.18.0.tar.gz.sig + diff --git a/libtasn1/PKGBUILD-arch b/libtasn1/PKGBUILD-arch new file mode 100644 index 0000000..2e40332 --- /dev/null +++ b/libtasn1/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: AndyRTR +# Contributor: Jan de Groot +# Contributor: judd + +pkgname=libtasn1 +pkgver=4.18.0 +pkgrel=1 +pkgdesc="The ASN.1 library used in GNUTLS" +arch=('x86_64') +license=('GPL3' 'LGPL') +url="https://www.gnu.org/software/libtasn1/" +depends=('glibc') +source=(https://ftp.gnu.org/gnu/libtasn1/${pkgname}-${pkgver}.tar.gz{,.sig}) +sha256sums=('4365c154953563d64c67a024b607d1ee75c6db76e0d0f65709ea80a334cd1898' + 'SKIP') +validpgpkeys=('B1D2BD1375BECB784CF4F8C4D73CF638C53C06BE') # "Simon Josefsson " + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr + CODE_COVERAGE_LDFLAGS=${LDFLAGS} make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + make -C doc/reference DESTDIR="${pkgdir}" install-data-local +} diff --git a/libtasn1/clean b/libtasn1/clean new file mode 100644 index 0000000..bff66d6 --- /dev/null +++ b/libtasn1/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.gz*} diff --git a/libtasn1/deps b/libtasn1/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libtasn1/deps @@ -0,0 +1 @@ + diff --git a/libtasn1/key b/libtasn1/key new file mode 100644 index 0000000..2f16cd4 --- /dev/null +++ b/libtasn1/key @@ -0,0 +1 @@ +gpg -v --recv-key D73CF638C53C06BE diff --git a/libtasn1/time b/libtasn1/time new file mode 100644 index 0000000..5a325a2 --- /dev/null +++ b/libtasn1/time @@ -0,0 +1,3 @@ +real 0m24.218s +user 0m44.411s +sys 0m3.733s diff --git a/libtirpc/PKGBUILD b/libtirpc/PKGBUILD new file mode 100644 index 0000000..afcf74c --- /dev/null +++ b/libtirpc/PKGBUILD @@ -0,0 +1,35 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libtirpc +pkgver=1.3.2 +pkgrel=01 +pkgdesc="Transport Independent RPC library (SunRPC replacement)" +arch=('x86_64') +url="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary" +depends=('krb5') +backup=('etc/netconfig') +# git tree: git://linux-nfs.org/~steved/libtirpc +source=(https://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2) + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconf=/etc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} + +#---- license gpg-key sha256sums ---- + +license=('BSD') + +sha256sums=(e24eb88b8ce7db3b7ca6eb80115dd1284abc5ec32a8deccfed2224fc2532b9fd) # libtirpc-1.3.2.tar.bz2 diff --git a/libtirpc/PKGBUILD-arch b/libtirpc/PKGBUILD-arch new file mode 100644 index 0000000..d14954a --- /dev/null +++ b/libtirpc/PKGBUILD-arch @@ -0,0 +1,28 @@ +# Maintainer: Tom Gundersen +# Contributor: Tobias Powalowski + +pkgname=libtirpc +pkgver=1.3.2 +pkgrel=1 +pkgdesc="Transport Independent RPC library (SunRPC replacement)" +arch=('x86_64') +url="http://git.linux-nfs.org/?p=steved/libtirpc.git;a=summary" +license=('BSD') +depends=('krb5') +backup=('etc/netconfig') +# git tree: git://linux-nfs.org/~steved/libtirpc +source=(https://downloads.sourceforge.net/sourceforge/libtirpc/${pkgname}-${pkgver}.tar.bz2) +sha1sums=('51d75be0e5acc094a888f40042b23e128d163cb5') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr --sysconf=/etc + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -D -m644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE +} diff --git a/libtirpc/clean b/libtirpc/clean new file mode 100644 index 0000000..5120496 --- /dev/null +++ b/libtirpc/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.bz2} diff --git a/libtirpc/deps b/libtirpc/deps new file mode 100644 index 0000000..e69de29 diff --git a/libtirpc/time b/libtirpc/time new file mode 100644 index 0000000..c7aa115 --- /dev/null +++ b/libtirpc/time @@ -0,0 +1,3 @@ +real 0m11.740s +user 0m27.130s +sys 0m2.918s diff --git a/libtool/PKGBUILD b/libtool/PKGBUILD new file mode 100644 index 0000000..0742941 --- /dev/null +++ b/libtool/PKGBUILD @@ -0,0 +1,80 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +#---- license gpg-key sha256sums ---- + +sha256sums=(a) + +pkgname=libtool +pkgver=2.4.7 +pkgrel=01 +_gccver=11.2.0 +pkgdesc='A generic library support script' +arch=(x86_64) +url='https://www.gnu.org/software/libtool' +groups=( jobbot ) +depends=(sh tar glibc) +makedepends=("gcc>=$_gccver" git help2man automake autoconf) +checkdepends=(gcc-fortran) +provides=("libltdl=$pkgver" "libtool-multilib=$pkgver") +conflicts=(libltdl libtool-multilib) +replaces=(libltdl libtool-multilib) +# options=(debug) # uncomment to have the libtool-debug pkg built +_commit=6d7ce133ce54898cf28abd89d167cccfbc3c9b2b +source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit + git+https://git.savannah.gnu.org/git/gnulib.git + gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git + no_hostname.patch + disable-lto-link-order2.patch) + +pkgver() { + cd libtool + git describe --tags | sed 's/-/+/g;s/^v//' +} + +prepare() { + cd libtool + + patch -Np1 -i ${srcdir}/no_hostname.patch + + # test 67 is broken with lto + # this patch removes the -flto flag for this very test + # adapt when -ffat-lto-objects is enabled by Arch + patch -Np1 -i ${srcdir}/disable-lto-link-order2.patch + + git submodule init + git config --local submodule.gnulib.url "$srcdir/gnulib" + git config --local submodule.gl-mod/bootstrap.url "$srcdir/gnulib-bootstrap" + git submodule update + + ./bootstrap +} + +build() { + cd libtool + ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32" + make +} + +check() { + cd libtool + make check gl_public_submodule_commit= +} + +package() { + cd libtool + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +sha256sums=(SKIP + SKIP + SKIP + 693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946 # no_hostname.patch + b6dce6681f223b18a90614edbcdeb00f228abd1216e22c4bd07285321cd2ceb7) # disable-lto-link-order2.patch diff --git a/libtool/PKGBUILD-arch b/libtool/PKGBUILD-arch new file mode 100644 index 0000000..3e9a0b0 --- /dev/null +++ b/libtool/PKGBUILD-arch @@ -0,0 +1,74 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Frederik Schwan +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae +# Contributor: judd + +# NOTE: requires rebuilt with each new gcc version + +pkgname=libtool +pkgver=2.4.7 +pkgrel=1 +_gccver=11.2.0 +pkgdesc='A generic library support script' +arch=(x86_64) +url='https://www.gnu.org/software/libtool' +license=(GPL) +groups=(base-devel) +depends=(sh tar glibc) +makedepends=("gcc>=$_gccver" git help2man) +checkdepends=(gcc-fortran) +provides=("libltdl=$pkgver" "libtool-multilib=$pkgver") +conflicts=(libltdl libtool-multilib) +replaces=(libltdl libtool-multilib) +options=(debug) +_commit=6d7ce133ce54898cf28abd89d167cccfbc3c9b2b +source=(git+https://git.savannah.gnu.org/git/libtool.git#commit=$_commit + git+https://git.savannah.gnu.org/git/gnulib.git + gnulib-bootstrap::git+https://github.com/gnulib-modules/bootstrap.git + no_hostname.patch + disable-lto-link-order2.patch) +sha256sums=('SKIP' + 'SKIP' + 'SKIP' + '693aabb24a6e7ce21fe0b5d14394e19edcb8476663b5afa4463f9fa0df24d946' + 'b6dce6681f223b18a90614edbcdeb00f228abd1216e22c4bd07285321cd2ceb7') + +pkgver() { + cd libtool + git describe --tags | sed 's/-/+/g;s/^v//' +} + +prepare() { + cd libtool + + patch -Np1 -i ${srcdir}/no_hostname.patch + + # test 67 is broken with lto + # this patch removes the -flto flag for this very test + # adapt when -ffat-lto-objects is enabled by Arch + patch -Np1 -i ${srcdir}/disable-lto-link-order2.patch + + git submodule init + git config --local submodule.gnulib.url "$srcdir/gnulib" + git config --local submodule.gl-mod/bootstrap.url "$srcdir/gnulib-bootstrap" + git submodule update + + ./bootstrap +} + +build() { + cd libtool + ./configure --prefix=/usr lt_cv_sys_lib_dlsearch_path_spec="/usr/lib /usr/lib32" + make +} + +check() { + cd libtool + make check gl_public_submodule_commit= +} + +package() { + cd libtool + make DESTDIR="$pkgdir" install +} diff --git a/libtool/clean b/libtool/clean new file mode 100644 index 0000000..a28b460 --- /dev/null +++ b/libtool/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libtool,gnulib*} diff --git a/libtool/deps b/libtool/deps new file mode 100644 index 0000000..37dfe99 --- /dev/null +++ b/libtool/deps @@ -0,0 +1,5 @@ +git +help2man +gcc-fortran +automake +autoconf diff --git a/libtool/disable-lto-link-order2.patch b/libtool/disable-lto-link-order2.patch new file mode 100644 index 0000000..7287cef --- /dev/null +++ b/libtool/disable-lto-link-order2.patch @@ -0,0 +1,56 @@ +This patch is derived from +https://src.fedoraproject.org/rpms/libtool/blob/rawhide/f/libtool-2.4.6-disable-lto-link-order2.patch + +Enabling lto will result in failure during test phase, to be precise test 67 will cause it. +Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase. +I'm not sure if this is expected. + +Most distribution disables this test. We try to keep it by stripping lto flags for it. + +Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427 + +--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100 ++++ b/tests/link-order2.at 2021-11-30 02:01:09.574451906 +0100 +@@ -47,6 +47,8 @@ + AT_KEYWORDS([libtool]) + AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window. + ++NO_LTO_CFLAGS=${CFLAGS/ -flto} ++ + eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='` + + undefined_setting=-no-undefined +@@ -89,12 +91,12 @@ + EOF + + for file in a0 a1 b; do +- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c ++ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c + done +-$CC $CPPFLAGS $CFLAGS -c main.c ++$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c + + # Build an old, installed library. +-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir ++$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir + $LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la + $LIBTOOL --mode=clean rm -f liba0.la + +@@ -118,13 +120,13 @@ + esac + test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" && + static=-all-static +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir +- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir ++ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0], + [], [ignore], [ignore]) + LT_AT_EXEC_CHECK([./main]) + # Now test that if we reverse the link order, the program fails. +- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], ++ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la], + [], [ignore], [ignore]) + if test yes, != "$shared_fails,$static"; then + LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)]) diff --git a/libtool/no_hostname.patch b/libtool/no_hostname.patch new file mode 100644 index 0000000..4fa900c --- /dev/null +++ b/libtool/no_hostname.patch @@ -0,0 +1,12 @@ +Index: libtool-2.4.6/m4/libtool.m4 +=================================================================== +--- libtool-2.4.6.orig/m4/libtool.m4 ++++ libtool-2.4.6/m4/libtool.m4 +@@ -728,7 +728,6 @@ _LT_CONFIG_SAVE_COMMANDS([ + cat <<_LT_EOF >> "$cfgfile" + #! $SHELL + # Generated automatically by $as_me ($PACKAGE) $VERSION +-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: + # NOTE: Changes made to this file will be lost: look at ltmain.sh. + + # Provide generalized library-building support services. diff --git a/libtool/time b/libtool/time new file mode 100644 index 0000000..939febb --- /dev/null +++ b/libtool/time @@ -0,0 +1,3 @@ +real 12m26.562s +user 10m48.661s +sys 1m17.108s diff --git a/libunistring/PKGBUILD b/libunistring/PKGBUILD new file mode 100644 index 0000000..b7aefc4 --- /dev/null +++ b/libunistring/PKGBUILD @@ -0,0 +1,45 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libunistring +pkgver=0.9.10 +pkgrel=03 +pkgdesc='Library for manipulating Unicode strings and C strings' +url='https://www.gnu.org/software/libunistring/' +arch=(x86_64) +depends=(glibc) +makedepends=(gcc) +provides=('libunistring.so') +source=(https://ftp.gnu.org/gnu/$pkgname/${pkgname}-${pkgver}.tar.xz{,.sig}) + +prepare() { + cd $pkgname-$pkgver + # https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=cca32830b5 + sed -i '/pragma weak pthread_create/d' tests/glthread/thread.h +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno + +sha256sums=(eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7 # libunistring-0.9.10.tar.xz + 7ae731fa55537f1af847df29eb9920c12491781dea084caeb42dd807d9bbd281) # libunistring-0.9.10.tar.xz.sig diff --git a/libunistring/PKGBUILD-arch b/libunistring/PKGBUILD-arch new file mode 100644 index 0000000..0a6e93d --- /dev/null +++ b/libunistring/PKGBUILD-arch @@ -0,0 +1,44 @@ +# Maintainer: Levente Polyak +# Contributor: Bartłomiej Piotrowski +# Contributor: Jan de Groot +# Contributor: Sergej Pupykin +# Contributor: Emmanuel 'guinness' Boudreault +# Contributor: Patrick McCarty + +pkgname=libunistring +pkgver=0.9.10 +pkgrel=3 +pkgdesc='Library for manipulating Unicode strings and C strings' +url='https://www.gnu.org/software/libunistring/' +arch=(x86_64) +license=(GPL) +depends=(glibc) +provides=('libunistring.so') +source=(https://ftp.gnu.org/gnu/$pkgname/${pkgname}-${pkgver}.tar.xz{,.sig}) +validpgpkeys=('462225C3B46F34879FC8496CD605848ED7E69871') # Daiki Ueno +sha256sums=('eb8fb2c3e4b6e2d336608377050892b54c3c983b646c561836550863003c05d7' + 'SKIP') +b2sums=('25d162d9d510cc35ad4209acceb9b06bcc0553b8ce56e94f8df12c4df64d91abfc4a9e15b50b5c8d5b9672939305a394a7e83f1892258defb7ae5ac2ccf79dfb' + 'SKIP') + +prepare() { + cd $pkgname-$pkgver + # https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=cca32830b5 + sed -i '/pragma weak pthread_create/d' tests/glthread/thread.h +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr + make +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} + +# vim: ts=2 sw=2 et: diff --git a/libunistring/clean b/libunistring/clean new file mode 100644 index 0000000..8791305 --- /dev/null +++ b/libunistring/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libun*.xz*} diff --git a/libunistring/deps b/libunistring/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/libunistring/deps @@ -0,0 +1 @@ + diff --git a/libunistring/key b/libunistring/key new file mode 100644 index 0000000..858bcba --- /dev/null +++ b/libunistring/key @@ -0,0 +1 @@ +gpg -v --recv-key D605848ED7E69871 diff --git a/libunistring/time b/libunistring/time new file mode 100644 index 0000000..21b86e4 --- /dev/null +++ b/libunistring/time @@ -0,0 +1,3 @@ +real 2m14.313s +user 4m49.402s +sys 0m41.221s diff --git a/libusb/PKGBUILD b/libusb/PKGBUILD new file mode 100644 index 0000000..703bbca --- /dev/null +++ b/libusb/PKGBUILD @@ -0,0 +1,49 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=libusb +pkgver=1.0.25 +pkgrel=02 +pkgdesc="Library that provides generic access to USB devices w/o systemd" +arch=(x86_64) +url="https://libusb.info/" +depends=('glibc') +makedepends=() +provides=('libusb-1.0.so') +#options=(debug) +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v$pkgver/${pkgname}-$pkgver.tar.bz2") +# "${pkgname}-1.0.24-descriptor_parsing.patch" + +prepare() { + cd "$pkgname-$pkgver" +# patch -Np1 -i ../"${pkgname}-1.0.24-descriptor_parsing.patch" + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make -k check +} + +package () { + depends+=(libudev.so) + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,README} -t "${pkgdir}/usr/share/doc/${pkgname}/" +} + +#---- license gpg-key sha256sums ---- + +license=('LGPL2.1') + +sha256sums=(8a28ef197a797ebac2702f095e81975e2b02b2eeff2774fa909c78a74ef50849) # libusb-1.0.25.tar.bz2 diff --git a/libusb/PKGBUILD-arch b/libusb/PKGBUILD-arch new file mode 100644 index 0000000..3f75464 --- /dev/null +++ b/libusb/PKGBUILD-arch @@ -0,0 +1,42 @@ +# Maintainer: David Runge +# Contributor: Bartłomiej Piotrowski +# Contributor: Tobias Powalowski + +pkgname=libusb +pkgver=1.0.25 +pkgrel=2 +pkgdesc="Library that provides generic access to USB devices" +arch=(x86_64) +url="https://libusb.info/" +license=(LGPL2.1) +depends=(glibc) +makedepends=(systemd) +provides=(libusb-1.0.so) +options=(debug) +source=("https://github.com/${pkgname}/${pkgname}/releases/download/v$pkgver/${pkgname}-$pkgver.tar.bz2") +sha512sums=('f1e6e5577d4bd1ff136927dc66c615014a06ac332ddd797b1d1ad5f7b68e2405e66068dcb210e2f0ae3e31681603ef72efbd88bf7fbe0eb41ce700fdc3f92f9d') +b2sums=('3aecfbf9fc068fdfb8e612918bb895988f8400dc2c3ffd96a81792ab844d632f0c098947200512ddc37cfa9003956f8454c1d0362973a5d646a225f81cc2923b') + +prepare() { + cd "$pkgname-$pkgver" + autoreconf -fiv +} + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make -k check +} + +package () { + depends+=(libudev.so) + + cd "$pkgname-$pkgver" + make DESTDIR="$pkgdir" install + install -vDm 644 {AUTHORS,ChangeLog,README} -t "${pkgdir}/usr/share/doc/${pkgname}/" +} diff --git a/libusb/clean b/libusb/clean new file mode 100644 index 0000000..95ef69a --- /dev/null +++ b/libusb/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libus*bz2} diff --git a/libusb/deps b/libusb/deps new file mode 100644 index 0000000..e505a9f --- /dev/null +++ b/libusb/deps @@ -0,0 +1,4 @@ +autoconf +automake +gettext +intltool diff --git a/libusb/libusb-1.0.24-descriptor_parsing.patch b/libusb/libusb-1.0.24-descriptor_parsing.patch new file mode 100644 index 0000000..cdccbc2 --- /dev/null +++ b/libusb/libusb-1.0.24-descriptor_parsing.patch @@ -0,0 +1,37 @@ +diff --git a/libusb/os/linux_usbfs.c b/libusb/os/linux_usbfs.c +index fb2ed53a..4d2dc8d6 100644 +--- a/libusb/os/linux_usbfs.c ++++ b/libusb/os/linux_usbfs.c +@@ -641,7 +641,12 @@ static int seek_to_next_config(struct libusb_context *ctx, + uint8_t *buffer, size_t len) + { + struct usbi_descriptor_header *header; +- int offset = 0; ++ int offset; ++ ++ /* Start seeking past the config descriptor */ ++ offset = LIBUSB_DT_CONFIG_SIZE; ++ buffer += LIBUSB_DT_CONFIG_SIZE; ++ len -= LIBUSB_DT_CONFIG_SIZE; + + while (len > 0) { + if (len < 2) { +@@ -718,7 +723,7 @@ static int parse_config_descriptors(struct libusb_device *dev) + } + + if (priv->sysfs_dir) { +- /* ++ /* + * In sysfs wTotalLength is ignored, instead the kernel returns a + * config descriptor with verified bLength fields, with descriptors + * with an invalid bLength removed. +@@ -727,8 +732,7 @@ static int parse_config_descriptors(struct libusb_device *dev) + int offset; + + if (num_configs > 1 && idx < num_configs - 1) { +- offset = seek_to_next_config(ctx, buffer + LIBUSB_DT_CONFIG_SIZE, +- remaining - LIBUSB_DT_CONFIG_SIZE); ++ offset = seek_to_next_config(ctx, buffer, remaining); + if (offset < 0) + return offset; + sysfs_config_len = (uint16_t)offset; diff --git a/libusb/time b/libusb/time new file mode 100644 index 0000000..0d2601b --- /dev/null +++ b/libusb/time @@ -0,0 +1,3 @@ +real 0m12.730s +user 0m14.646s +sys 0m1.389s diff --git a/libxcrypt/PKGBUILD b/libxcrypt/PKGBUILD new file mode 100644 index 0000000..18cb5a0 --- /dev/null +++ b/libxcrypt/PKGBUILD @@ -0,0 +1,74 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=libxcrypt +pkgname=(libxcrypt libxcrypt-compat) +pkgver=4.4.28 +pkgrel=02 +pkgdesc='Modern library for one-way hashing of passwords' +arch=('x86_64') +url='https://github.com/besser82/libxcrypt/' +depends=('glibc') +makedepends=(gcc) +provides=('libcrypt.so') +#options=('debug') +install=libxcrypt.install +source=("${url}/releases/download/v${pkgver}/${pkgbase}-${pkgver}.tar.xz"{,.asc}) + +build() { + mkdir build-libxcrypt build-libxcrypt-compat + + cd "${srcdir}/build-libxcrypt/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=no \ + --disable-failure-tokens + make + + cd "${srcdir}/build-libxcrypt-compat/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-failure-tokens + make +} + +check() { + cd build-libxcrypt/ + + make check +} + +package_libxcrypt() { + cd build-libxcrypt/ + + make DESTDIR="${pkgdir}" install +} + +package_libxcrypt-compat() { + pkgdesc='Modern library for one-way hashing of passwords - legacy API functions' + depends=('libxcrypt') + + cd build-libxcrypt-compat/ + + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/{include,lib/{lib*.so,pkgconfig},share} +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('678CE3FEE430311596DB8C16F52E98007594C21D') # Björn 'besser82' Esser + +sha256sums=(9e936811f9fad11dbca33ca19bd97c55c52eb3ca15901f27ade046cc79e69e87 # libxcrypt-4.4.28.tar.xz + 746ddc76239e00ae3a4085049538266e08791de88f0b974c68ceaa59669fc9c6) # libxcrypt-4.4.28.tar.xz.asc diff --git a/libxcrypt/PKGBUILD-arch b/libxcrypt/PKGBUILD-arch new file mode 100644 index 0000000..cb5577e --- /dev/null +++ b/libxcrypt/PKGBUILD-arch @@ -0,0 +1,63 @@ +# Maintainer: Christian Hesse + +pkgbase=libxcrypt +pkgname=(libxcrypt libxcrypt-compat) +pkgver=4.4.28 +pkgrel=2 +pkgdesc='Modern library for one-way hashing of passwords' +arch=('x86_64') +url='https://github.com/besser82/libxcrypt/' +license=('GPL') +depends=('glibc') +provides=('libcrypt.so') +options=('debug') +install=libxcrypt.install +validpgpkeys=('678CE3FEE430311596DB8C16F52E98007594C21D') # Björn 'besser82' Esser +source=("${url}/releases/download/v${pkgver}/${pkgbase}-${pkgver}.tar.xz"{,.asc}) +sha256sums=('9e936811f9fad11dbca33ca19bd97c55c52eb3ca15901f27ade046cc79e69e87' + 'SKIP') + +build() { + mkdir build-libxcrypt build-libxcrypt-compat + + cd "${srcdir}/build-libxcrypt/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=no \ + --disable-failure-tokens + make + + cd "${srcdir}/build-libxcrypt-compat/" + "${srcdir}/${pkgbase}-${pkgver}"/configure \ + --prefix=/usr \ + --disable-static \ + --enable-hashes=strong,glibc \ + --enable-obsolete-api=glibc \ + --disable-failure-tokens + make +} + +check() { + cd build-libxcrypt/ + + make check +} + +package_libxcrypt() { + cd build-libxcrypt/ + + make DESTDIR="${pkgdir}" install +} + +package_libxcrypt-compat() { + pkgdesc='Modern library for one-way hashing of passwords - legacy API functions' + depends=('libxcrypt') + + cd build-libxcrypt-compat/ + + make DESTDIR="${pkgdir}" install + + rm -rf "${pkgdir}"/usr/{include,lib/{lib*.so,pkgconfig},share} +} diff --git a/libxcrypt/clean b/libxcrypt/clean new file mode 100644 index 0000000..982a365 --- /dev/null +++ b/libxcrypt/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,libx*.xz*} diff --git a/libxcrypt/deps b/libxcrypt/deps new file mode 100644 index 0000000..e69de29 diff --git a/libxcrypt/key b/libxcrypt/key new file mode 100644 index 0000000..e19e65d --- /dev/null +++ b/libxcrypt/key @@ -0,0 +1 @@ +gpg -v --recv-key F52E98007594C21D diff --git a/libxcrypt/libxcrypt.install b/libxcrypt/libxcrypt.install new file mode 100644 index 0000000..374d979 --- /dev/null +++ b/libxcrypt/libxcrypt.install @@ -0,0 +1,15 @@ +#!/bin/sh + +post_upgrade() { + # return if old package version greater 4.4.21... + (( $(vercmp $2 '4.4.21') > 0 )) && return + + cat < Starting with 'libxcrypt' 4.4.21, weak password hashes (such as MD5 and SHA1) + > are no longer accepted for new passwords. Users that still have their + > passwords stored with a weak hash will be asked to update their password on + > their next login. + > If the login just fails (for example from display manager) switch to a + > virtual terminal ('Ctrl-Alt-F2') and log in there once. +EOM +} diff --git a/libxcrypt/time b/libxcrypt/time new file mode 100644 index 0000000..71856a5 --- /dev/null +++ b/libxcrypt/time @@ -0,0 +1,5 @@ + +real 0m36.162s +user 1m16.996s +sys 0m7.969s + diff --git a/licenses/NOTE b/licenses/NOTE new file mode 100644 index 0000000..40fe891 --- /dev/null +++ b/licenses/NOTE @@ -0,0 +1 @@ +the mpl-2.0 license content has changed since Arch built the pkg last so the md5 check fails diff --git a/licenses/PKGBUILD b/licenses/PKGBUILD new file mode 100644 index 0000000..1047b27 --- /dev/null +++ b/licenses/PKGBUILD @@ -0,0 +1,170 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=licenses +pkgver=20220125 +pkgrel=01 +pkgdesc="A set of common license files" +arch=(any) +url="https://www.archlinux.org/" +source=( + https://www.gnu.org/licenses/agpl-3.0.txt + apache-2.0.txt::https://www.apache.org/licenses/LICENSE-2.0.txt + artistic-2_0.txt + boost-1.0.txt::https://www.boost.org/LICENSE_1_0.txt + cc-by-3.0.txt + cc-by-nc-3.0.txt + cc-by-nc-nd-3.0.txt + cc-by-nc-sa-3.0.txt + cc-by-nd-3.0.txt + cc-by-sa-3.0.txt + cc-readme.txt + cddl-1.0.txt + cpl-1.0.txt + eclipse-1.0.txt + https://www.gnu.org/licenses/fdl-1.2.txt + https://www.gnu.org/licenses/fdl-1.3.txt + https://www.gnu.org/licenses/gpl-2.0.txt + https://www.gnu.org/licenses/gpl-3.0.txt + https://www.gnu.org/licenses/lgpl-2.1.txt + https://www.gnu.org/licenses/lgpl-3.0.txt + https://www.latex-project.org/lppl.txt + mpl-1.1.txt::https://www.mozilla.org/media/MPL/1.1/index.txt + mpl-2.0.txt::https://www.mozilla.org/media/MPL/2.0/index.txt + perlartistic.txt + php-3.01.txt::https://www.php.net/license/3_01.txt + python-2.txt + ruby-license.txt + unlicense.txt::https://unlicense.org/UNLICENSE + w3c.txt + ZopePublicLicense.txt +) + +package() { + local _license_dir="$pkgdir/usr/share/licenses/common" + + install -vDm 644 agpl-3.0.txt "$_license_dir/"AGPL3/license.txt + ln -s AGPL3 "$_license_dir/"AGPL + + install -vDm 644 apache-2.0.txt "$_license_dir/"Apache/license.txt + ln -s Apache "$_license_dir/"APACHE + + install -vDm 644 artistic-2_0.txt "$_license_dir/"Artistic2.0/license.txt + + install -vDm 644 boost-1.0.txt "$_license_dir/"Boost/license.txt + + install -vDm 644 cc-by-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-nd-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-sa-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nd-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-sa-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-readme.txt -t "$_license_dir/"CCPL/ + + install -vDm 644 cddl-1.0.txt "$_license_dir/"CDDL/license.txt + + install -vDm 644 cpl-1.0.txt "$_license_dir/"CPL/license.txt + + install -vDm 644 eclipse-1.0.txt "$_license_dir/"EPL/license.txt + + install -vDm 644 gpl-2.0.txt "$_license_dir/"GPL2/license.txt + install -vDm 644 gpl-3.0.txt "$_license_dir/"GPL3/license.txt + ln -s GPL2 "$_license_dir/"GPL + + install -vDm 644 fdl-1.2.txt "$_license_dir/"FDL1.2/license.txt + install -vDm 644 fdl-1.3.txt "$_license_dir/"FDL1.3/license.txt + ln -s FDL1.2 "$_license_dir/"FDL + + install -vDm 644 lgpl-2.1.txt "$_license_dir/"LGPL2.1/license.txt + install -vDm 644 lgpl-3.0.txt "$_license_dir/"LGPL3/license.txt + ln -s LGPL2.1 "$_license_dir/"LGPL + + install -vDm 644 lppl.txt "$_license_dir/"LPPL/license.txt + + install -vDm 644 mpl-1.1.txt "$_license_dir/"MPL/license.txt + + install -vDm 644 mpl-2.0.txt "$_license_dir/"MPL2/license.txt + + install -vDm 644 perlartistic.txt "$_license_dir/"PerlArtistic/license.txt + + install -vDm 644 php-3.01.txt "$_license_dir/"PHP/license.txt + + install -vDm 644 python-2.txt "$_license_dir/"PSF/license.txt + + install -vDm 644 ruby-license.txt "$_license_dir/"RUBY/license.txt + + install -vDm 644 unlicense.txt "$_license_dir/"Unlicense/license.txt + + install -vDm 644 w3c.txt "$_license_dir/"W3C/license.txt + + install -vDm 644 ZopePublicLicense.txt "$_license_dir/"ZPL/license.txt +} + +#---- license gpg-key sha256sums ---- + +license=(custom:none) + +sha512sums=('3568a76677f3d55dbbc7fc33c4073b4714cc6f68d92cd842a9ca2b230e8bd2140e59c3fc3cce34be34ffed78d75ab6e9d991ba59bf7c4addde7fb96648d3375d' + '98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8' + 'c07582f49d8d774385c37fb15804bac136bf8c6eef4cc1b37d5bf890b785f31eeb6ca537385edb469e35003d5adc5fe752d1805ef4b31909bc1be7bc1bb38695' + 'd6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8' + 'c51c6e3eab06f1d1876f2c4672f839d2bc6730ee71b80f33105e907d4f93fa39e62bf2d914bc6ad6657eb66a0e32d26787294bad37023d4ae2349ea200f7dd95' + '26132167b1dc2a451af1c1aadf677a7c5adbe94a8c614c8b270834e8ee24ccb75b9bca33da312ef5a9fd8b79c7d2653052ecb089659cf63dfe33f70f64596e8f' + '5b63cf312ec557af66ab55e6b4d338d5f4f6a6a86b240dc18eecdd9c618feec92239a4ced9d8b5edde0b20ba6a67c26d371f2b06f0031b6642244fbb5774bb02' + '4ec4234198d9c919bfd795f2be64a43d60316944af07f0e9c815231f991f9d850f8b419d268b1e372e3072d1db6c26d79bd6167db36363913642c7708d3a356f' + '6cf3f7be5a5f5e5d5bc0436dcf050bdecb0a28c62b33f4b574624e332240b547dae67ce8b1729407955343d9504cc8f7276d9251a3da53ae97789bf7b8ffc762' + '95f6c764dcf30a0e225929d880144c10166da67fba6d690190f77e04a0daa66f26f1eba08b2a8c4893da2853cd3cd52572dcfc857ffa038bd2596e70e1885918' + '228b25c065796615e756137a4b52d952624670348e4ea5c937065ae63f96f28cb2342fba9d671ff17f09555b53edf658716c2219b432a75e73e2f3e933184ea1' + '3f09a16f19941b39e5206fcdfb8ae4e0b4adeaaf17baba3cce3f0573bb319ac213033392af55eb75355e3f39382ee1b381d6c58b294f376cdbf87537356f9617' + '51a43c9de1a8ef92264655118e053b4a2dd1e1fe4a8680cfe90a6a1a87c2c2c5253a1a70f8b12b18aa5ab33756e8a7a9a86fc67701edccd05156bc38ea2cd79c' + '861e7f297c4df79b4f218876b850ce1f70687edb7029898e8bfa4255a321ba7e48a82f6b3a9f56779d29b214cce4ce81f0e36c44462065d3b848f3fd30375eb6' + '22d2414762188840be68198978b9ece122813d1cac522632b8fa8315749335b43b1b58a6475fec0ef593a7bc568368526a90e199999808a118a7c6bb55906ac1' + 'bea1788b2bdc84f470e459114b871cf4ee991718964a63e18adde65116806d7676484cb30857cf74dece5eef5f96a015ee4a21900e019623e5d3484868b28b7f' + 'aee80b1f9f7f4a8a00dcf6e6ce6c41988dcaedc4de19d9d04460cbfb05d99829ffe8f9d038468eabbfba4d65b38e8dbef5ecf5eb8a1b891d9839cda6c48ee957' + 'd361e5e8201481c6346ee6a886592c51265112be550d5224f1a7a6e116255c2f1ab8788df579d9b8372ed7bfd19bac4b6e70e00b472642966ab5b319b99a2686' + '1bca76c9f2f559a7851c278650125cd4f44a7ae4a96ceee6a6ba81d34d28fe7d6125c5ee459fef729b6a2a0eba3075c0841c8a156b3a26f66194f77f7d49151c' + '6a21e9f6706dacb99162dd4c70ec704e3fdf283b93ca2cc1521e08e55e0727db4c7384d027d54739f100cd26c8d3d5be717715c6b21086a9bb22efb893c34fcf' + '4c84834dc54cb6e4d88ad9907ab6a541c038a389954679453f372d9481dd45e64733b7189aca34a06e44171f5327d957735677db9ce72d2d2d60136a302680a9' + '4d54a4a55189e36134fd8af9e0800a037d360dc05246dd2cd942e809f95db305cdf39b89d0e9732318075afd0e1ed2f90856eaa66a67a98ccbe8cfde99750af3' + '9eda310d0d71a8d7d4e07ae801f1c3309a46cd59b9ee566a8d0ae98dcfdebc93dcf9f399ba1e5ff5f43e932ec21078de2be88b0699dfd3ec4828061011216389' + 'dc6efc925c7ef8df903d7f7f66b6d3ab17e73e5037bc12c50109925f12c6011e18d873d081d4da1ff2d52669584b7168239132ff2f665ca6d5178f7efe1beaf6' + 'f6acda74831a984baf170b1e423bbea8fdeb41c5e7266614e203bc4265dcfd56a78740c2369d6408dadcec7835a52dd80efa0a0f5466cac55491d99cfe0ec075' + 'f9d70fce91b44721124b2e1249a93ac902318c294da182a53ef0cf2e8f2f47c19f6b4abf964b598798ecbb954810cf66192a52ec3ace00ea5aacbbfcf8c22363' + '767242ed40e94d11521fba9e2a248ae998276f57b7b34e94d91ac392add2f835d8e0c01d1b13ce1def7782dca5dbfdbef37ea9cb802b51561718d299a3b87818' + 'aa647966e7fb62ffcd7bfc1e56a8ebe38e8384a36c14e07fec4ccf3be91ffa1b3bbd9798901fa7956056c26d124f067582366bdb9581db1f742291c86e64e39d' + '5cd651f40ea91397774d2bad8dcfdac0354d5930d892c07908caf6127eb8ee1255744959d51b9a756efa588aefce49d34c9764844282a711b50602295f8a2b3a' + '541777a015eb17bfd2dc07f5fb3a9aba950ded5bd0f53a80c52d6f4e2cb85a28a94294dbba1ca54560d0f3aadd749c94a31d67d76c1e4e6fd2255056415d52c7') +b2sums=('b6829320f725e3e45c4807ef5deb4738a691fb3ab146d8531b81fdbccd8376a826c8ec76165985cdf37d534f68e395652c96841ba7636c4bd34c49b7c7b3a9ec' + '1bbdb8ea81b42a8ce554f92fd57009eef6b296472f910c5542d8a445e34bb0eee0e627a74462b9f453fe9d8853bde71fdb0eea11102bb604129753de6ecc6e06' + '4d249b4e8d54d2d2790a3afb6cf9fe3903985fd540efdc8f26b62b50378f3ac484f7998ee1663d3f4a7cfb624ab1ce4365ac7b9c9b4fde96faa5c33dd13ab237' + '3e7074b0bcbdd537026ae4508d915e0b14d5e97d305fcd26bb1ff5494509057cd8e60363ab416e4dd68e6fb7a84e5f456ecc3d5e46a33cb2f598758691ffeaf2' + '6b8f6fdebc86fc05d931fdf0b8013c815ffd775560ae4a69e917b204999a5cfa5413d665222f140d22e3623c37763794e86dcba17641dad8c226d1d35e17f00b' + '9afeb52cf4d5ad9d429fff6c9eade39fad242061b5ddca7e511070c4cfd0d33c73747b6801abb9132aeba09529d80ca0168bd7dbf1b2635d2d2dab76c4fe2d36' + '7f376e3d72866e4882f755f973b06fcae1291c9e1ad8d5549f95e637e4b9bafbe3120c465ef3e8128e01edb50da689ba57327d24eab819f57bc8b705d447709c' + '14accb9372c6308f2761f9c9cd4489f7f1555ff04084acda9d9ec8e9517c3eb119544b228db0578d7ca229b9d47341a5bf0a1a948499bd35d8d97f508cf51f45' + 'a25af7d323742405c2872d7f4c0b62038684239d8bf111b3a94398930d737bb1818b2eba4d9031b6bc79be26ef59087f63ed64d17f0208de5a7ac28ecc1c95b0' + '714c13820c79b96799138cada5ea414a79d16c4ed6c6b65dcf532ed73612a25632cbbe6104af4aedf0dc8fe159a18621c849efae25a0503c9e50e611efd1b92a' + '086c30075b8ab1f15734df28d739ec7d65b6d1f1ebf681641b5cc7f2d8a2760dc6d40a627bb41046f44e72b2fd9b40b2456fa9bb41a00602fd3a7fefa6b2661c' + 'ac86541da47d3d9b05b7b84357a21dca7e170e25b5ae99ab177eacbe7f16298b031302ad01deafee81bfbdef72cb9679abfd24722551b37a55341af03b510146' + 'c1f8c0a7c2596a9e8db61505b63f5b7ea54d7c0c86f4e8821bd27160a3976cc3876baef386bfecfc21816a2230a539bf54ae333c6c9241e392312e910ba9f342' + '113530ed800ced04cc82a7424577f1edc3234601068ab485c9aaf1ca3f45fe43fed01eee6b2642cba9618a11ab33ac73a3beefbbd6f0de879905df5109935992' + 'a580eceb4f7514964ef00e8c5130b9568fb2cf99d9bef0222662fa994af7b1634c1034c846eac9d63c21b67c4f94f91b79d144b1d3b4a856ca10243548407b84' + '5ac1e0794bd70d6820efacd36b8885a37e5364ce6bfee9382d10d37631edf88c7c3b05e35913cdadc687837adc942d907975cf53e21b4a65e9f711114f1a3b3d' + '1e1e108a77d8676eb68467cdfbf95684f0bad991bfcc24e7bd3d1eec58d746f14d20798c3bcf64e9bdd1ff4a9c5ec02ccb4c06331bcf251a9d1d0f28b6875296' + '74915e048cf8b5207abf603136e7d5fcf5b8ad512cce78a2ebe3c88fc3150155893bf9824e6ed6a86414bbe4511a6bd4a42e8ec643c63353dc8eea4a44a021cd' + 'b15551a6f0f0923dfb15912db9f6976898bc3d60ab3f5505e48d5e252341bb0855f4c7f23d66e9ce8809a23187b5f2ea08c99c8eb2c3d4d0407466c222cfdcca' + '4f97bb19f3d6aa5af71bec5a070b4317c0742069d23f591092e435ff8805788f7279524a1bb8a10e67a1013e0391e4a719bb8d89ccdae728b4eb134d7697a3c8' + 'f95087f01083423ee41d47fed72799aee2a4837c3ebc378a13f7ace0a83d9132c76aa1c16eb00adcc98d048f4bc970be980d3e9e1f71df93ed721aa1583892b8' + '5d342f32a42b4563b5604b3101cc7122516c6a514b853eb3974b61ecb68ef0691b9da1742e5d0c688247e51c178b26d34957b01b357ec8a8be28b22554bac73a' + 'e57391102771f85905986aac45cb923f1738fe96ec4a520bad9a79ce68e7a5b14898cdc97d17d84dc8aff7c5aa2aab853701ef8b27c6a5fe9c1f634c19ca9d9b' + '953343f375b14990dde1f51b9f9dc1f11d3c70a75f82575698390404af31e2983ba9acf03139e65026c737bf7afadd7b956e4ddd94fe303e1438041dc1667c79' + '144613d910215899c1183e7dc2588ca7272fbd3b92023704536f007feb0746b9c1ef9890a5245275623c20c14de45ef1514fab2dc6d62274db6a10c276a96681' + '9ff800831a5c1d3b45a98c56d513935dc5b1e50e285de658d499fdc6d52736998b58cc5a5ecca83b8c98d38869122f01633e8e3ed8b9771e5919ab0f61da2cc4' + '0b1e59408032239cd6ea8765eabca5cafccfce94a05785824aba1dc8b37188695bf7990e3454b0f2d0b399f1a22c30de7f056e2f685fafadcef71cd1a91a6796' + '560b95eb5bc04b02762fe9fa42554b47d161d22251f2b18f642d9c45f8bfa574fd847228935ee5244e6dbb5ee0f1fa446fe4ce6f5ff9feeb7ef3e5a91b894549' + '41fe12d3613e61134c9b027c6e3dacacdc368e6eecc1614578850f5b784813b41cf2089418738706939db2c7fb9f17cdab005cd134a440a8aadf8b887aa8fa48' + '63aefec94bf37792b1b10ee4ae36a5ad54f5df1ef175eddf8528bc8fb1c5a71cf7c258f856f99a9ed4e678c9226f0ac99ea825fc68e10695e905a618c36896e8') + diff --git a/licenses/PKGBUILD-arch b/licenses/PKGBUILD-arch new file mode 100644 index 0000000..63d10b0 --- /dev/null +++ b/licenses/PKGBUILD-arch @@ -0,0 +1,165 @@ +# Maintainer: David Runge +# Contributor: Levente Polyak +# Contributor: Dan McGee + +pkgname=licenses +pkgver=20220125 +pkgrel=1 +pkgdesc="A set of common license files" +arch=(any) +license=(custom:none) +url="https://www.archlinux.org/" +source=( + https://www.gnu.org/licenses/agpl-3.0.txt + apache-2.0.txt::https://www.apache.org/licenses/LICENSE-2.0.txt + artistic-2_0.txt + boost-1.0.txt::https://www.boost.org/LICENSE_1_0.txt + cc-by-3.0.txt + cc-by-nc-3.0.txt + cc-by-nc-nd-3.0.txt + cc-by-nc-sa-3.0.txt + cc-by-nd-3.0.txt + cc-by-sa-3.0.txt + cc-readme.txt + cddl-1.0.txt + cpl-1.0.txt + eclipse-1.0.txt + https://www.gnu.org/licenses/fdl-1.2.txt + https://www.gnu.org/licenses/fdl-1.3.txt + https://www.gnu.org/licenses/gpl-2.0.txt + https://www.gnu.org/licenses/gpl-3.0.txt + https://www.gnu.org/licenses/lgpl-2.1.txt + https://www.gnu.org/licenses/lgpl-3.0.txt + https://www.latex-project.org/lppl.txt + mpl-1.1.txt::https://www.mozilla.org/media/MPL/1.1/index.txt + mpl-2.0.txt::https://www.mozilla.org/media/MPL/2.0/index.txt + perlartistic.txt + php-3.01.txt::https://www.php.net/license/3_01.txt + python-2.txt + ruby-license.txt + unlicense.txt::https://unlicense.org/UNLICENSE + w3c.txt + ZopePublicLicense.txt +) +sha512sums=('3568a76677f3d55dbbc7fc33c4073b4714cc6f68d92cd842a9ca2b230e8bd2140e59c3fc3cce34be34ffed78d75ab6e9d991ba59bf7c4addde7fb96648d3375d' + '98f6b79b778f7b0a15415bd750c3a8a097d650511cb4ec8115188e115c47053fe700f578895c097051c9bc3dfb6197c2b13a15de203273e1a3218884f86e90e8' + 'c07582f49d8d774385c37fb15804bac136bf8c6eef4cc1b37d5bf890b785f31eeb6ca537385edb469e35003d5adc5fe752d1805ef4b31909bc1be7bc1bb38695' + 'd6078467835dba8932314c1c1e945569a64b065474d7aced27c9a7acc391d52e9f234138ed9f1aa9cd576f25f12f557e0b733c14891d42c16ecdc4a7bd4d60b8' + 'c51c6e3eab06f1d1876f2c4672f839d2bc6730ee71b80f33105e907d4f93fa39e62bf2d914bc6ad6657eb66a0e32d26787294bad37023d4ae2349ea200f7dd95' + '26132167b1dc2a451af1c1aadf677a7c5adbe94a8c614c8b270834e8ee24ccb75b9bca33da312ef5a9fd8b79c7d2653052ecb089659cf63dfe33f70f64596e8f' + '5b63cf312ec557af66ab55e6b4d338d5f4f6a6a86b240dc18eecdd9c618feec92239a4ced9d8b5edde0b20ba6a67c26d371f2b06f0031b6642244fbb5774bb02' + '4ec4234198d9c919bfd795f2be64a43d60316944af07f0e9c815231f991f9d850f8b419d268b1e372e3072d1db6c26d79bd6167db36363913642c7708d3a356f' + '6cf3f7be5a5f5e5d5bc0436dcf050bdecb0a28c62b33f4b574624e332240b547dae67ce8b1729407955343d9504cc8f7276d9251a3da53ae97789bf7b8ffc762' + '95f6c764dcf30a0e225929d880144c10166da67fba6d690190f77e04a0daa66f26f1eba08b2a8c4893da2853cd3cd52572dcfc857ffa038bd2596e70e1885918' + '228b25c065796615e756137a4b52d952624670348e4ea5c937065ae63f96f28cb2342fba9d671ff17f09555b53edf658716c2219b432a75e73e2f3e933184ea1' + '3f09a16f19941b39e5206fcdfb8ae4e0b4adeaaf17baba3cce3f0573bb319ac213033392af55eb75355e3f39382ee1b381d6c58b294f376cdbf87537356f9617' + '51a43c9de1a8ef92264655118e053b4a2dd1e1fe4a8680cfe90a6a1a87c2c2c5253a1a70f8b12b18aa5ab33756e8a7a9a86fc67701edccd05156bc38ea2cd79c' + '861e7f297c4df79b4f218876b850ce1f70687edb7029898e8bfa4255a321ba7e48a82f6b3a9f56779d29b214cce4ce81f0e36c44462065d3b848f3fd30375eb6' + '22d2414762188840be68198978b9ece122813d1cac522632b8fa8315749335b43b1b58a6475fec0ef593a7bc568368526a90e199999808a118a7c6bb55906ac1' + 'bea1788b2bdc84f470e459114b871cf4ee991718964a63e18adde65116806d7676484cb30857cf74dece5eef5f96a015ee4a21900e019623e5d3484868b28b7f' + 'aee80b1f9f7f4a8a00dcf6e6ce6c41988dcaedc4de19d9d04460cbfb05d99829ffe8f9d038468eabbfba4d65b38e8dbef5ecf5eb8a1b891d9839cda6c48ee957' + 'd361e5e8201481c6346ee6a886592c51265112be550d5224f1a7a6e116255c2f1ab8788df579d9b8372ed7bfd19bac4b6e70e00b472642966ab5b319b99a2686' + '1bca76c9f2f559a7851c278650125cd4f44a7ae4a96ceee6a6ba81d34d28fe7d6125c5ee459fef729b6a2a0eba3075c0841c8a156b3a26f66194f77f7d49151c' + '6a21e9f6706dacb99162dd4c70ec704e3fdf283b93ca2cc1521e08e55e0727db4c7384d027d54739f100cd26c8d3d5be717715c6b21086a9bb22efb893c34fcf' + '4c84834dc54cb6e4d88ad9907ab6a541c038a389954679453f372d9481dd45e64733b7189aca34a06e44171f5327d957735677db9ce72d2d2d60136a302680a9' + '4d54a4a55189e36134fd8af9e0800a037d360dc05246dd2cd942e809f95db305cdf39b89d0e9732318075afd0e1ed2f90856eaa66a67a98ccbe8cfde99750af3' + '9eda310d0d71a8d7d4e07ae801f1c3309a46cd59b9ee566a8d0ae98dcfdebc93dcf9f399ba1e5ff5f43e932ec21078de2be88b0699dfd3ec4828061011216389' + 'dc6efc925c7ef8df903d7f7f66b6d3ab17e73e5037bc12c50109925f12c6011e18d873d081d4da1ff2d52669584b7168239132ff2f665ca6d5178f7efe1beaf6' + 'f6acda74831a984baf170b1e423bbea8fdeb41c5e7266614e203bc4265dcfd56a78740c2369d6408dadcec7835a52dd80efa0a0f5466cac55491d99cfe0ec075' + 'f9d70fce91b44721124b2e1249a93ac902318c294da182a53ef0cf2e8f2f47c19f6b4abf964b598798ecbb954810cf66192a52ec3ace00ea5aacbbfcf8c22363' + '767242ed40e94d11521fba9e2a248ae998276f57b7b34e94d91ac392add2f835d8e0c01d1b13ce1def7782dca5dbfdbef37ea9cb802b51561718d299a3b87818' + 'aa647966e7fb62ffcd7bfc1e56a8ebe38e8384a36c14e07fec4ccf3be91ffa1b3bbd9798901fa7956056c26d124f067582366bdb9581db1f742291c86e64e39d' + '5cd651f40ea91397774d2bad8dcfdac0354d5930d892c07908caf6127eb8ee1255744959d51b9a756efa588aefce49d34c9764844282a711b50602295f8a2b3a' + '541777a015eb17bfd2dc07f5fb3a9aba950ded5bd0f53a80c52d6f4e2cb85a28a94294dbba1ca54560d0f3aadd749c94a31d67d76c1e4e6fd2255056415d52c7') +b2sums=('b6829320f725e3e45c4807ef5deb4738a691fb3ab146d8531b81fdbccd8376a826c8ec76165985cdf37d534f68e395652c96841ba7636c4bd34c49b7c7b3a9ec' + '1bbdb8ea81b42a8ce554f92fd57009eef6b296472f910c5542d8a445e34bb0eee0e627a74462b9f453fe9d8853bde71fdb0eea11102bb604129753de6ecc6e06' + '4d249b4e8d54d2d2790a3afb6cf9fe3903985fd540efdc8f26b62b50378f3ac484f7998ee1663d3f4a7cfb624ab1ce4365ac7b9c9b4fde96faa5c33dd13ab237' + '3e7074b0bcbdd537026ae4508d915e0b14d5e97d305fcd26bb1ff5494509057cd8e60363ab416e4dd68e6fb7a84e5f456ecc3d5e46a33cb2f598758691ffeaf2' + '6b8f6fdebc86fc05d931fdf0b8013c815ffd775560ae4a69e917b204999a5cfa5413d665222f140d22e3623c37763794e86dcba17641dad8c226d1d35e17f00b' + '9afeb52cf4d5ad9d429fff6c9eade39fad242061b5ddca7e511070c4cfd0d33c73747b6801abb9132aeba09529d80ca0168bd7dbf1b2635d2d2dab76c4fe2d36' + '7f376e3d72866e4882f755f973b06fcae1291c9e1ad8d5549f95e637e4b9bafbe3120c465ef3e8128e01edb50da689ba57327d24eab819f57bc8b705d447709c' + '14accb9372c6308f2761f9c9cd4489f7f1555ff04084acda9d9ec8e9517c3eb119544b228db0578d7ca229b9d47341a5bf0a1a948499bd35d8d97f508cf51f45' + 'a25af7d323742405c2872d7f4c0b62038684239d8bf111b3a94398930d737bb1818b2eba4d9031b6bc79be26ef59087f63ed64d17f0208de5a7ac28ecc1c95b0' + '714c13820c79b96799138cada5ea414a79d16c4ed6c6b65dcf532ed73612a25632cbbe6104af4aedf0dc8fe159a18621c849efae25a0503c9e50e611efd1b92a' + '086c30075b8ab1f15734df28d739ec7d65b6d1f1ebf681641b5cc7f2d8a2760dc6d40a627bb41046f44e72b2fd9b40b2456fa9bb41a00602fd3a7fefa6b2661c' + 'ac86541da47d3d9b05b7b84357a21dca7e170e25b5ae99ab177eacbe7f16298b031302ad01deafee81bfbdef72cb9679abfd24722551b37a55341af03b510146' + 'c1f8c0a7c2596a9e8db61505b63f5b7ea54d7c0c86f4e8821bd27160a3976cc3876baef386bfecfc21816a2230a539bf54ae333c6c9241e392312e910ba9f342' + '113530ed800ced04cc82a7424577f1edc3234601068ab485c9aaf1ca3f45fe43fed01eee6b2642cba9618a11ab33ac73a3beefbbd6f0de879905df5109935992' + 'a580eceb4f7514964ef00e8c5130b9568fb2cf99d9bef0222662fa994af7b1634c1034c846eac9d63c21b67c4f94f91b79d144b1d3b4a856ca10243548407b84' + '5ac1e0794bd70d6820efacd36b8885a37e5364ce6bfee9382d10d37631edf88c7c3b05e35913cdadc687837adc942d907975cf53e21b4a65e9f711114f1a3b3d' + '1e1e108a77d8676eb68467cdfbf95684f0bad991bfcc24e7bd3d1eec58d746f14d20798c3bcf64e9bdd1ff4a9c5ec02ccb4c06331bcf251a9d1d0f28b6875296' + '74915e048cf8b5207abf603136e7d5fcf5b8ad512cce78a2ebe3c88fc3150155893bf9824e6ed6a86414bbe4511a6bd4a42e8ec643c63353dc8eea4a44a021cd' + 'b15551a6f0f0923dfb15912db9f6976898bc3d60ab3f5505e48d5e252341bb0855f4c7f23d66e9ce8809a23187b5f2ea08c99c8eb2c3d4d0407466c222cfdcca' + '4f97bb19f3d6aa5af71bec5a070b4317c0742069d23f591092e435ff8805788f7279524a1bb8a10e67a1013e0391e4a719bb8d89ccdae728b4eb134d7697a3c8' + 'f95087f01083423ee41d47fed72799aee2a4837c3ebc378a13f7ace0a83d9132c76aa1c16eb00adcc98d048f4bc970be980d3e9e1f71df93ed721aa1583892b8' + '5d342f32a42b4563b5604b3101cc7122516c6a514b853eb3974b61ecb68ef0691b9da1742e5d0c688247e51c178b26d34957b01b357ec8a8be28b22554bac73a' + 'e57391102771f85905986aac45cb923f1738fe96ec4a520bad9a79ce68e7a5b14898cdc97d17d84dc8aff7c5aa2aab853701ef8b27c6a5fe9c1f634c19ca9d9b' + '953343f375b14990dde1f51b9f9dc1f11d3c70a75f82575698390404af31e2983ba9acf03139e65026c737bf7afadd7b956e4ddd94fe303e1438041dc1667c79' + '144613d910215899c1183e7dc2588ca7272fbd3b92023704536f007feb0746b9c1ef9890a5245275623c20c14de45ef1514fab2dc6d62274db6a10c276a96681' + '9ff800831a5c1d3b45a98c56d513935dc5b1e50e285de658d499fdc6d52736998b58cc5a5ecca83b8c98d38869122f01633e8e3ed8b9771e5919ab0f61da2cc4' + '0b1e59408032239cd6ea8765eabca5cafccfce94a05785824aba1dc8b37188695bf7990e3454b0f2d0b399f1a22c30de7f056e2f685fafadcef71cd1a91a6796' + '560b95eb5bc04b02762fe9fa42554b47d161d22251f2b18f642d9c45f8bfa574fd847228935ee5244e6dbb5ee0f1fa446fe4ce6f5ff9feeb7ef3e5a91b894549' + '41fe12d3613e61134c9b027c6e3dacacdc368e6eecc1614578850f5b784813b41cf2089418738706939db2c7fb9f17cdab005cd134a440a8aadf8b887aa8fa48' + '63aefec94bf37792b1b10ee4ae36a5ad54f5df1ef175eddf8528bc8fb1c5a71cf7c258f856f99a9ed4e678c9226f0ac99ea825fc68e10695e905a618c36896e8') + +package() { + local _license_dir="$pkgdir/usr/share/licenses/common" + + install -vDm 644 agpl-3.0.txt "$_license_dir/"AGPL3/license.txt + ln -s AGPL3 "$_license_dir/"AGPL + + install -vDm 644 apache-2.0.txt "$_license_dir/"Apache/license.txt + ln -s Apache "$_license_dir/"APACHE + + install -vDm 644 artistic-2_0.txt "$_license_dir/"Artistic2.0/license.txt + + install -vDm 644 boost-1.0.txt "$_license_dir/"Boost/license.txt + + install -vDm 644 cc-by-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-nd-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nc-sa-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-nd-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-by-sa-3.0.txt -t "$_license_dir/"CCPL/ + install -vDm 644 cc-readme.txt -t "$_license_dir/"CCPL/ + + install -vDm 644 cddl-1.0.txt "$_license_dir/"CDDL/license.txt + + install -vDm 644 cpl-1.0.txt "$_license_dir/"CPL/license.txt + + install -vDm 644 eclipse-1.0.txt "$_license_dir/"EPL/license.txt + + install -vDm 644 gpl-2.0.txt "$_license_dir/"GPL2/license.txt + install -vDm 644 gpl-3.0.txt "$_license_dir/"GPL3/license.txt + ln -s GPL2 "$_license_dir/"GPL + + install -vDm 644 fdl-1.2.txt "$_license_dir/"FDL1.2/license.txt + install -vDm 644 fdl-1.3.txt "$_license_dir/"FDL1.3/license.txt + ln -s FDL1.2 "$_license_dir/"FDL + + install -vDm 644 lgpl-2.1.txt "$_license_dir/"LGPL2.1/license.txt + install -vDm 644 lgpl-3.0.txt "$_license_dir/"LGPL3/license.txt + ln -s LGPL2.1 "$_license_dir/"LGPL + + install -vDm 644 lppl.txt "$_license_dir/"LPPL/license.txt + + install -vDm 644 mpl-1.1.txt "$_license_dir/"MPL/license.txt + + install -vDm 644 mpl-2.0.txt "$_license_dir/"MPL2/license.txt + + install -vDm 644 perlartistic.txt "$_license_dir/"PerlArtistic/license.txt + + install -vDm 644 php-3.01.txt "$_license_dir/"PHP/license.txt + + install -vDm 644 python-2.txt "$_license_dir/"PSF/license.txt + + install -vDm 644 ruby-license.txt "$_license_dir/"RUBY/license.txt + + install -vDm 644 unlicense.txt "$_license_dir/"Unlicense/license.txt + + install -vDm 644 w3c.txt "$_license_dir/"W3C/license.txt + + install -vDm 644 ZopePublicLicense.txt "$_license_dir/"ZPL/license.txt +} + +# vim: ts=2 sw=2 et: diff --git a/licenses/PKGBUILD.old b/licenses/PKGBUILD.old new file mode 100644 index 0000000..5c0d93f --- /dev/null +++ b/licenses/PKGBUILD.old @@ -0,0 +1,162 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=licenses +pkgver=20200427 +pkgrel=01 +pkgdesc='Standard licenses distribution package' +arch=('any') +url='https://www.archlinux.org/' +source=(apache-2.0.txt::https://www.apache.org/licenses/LICENSE-2.0.txt + cc-by-3.0.txt + cc-by-nc-3.0.txt + cc-by-nc-nd-3.0.txt + cc-by-nc-sa-3.0.txt + cc-by-nd-3.0.txt + cc-by-sa-3.0.txt + cc-readme.txt + cddl-1.0.txt + eclipse-1.0.txt + https://www.gnu.org/licenses/agpl-3.0.txt + https://www.gnu.org/licenses/gpl-2.0.txt + https://www.gnu.org/licenses/gpl-3.0.txt + https://www.gnu.org/licenses/lgpl-2.1.txt + https://www.gnu.org/licenses/lgpl-3.0.txt + https://www.gnu.org/licenses/fdl-1.2.txt + https://www.gnu.org/licenses/fdl-1.3.txt + https://www.latex-project.org/lppl.txt + perlartistic.txt + artistic-2_0.txt + php-3.01.txt::http://www.php.net/license/3_01.txt + ruby-license.txt + cpl-1.0.txt + python-2.txt + w3c.txt + ZopePublicLicense.txt + mpl-1.1.txt::https://www.mozilla.org/media/MPL/1.1/index.txt + mpl-2.0.txt::https://www.mozilla.org/media/MPL/2.0/index.txt + boost-1.0.txt::http://www.boost.org/LICENSE_1_0.txt + unlicense.txt::https://unlicense.org/UNLICENSE) +md5sums=('3b83ef96387f14655fc854ddc3c6bd57' + 'ffb24d1bbf8b83d373f0b8edc3feb0c6' + '682a5e3b03510ba46c4f566478c871bc' + '166b65b71e44630b436bfe937c4c0b73' + '89bca4a2dde8b7d39c27a1dc24078932' + '2502517d13d8136fffaf248489ad0870' + '5367190077e12a7f55403d531ef3998e' + '019bc72509b18a804f0ea8fd2bab1932' + '6cb35f3976cd093011967fa1abbce386' + 'f300afd598546add034364cd0a533261' + 'eb1e647870add0502f8f010b19de32af' + 'b234ee4d69f5fce4486a80fdaf4a4263' + '1ebbd3e34237af26da5dc08a4e440464' + '4fbd65380cdd255951079008b364516c' + '3000208d539ec061b899bce1d9ce9404' + 'cfe2a5472d5eaa226eae091d4114ce29' + '60e948417268fd26557f89fff655183a' + '9f4337828d782bdea41f03dd2ad1b808' + 'd09c120ca7db95ef2aeecec0cb08293b' + 'b4a94da2a1f918b217ef5156634fc9e0' + '7e571b888d585b31f9ef5edcc647fa30' + '8a960b08d972f43f91ae84a6f00dcbfb' + 'f083e41c43db25e18f36c91e57750b64' + 'a055911c32fb4ed6e96c453ceaeba857' + '6f2095b5d61770740852873b195a4d21' + 'dc8502850eab9e1ff330a12d7ca18a19' + '0c5913925d40b124fb52ce84c5deb3f3' +# '815ca599c9df247a0c7f619bab123dad' + '48a3fe23ed1353e0995dadfda05ffdb6' # mpl-2.0.txt + 'e4224ccaecb14d942c71d31bef20d78c' + '7246f848faa4e9c9fc0ea91122d6e680') + +package() { + cd "$pkgdir" + mkdir -p usr/share/licenses/common + cd usr/share/licenses/common + + mkdir AGPL3 + cp "$srcdir"/agpl-3.0.txt AGPL3/license.txt + ln -s AGPL3 AGPL + + mkdir Apache + cp "$srcdir"/apache-2.0.txt Apache/license.txt + ln -s Apache APACHE + + mkdir Artistic2.0 + cp "$srcdir"/artistic-2_0.txt Artistic2.0/license.txt + + mkdir CCPL + cp "$srcdir"/cc-by-3.0.txt CCPL/ + cp "$srcdir"/cc-by-nc-3.0.txt CCPL/ + cp "$srcdir"/cc-by-nc-nd-3.0.txt CCPL/ + cp "$srcdir"/cc-by-nc-sa-3.0.txt CCPL/ + cp "$srcdir"/cc-by-nd-3.0.txt CCPL/ + cp "$srcdir"/cc-by-sa-3.0.txt CCPL/ + cp "$srcdir"/cc-readme.txt CCPL/ + + mkdir CDDL + cp "$srcdir"/cddl-1.0.txt CDDL/license.txt + + mkdir CPL + cp "$srcdir"/cpl-1.0.txt CPL/license.txt + + mkdir EPL + cp "$srcdir"/eclipse-1.0.txt EPL/license.txt + + mkdir {GPL2,GPL3} + cp "$srcdir"/gpl-2.0.txt GPL2/license.txt + cp "$srcdir"/gpl-3.0.txt GPL3/license.txt + ln -s GPL2 GPL + + mkdir {FDL1.2,FDL1.3} + cp "$srcdir"/fdl-1.2.txt FDL1.2/license.txt + cp "$srcdir"/fdl-1.3.txt FDL1.3/license.txt + ln -s FDL1.2 FDL + + mkdir {LGPL2.1,LGPL3} + cp "$srcdir"/lgpl-2.1.txt LGPL2.1/license.txt + cp "$srcdir"/lgpl-3.0.txt LGPL3/license.txt + ln -s LGPL2.1 LGPL + + mkdir LPPL + cp "$srcdir"/lppl.txt LPPL/license.txt + + mkdir MPL + cp "$srcdir"/mpl-1.1.txt MPL/license.txt + + mkdir MPL2 + cp "$srcdir"/mpl-2.0.txt MPL2/license.txt + + mkdir PerlArtistic + cp "$srcdir"/perlartistic.txt PerlArtistic/license.txt + + mkdir PHP + cp "$srcdir"/php-3.01.txt PHP/license.txt + + mkdir PSF + cp "$srcdir"/python-2.txt PSF/license.txt + + mkdir RUBY + cp "$srcdir"/ruby-license.txt RUBY/license.txt + + mkdir W3C + cp "$srcdir"/w3c.txt W3C/license.txt + + mkdir ZPL + cp "$srcdir"/ZopePublicLicense.txt ZPL/license.txt + + mkdir Boost + cp "$srcdir"/boost-1.0.txt Boost/license.txt + + mkdir Unlicense + cp "$srcdir"/unlicense.txt Unlicense/license.txt +} + +#---- license gpg-key sha256sums ---- + +license=('custom:none') + +#sha256sums=(a) diff --git a/licenses/ZopePublicLicense.txt b/licenses/ZopePublicLicense.txt new file mode 100644 index 0000000..0f06d96 --- /dev/null +++ b/licenses/ZopePublicLicense.txt @@ -0,0 +1,54 @@ +Zope Public License (ZPL) Version 2.1 +------------------------------------- + +A copyright notice accompanies this license document that +identifies the copyright holders. + +This license has been certified as open source. It has also +been designated as GPL compatible by the Free Software +Foundation (FSF). + +Redistribution and use in source and binary forms, with or +without modification, are permitted provided that the +following conditions are met: + +1. Redistributions in source code must retain the + accompanying copyright notice, this list of conditions, + and the following disclaimer. + +2. Redistributions in binary form must reproduce the accompanying + copyright notice, this list of conditions, and the + following disclaimer in the documentation and/or other + materials provided with the distribution. + +3. Names of the copyright holders must not be used to + endorse or promote products derived from this software + without prior written permission from the copyright + holders. + +4. The right to distribute this software or to use it for + any purpose does not give you the right to use + Servicemarks (sm) or Trademarks (tm) of the copyright + holders. Use of them is covered by separate agreement + with the copyright holders. + +5. If any files are modified, you must cause the modified + files to carry prominent notices stating that you changed + the files and the date of any change. + +Disclaimer + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' + AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT + NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN + NO EVENT SHALL THE COPYRIGHT HOLDERS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE + OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH + DAMAGE. diff --git a/licenses/artistic-2_0.txt b/licenses/artistic-2_0.txt new file mode 100644 index 0000000..ddb9a46 --- /dev/null +++ b/licenses/artistic-2_0.txt @@ -0,0 +1,201 @@ + The Artistic License 2.0 + + Copyright (c) 2000-2006, The Perl Foundation. + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble + +This license establishes the terms under which a given free software +Package may be copied, modified, distributed, and/or redistributed. +The intent is that the Copyright Holder maintains some artistic +control over the development of that Package while still keeping the +Package available as open source and free software. + +You are always permitted to make arrangements wholly outside of this +license directly with the Copyright Holder of a given Package. If the +terms of this license do not permit the full use that you propose to +make of the Package, you should contact the Copyright Holder and seek +a different licensing arrangement. + +Definitions + + "Copyright Holder" means the individual(s) or organization(s) + named in the copyright notice for the entire Package. + + "Contributor" means any party that has contributed code or other + material to the Package, in accordance with the Copyright Holder's + procedures. + + "You" and "your" means any person who would like to copy, + distribute, or modify the Package. + + "Package" means the collection of files distributed by the + Copyright Holder, and derivatives of that collection and/or of + those files. A given Package may consist of either the Standard + Version, or a Modified Version. + + "Distribute" means providing a copy of the Package or making it + accessible to anyone else, or in the case of a company or + organization, to others outside of your company or organization. + + "Distributor Fee" means any fee that you charge for Distributing + this Package or providing support for this Package to another + party. It does not mean licensing fees. + + "Standard Version" refers to the Package if it has not been + modified, or has been modified only in ways explicitly requested + by the Copyright Holder. + + "Modified Version" means the Package, if it has been changed, and + such changes were not explicitly requested by the Copyright + Holder. + + "Original License" means this Artistic License as Distributed with + the Standard Version of the Package, in its current version or as + it may be modified by The Perl Foundation in the future. + + "Source" form means the source code, documentation source, and + configuration files for the Package. + + "Compiled" form means the compiled bytecode, object code, binary, + or any other form resulting from mechanical transformation or + translation of the Source form. + + +Permission for Use and Modification Without Distribution + +(1) You are permitted to use the Standard Version and create and use +Modified Versions for any purpose without restriction, provided that +you do not Distribute the Modified Version. + + +Permissions for Redistribution of the Standard Version + +(2) You may Distribute verbatim copies of the Source form of the +Standard Version of this Package in any medium without restriction, +either gratis or for a Distributor Fee, provided that you duplicate +all of the original copyright notices and associated disclaimers. At +your discretion, such verbatim copies may or may not include a +Compiled form of the Package. + +(3) You may apply any bug fixes, portability changes, and other +modifications made available from the Copyright Holder. The resulting +Package will still be considered the Standard Version, and as such +will be subject to the Original License. + + +Distribution of Modified Versions of the Package as Source + +(4) You may Distribute your Modified Version as Source (either gratis +or for a Distributor Fee, and with or without a Compiled form of the +Modified Version) provided that you clearly document how it differs +from the Standard Version, including, but not limited to, documenting +any non-standard features, executables, or modules, and provided that +you do at least ONE of the following: + + (a) make the Modified Version available to the Copyright Holder + of the Standard Version, under the Original License, so that the + Copyright Holder may include your modifications in the Standard + Version. + + (b) ensure that installation of your Modified Version does not + prevent the user installing or running the Standard Version. In + addition, the Modified Version must bear a name that is different + from the name of the Standard Version. + + (c) allow anyone who receives a copy of the Modified Version to + make the Source form of the Modified Version available to others + under + + (i) the Original License or + + (ii) a license that permits the licensee to freely copy, + modify and redistribute the Modified Version using the same + licensing terms that apply to the copy that the licensee + received, and requires that the Source form of the Modified + Version, and of any works derived from it, be made freely + available in that license fees are prohibited but Distributor + Fees are allowed. + + +Distribution of Compiled Forms of the Standard Version +or Modified Versions without the Source + +(5) You may Distribute Compiled forms of the Standard Version without +the Source, provided that you include complete instructions on how to +get the Source of the Standard Version. Such instructions must be +valid at the time of your distribution. If these instructions, at any +time while you are carrying out such distribution, become invalid, you +must provide new instructions on demand or cease further distribution. +If you provide valid instructions or cease distribution within thirty +days after you become aware that the instructions are invalid, then +you do not forfeit any of your rights under this license. + +(6) You may Distribute a Modified Version in Compiled form without +the Source, provided that you comply with Section 4 with respect to +the Source of the Modified Version. + + +Aggregating or Linking the Package + +(7) You may aggregate the Package (either the Standard Version or +Modified Version) with other packages and Distribute the resulting +aggregation provided that you do not charge a licensing fee for the +Package. Distributor Fees are permitted, and licensing fees for other +components in the aggregation are permitted. The terms of this license +apply to the use and Distribution of the Standard or Modified Versions +as included in the aggregation. + +(8) You are permitted to link Modified and Standard Versions with +other works, to embed the Package in a larger work of your own, or to +build stand-alone binary or bytecode versions of applications that +include the Package, and Distribute the result without restriction, +provided the result does not expose a direct interface to the Package. + + +Items That are Not Considered Part of a Modified Version + +(9) Works (including, but not limited to, modules and scripts) that +merely extend or make use of the Package, do not, by themselves, cause +the Package to be a Modified Version. In addition, such works are not +considered parts of the Package itself, and are not subject to the +terms of this license. + + +General Provisions + +(10) Any use, modification, and distribution of the Standard or +Modified Versions is governed by this Artistic License. By using, +modifying or distributing the Package, you accept this license. Do not +use, modify, or distribute the Package, if you do not accept this +license. + +(11) If your Modified Version has been derived from a Modified +Version made by someone other than you, you are nevertheless required +to ensure that your Modified Version complies with the requirements of +this license. + +(12) This license does not grant you the right to use any trademark, +service mark, tradename, or logo of the Copyright Holder. + +(13) This license includes the non-exclusive, worldwide, +free-of-charge patent license to make, have made, use, offer to sell, +sell, import and otherwise transfer the Package with respect to any +patent claims licensable by the Copyright Holder that are necessarily +infringed by the Package. If you institute patent litigation +(including a cross-claim or counterclaim) against any party alleging +that the Package constitutes direct or contributory patent +infringement, then this Artistic License to you shall terminate on the +date that such litigation is filed. + +(14) Disclaimer of Warranty: +THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS "AS +IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL +LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL +BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/licenses/cc-by-3.0.txt b/licenses/cc-by-3.0.txt new file mode 100644 index 0000000..4c79aa8 --- /dev/null +++ b/licenses/cc-by-3.0.txt @@ -0,0 +1,60 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + 4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 5. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 6. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 7. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 8. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 9. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + 5. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(b), as requested. + 2. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4 (b) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-by-nc-3.0.txt b/licenses/cc-by-nc-3.0.txt new file mode 100644 index 0000000..5727b7f --- /dev/null +++ b/licenses/cc-by-nc-3.0.txt @@ -0,0 +1,61 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + 4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 5. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 6. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 7. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 8. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 9. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. + 2. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. + 3. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 4. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, + 3. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). + 5. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-by-nc-nd-3.0.txt b/licenses/cc-by-nc-nd-3.0.txt new file mode 100644 index 0000000..26ed016 --- /dev/null +++ b/licenses/cc-by-nc-nd-3.0.txt @@ -0,0 +1,58 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. + 4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 5. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 6. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 7. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 8. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 9. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, + 2. to Distribute and Publicly Perform the Work including as incorporated in Collections. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. + 2. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. + 3. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 4. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, + 3. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). + 5. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 3. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 4. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 5. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-by-nc-sa-3.0.txt b/licenses/cc-by-nc-sa-3.0.txt new file mode 100644 index 0000000..7d1af0e --- /dev/null +++ b/licenses/cc-by-nc-sa-3.0.txt @@ -0,0 +1,63 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(g) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + 4. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, Noncommercial, ShareAlike. + 5. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 6. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 7. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 8. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 9. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 10. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights described in Section 4(e). + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(d), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(d), as requested. + 2. You may Distribute or Publicly Perform an Adaptation only under: (i) the terms of this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-NonCommercial-ShareAlike 3.0 US) ("Applicable License"). You must include a copy of, or the URI, for Applicable License with every copy of each Adaptation You Distribute or Publicly Perform. You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License. You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + 3. You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in con-nection with the exchange of copyrighted works. + 4. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and, (iv) consistent with Section 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(d) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 5. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, + 3. Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(c). + 6. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING AND TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO THIS EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-by-nd-3.0.txt b/licenses/cc-by-nd-3.0.txt new file mode 100644 index 0000000..118019e --- /dev/null +++ b/licenses/cc-by-nd-3.0.txt @@ -0,0 +1,57 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. + 3. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. + 4. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 5. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 6. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 7. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 8. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 9. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, + 2. to Distribute and Publicly Perform the Work including as incorporated in Collections. + 3. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested. + 2. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 3. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 3. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 4. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 5. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-by-sa-3.0.txt b/licenses/cc-by-sa-3.0.txt new file mode 100644 index 0000000..7252d9c --- /dev/null +++ b/licenses/cc-by-sa-3.0.txt @@ -0,0 +1,63 @@ +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + + 1. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. + 2. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License. + 3. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License. + 4. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership. + 5. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike. + 6. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. + 7. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. + 8. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. + 9. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. + 10. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. + 11. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + + 1. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; + 2. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified."; + 3. to Distribute and Publicly Perform the Work including as incorporated in Collections; and, + 4. to Distribute and Publicly Perform Adaptations. + 5. + + For the avoidance of doubt: + 1. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; + 2. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and, + 3. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + + 1. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested. + 2. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License. + 3. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + 4. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + 1. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. + 2. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous + + 1. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. + 2. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License. + 3. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + 4. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. + 5. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. + 6. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/licenses/cc-readme.txt b/licenses/cc-readme.txt new file mode 100644 index 0000000..38ed7c8 --- /dev/null +++ b/licenses/cc-readme.txt @@ -0,0 +1,12 @@ +There are 6 different Creative Commons Licenses, all of which are included +in this licenses directory: + +cc-by-3.0.txt - Attribution +cc-by-nc-3.0.txt - Attribution-NonCommercial +cc-by-nc-nd-3.0.txt - Attribution-NonCommercial-NoDerivs +cc-by-nc-sa-3.0.txt - Attribution-NonCommercial-ShareAlike +cc-by-nd-3.0.txt - Attribution-NoDerivs +cc-by-sa-3.0.txt - Attribution-ShareAlike + +If a package uses one of these licenses, it should be referenced as follows: +license=('CCPL:by-nc-sa') diff --git a/licenses/cddl-1.0.txt b/licenses/cddl-1.0.txt new file mode 100644 index 0000000..d838932 --- /dev/null +++ b/licenses/cddl-1.0.txt @@ -0,0 +1,377 @@ +COMMON DEVELOPMENT AND DISTRIBUTION LICENSE Version 1.0 + +1. Definitions. + + 1.1. "Contributor" means each individual or entity that creates + or contributes to the creation of Modifications. + + 1.2. "Contributor Version" means the combination of the Original + Software, prior Modifications used by a Contributor (if any), + and the Modifications made by that particular Contributor. + + 1.3. "Covered Software" means (a) the Original Software, or (b) + Modifications, or (c) the combination of files containing + Original Software with files containing Modifications, in + each case including portions thereof. + + 1.4. "Executable" means the Covered Software in any form other + than Source Code. + + 1.5. "Initial Developer" means the individual or entity that first + makes Original Software available under this License. + + 1.6. "Larger Work" means a work which combines Covered Software or + portions thereof with code not governed by the terms of this + License. + + 1.7. "License" means this document. + + 1.8. "Licensable" means having the right to grant, to the maximum + extent possible, whether at the time of the initial grant or + subsequently acquired, any and all of the rights conveyed + herein. + + 1.9. "Modifications" means the Source Code and Executable form of + any of the following: + + A. Any file that results from an addition to, deletion from or + modification of the contents of a file containing Original + Software or previous Modifications; + + B. Any new file that contains any part of the Original + Software or previous Modifications; or + + C. Any new file that is contributed or otherwise made + available under the terms of this License. + + 1.10. "Original Software" means the Source Code and Executable + form of computer software code that is originally released + under this License. + + 1.11. "Patent Claims" means any patent claim(s), now owned or + hereafter acquired, including without limitation, method, + process, and apparatus claims, in any patent Licensable by + grantor. + + 1.12. "Source Code" means (a) the common form of computer software + code in which modifications are made and (b) associated + documentation included in or with such code. + + 1.13. "You" (or "Your") means an individual or a legal entity + exercising rights under, and complying with all of the terms + of, this License. For legal entities, "You" includes any + entity which controls, is controlled by, or is under common + control with You. For purposes of this definition, + "control" means (a) the power, direct or indirect, to cause + the direction or management of such entity, whether by + contract or otherwise, or (b) ownership of more than fifty + percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants. + + 2.1. The Initial Developer Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, the Initial + Developer hereby grants You a world-wide, royalty-free, + non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Initial Developer, to use, + reproduce, modify, display, perform, sublicense and + distribute the Original Software (or portions thereof), + with or without Modifications, and/or as part of a Larger + Work; and + + (b) under Patent Claims infringed by the making, using or + selling of Original Software, to make, have made, use, + practice, sell, and offer for sale, and/or otherwise + dispose of the Original Software (or portions thereof). + + (c) The licenses granted in Sections 2.1(a) and (b) are + effective on the date Initial Developer first distributes + or otherwise makes the Original Software available to a + third party under the terms of this License. + + (d) Notwithstanding Section 2.1(b) above, no patent license is + granted: (1) for code that You delete from the Original + Software, or (2) for infringements caused by: (i) the + modification of the Original Software, or (ii) the + combination of the Original Software with other software + or devices. + + 2.2. Contributor Grant. + + Conditioned upon Your compliance with Section 3.1 below and + subject to third party intellectual property claims, each + Contributor hereby grants You a world-wide, royalty-free, + non-exclusive license: + + (a) under intellectual property rights (other than patent or + trademark) Licensable by Contributor to use, reproduce, + modify, display, perform, sublicense and distribute the + Modifications created by such Contributor (or portions + thereof), either on an unmodified basis, with other + Modifications, as Covered Software and/or as part of a + Larger Work; and + + (b) under Patent Claims infringed by the making, using, or + selling of Modifications made by that Contributor either + alone and/or in combination with its Contributor Version + (or portions of such combination), to make, use, sell, + offer for sale, have made, and/or otherwise dispose of: + (1) Modifications made by that Contributor (or portions + thereof); and (2) the combination of Modifications made by + that Contributor with its Contributor Version (or portions + of such combination). + + (c) The licenses granted in Sections 2.2(a) and 2.2(b) are + effective on the date Contributor first distributes or + otherwise makes the Modifications available to a third + party. + + (d) Notwithstanding Section 2.2(b) above, no patent license is + granted: (1) for any code that Contributor has deleted + from the Contributor Version; (2) for infringements caused + by: (i) third party modifications of Contributor Version, + or (ii) the combination of Modifications made by that + Contributor with other software (except as part of the + Contributor Version) or other devices; or (3) under Patent + Claims infringed by Covered Software in the absence of + Modifications made by that Contributor. + +3. Distribution Obligations. + + 3.1. Availability of Source Code. + + Any Covered Software that You distribute or otherwise make + available in Executable form must also be made available in Source + Code form and that Source Code form must be distributed only under + the terms of this License. You must include a copy of this + License with every copy of the Source Code form of the Covered + Software You distribute or otherwise make available. You must + inform recipients of any such Covered Software in Executable form + as to how they can obtain such Covered Software in Source Code + form in a reasonable manner on or through a medium customarily + used for software exchange. + + 3.2. Modifications. + + The Modifications that You create or to which You contribute are + governed by the terms of this License. You represent that You + believe Your Modifications are Your original creation(s) and/or + You have sufficient rights to grant the rights conveyed by this + License. + + 3.3. Required Notices. + + You must include a notice in each of Your Modifications that + identifies You as the Contributor of the Modification. You may + not remove or alter any copyright, patent or trademark notices + contained within the Covered Software, or any notices of licensing + or any descriptive text giving attribution to any Contributor or + the Initial Developer. + + 3.4. Application of Additional Terms. + + You may not offer or impose any terms on any Covered Software in + Source Code form that alters or restricts the applicable version + of this License or the recipients' rights hereunder. You may + choose to offer, and to charge a fee for, warranty, support, + indemnity or liability obligations to one or more recipients of + Covered Software. However, you may do so only on Your own behalf, + and not on behalf of the Initial Developer or any Contributor. + You must make it absolutely clear that any such warranty, support, + indemnity or liability obligation is offered by You alone, and You + hereby agree to indemnify the Initial Developer and every + Contributor for any liability incurred by the Initial Developer or + such Contributor as a result of warranty, support, indemnity or + liability terms You offer. + + 3.5. Distribution of Executable Versions. + + You may distribute the Executable form of the Covered Software + under the terms of this License or under the terms of a license of + Your choice, which may contain terms different from this License, + provided that You are in compliance with the terms of this License + and that the license for the Executable form does not attempt to + limit or alter the recipient's rights in the Source Code form from + the rights set forth in this License. If You distribute the + Covered Software in Executable form under a different license, You + must make it absolutely clear that any terms which differ from + this License are offered by You alone, not by the Initial + Developer or Contributor. You hereby agree to indemnify the + Initial Developer and every Contributor for any liability incurred + by the Initial Developer or such Contributor as a result of any + such terms You offer. + + 3.6. Larger Works. + + You may create a Larger Work by combining Covered Software with + other code not governed by the terms of this License and + distribute the Larger Work as a single product. In such a case, + You must make sure the requirements of this License are fulfilled + for the Covered Software. + +4. Versions of the License. + + 4.1. New Versions. + + Sun Microsystems, Inc. is the initial license steward and may + publish revised and/or new versions of this License from time to + time. Each version will be given a distinguishing version number. + Except as provided in Section 4.3, no one other than the license + steward has the right to modify this License. + + 4.2. Effect of New Versions. + + You may always continue to use, distribute or otherwise make the + Covered Software available under the terms of the version of the + License under which You originally received the Covered Software. + If the Initial Developer includes a notice in the Original + Software prohibiting it from being distributed or otherwise made + available under any subsequent version of the License, You must + distribute and make the Covered Software available under the terms + of the version of the License under which You originally received + the Covered Software. Otherwise, You may also choose to use, + distribute or otherwise make the Covered Software available under + the terms of any subsequent version of the License published by + the license steward. + + 4.3. Modified Versions. + + When You are an Initial Developer and You want to create a new + license for Your Original Software, You may create and use a + modified version of this License if You: (a) rename the license + and remove any references to the name of the license steward + (except to note that the license differs from this License); and + (b) otherwise make it clear that the license contains terms which + differ from this License. + +5. DISCLAIMER OF WARRANTY. + + COVERED SOFTWARE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" + BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, + INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED + SOFTWARE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR + PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND + PERFORMANCE OF THE COVERED SOFTWARE IS WITH YOU. SHOULD ANY + COVERED SOFTWARE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE + INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY + NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF + WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF + ANY COVERED SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS + DISCLAIMER. + +6. TERMINATION. + + 6.1. This License and the rights granted hereunder will terminate + automatically if You fail to comply with terms herein and fail to + cure such breach within 30 days of becoming aware of the breach. + Provisions which, by their nature, must remain in effect beyond + the termination of this License shall survive. + + 6.2. If You assert a patent infringement claim (excluding + declaratory judgment actions) against Initial Developer or a + Contributor (the Initial Developer or Contributor against whom You + assert such claim is referred to as "Participant") alleging that + the Participant Software (meaning the Contributor Version where + the Participant is a Contributor or the Original Software where + the Participant is the Initial Developer) directly or indirectly + infringes any patent, then any and all rights granted directly or + indirectly to You by such Participant, the Initial Developer (if + the Initial Developer is not the Participant) and all Contributors + under Sections 2.1 and/or 2.2 of this License shall, upon 60 days + notice from Participant terminate prospectively and automatically + at the expiration of such 60 day notice period, unless if within + such 60 day period You withdraw Your claim with respect to the + Participant Software against such Participant either unilaterally + or pursuant to a written agreement with Participant. + + 6.3. In the event of termination under Sections 6.1 or 6.2 above, + all end user licenses that have been validly granted by You or any + distributor hereunder prior to termination (excluding licenses + granted to You by any distributor) shall survive termination. + +7. LIMITATION OF LIABILITY. + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT + (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE + INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF + COVERED SOFTWARE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE + LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT + LIMITATION, DAMAGES FOR LOST PROFITS, LOSS OF GOODWILL, WORK + STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER + COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN + INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF + LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL + INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT + APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO + NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR + CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT + APPLY TO YOU. + +8. U.S. GOVERNMENT END USERS. + + The Covered Software is a "commercial item," as that term is + defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial + computer software" (as that term is defined at 48 + C.F.R. 252.227-7014(a)(1)) and "commercial computer software + documentation" as such terms are used in 48 C.F.R. 12.212 + (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 + C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all + U.S. Government End Users acquire Covered Software with only those + rights set forth herein. This U.S. Government Rights clause is in + lieu of, and supersedes, any other FAR, DFAR, or other clause or + provision that addresses Government rights in computer software + under this License. + +9. MISCELLANEOUS. + + This License represents the complete agreement concerning subject + matter hereof. If any provision of this License is held to be + unenforceable, such provision shall be reformed only to the extent + necessary to make it enforceable. This License shall be governed + by the law of the jurisdiction specified in a notice contained + within the Original Software (except to the extent applicable law, + if any, provides otherwise), excluding such jurisdiction's + conflict-of-law provisions. Any litigation relating to this + License shall be subject to the jurisdiction of the courts located + in the jurisdiction and venue specified in a notice contained + within the Original Software, with the losing party responsible + for costs, including, without limitation, court costs and + reasonable attorneys' fees and expenses. The application of the + United Nations Convention on Contracts for the International Sale + of Goods is expressly excluded. Any law or regulation which + provides that the language of a contract shall be construed + against the drafter shall not apply to this License. You agree + that You alone are responsible for compliance with the United + States export administration regulations (and the export control + laws and regulation of any other countries) when You use, + distribute or otherwise make available any Covered Software. + +10. RESPONSIBILITY FOR CLAIMS. + + As between Initial Developer and the Contributors, each party is + responsible for claims and damages arising, directly or + indirectly, out of its utilization of rights under this License + and You agree to work with Initial Developer and Contributors to + distribute such responsibility on an equitable basis. Nothing + herein is intended or shall be deemed to constitute any admission + of liability. + +-------------------------------------------------------------------- + +NOTICE PURSUANT TO SECTION 9 OF THE COMMON DEVELOPMENT AND +DISTRIBUTION LICENSE (CDDL) + +For Covered Software in this distribution, this License shall +be governed by the laws of the State of California (excluding +conflict-of-law provisions). + +Any litigation relating to this License shall be subject to the +jurisdiction of the Federal Courts of the Northern District of +California and the state courts of the State of California, with +venue lying in Santa Clara County, California. diff --git a/licenses/clean b/licenses/clean new file mode 100644 index 0000000..f4fc1d9 --- /dev/null +++ b/licenses/clean @@ -0,0 +1,2 @@ +rm -rvf {src,pkg} +rm -rvf $(cat clean.list) diff --git a/licenses/clean.list b/licenses/clean.list new file mode 100644 index 0000000..cc8cd8d --- /dev/null +++ b/licenses/clean.list @@ -0,0 +1,14 @@ +apache-2.0.txt +agpl-3.0.txt +gpl-2.0.txt +gpl-3.0.txt +lgpl-2.1.txt +lgpl-3.0.txt +fdl-1.2.txt +fdl-1.3.txt +lppl.txt +php-3.01.txt +mpl-1.1.txt +boost-1.0.txt +unlicense.txt +mpl-2.0.txt diff --git a/licenses/cpl-1.0.txt b/licenses/cpl-1.0.txt new file mode 100644 index 0000000..c48081b --- /dev/null +++ b/licenses/cpl-1.0.txt @@ -0,0 +1,217 @@ +Common Public License Version 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC +LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM +CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and documentation + distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + + where such changes and/or additions to the Program originate from and are + distributed by that particular Contributor. A Contribution 'originates' from a + Contributor if it was added to the Program by such Contributor itself or anyone + acting on such Contributor's behalf. Contributions do not include additions to + the Program which: (i) are separate modules of software distributed in + conjunction with the Program under their own license agreement, and (ii) are + not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are +necessarily infringed by the use or sale of its Contribution alone or when +combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, +including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free copyright license to + reproduce, prepare derivative works of, publicly display, publicly perform, + distribute and sublicense the Contribution of such Contributor, if any, and + such derivative works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby grants + Recipient a non-exclusive, worldwide, royalty-free patent license under + Licensed Patents to make, use, sell, offer to sell, import and otherwise + transfer the Contribution of such Contributor, if any, in source code and + object code form. This patent license shall apply to the combination of the + Contribution and the Program if, at the time the Contribution is added by the + Contributor, such addition of the Contribution causes such combination to be + covered by the Licensed Patents. The patent license shall not apply to any + other combinations which include the Contribution. No hardware per se is + licensed hereunder. + + c) Recipient understands that although each Contributor grants the licenses + to its Contributions set forth herein, no assurances are provided by any + Contributor that the Program does not infringe the patent or other intellectual + property rights of any other entity. Each Contributor disclaims any liability + to Recipient for claims brought by any other entity based on infringement of + intellectual property rights or otherwise. As a condition to exercising the + rights and licenses granted hereunder, each Recipient hereby assumes sole + responsibility to secure any other intellectual property rights needed, if any. + For example, if a third party patent license is required to allow Recipient to + distribute the Program, it is Recipient's responsibility to acquire that + license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has sufficient + copyright rights in its Contribution, if any, to grant the copyright license + set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under +its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all warranties and + conditions, express and implied, including warranties or conditions of title + and non-infringement, and implied warranties or conditions of merchantability + and fitness for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all liability for + damages, including direct, indirect, special, incidental and consequential + damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement are offered + by that Contributor alone and not by any other party; and + + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a reasonable manner on + or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within +the Program. + +Each Contributor must identify itself as the originator of its Contribution, +if any, in a manner that reasonably allows subsequent Recipients to identify +the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with +respect to end users, business partners and the like. While this license is +intended to facilitate the commercial use of the Program, the Contributor who +includes the Program in a commercial product offering should do so in a manner +which does not create potential liability for other Contributors. Therefore, if +a Contributor includes the Program in a commercial product offering, such +Contributor ("Commercial Contributor") hereby agrees to defend and indemnify +every other Contributor ("Indemnified Contributor") against any losses, damages +and costs (collectively "Losses") arising from claims, lawsuits and other legal +actions brought by a third party against the Indemnified Contributor to the +extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may +participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product +offering, Product X. That Contributor is then a Commercial Contributor. If that +Commercial Contributor then makes performance claims, or offers warranties +related to Product X, those performance claims and warranties are such +Commercial Contributor's responsibility alone. Under this section, the +Commercial Contributor would have to defend claims against the other +Contributors related to those performance claims and warranties, and if a court +requires any other Contributor to pay any damages as a result, the Commercial +Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR +IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each +Recipient is solely responsible for determining the appropriateness of using +and distributing the Program and assumes all risks associated with its exercise +of rights under this Agreement, including but not limited to the risks and +costs of program errors, compliance with applicable laws, damage to or loss of +data, programs or equipment, and unavailability or interruption of operations. + + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY +CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST +PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY +WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS +GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of the +remainder of the terms of this Agreement, and without further action by the +parties hereto, such provision shall be reformed to the minimum extent +necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against a Contributor with respect +to a patent applicable to software (including a cross-claim or counterclaim in +a lawsuit), then any patent licenses granted by that Contributor to such +Recipient under this Agreement shall terminate as of the date such litigation +is filed. In addition, if Recipient institutes patent litigation against any +entity (including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other software or +hardware) infringes such Recipient's patent(s), then such Recipient's rights +granted under Section 2(b) shall terminate as of the date such litigation is +filed. + +All Recipient's rights under this Agreement shall terminate if it fails to +comply with any of the material terms or conditions of this Agreement and does +not cure such failure in a reasonable period of time after becoming aware of +such noncompliance. If all Recipient's rights under this Agreement terminate, +Recipient agrees to cease use and distribution of the Program as soon as +reasonably practicable. However, Recipient's obligations under this Agreement +and any licenses granted by Recipient relating to the Program shall continue +and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in +order to avoid inconsistency the Agreement is copyrighted and may only be +modified in the following manner. The Agreement Steward reserves the right to +publish new versions (including revisions) of this Agreement from time to time. +No one other than the Agreement Steward has the right to modify this Agreement. +IBM is the initial Agreement Steward. IBM may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the +intellectual property laws of the United States of America. No party to this +Agreement will bring a legal action under this Agreement more than one year +after the cause of action arose. Each party waives its rights to a jury trial +in any resulting litigation. diff --git a/licenses/deps b/licenses/deps new file mode 100644 index 0000000..fd40910 --- /dev/null +++ b/licenses/deps @@ -0,0 +1,4 @@ + + + + diff --git a/licenses/eclipse-1.0.txt b/licenses/eclipse-1.0.txt new file mode 100644 index 0000000..f61d34d --- /dev/null +++ b/licenses/eclipse-1.0.txt @@ -0,0 +1,88 @@ +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + +a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and +b) in the case of each subsequent Contributor: + +i) changes to the Program, and + +ii) additions to the Program; + +where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this Agreement. + +"Recipient" means anyone who receives the Program under this Agreement, including all Contributors. + +2. GRANT OF RIGHTS + +a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form. + +b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder. + +c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program. + +d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that: + +a) it complies with the terms and conditions of this Agreement; and + +b) its license agreement: + +i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; + +ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; + +iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and + +iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange. + +When the Program is made available in source code form: + +a) it must be made available under this Agreement; and + +b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained within the Program. + +Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense. + +For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation. + + diff --git a/licenses/perlartistic.txt b/licenses/perlartistic.txt new file mode 100644 index 0000000..aaf7c88 --- /dev/null +++ b/licenses/perlartistic.txt @@ -0,0 +1,151 @@ +NAME + perlartistic - the Perl Artistic License + +SYNOPSIS + You can refer to this document in Pod via "L" + Or you can see this document by entering "perldoc perlartistic" + +DESCRIPTION + This is "The Artistic License". It's here so that modules, programs, + etc., that want to declare this as their distribution license, can link + to it. + + It is also one of the two licenses Perl allows itself to be + redistributed and/or modified; for the other one, the GNU General Public + License, see the perlgpl. + +The "Artistic License" + Preamble + The intent of this document is to state the conditions under which a + Package may be copied, such that the Copyright Holder maintains some + semblance of artistic control over the development of the package, while + giving the users of the package the right to use and distribute the + Package in a more-or-less customary fashion, plus the right to make + reasonable modifications. + + Definitions + "Package" + refers to the collection of files distributed by the Copyright + Holder, and derivatives of that collection of files created through + textual modification. + + "Standard Version" + refers to such a Package if it has not been modified, or has been + modified in accordance with the wishes of the Copyright Holder as + specified below. + + "Copyright Holder" + is whoever is named in the copyright or copyrights for the package. + + "You" + is you, if you're thinking about copying or distributing this + Package. + + "Reasonable copying fee" + is whatever you can justify on the basis of media cost, duplication + charges, time of people involved, and so on. (You will not be + required to justify it to the Copyright Holder, but only to the + computing community at large as a market that must bear the fee.) + + "Freely Available" + means that no fee is charged for the item itself, though there may + be fees involved in handling the item. It also means that recipients + of the item may redistribute it under the same conditions they + received it. + + Conditions + 1. You may make and give away verbatim copies of the source form of the + Standard Version of this Package without restriction, provided that + you duplicate all of the original copyright notices and associated + disclaimers. + + 2. You may apply bug fixes, portability fixes and other modifications + derived from the Public Domain or from the Copyright Holder. A + Package modified in such a way shall still be considered the + Standard Version. + + 3. You may otherwise modify your copy of this Package in any way, + provided that you insert a prominent notice in each changed file + stating how and when you changed that file, and provided that you do + at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise make + them Freely Available, such as by posting said modifications to + Usenet or an equivalent medium, or placing the modifications on + a major archive site such as uunet.uu.net, or by allowing the + Copyright Holder to include your modifications in the Standard + Version of the Package. + + b) use the modified Package only within your corporation or + organization. + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and + provide a separate manual page for each non-standard executable + that clearly documents how it differs from the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + + 4. You may distribute the programs of this Package in object code or + executable form, provided that you do at least ONE of the following: + + a) distribute a Standard Version of the executables and library + files, together with instructions (in the manual page or + equivalent) on where to get the Standard Version. + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), + together with instructions on where to get the Standard Version. + + d) make other distribution arrangements with the Copyright Holder. + + 5. You may charge a reasonable copying fee for any distribution of this + Package. You may charge any fee you choose for support of this + Package. You may not charge a fee for this Package itself. However, + you may distribute this Package in aggregate with other (possibly + commercial) programs as part of a larger (possibly commercial) + software distribution provided that you do not advertise this + Package as a product of your own. You may embed this Package's + interpreter within an executable of yours (by linking); this shall + be construed as a mere form of aggregation, provided that the + complete Standard Version of the interpreter is so embedded. + + 6. The scripts and library files supplied as input to or produced as + output from the programs of this Package do not automatically fall + under the copyright of this Package, but belong to whoever generated + them, and may be sold commercially, and may be aggregated with this + Package. If such scripts or library files are aggregated with this + Package via the so-called "undump" or "unexec" methods of producing + a binary executable image, then distribution of such an image shall + neither be construed as a distribution of this Package nor shall it + fall under the restrictions of Paragraphs 3 and 4, provided that you + do not represent such an executable image as a Standard Version of + this Package. + + 7. C subroutines (or comparably compiled subroutines in other + languages) supplied by you and linked into this Package in order to + emulate subroutines and variables of the language defined by this + Package shall not be considered part of this Package, but are the + equivalent of input as in Paragraph 6, provided these subroutines do + not change the language in any way that would cause it to fail the + regression tests for the language. + + 8. Aggregation of this Package with a commercial distribution is always + permitted provided that the use of this Package is embedded; that + is, when no overt attempt is made to make this Package's interfaces + visible to the end user of the commercial distribution. Such use + shall not be construed as a distribution of this Package. + + 9. The name of the Copyright Holder may not be used to endorse or + promote products derived from this software without specific prior + written permission. + + 10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED + WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF + MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + + The End + diff --git a/licenses/python-2.txt b/licenses/python-2.txt new file mode 100644 index 0000000..454f4ea --- /dev/null +++ b/licenses/python-2.txt @@ -0,0 +1,193 @@ +PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 +-------------------------------------------- + +1. This LICENSE AGREEMENT is between the Python Software Foundation +("PSF"), and the Individual or Organization ("Licensee") accessing and +otherwise using this software ("Python") in source or binary form and +its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, PSF +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python +alone or in any derivative version, provided, however, that PSF's +License Agreement and PSF's notice of copyright, i.e., "Copyright (c) +2001, 2002, 2003, 2004, 2005, 2006, 2007 Python Software Foundation; +All Rights Reserved" are retained in Python alone or in any derivative +version prepared by Licensee. + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python. + +4. PSF is making Python available to Licensee on an "AS IS" +basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. Nothing in this License Agreement shall be deemed to create any +relationship of agency, partnership, or joint venture between PSF and +Licensee. This License Agreement does not grant permission to use PSF +trademarks or trade name in a trademark sense to endorse or promote +products or services of Licensee, or any third party. + +8. By copying, installing or otherwise using Python, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 +------------------------------------------- + +BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 + +1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an +office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the +Individual or Organization ("Licensee") accessing and otherwise using +this software in source or binary form and its associated +documentation ("the Software"). + +2. Subject to the terms and conditions of this BeOpen Python License +Agreement, BeOpen hereby grants Licensee a non-exclusive, +royalty-free, world-wide license to reproduce, analyze, test, perform +and/or display publicly, prepare derivative works, distribute, and +otherwise use the Software alone or in any derivative version, +provided, however, that the BeOpen Python License is retained in the +Software, alone or in any derivative version prepared by Licensee. + +3. BeOpen is making the Software available to Licensee on an "AS IS" +basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE +SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS +AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY +DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +5. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +6. This License Agreement shall be governed by and interpreted in all +respects by the law of the State of California, excluding conflict of +law provisions. Nothing in this License Agreement shall be deemed to +create any relationship of agency, partnership, or joint venture +between BeOpen and Licensee. This License Agreement does not grant +permission to use BeOpen trademarks or trade names in a trademark +sense to endorse or promote products or services of Licensee, or any +third party. As an exception, the "BeOpen Python" logos available at +http://www.pythonlabs.com/logos.html may be used according to the +permissions granted on that web page. + +7. By copying, installing or otherwise using the software, Licensee +agrees to be bound by the terms and conditions of this License +Agreement. + + +CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 +--------------------------------------- + +1. This LICENSE AGREEMENT is between the Corporation for National +Research Initiatives, having an office at 1895 Preston White Drive, +Reston, VA 20191 ("CNRI"), and the Individual or Organization +("Licensee") accessing and otherwise using Python 1.6.1 software in +source or binary form and its associated documentation. + +2. Subject to the terms and conditions of this License Agreement, CNRI +hereby grants Licensee a nonexclusive, royalty-free, world-wide +license to reproduce, analyze, test, perform and/or display publicly, +prepare derivative works, distribute, and otherwise use Python 1.6.1 +alone or in any derivative version, provided, however, that CNRI's +License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) +1995-2001 Corporation for National Research Initiatives; All Rights +Reserved" are retained in Python 1.6.1 alone or in any derivative +version prepared by Licensee. Alternately, in lieu of CNRI's License +Agreement, Licensee may substitute the following text (omitting the +quotes): "Python 1.6.1 is made available subject to the terms and +conditions in CNRI's License Agreement. This Agreement together with +Python 1.6.1 may be located on the Internet using the following +unique, persistent identifier (known as a handle): 1895.22/1013. This +Agreement may also be obtained from a proxy server on the Internet +using the following URL: http://hdl.handle.net/1895.22/1013". + +3. In the event Licensee prepares a derivative work that is based on +or incorporates Python 1.6.1 or any part thereof, and wants to make +the derivative work available to others as provided herein, then +Licensee hereby agrees to include in any such work a brief summary of +the changes made to Python 1.6.1. + +4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" +basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND +DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT +INFRINGE ANY THIRD PARTY RIGHTS. + +5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON +1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS +A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, +OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. + +6. This License Agreement will automatically terminate upon a material +breach of its terms and conditions. + +7. This License Agreement shall be governed by the federal +intellectual property law of the United States, including without +limitation the federal copyright law, and, to the extent such +U.S. federal law does not apply, by the law of the Commonwealth of +Virginia, excluding Virginia's conflict of law provisions. +Notwithstanding the foregoing, with regard to derivative works based +on Python 1.6.1 that incorporate non-separable material that was +previously distributed under the GNU General Public License (GPL), the +law of the Commonwealth of Virginia shall govern this License +Agreement only as to issues arising under or with respect to +Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this +License Agreement shall be deemed to create any relationship of +agency, partnership, or joint venture between CNRI and Licensee. This +License Agreement does not grant permission to use CNRI trademarks or +trade name in a trademark sense to endorse or promote products or +services of Licensee, or any third party. + +8. By clicking on the "ACCEPT" button where indicated, or by copying, +installing or otherwise using Python 1.6.1, Licensee agrees to be +bound by the terms and conditions of this License Agreement. + + ACCEPT + + +CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 +-------------------------------------------------- + +Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, +The Netherlands. All rights reserved. + +Permission to use, copy, modify, and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation, and that the name of Stichting Mathematisch +Centrum or CWI not be used in advertising or publicity pertaining to +distribution of the software without specific, written prior +permission. + +STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT +OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/licenses/ruby-license.txt b/licenses/ruby-license.txt new file mode 100644 index 0000000..426810a --- /dev/null +++ b/licenses/ruby-license.txt @@ -0,0 +1,56 @@ +Ruby is copyrighted free software by Yukihiro Matsumoto . +You can redistribute it and/or modify it under either the terms of the +2-clause BSDL (see the file BSDL), or the conditions below: + + 1. You may make and give away verbatim copies of the source form of the + software without restriction, provided that you duplicate all of the + original copyright notices and associated disclaimers. + + 2. You may modify your copy of the software in any way, provided that + you do at least ONE of the following: + + a) place your modifications in the Public Domain or otherwise + make them Freely Available, such as by posting said + modifications to Usenet or an equivalent medium, or by allowing + the author to include your modifications in the software. + + b) use the modified software only within your corporation or + organization. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 3. You may distribute the software in object code or binary form, + provided that you do at least ONE of the following: + + a) distribute the binaries and library files of the software, + together with instructions (in the manual page or equivalent) + on where to get the original distribution. + + b) accompany the distribution with the machine-readable source of + the software. + + c) give non-standard binaries non-standard names, with + instructions on where to get the original software distribution. + + d) make other distribution arrangements with the author. + + 4. You may modify and include the part of the software into any other + software (possibly commercial). But some files in the distribution + are not written by the author, so that they are not under these terms. + + For the list of those files and their copying conditions, see the + file LEGAL. + + 5. The scripts and library files supplied as input to or produced as + output from the software do not automatically fall under the + copyright of the software, but belong to whomever generated them, + and may be sold commercially, and may be aggregated with this + software. + + 6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. diff --git a/licenses/time b/licenses/time new file mode 100644 index 0000000..77daada --- /dev/null +++ b/licenses/time @@ -0,0 +1,3 @@ +real 0m2.552s +user 0m2.317s +sys 0m0.430s diff --git a/licenses/w3c.txt b/licenses/w3c.txt new file mode 100644 index 0000000..6a29463 --- /dev/null +++ b/licenses/w3c.txt @@ -0,0 +1,76 @@ +W3C Software Notice and License + +This work (and included software, documentation such as READMEs, or +other related items) is being provided by the copyright holders under +the following license. + +License + +By obtaining, using and/or copying this work, you (the licensee) agree +that you have read, understood, and will comply with the following +terms and conditions. + +Permission to copy, modify, and distribute this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications: + + - The full text of this NOTICE in a location viewable to users of + the redistributed or derivative work. + + - Any pre-existing intellectual property disclaimers, notices, or + terms and conditions. If none exist, the W3C Software Short + Notice should be included (hypertext is preferred, text is + permitted) within the body of any redistributed or derivative + code. + *"W3C Software Short Notice" above links to: + www.w3.org/Consortium/Legal/2002/copyright-software-short-notice-20021231.html + + - Notice of any changes or modifications to the files, including + the date changes were made. (We recommend you provide URIs to + the location from which the code is derived.) + +Disclaimers + +THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT +HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS +FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR +DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, +TRADEMARKS OR OTHER RIGHTS. + +COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL +OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR +DOCUMENTATION. + +The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without specific, +written prior permission. Title to copyright in this software and any +associated documentation will at all times remain with copyright +holders. Notes + +This version: +http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + +This formulation of W3C's notice and license became active on December +31 2002. This version removes the copyright ownership notice such that +this license can be used with materials other than those owned by the +W3C, reflects that ERCIM is now a host of the W3C, includes references +to this specific dated version of the license, and removes the +ambiguous grant of "use". Otherwise, this version is the same as the +previous version and is written so as to preserve the Free Software +Foundation's assessment of GPL compatibility and OSI's certification +under the Open Source Definition. + + *"previous version" above links to: + http://www.w3.org/Consortium/Legal/copyright-software-19980720 + + *"Free Software Foundation's assessment of GPL compatibility" links to: + http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses + + *"OSI's certification" above links to: + http://opensource.org/licenses/W3C.php + + *"Open Source Definition" above links to: + http://opensource.org/docs/definition.php diff --git a/links/PKGBUILD b/links/PKGBUILD new file mode 100644 index 0000000..159ed39 --- /dev/null +++ b/links/PKGBUILD @@ -0,0 +1,73 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=links +pkgver=2.25 +pkgrel=01 +pkgdesc='A text WWW browser, similar to Lynx' +arch=('x86_64') +url='http://links.twibright.com/' +depends=('brotli' 'libbrotlidec.so' 'bzip2' 'libbz2.so' 'gpm' 'libgpm.so' + 'libevent' 'openssl' 'pcre' 'xz' 'zstd' 'libzstd.so') +makedepends=('libtiff' 'libpng' 'libxt' 'librsvg') +optdepends=('libx11: for using xlinks' + 'libtiff: for using xlinks' + 'libpng: for using xlinks' + 'librsvg: for using xlinks') +source=("http://links.twibright.com/download/${pkgname}-${pkgver}.tar.bz2" + 'links.desktop') + +configure_options=( + --prefix=/usr + --mandir=/usr/share/man + --disable-javascript +) + +prepare() { + cd ${pkgname}-${pkgver} + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure +} + +build() { + cd ${pkgname}-${pkgver} + (cd intl; ./gen-intl; ./synclang) + ./configure \ + "${configure_options[@]}" \ + --enable-graphics \ + --with-x \ + --with-fb + make + mv links xlinks + + ./configure \ + "${configure_options[@]}" \ + --disable-graphics \ + --without-x \ + --without-fb + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + install -D -m0755 xlinks "${pkgdir}/usr/bin/xlinks" + ln -s links.1.gz "${pkgdir}/usr/share/man/man1/xlinks.1.gz" + + install -D -m0644 "${srcdir}/links.desktop" "${pkgdir}/usr/share/applications/links.desktop" + install -d "${pkgdir}/usr/share/pixmaps" + install -m0644 links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm links-48x48.xpm "${pkgdir}/usr/share/pixmaps/" + + install -d "${pkgdir}/usr/share/doc/links/calibration" + install -m0644 doc/links_cal/* "${pkgdir}/usr/share/doc/links/calibration/" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(2dd78508698e8279ef4f09a3a2a21e9595040113402da6c553974414fb49dd2c # links-2.25.tar.bz2 + f96bf2638e9c309bfdb857bd62a732b980231b3a683cd585ec872b249c2c1b19) # links.desktop diff --git a/links/PKGBUILD-arch b/links/PKGBUILD-arch new file mode 100644 index 0000000..2558fa5 --- /dev/null +++ b/links/PKGBUILD-arch @@ -0,0 +1,66 @@ +# Maintainer: Christian Hesse +# Contributor: Eric Bélanger + +pkgname=links +pkgver=2.25 +pkgrel=1 +pkgdesc='A text WWW browser, similar to Lynx' +arch=('x86_64') +url='http://links.twibright.com/' +license=('GPL') +depends=('brotli' 'libbrotlidec.so' 'bzip2' 'libbz2.so' 'gpm' 'libgpm.so' + 'libevent' 'openssl' 'pcre' 'xz' 'zstd' 'libzstd.so') +makedepends=('libtiff' 'libpng' 'libxt' 'librsvg') +optdepends=('libx11: for using xlinks' + 'libtiff: for using xlinks' + 'libpng: for using xlinks' + 'librsvg: for using xlinks') +source=("http://links.twibright.com/download/${pkgname}-${pkgver}.tar.bz2" + 'links.desktop') +sha256sums=('2dd78508698e8279ef4f09a3a2a21e9595040113402da6c553974414fb49dd2c' + 'f96bf2638e9c309bfdb857bd62a732b980231b3a683cd585ec872b249c2c1b19') + +configure_options=( + --prefix=/usr + --mandir=/usr/share/man + --disable-javascript +) + +prepare() { + cd ${pkgname}-${pkgver} + sed -i "/ac_cpp=/s/\$CPPFLAGS/\$CPPFLAGS -O2/" configure +} + +build() { + cd ${pkgname}-${pkgver} + (cd intl; ./gen-intl; ./synclang) + ./configure \ + "${configure_options[@]}" \ + --enable-graphics \ + --with-x \ + --with-fb + make + mv links xlinks + + ./configure \ + "${configure_options[@]}" \ + --disable-graphics \ + --without-x \ + --without-fb + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + + install -D -m0755 xlinks "${pkgdir}/usr/bin/xlinks" + ln -s links.1.gz "${pkgdir}/usr/share/man/man1/xlinks.1.gz" + + install -D -m0644 "${srcdir}/links.desktop" "${pkgdir}/usr/share/applications/links.desktop" + install -d "${pkgdir}/usr/share/pixmaps" + install -m0644 links_16x16_1.xpm links_16x16_2.xpm links_32x32.xpm links-48x48.xpm "${pkgdir}/usr/share/pixmaps/" + + install -d "${pkgdir}/usr/share/doc/links/calibration" + install -m0644 doc/links_cal/* "${pkgdir}/usr/share/doc/links/calibration/" +} diff --git a/links/clean b/links/clean new file mode 100644 index 0000000..b657c82 --- /dev/null +++ b/links/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,links*bz2} diff --git a/links/deps b/links/deps new file mode 100644 index 0000000..1bc2544 --- /dev/null +++ b/links/deps @@ -0,0 +1,7 @@ +gpm +libevent +libtiff +libpng +libxt +librsvg + diff --git a/links/links.desktop b/links/links.desktop new file mode 100644 index 0000000..275d20f --- /dev/null +++ b/links/links.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Links +Comment=Minimal web browser in graphical mode +Exec=xlinks -g +Icon=links-48x48.xpm +Type=Application +Terminal=false +Categories=Network;WebBrowser; diff --git a/links/time b/links/time new file mode 100644 index 0000000..9a80c5e --- /dev/null +++ b/links/time @@ -0,0 +1,3 @@ +real 0m55.146s +user 2m6.969s +sys 0m8.232s diff --git a/linux-api-headers/PKGBUILD b/linux-api-headers/PKGBUILD new file mode 100644 index 0000000..afbb053 --- /dev/null +++ b/linux-api-headers/PKGBUILD @@ -0,0 +1,40 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=linux-api-headers +pkgver=5.16.8 +pkgrel=01 +pkgdesc='Kernel headers sanitized for use in userspace' +arch=(any) +url='https://www.gnu.org/software/libc' +makedepends=(rsync) +source=(https://www.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.{xz,sign}) + +build() { + cd linux-$pkgver + + make mrproper + make headers_check +} + +package() { + cd linux-$pkgver + make INSTALL_HDR_PATH="$pkgdir/usr" headers_install + + # use headers from libdrm + rm -r "$pkgdir/usr/include/drm" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL2) + +validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman + +sha256sums=(52aa5f05ee8addcc1ec0020f50e5f88ea1a308c2afac4a2305e1e4cf42580316 # linux-5.16.8.tar.xz + f28f6b6ac9a4e8be4e2e801b881bf8cbcd64446c5aa18346006274549d27bf2f) # linux-5.16.8.tar.sign diff --git a/linux-api-headers/PKGBUILD-arch b/linux-api-headers/PKGBUILD-arch new file mode 100644 index 0000000..facca10 --- /dev/null +++ b/linux-api-headers/PKGBUILD-arch @@ -0,0 +1,35 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Frederik Schwan +# Contributor: Bartłomiej Piotrowski +# Contributor: Allan McRae + +# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + +pkgname=linux-api-headers +pkgver=5.16.8 +pkgrel=1 +pkgdesc='Kernel headers sanitized for use in userspace' +arch=(any) +url='https://www.gnu.org/software/libc' +license=(GPL2) +makedepends=(rsync) +source=(https://www.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.{xz,sign}) +sha256sums=('52aa5f05ee8addcc1ec0020f50e5f88ea1a308c2afac4a2305e1e4cf42580316' + 'SKIP') +validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman + +build() { + cd linux-$pkgver + + make mrproper + make headers_check +} + +package() { + cd linux-$pkgver + make INSTALL_HDR_PATH="$pkgdir/usr" headers_install + + # use headers from libdrm + rm -r "$pkgdir/usr/include/drm" +} diff --git a/linux-api-headers/PKGBUILD.5.12.3 b/linux-api-headers/PKGBUILD.5.12.3 new file mode 100644 index 0000000..ffe2285 --- /dev/null +++ b/linux-api-headers/PKGBUILD.5.12.3 @@ -0,0 +1,73 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- +# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc + +pkgname=linux-api-headers +pkgver=5.12.3 +pkgrel=01 +pkgdesc='Kernel headers sanitized for use in userspace' +arch=(any) +url='https://www.gnu.org/software/libc' +makedepends=(rsync) +source=(https://www.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.{xz,sign}) + +build() { + cd linux-$pkgver + + make mrproper + make headers_check +} + +package() { + cd linux-$pkgver + make INSTALL_HDR_PATH="$pkgdir/usr" headers_install + + # use headers from libdrm + rm -r "$pkgdir/usr/include/drm" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL2) + +validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman + +sha512sums=('295a943bb0d2366715c844a6e2ca424d17f4caceab8c9e095250851857928902a5deb8aa51cff5c3c7e982d168f79f4df3a39bdd47ec22b51237c91732dc8af0' # linux-5.12.3.tar.xz + '2739dc235a48203113af4e6c9ab595c13cfad3b80e6dccd2f62c168eb667e4aacbeedaecc14e5195222043acef2344d8cf552ad9ac54756f677958ebeadbe30b') # linux-5.12.3.tar.sign + +sha256sums=(133714a87a8b0ed1959587a8a5aff9faf47dd0fc8feeac08cca408f7e392878d # linux-5.12.3.tar.xz + 804c5bd021e8ed2814d7d6b2fd639780704a091479c59d347ffc4fe3c1685640) # linux-5.12.3.tar.sign +####### diffs between old and new Arch PKGBUILD +--- PKGBUILD-arch 2021-10-05 08:55:48.000000000 +0000 ++++ PKGBUILD-arch.new 2022-02-10 12:12:01.792299607 +0000 +@@ -1,10 +1,12 @@ +-# Maintainer: Bartłomiej Piotrowski ++# Maintainer: Giancarlo Razzolini ++# Maintainer: Frederik Schwan ++# Contributor: Bartłomiej Piotrowski + # Contributor: Allan McRae + +-# toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc ++# toolchain build order: linux-api-headers->glibc->binutils->gcc->glibc->binutils->gcc + + pkgname=linux-api-headers +-pkgver=5.12.3 ++pkgver=5.16.8 + pkgrel=1 + pkgdesc='Kernel headers sanitized for use in userspace' + arch=(any) +@@ -12,7 +14,7 @@ + license=(GPL2) + makedepends=(rsync) + source=(https://www.kernel.org/pub/linux/kernel/v${pkgver:0:1}.x/linux-${pkgver}.tar.{xz,sign}) +-sha256sums=('133714a87a8b0ed1959587a8a5aff9faf47dd0fc8feeac08cca408f7e392878d' ++sha256sums=('52aa5f05ee8addcc1ec0020f50e5f88ea1a308c2afac4a2305e1e4cf42580316' + 'SKIP') + validpgpkeys=('ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E') # Greg Kroah-Hartman +scan for systemd ipv6 service & socket +##### systemd crap in new PKGBUILD ### diff --git a/linux-api-headers/clean b/linux-api-headers/clean new file mode 100644 index 0000000..f4451c6 --- /dev/null +++ b/linux-api-headers/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*tar.*} diff --git a/linux-api-headers/deps b/linux-api-headers/deps new file mode 100644 index 0000000..49c7ea4 --- /dev/null +++ b/linux-api-headers/deps @@ -0,0 +1,2 @@ +rsync + diff --git a/linux-api-headers/key b/linux-api-headers/key new file mode 100644 index 0000000..51fac25 --- /dev/null +++ b/linux-api-headers/key @@ -0,0 +1 @@ +gpg -v --recv-key 38DBBDC86092693E diff --git a/linux-api-headers/time b/linux-api-headers/time new file mode 100644 index 0000000..c1ba677 --- /dev/null +++ b/linux-api-headers/time @@ -0,0 +1,4 @@ +real 0m40.840s +user 0m58.464s +sys 0m8.695s + diff --git a/linux-firmware/PKGBUILD b/linux-firmware/PKGBUILD new file mode 100644 index 0000000..e5546db --- /dev/null +++ b/linux-firmware/PKGBUILD @@ -0,0 +1,85 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=linux-firmware +pkgname=(linux-firmware amd-ucode) +#_tag=20211027 +#_tag=20190923 +_tag=20191022 +#pkgver=20211027.1d00989 +#pkgver=20190923.417a9c6 +pkgver=20191022.2b016af +pkgrel=01 +pkgdesc="Firmware files for Linux" +url="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary" +arch=('any') +makedepends=('git') +options=(!strip) +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git#tag=${_tag}?signed") + +_backports=( +) + +prepare() { + cd ${pkgname} + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done +} + +pkgver() { + cd ${pkgname} + + # Commit date + short rev + echo $(TZ=UTC git show -s --pretty=%cd --date=format-local:%Y%m%d HEAD).$(git rev-parse --short HEAD) +} + +build() { + mkdir -p kernel/x86/microcode + cat ${pkgbase}/amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin + + # Reproducibility: set the timestamp on the bin file + if [[ -n ${SOURCE_DATE_EPOCH} ]]; then + touch -d @${SOURCE_DATE_EPOCH} kernel/x86/microcode/AuthenticAMD.bin + fi + + # Reproducibility: strip the inode and device numbers from the cpio archive + echo kernel/x86/microcode/AuthenticAMD.bin | + bsdtar --uid 0 --gid 0 -cnf - -T - | + bsdtar --null -cf - --format=newc @- > amd-ucode.img +} + +package_linux-firmware() { + cd ${pkgname} + + make DESTDIR="${pkgdir}" FIRMWAREDIR=/usr/lib/firmware install + + # Trigger a microcode reload for configurations not using early updates + echo 'w /sys/devices/system/cpu/microcode/reload - - - - 1' | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICEN* WHENCE +} + +package_amd-ucode() { + pkgdesc="Microcode update image for AMD CPUs" + license=(custom) + + install -Dt "${pkgdir}/boot" -m644 amd-ucode.img + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/LICENSE.amd-ucode +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'GPL3' 'custom') + +validpgpkeys=('4CDE8575E547BF835FE15807A31B6BD72486CFD6') # Josh Boyer + +sha256sums=(SKIP) diff --git a/linux-firmware/PKGBUILD-20190923 b/linux-firmware/PKGBUILD-20190923 new file mode 100644 index 0000000..d9fcf08 --- /dev/null +++ b/linux-firmware/PKGBUILD-20190923 @@ -0,0 +1,84 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=linux-firmware +pkgname=(linux-firmware amd-ucode) +#_tag=20211027 +_tag=20190923 +#pkgver=20211027.1d00989 +pkgver=20190923.417a9c6 + +pkgrel=01 +pkgdesc="Firmware files for Linux" +url="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary" +arch=('any') +makedepends=('git') +options=(!strip) +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git#tag=${_tag}?signed") + +_backports=( +) + +prepare() { + cd ${pkgname} + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done +} + +pkgver() { + cd ${pkgname} + + # Commit date + short rev + echo $(TZ=UTC git show -s --pretty=%cd --date=format-local:%Y%m%d HEAD).$(git rev-parse --short HEAD) +} + +build() { + mkdir -p kernel/x86/microcode + cat ${pkgbase}/amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin + + # Reproducibility: set the timestamp on the bin file + if [[ -n ${SOURCE_DATE_EPOCH} ]]; then + touch -d @${SOURCE_DATE_EPOCH} kernel/x86/microcode/AuthenticAMD.bin + fi + + # Reproducibility: strip the inode and device numbers from the cpio archive + echo kernel/x86/microcode/AuthenticAMD.bin | + bsdtar --uid 0 --gid 0 -cnf - -T - | + bsdtar --null -cf - --format=newc @- > amd-ucode.img +} + +package_linux-firmware() { + cd ${pkgname} + + make DESTDIR="${pkgdir}" FIRMWAREDIR=/usr/lib/firmware install + + # Trigger a microcode reload for configurations not using early updates + echo 'w /sys/devices/system/cpu/microcode/reload - - - - 1' | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICEN* WHENCE +} + +package_amd-ucode() { + pkgdesc="Microcode update image for AMD CPUs" + license=(custom) + + install -Dt "${pkgdir}/boot" -m644 amd-ucode.img + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/LICENSE.amd-ucode +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'GPL3' 'custom') + +validpgpkeys=('4CDE8575E547BF835FE15807A31B6BD72486CFD6') # Josh Boyer + +sha256sums=(SKIP) diff --git a/linux-firmware/PKGBUILD-arch b/linux-firmware/PKGBUILD-arch new file mode 100644 index 0000000..6abcef1 --- /dev/null +++ b/linux-firmware/PKGBUILD-arch @@ -0,0 +1,74 @@ +# Maintainer: Thomas Bächler + +pkgbase=linux-firmware +pkgname=(linux-firmware amd-ucode) +_tag=20211027 +pkgver=20211027.1d00989 +pkgrel=1 +pkgdesc="Firmware files for Linux" +url="https://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary" +license=('GPL2' 'GPL3' 'custom') +arch=('any') +makedepends=('git') +options=(!strip) +source=("git+https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git#tag=${_tag}?signed") +sha256sums=('SKIP') +validpgpkeys=('4CDE8575E547BF835FE15807A31B6BD72486CFD6') # Josh Boyer + +_backports=( +) + +prepare() { + cd ${pkgname} + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git cherry-pick -n "${_c}" + done +} + +pkgver() { + cd ${pkgname} + + # Commit date + short rev + echo $(TZ=UTC git show -s --pretty=%cd --date=format-local:%Y%m%d HEAD).$(git rev-parse --short HEAD) +} + +build() { + mkdir -p kernel/x86/microcode + cat ${pkgbase}/amd-ucode/microcode_amd*.bin > kernel/x86/microcode/AuthenticAMD.bin + + # Reproducibility: set the timestamp on the bin file + if [[ -n ${SOURCE_DATE_EPOCH} ]]; then + touch -d @${SOURCE_DATE_EPOCH} kernel/x86/microcode/AuthenticAMD.bin + fi + + # Reproducibility: strip the inode and device numbers from the cpio archive + echo kernel/x86/microcode/AuthenticAMD.bin | + bsdtar --uid 0 --gid 0 -cnf - -T - | + bsdtar --null -cf - --format=newc @- > amd-ucode.img +} + +package_linux-firmware() { + cd ${pkgname} + + make DESTDIR="${pkgdir}" FIRMWAREDIR=/usr/lib/firmware install + + # Trigger a microcode reload for configurations not using early updates + echo 'w /sys/devices/system/cpu/microcode/reload - - - - 1' | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 LICEN* WHENCE +} + +package_amd-ucode() { + pkgdesc="Microcode update image for AMD CPUs" + license=(custom) + + install -Dt "${pkgdir}/boot" -m644 amd-ucode.img + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 ${pkgbase}/LICENSE.amd-ucode +} + +# vim:set sw=2 et: diff --git a/linux-firmware/clean b/linux-firmware/clean new file mode 100644 index 0000000..66e61af --- /dev/null +++ b/linux-firmware/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,linux-firmware} diff --git a/linux-firmware/deps b/linux-firmware/deps new file mode 100644 index 0000000..6a91c13 --- /dev/null +++ b/linux-firmware/deps @@ -0,0 +1,2 @@ +git + diff --git a/linux-firmware/key b/linux-firmware/key new file mode 100644 index 0000000..3880976 --- /dev/null +++ b/linux-firmware/key @@ -0,0 +1 @@ +gpg -v --recv-key A31B6BD72486CFD6 diff --git a/linux-firmware/time b/linux-firmware/time new file mode 100644 index 0000000..1f9ced1 --- /dev/null +++ b/linux-firmware/time @@ -0,0 +1,5 @@ + +real 0m46.534s +user 2m6.552s +sys 0m2.701s + diff --git a/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch new file mode 100644 index 0000000..5e275b0 --- /dev/null +++ b/linux-lts/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -0,0 +1,151 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 16 Sep 2019 04:53:20 +0200 +Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged + CLONE_NEWUSER + +Our default behavior continues to match the vanilla kernel. +--- + include/linux/user_namespace.h | 4 ++++ + init/Kconfig | 16 ++++++++++++++++ + kernel/fork.c | 14 ++++++++++++++ + kernel/sysctl.c | 12 ++++++++++++ + kernel/user_namespace.c | 7 +++++++ + 5 files changed, 53 insertions(+) + +diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h +index 7616c7bf4b24..bdbfcfe5df1e 100644 +--- a/include/linux/user_namespace.h ++++ b/include/linux/user_namespace.h +@@ -109,6 +109,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type); + + #ifdef CONFIG_USER_NS + ++extern int unprivileged_userns_clone; ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + if (ns) +@@ -142,6 +144,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); + struct ns_common *ns_get_owner(struct ns_common *ns); + #else + ++#define unprivileged_userns_clone 0 ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + return &init_user_ns; +diff --git a/init/Kconfig b/init/Kconfig +index fc4c9f416fad..3707cc8b4d7b 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -1172,6 +1172,22 @@ config USER_NS + + If unsure, say N. + ++config USER_NS_UNPRIVILEGED ++ bool "Allow unprivileged users to create namespaces" ++ default y ++ depends on USER_NS ++ help ++ When disabled, unprivileged users will not be able to create ++ new namespaces. Allowing users to create their own namespaces ++ has been part of several recent local privilege escalation ++ exploits, so if you need user namespaces but are ++ paranoid^Wsecurity-conscious you want to disable this. ++ ++ This setting can be overridden at runtime via the ++ kernel.unprivileged_userns_clone sysctl. ++ ++ If unsure, say Y. ++ + config PID_NS + bool "PID Namespaces" + default y +diff --git a/kernel/fork.c b/kernel/fork.c +index 7c044d377926..3c70b2fe5946 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c +@@ -97,6 +97,10 @@ + #include + #include + ++#ifdef CONFIG_USER_NS ++#include ++#endif ++ + #include + #include + #include +@@ -1871,6 +1875,10 @@ static __latent_entropy struct task_struct *copy_process( + if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) + return ERR_PTR(-EINVAL); + ++ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) ++ if (!capable(CAP_SYS_ADMIN)) ++ return ERR_PTR(-EPERM); ++ + /* + * Thread groups must share signals as well, and detached threads + * can only be started up within the thread group. +@@ -2936,6 +2944,12 @@ int ksys_unshare(unsigned long unshare_flags) + if (unshare_flags & CLONE_NEWNS) + unshare_flags |= CLONE_FS; + ++ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { ++ err = -EPERM; ++ if (!capable(CAP_SYS_ADMIN)) ++ goto bad_unshare_out; ++ } ++ + err = check_unshare_flags(unshare_flags); + if (err) + goto bad_unshare_out; +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index b9306d2bb426..891b250db88e 100644 +--- a/kernel/sysctl.c ++++ b/kernel/sysctl.c +@@ -103,6 +103,9 @@ + #ifdef CONFIG_LOCKUP_DETECTOR + #include + #endif ++#ifdef CONFIG_USER_NS ++#include ++#endif + + #if defined(CONFIG_SYSCTL) + +@@ -1902,6 +1905,15 @@ static struct ctl_table kern_table[] = { + .proc_handler = proc_dointvec, + }, + #endif ++#ifdef CONFIG_USER_NS ++ { ++ .procname = "unprivileged_userns_clone", ++ .data = &unprivileged_userns_clone, ++ .maxlen = sizeof(int), ++ .mode = 0644, ++ .proc_handler = proc_dointvec, ++ }, ++#endif + #ifdef CONFIG_PROC_SYSCTL + { + .procname = "tainted", +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index ce396ea4de60..c3a6ef1f10ed 100644 +--- a/kernel/user_namespace.c ++++ b/kernel/user_namespace.c +@@ -21,6 +21,13 @@ + #include + #include + ++/* sysctl */ ++#ifdef CONFIG_USER_NS_UNPRIVILEGED ++int unprivileged_userns_clone = 1; ++#else ++int unprivileged_userns_clone; ++#endif ++ + static struct kmem_cache *user_ns_cachep __read_mostly; + static DEFINE_MUTEX(userns_state_mutex); + diff --git a/linux-lts/PKGBUILD b/linux-lts/PKGBUILD new file mode 100644 index 0000000..58f0b4e --- /dev/null +++ b/linux-lts/PKGBUILD @@ -0,0 +1,216 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=linux-lts +pkgver=5.10.106 +pkgrel=01 +pkgdesc='LTS Linux 5.10 w/o zstd & ipv6' +_url="https://www.kernel.org/" +arch=(x86_64) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) # python-six +options=('!strip') +_srcname=linux-$pkgver +url="https://cdn.kernel.org/pub/linux/kernel" +source=( + $url/v5.x/$_srcname.tar.{xz,sign} + config # the main kernel config file + sha256sums + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +) +# Previously used patches supposedly merged into new kernel version +# 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch +# fix-gpu-hang.diff +# 0002-HID-holtek-fix-mouse-probing.patch + +export KBUILD_BUILD_HOST=joborun +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version... $pkgver" + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting joborunlinux config..." + cp ../config .config + make olddefconfig +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.10.90 +pkgrel=1 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme python-six graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('945e4264c014a3d9dfc0a4639309dd1ec2fb545416556421f931b95da78c2725' + 'SKIP' + '80de9382be09f765b5cb1c11e21a09c99f75a0000bcc10def0542228644ea828' + '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( +Date: Mon, 20 Dec 2021 10:51:20 +0100 +Subject: [PATCH] HID: holtek: fix mouse probing + +An overlook from the previous commit: we don't even parse or start the +device, meaning that the device is not presented to user space. + +Fixes: 93020953d0fa ("HID: check for valid USB device for many HID drivers") +Cc: stable@vger.kernel.org +Link: https://bugs.archlinux.org/task/73048 +Link: https://bugzilla.kernel.org/show_bug.cgi?id=215341 +Link: https://lore.kernel.org/r/e4efbf13-bd8d-0370-629b-6c80c0044b15@leemhuis.info/ +Signed-off-by: Benjamin Tissoires +For: https://bugs.archlinux.org/task/73048 +--- + drivers/hid/hid-holtek-mouse.c | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/drivers/hid/hid-holtek-mouse.c b/drivers/hid/hid-holtek-mouse.c +index b7172c48ef9f08..7c907939bfae1d 100644 +--- a/drivers/hid/hid-holtek-mouse.c ++++ b/drivers/hid/hid-holtek-mouse.c +@@ -65,8 +65,23 @@ static __u8 *holtek_mouse_report_fixup(struct hid_device *hdev, __u8 *rdesc, + static int holtek_mouse_probe(struct hid_device *hdev, + const struct hid_device_id *id) + { ++ int ret; ++ + if (!hid_is_usb(hdev)) + return -EINVAL; ++ ++ ret = hid_parse(hdev); ++ if (ret) { ++ hid_err(hdev, "hid parse failed: %d\n", ret); ++ return ret; ++ } ++ ++ ret = hid_hw_start(hdev, HID_CONNECT_DEFAULT); ++ if (ret) { ++ hid_err(hdev, "hw start failed: %d\n", ret); ++ return ret; ++ } ++ + return 0; + } + diff --git a/linux-lts/reference-material/0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch b/linux-lts/reference-material/0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch new file mode 100644 index 0000000..8e6cee0 --- /dev/null +++ b/linux-lts/reference-material/0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch @@ -0,0 +1,76 @@ +From 50b29ce228d0622eae2b9854c5e4b9334c540a7a Mon Sep 17 00:00:00 2001 +From: Levente Polyak +Date: Thu, 1 Sep 2021 22:19:19 +0200 +Subject: [PATCH] gcc-plugins: modern gcc plugin infrastructure requres c++11 + std + +Bump the used std to c++11 to avoid detection failure. This fixes the +support check on modern gcc plugin infrastructure that requires a +minimum standard of c++11 to compile. + +This effectively requires GCC 4.8.1. + +Signed-off-by: Levente Polyak +--- + scripts/gcc-plugin.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/scripts/gcc-plugin.sh b/scripts/gcc-plugin.sh +index b79fd0bea838..7abc00f60a8b 100755 +--- a/scripts/gcc-plugin.sh ++++ b/scripts/gcc-plugin.sh +@@ -8,7 +8,7 @@ srctree=$(dirname "$0") + gccplugins_dir=$($* -print-file-name=plugin) + + # we need a c++ compiler that supports the designated initializer GNU extension +-$HOSTCC -c -x c++ -std=gnu++98 - -fsyntax-only -I $srctree/gcc-plugins -I $gccplugins_dir/include 2>/dev/null </dev/null < +Date: Sat Dec 26 13:21:58 2020 -0500 + + gcc-plugins: fix gcc 11 indigestion with plugins... + + Fedora Rawhide has started including gcc 11,and the g++ compiler + throws a wobbly when it hits scripts/gcc-plugins: + + HOSTCXX scripts/gcc-plugins/latent_entropy_plugin.so + In file included from /usr/include/c++/11/type_traits:35, + from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/system.h:244, + from /usr/lib/gcc/x86_64-redhat-linux/11/plugin/include/gcc-plugin.h:28, + from scripts/gcc-plugins/gcc-common.h:7, + from scripts/gcc-plugins/latent_entropy_plugin.c:78: + /usr/include/c++/11/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO + C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options. + 32 | #error This file requires compiler and library support \ + + In fact, it works just fine with c++11, which has been in gcc since 4.8, + and we now require 4.9 as a minimum. + + Signed-off-by: Valdis Kletnieks + Acked-by: Josh Poimboeuf + Signed-off-by: Kees Cook + Link: https://lore.kernel.org/r/82487.1609006918@turing-police + +diff --git a/scripts/gcc-plugins/Makefile b/scripts/gcc-plugins/Makefile +index d66949bfeba4..b5487cce69e8 100644 +--- a/scripts/gcc-plugins/Makefile ++++ b/scripts/gcc-plugins/Makefile +@@ -22,9 +22,9 @@ always-y += $(GCC_PLUGIN) + GCC_PLUGINS_DIR = $(shell $(CC) -print-file-name=plugin) + + plugin_cxxflags = -Wp,-MMD,$(depfile) $(KBUILD_HOSTCXXFLAGS) -fPIC \ +- -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++98 \ ++ -I $(GCC_PLUGINS_DIR)/include -I $(obj) -std=gnu++11 \ + -fno-rtti -fno-exceptions -fasynchronous-unwind-tables \ +- -ggdb -Wno-narrowing -Wno-unused-variable -Wno-c++11-compat \ ++ -ggdb -Wno-narrowing -Wno-unused-variable \ + -Wno-format-diag + + plugin_ldflags = -shared diff --git a/linux-lts/reference-material/PKGBUILD-88 b/linux-lts/reference-material/PKGBUILD-88 new file mode 100644 index 0000000..886be3a --- /dev/null +++ b/linux-lts/reference-material/PKGBUILD-88 @@ -0,0 +1,212 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=linux-lts +pkgver=5.10.88 +pkgrel=02 +pkgdesc='LTS Linux' +_url="https://www.kernel.org/" +arch=(x86_64) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +url="https://cdn.kernel.org/pub/linux/kernel" +source=( + $url/v$pkgver%%.*.x/$_srcname.tar.{xz,sign} + config # the main kernel config file + sha256sums + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +# 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch +# fix-gpu-hang.diff + 0002-HID-holtek-fix-mouse-probing.patch +) + +export KBUILD_BUILD_HOST=joborun +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + echo "Setting version... $pkgver" + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting joborun config..." + cp ../config .config + make olddefconfig +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.10.77 +pkgrel=3 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-gcc-plugins-modern-gcc-plugin-infrastructure-requres.patch + fix-gpu-hang.diff +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('d3b64edfc1dd7212e62ed733aeeb73d64ffd6d9658d322d44cddf1b41d5b8fc3' + 'SKIP' + '1bd3c9f284c568ca751db050e456f2053fc8f1ebfd6f7b2ef7d7e9f0ac6544df' + '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e' + 'bb935ad2467637966185b88d18a3f9be2f37d3acdc71ed361eae326ca898d6fc' + '8ca93ae059d95aa709b4e09d7e1ff4f31b4247745b2306f949520089998830b5') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + # fix amd gpu hang - https://bugs.archlinux.org/task/72620 + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.77&id=c21b4002214c1c7e7b627b9b53375612f7aab6db + patch -Rp1 -i ../fix-gpu-hang.diff + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.10.88 +pkgrel=2 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-HID-holtek-fix-mouse-probing.patch +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('6f8631b6c382a2b0cfeff1e5f8805c8e1cfbe8d714b6e65f5bb79733c99068eb' + 'SKIP' + '259196906a6e3c3c4fcbacd083094b3e3d4e2b75cfb7a18382381a88a07399be' + '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e' + '4753850a30c6a64e2bb27b1c07ea72f3c40b8c7ee73e890bbc4745860ce1798d') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.15.24 +pkgrel=1 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch + 0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch + 0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch + 0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch + 0006-lg-laptop_Recognize_more_models.patch +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('f496eb03c88731540d483837f919c083148875a7b400468237f0217b5e5ca97f' + 'SKIP' + '8b13f2b6f5f08c6d17165f3268edb9247e1ab0644ee6b7c4d527fda346c69b08' + '99df282c594cc269d9a5d19bb86ea887892d3654cfc53c4ce94a644cf3278423' + 'c35018601f04ae81e0a2018a8597595db6ae053158c206845399cdebb2d2b706' + '7c7707c738983f3683d76295b496f578996b7341fa39ad334ec2833bfe4b966e' + '420844779356286057d931e30bbe1dabb8ee52bff575845a8fbf3c34e1a1d29e' + '3fa8a4af66d5a3b99b48ca979a247c61e81c9b2d3bcdffa9d3895a5532a420b4' + '79266c6cc970733fd35881d9a8f0a74c25c00b4d81741b8d4bba6827c48f7c78') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +# diff -u ../config .config || : +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( +Date: Wed, 20 Oct 2021 19:19:46 +0200 +Subject: drm/ttm: fix memleak in ttm_transfered_destroy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 0db55f9a1bafbe3dac750ea669de9134922389b5 upstream. + +We need to cleanup the fences for ghost objects as well. + +Signed-off-by: Christian König +Reported-by: Erhard F. +Tested-by: Erhard F. +Reviewed-by: Huang Rui +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214029 +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214447 +CC: +Link: https://patchwork.freedesktop.org/patch/msgid/20211020173211.2247-1-christian.koenig@amd.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/ttm/ttm_bo_util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c +index fb2a25f8408fc..8fba425a76268 100644 +--- a/drivers/gpu/drm/ttm/ttm_bo_util.c ++++ b/drivers/gpu/drm/ttm/ttm_bo_util.c +@@ -322,6 +322,7 @@ static void ttm_transfered_destroy(struct ttm_buffer_object *bo) + struct ttm_transfer_obj *fbo; + + fbo = container_of(bo, struct ttm_transfer_obj, base); ++ dma_resv_fini(&fbo->base.base._resv); + ttm_bo_put(fbo->bo); + kfree(fbo); + } +-- +cgit 1.2.3-1.el7 + diff --git a/linux-lts/reference-material/fix-gpu-hang.patch b/linux-lts/reference-material/fix-gpu-hang.patch new file mode 100644 index 0000000..a8045af --- /dev/null +++ b/linux-lts/reference-material/fix-gpu-hang.patch @@ -0,0 +1,40 @@ +From c21b4002214c1c7e7b627b9b53375612f7aab6db Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Christian=20K=C3=B6nig?= +Date: Wed, 20 Oct 2021 19:19:46 +0200 +Subject: drm/ttm: fix memleak in ttm_transfered_destroy +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 0db55f9a1bafbe3dac750ea669de9134922389b5 upstream. + +We need to cleanup the fences for ghost objects as well. + +Signed-off-by: Christian König +Reported-by: Erhard F. +Tested-by: Erhard F. +Reviewed-by: Huang Rui +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214029 +Bug: https://bugzilla.kernel.org/show_bug.cgi?id=214447 +CC: +Link: https://patchwork.freedesktop.org/patch/msgid/20211020173211.2247-1-christian.koenig@amd.com +Signed-off-by: Greg Kroah-Hartman +--- + drivers/gpu/drm/ttm/ttm_bo_util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/gpu/drm/ttm/ttm_bo_util.c b/drivers/gpu/drm/ttm/ttm_bo_util.c +index fb2a25f8408fc..8fba425a76268 100644 +--- a/drivers/gpu/drm/ttm/ttm_bo_util.c ++++ b/drivers/gpu/drm/ttm/ttm_bo_util.c +@@ -322,6 +322,7 @@ static void ttm_transfered_destroy(struct ttm_buffer_object *bo) + struct ttm_transfer_obj *fbo; + + fbo = container_of(bo, struct ttm_transfer_obj, base); ++ dma_resv_fini(&fbo->base.base._resv); + ttm_bo_put(fbo->bo); + kfree(fbo); + } +-- +cgit 1.2.3-1.el7 + diff --git a/linux-lts/reference-material/linux-lts510/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/linux-lts/reference-material/linux-lts510/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch new file mode 100644 index 0000000..5e275b0 --- /dev/null +++ b/linux-lts/reference-material/linux-lts510/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -0,0 +1,151 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 16 Sep 2019 04:53:20 +0200 +Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged + CLONE_NEWUSER + +Our default behavior continues to match the vanilla kernel. +--- + include/linux/user_namespace.h | 4 ++++ + init/Kconfig | 16 ++++++++++++++++ + kernel/fork.c | 14 ++++++++++++++ + kernel/sysctl.c | 12 ++++++++++++ + kernel/user_namespace.c | 7 +++++++ + 5 files changed, 53 insertions(+) + +diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h +index 7616c7bf4b24..bdbfcfe5df1e 100644 +--- a/include/linux/user_namespace.h ++++ b/include/linux/user_namespace.h +@@ -109,6 +109,8 @@ void dec_ucount(struct ucounts *ucounts, enum ucount_type type); + + #ifdef CONFIG_USER_NS + ++extern int unprivileged_userns_clone; ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + if (ns) +@@ -142,6 +144,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); + struct ns_common *ns_get_owner(struct ns_common *ns); + #else + ++#define unprivileged_userns_clone 0 ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + return &init_user_ns; +diff --git a/init/Kconfig b/init/Kconfig +index fc4c9f416fad..3707cc8b4d7b 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -1172,6 +1172,22 @@ config USER_NS + + If unsure, say N. + ++config USER_NS_UNPRIVILEGED ++ bool "Allow unprivileged users to create namespaces" ++ default y ++ depends on USER_NS ++ help ++ When disabled, unprivileged users will not be able to create ++ new namespaces. Allowing users to create their own namespaces ++ has been part of several recent local privilege escalation ++ exploits, so if you need user namespaces but are ++ paranoid^Wsecurity-conscious you want to disable this. ++ ++ This setting can be overridden at runtime via the ++ kernel.unprivileged_userns_clone sysctl. ++ ++ If unsure, say Y. ++ + config PID_NS + bool "PID Namespaces" + default y +diff --git a/kernel/fork.c b/kernel/fork.c +index 7c044d377926..3c70b2fe5946 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c +@@ -97,6 +97,10 @@ + #include + #include + ++#ifdef CONFIG_USER_NS ++#include ++#endif ++ + #include + #include + #include +@@ -1871,6 +1875,10 @@ static __latent_entropy struct task_struct *copy_process( + if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) + return ERR_PTR(-EINVAL); + ++ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) ++ if (!capable(CAP_SYS_ADMIN)) ++ return ERR_PTR(-EPERM); ++ + /* + * Thread groups must share signals as well, and detached threads + * can only be started up within the thread group. +@@ -2936,6 +2944,12 @@ int ksys_unshare(unsigned long unshare_flags) + if (unshare_flags & CLONE_NEWNS) + unshare_flags |= CLONE_FS; + ++ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { ++ err = -EPERM; ++ if (!capable(CAP_SYS_ADMIN)) ++ goto bad_unshare_out; ++ } ++ + err = check_unshare_flags(unshare_flags); + if (err) + goto bad_unshare_out; +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index b9306d2bb426..891b250db88e 100644 +--- a/kernel/sysctl.c ++++ b/kernel/sysctl.c +@@ -103,6 +103,9 @@ + #ifdef CONFIG_LOCKUP_DETECTOR + #include + #endif ++#ifdef CONFIG_USER_NS ++#include ++#endif + + #if defined(CONFIG_SYSCTL) + +@@ -1902,6 +1905,15 @@ static struct ctl_table kern_table[] = { + .proc_handler = proc_dointvec, + }, + #endif ++#ifdef CONFIG_USER_NS ++ { ++ .procname = "unprivileged_userns_clone", ++ .data = &unprivileged_userns_clone, ++ .maxlen = sizeof(int), ++ .mode = 0644, ++ .proc_handler = proc_dointvec, ++ }, ++#endif + #ifdef CONFIG_PROC_SYSCTL + { + .procname = "tainted", +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index ce396ea4de60..c3a6ef1f10ed 100644 +--- a/kernel/user_namespace.c ++++ b/kernel/user_namespace.c +@@ -21,6 +21,13 @@ + #include + #include + ++/* sysctl */ ++#ifdef CONFIG_USER_NS_UNPRIVILEGED ++int unprivileged_userns_clone = 1; ++#else ++int unprivileged_userns_clone; ++#endif ++ + static struct kmem_cache *user_ns_cachep __read_mostly; + static DEFINE_MUTEX(userns_state_mutex); + diff --git a/linux-lts/reference-material/linux-lts510/PKGBUILD b/linux-lts/reference-material/linux-lts510/PKGBUILD new file mode 100644 index 0000000..08296ba --- /dev/null +++ b/linux-lts/reference-material/linux-lts510/PKGBUILD @@ -0,0 +1,198 @@ +# Maintainer: Jonathon Fernyhough +# Contributor: Andreas Radke + +pkgbase=linux-lts510 +pkgver=5.10.102 +pkgrel=1 +pkgdesc='LTS 5.10 Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme python-six graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('e6414895b1c2e406a41a8744160e2b4ef2095e6cebe5363be460d1b198f0e379' + 'SKIP' + '2367f59976f6fc902d226229564a98f5d1df3a91e742a292c3deccc3e4a8ffc0' + '96a72e1652314215da7140956c3abcf495cafd00811eda3cf4ce03ec5f791f1e') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig + + make -s kernelrelease > version + echo "Prepared $pkgbase version $(>PKGBUILD diff --git a/linux-lts/time b/linux-lts/time new file mode 100644 index 0000000..c884971 --- /dev/null +++ b/linux-lts/time @@ -0,0 +1,13 @@ +serious difference in time between 5.10.106 and earlier versions +May be Arch's change in building gcc promising shorter build times. + +real 210m58.435s +user 282m35.705s +sys 22m49.670s + + + +real 94m2.804s +user 322m8.367s +sys 22m37.725s + diff --git a/linux/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch b/linux/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch new file mode 100644 index 0000000..ddfbd03 --- /dev/null +++ b/linux/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch @@ -0,0 +1,151 @@ +From 0948f6ce6d898c598f8fe88240954e578fdc8387 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Mon, 16 Sep 2019 04:53:20 +0200 +Subject: [PATCH] ZEN: Add sysctl and CONFIG to disallow unprivileged + CLONE_NEWUSER + +Our default behavior continues to match the vanilla kernel. +--- + include/linux/user_namespace.h | 4 ++++ + init/Kconfig | 16 ++++++++++++++++ + kernel/fork.c | 14 ++++++++++++++ + kernel/sysctl.c | 12 ++++++++++++ + kernel/user_namespace.c | 7 +++++++ + 5 files changed, 53 insertions(+) + +diff --git a/include/linux/user_namespace.h b/include/linux/user_namespace.h +index 33a4240e6a6f1..82213f9c4c17f 100644 +--- a/include/linux/user_namespace.h ++++ b/include/linux/user_namespace.h +@@ -139,6 +139,8 @@ static inline void set_rlimit_ucount_max(struct user_namespace *ns, + + #ifdef CONFIG_USER_NS + ++extern int unprivileged_userns_clone; ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + if (ns) +@@ -172,6 +174,8 @@ extern bool current_in_userns(const struct user_namespace *target_ns); + struct ns_common *ns_get_owner(struct ns_common *ns); + #else + ++#define unprivileged_userns_clone 0 ++ + static inline struct user_namespace *get_user_ns(struct user_namespace *ns) + { + return &init_user_ns; +diff --git a/init/Kconfig b/init/Kconfig +index 11f8a845f259d..02b7a0e455a5d 100644 +--- a/init/Kconfig ++++ b/init/Kconfig +@@ -1226,6 +1226,22 @@ config USER_NS + + If unsure, say N. + ++config USER_NS_UNPRIVILEGED ++ bool "Allow unprivileged users to create namespaces" ++ default y ++ depends on USER_NS ++ help ++ When disabled, unprivileged users will not be able to create ++ new namespaces. Allowing users to create their own namespaces ++ has been part of several recent local privilege escalation ++ exploits, so if you need user namespaces but are ++ paranoid^Wsecurity-conscious you want to disable this. ++ ++ This setting can be overridden at runtime via the ++ kernel.unprivileged_userns_clone sysctl. ++ ++ If unsure, say Y. ++ + config PID_NS + bool "PID Namespaces" + default y +diff --git a/kernel/fork.c b/kernel/fork.c +index 10885c649ca42..e0fe98e1afbdb 100644 +--- a/kernel/fork.c ++++ b/kernel/fork.c +@@ -98,6 +98,10 @@ + #include + #include + ++#ifdef CONFIG_USER_NS ++#include ++#endif ++ + #include + #include + #include +@@ -1950,6 +1954,10 @@ static __latent_entropy struct task_struct *copy_process( + if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) + return ERR_PTR(-EINVAL); + ++ if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) ++ if (!capable(CAP_SYS_ADMIN)) ++ return ERR_PTR(-EPERM); ++ + /* + * Thread groups must share signals as well, and detached threads + * can only be started up within the thread group. +@@ -3056,6 +3064,12 @@ int ksys_unshare(unsigned long unshare_flags) + if (unshare_flags & CLONE_NEWNS) + unshare_flags |= CLONE_FS; + ++ if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { ++ err = -EPERM; ++ if (!capable(CAP_SYS_ADMIN)) ++ goto bad_unshare_out; ++ } ++ + err = check_unshare_flags(unshare_flags); + if (err) + goto bad_unshare_out; +diff --git a/kernel/sysctl.c b/kernel/sysctl.c +index 083be6af29d70..42aa3c7835b96 100644 +--- a/kernel/sysctl.c ++++ b/kernel/sysctl.c +@@ -105,6 +105,9 @@ + #ifdef CONFIG_LOCKUP_DETECTOR + #include + #endif ++#ifdef CONFIG_USER_NS ++#include ++#endif + + #if defined(CONFIG_SYSCTL) + +@@ -1949,6 +1952,15 @@ static struct ctl_table kern_table[] = { + .proc_handler = proc_dointvec, + }, + #endif ++#ifdef CONFIG_USER_NS ++ { ++ .procname = "unprivileged_userns_clone", ++ .data = &unprivileged_userns_clone, ++ .maxlen = sizeof(int), ++ .mode = 0644, ++ .proc_handler = proc_dointvec, ++ }, ++#endif + #ifdef CONFIG_PROC_SYSCTL + { + .procname = "tainted", +diff --git a/kernel/user_namespace.c b/kernel/user_namespace.c +index 6b2e3ca7ee993..0253002184f1d 100644 +--- a/kernel/user_namespace.c ++++ b/kernel/user_namespace.c +@@ -21,6 +21,13 @@ + #include + #include + ++/* sysctl */ ++#ifdef CONFIG_USER_NS_UNPRIVILEGED ++int unprivileged_userns_clone = 1; ++#else ++int unprivileged_userns_clone; ++#endif ++ + static struct kmem_cache *user_ns_cachep __read_mostly; + static DEFINE_MUTEX(userns_state_mutex); + diff --git a/linux/0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch b/linux/0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch new file mode 100644 index 0000000..fa304d6 --- /dev/null +++ b/linux/0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch @@ -0,0 +1,21 @@ +From 0bb6e4f104167b1e283269b46f3bbd30b2d979a7 Mon Sep 17 00:00:00 2001 +From: "Jan Alexander Steffens (heftig)" +Date: Thu, 18 Nov 2021 22:53:31 +0100 +Subject: [PATCH] PCI: Add more NVIDIA controllers to the MSI masking quirk + +For: https://bugs.archlinux.org/task/72734 +For: https://bugs.archlinux.org/task/72777 +--- + drivers/pci/quirks.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c +index 208fa03acdda0..7fdb7e9c2e12c 100644 +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -5802,3 +5802,5 @@ static void nvidia_ion_ahci_fixup(struct pci_dev *pdev) + pdev->dev_flags |= PCI_DEV_FLAGS_HAS_MSI_MASKING; + } + DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab8, nvidia_ion_ahci_fixup); ++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0ab9, nvidia_ion_ahci_fixup); ++DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_NVIDIA, 0x0d88, nvidia_ion_ahci_fixup); diff --git a/linux/0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch b/linux/0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch new file mode 100644 index 0000000..13aa5a0 --- /dev/null +++ b/linux/0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch @@ -0,0 +1,85 @@ +From 32803dc7c2ffc29db15a46034d818f6e6c5775ef Mon Sep 17 00:00:00 2001 +From: Ajay Garg +Date: Tue, 12 Oct 2021 19:26:53 +0530 +Subject: [PATCH] iommu: intel: do deep dma-unmapping, to avoid + kernel-flooding. + +Origins at : +https://lists.linuxfoundation.org/pipermail/iommu/2021-October/thread.html + +=== Changes from v1 => v2 === + +a) +Improved patch-description. + +b) +A more root-level fix, as suggested by + + 1. + Alex Williamson + + 2. + Lu Baolu + +=== Issue === + +Kernel-flooding is seen, when an x86_64 L1 guest (Ubuntu-21) is booted in qemu/kvm +on a x86_64 host (Ubuntu-21), with a host-pci-device attached. + +Following kind of logs, along with the stacktraces, cause the flood : + +...... + DMAR: ERROR: DMA PTE for vPFN 0x428ec already set (to 3f6ec003 not 3f6ec003) + DMAR: ERROR: DMA PTE for vPFN 0x428ed already set (to 3f6ed003 not 3f6ed003) + DMAR: ERROR: DMA PTE for vPFN 0x428ee already set (to 3f6ee003 not 3f6ee003) + DMAR: ERROR: DMA PTE for vPFN 0x428ef already set (to 3f6ef003 not 3f6ef003) + DMAR: ERROR: DMA PTE for vPFN 0x428f0 already set (to 3f6f0003 not 3f6f0003) +...... + +=== Current Behaviour, leading to the issue === + +Currently, when we do a dma-unmapping, we unmap/unlink the mappings, but +the pte-entries are not cleared. + +Thus, following sequencing would flood the kernel-logs : + +i) +A dma-unmapping makes the real/leaf-level pte-slot invalid, but the +pte-content itself is not cleared. + +ii) +Now, during some later dma-mapping procedure, as the pte-slot is about +to hold a new pte-value, the intel-iommu checks if a prior +pte-entry exists in the pte-slot. If it exists, it logs a kernel-error, +along with a corresponding stacktrace. + +iii) +Step ii) runs in abundance, and the kernel-logs run insane. + +=== Fix === + +We ensure that as part of a dma-unmapping, each (unmapped) pte-slot +is also cleared of its value/content (at the leaf-level, where the +real mapping from a iova => pfn mapping is stored). + +This completes a "deep" dma-unmapping. + +Signed-off-by: Ajay Garg +Link: https://lore.kernel.org/linux-iommu/20211012135653.3852-1-ajaygargnsit@gmail.com/ +--- + drivers/iommu/intel/iommu.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/iommu/intel/iommu.c b/drivers/iommu/intel/iommu.c +index 78f8c8e6803e9..d8da48a91ba3b 100644 +--- a/drivers/iommu/intel/iommu.c ++++ b/drivers/iommu/intel/iommu.c +@@ -5092,6 +5092,8 @@ static size_t intel_iommu_unmap(struct iommu_domain *domain, + gather->freelist = domain_unmap(dmar_domain, start_pfn, + last_pfn, gather->freelist); + ++ dma_pte_clear_range(dmar_domain, start_pfn, last_pfn); ++ + if (dmar_domain->max_addr == iova + size) + dmar_domain->max_addr = iova; + diff --git a/linux/0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch b/linux/0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch new file mode 100644 index 0000000..4c0a62d --- /dev/null +++ b/linux/0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch @@ -0,0 +1,51 @@ +From aa7300919d0656a001fe0d526508b8c5958e7630 Mon Sep 17 00:00:00 2001 +From: Srinivas Pandruvada +Date: Thu, 18 Nov 2021 21:18:01 -0800 +Subject: [PATCH] cpufreq: intel_pstate: ITMT support for overclocked system + +On systems with overclocking enabled, CPPC Highest Performance can be +hard coded to 0xff. In this case even if we have cores with different +highest performance, ITMT can't be enabled as the current implementation +depends on CPPC Highest Performance. + +On such systems we can use MSR_HWP_CAPABILITIES maximum performance field +when CPPC.Highest Performance is 0xff. + +Due to legacy reasons, we can't solely depend on MSR_HWP_CAPABILITIES as +in some older systems CPPC Highest Performance is the only way to identify +different performing cores. + +Reported-by: Michael Larabel +Signed-off-by: Srinivas Pandruvada +--- + drivers/cpufreq/intel_pstate.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c +index e15c3bc17a55c..8a2c6b58b6524 100644 +--- a/drivers/cpufreq/intel_pstate.c ++++ b/drivers/cpufreq/intel_pstate.c +@@ -335,6 +335,8 @@ static void intel_pstste_sched_itmt_work_fn(struct work_struct *work) + + static DECLARE_WORK(sched_itmt_work, intel_pstste_sched_itmt_work_fn); + ++#define CPPC_MAX_PERF U8_MAX ++ + static void intel_pstate_set_itmt_prio(int cpu) + { + struct cppc_perf_caps cppc_perf; +@@ -345,6 +347,14 @@ static void intel_pstate_set_itmt_prio(int cpu) + if (ret) + return; + ++ /* ++ * On some systems with overclocking enabled, CPPC.highest_perf is hardcoded to 0xff. ++ * In this case we can't use CPPC.highest_perf to enable ITMT. ++ * In this case we can look at MSR_HWP_CAPABILITIES bits [8:0] to decide. ++ */ ++ if (cppc_perf.highest_perf == CPPC_MAX_PERF) ++ cppc_perf.highest_perf = HWP_HIGHEST_PERF(READ_ONCE(all_cpu_data[cpu]->hwp_cap_cached)); ++ + /* + * The priorities can be set regardless of whether or not + * sched_set_itmt_support(true) has been called and it is valid to diff --git a/linux/0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch b/linux/0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch new file mode 100644 index 0000000..3697425 --- /dev/null +++ b/linux/0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch @@ -0,0 +1,57 @@ +From a6d4fb4f5e7fe795d9e3b28b261a0f86f1026d03 Mon Sep 17 00:00:00 2001 +From: Kiran K +Date: Wed, 13 Oct 2021 13:35:11 +0530 +Subject: [PATCH] Bluetooth: btintel: Fix bdaddress comparison with garbage + value + +Intel Read Verision(TLV) data is parsed into a local structure variable +and it contains a field for bd address. Bd address is returned only in +bootloader mode and hence bd address in TLV structure needs to be validated +only if controller is present in boot loader mode. + +Signed-off-by: Kiran K +Reviewed-by: Tedd Ho-Jeong An +--- + drivers/bluetooth/btintel.c | 22 ++++++++++++++-------- + 1 file changed, 14 insertions(+), 8 deletions(-) + +diff --git a/drivers/bluetooth/btintel.c b/drivers/bluetooth/btintel.c +index f1705b46fc889..b9055a3e61ed7 100644 +--- a/drivers/bluetooth/btintel.c ++++ b/drivers/bluetooth/btintel.c +@@ -2006,14 +2006,16 @@ static int btintel_prepare_fw_download_tlv(struct hci_dev *hdev, + if (ver->img_type == 0x03) { + btintel_clear_flag(hdev, INTEL_BOOTLOADER); + btintel_check_bdaddr(hdev); +- } +- +- /* If the OTP has no valid Bluetooth device address, then there will +- * also be no valid address for the operational firmware. +- */ +- if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { +- bt_dev_info(hdev, "No device address configured"); +- set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); ++ } else { ++ /* ++ * Check for valid bd address in boot loader mode. Device ++ * will be marked as unconfigured if empty bd address is ++ * found. ++ */ ++ if (!bacmp(&ver->otp_bd_addr, BDADDR_ANY)) { ++ bt_dev_info(hdev, "No device address configured"); ++ set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); ++ } + } + + btintel_get_fw_name_tlv(ver, fwname, sizeof(fwname), "sfi"); +@@ -2303,6 +2305,10 @@ static int btintel_setup_combined(struct hci_dev *hdev) + goto exit_error; + } + ++ /* memset ver_tlv to start with clean state as few fields are exclusive ++ * to bootloader mode and are not populated in operational mode ++ */ ++ memset(&ver_tlv, 0, sizeof(ver_tlv)); + /* For TLV type device, parse the tlv data */ + err = btintel_parse_version_tlv(hdev, &ver_tlv, skb); + if (err) { diff --git a/linux/0006-lg-laptop_Recognize_more_models.patch b/linux/0006-lg-laptop_Recognize_more_models.patch new file mode 100644 index 0000000..9031085 --- /dev/null +++ b/linux/0006-lg-laptop_Recognize_more_models.patch @@ -0,0 +1,36 @@ +From 72edf8c167268bb68d701f46006ccfdfa5490db8 Mon Sep 17 00:00:00 2001 +From: Matan Ziv-Av +Date: Tue, 23 Nov 2021 22:14:55 +0200 +Subject: [PATCH] lg-laptop: Recognize more models + +LG uses 5 instead of 0 in the third digit (second digit after 2019) of the year string to indicate newer models in the same year. Handle this case as well. + +Signed-off-by: Matan Ziv-Av +For: https://bugs.archlinux.org/task/71772 +--- + drivers/platform/x86/lg-laptop.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/drivers/platform/x86/lg-laptop.c b/drivers/platform/x86/lg-laptop.c +index 88b551caeaaf4..d6f74d3a7605e 100644 +--- a/drivers/platform/x86/lg-laptop.c ++++ b/drivers/platform/x86/lg-laptop.c +@@ -658,6 +658,18 @@ static int acpi_add(struct acpi_device *device) + if (product && strlen(product) > 4) + switch (product[4]) { + case '5': ++ if (strlen(product) > 5) ++ switch (product[5]) { ++ case 'N': ++ year = 2021; ++ break; ++ case '0': ++ year = 2016; ++ break; ++ default: ++ year = 2022; ++ } ++ break; + case '6': + year = 2016; + break; diff --git a/linux/0007_fix_NFSv4_mount_regression.diff b/linux/0007_fix_NFSv4_mount_regression.diff new file mode 100644 index 0000000..c2f1260 --- /dev/null +++ b/linux/0007_fix_NFSv4_mount_regression.diff @@ -0,0 +1,243 @@ +From 6f2836341d8a39e1e000572b10959347d7e61fd9 Mon Sep 17 00:00:00 2001 +From: Olga Kornievskaia +Date: Wed, 12 Jan 2022 10:27:38 -0500 +Subject: NFSv4.1 query for fs_location attr on a new file system + +[ Upstream commit 1976b2b31462151403c9fc110204fcc2a77bdfd1 ] + +Query the server for other possible trunkable locations for a given +file system on a 4.1+ mount. + +v2: +-- added missing static to nfs4_discover_trunking, +reported by the kernel test robot + +Signed-off-by: Olga Kornievskaia +Signed-off-by: Anna Schumaker +Signed-off-by: Sasha Levin +--- + fs/nfs/client.c | 7 +++++ + fs/nfs/nfs4_fs.h | 9 +++--- + fs/nfs/nfs4proc.c | 76 ++++++++++++++++++++++++++++++++++++++++++------- + fs/nfs/nfs4state.c | 3 +- + include/linux/nfs_xdr.h | 1 + + 5 files changed, 81 insertions(+), 15 deletions(-) + +diff --git a/fs/nfs/client.c b/fs/nfs/client.c +index 551833862171f..090b16890e3d6 100644 +--- a/fs/nfs/client.c ++++ b/fs/nfs/client.c +@@ -860,6 +860,13 @@ int nfs_probe_fsinfo(struct nfs_server *server, struct nfs_fh *mntfh, struct nfs + server->namelen = pathinfo.max_namelen; + } + ++ if (clp->rpc_ops->discover_trunking != NULL && ++ (server->caps & NFS_CAP_FS_LOCATIONS)) { ++ error = clp->rpc_ops->discover_trunking(server, mntfh); ++ if (error < 0) ++ return error; ++ } ++ + return 0; + } + EXPORT_SYMBOL_GPL(nfs_probe_fsinfo); +diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h +index ba78df4b13d94..1a048ee653a11 100644 +--- a/fs/nfs/nfs4_fs.h ++++ b/fs/nfs/nfs4_fs.h +@@ -261,8 +261,8 @@ struct nfs4_state_maintenance_ops { + }; + + struct nfs4_mig_recovery_ops { +- int (*get_locations)(struct inode *, struct nfs4_fs_locations *, +- struct page *, const struct cred *); ++ int (*get_locations)(struct nfs_server *, struct nfs_fh *, ++ struct nfs4_fs_locations *, struct page *, const struct cred *); + int (*fsid_present)(struct inode *, const struct cred *); + }; + +@@ -303,8 +303,9 @@ extern int nfs4_do_close(struct nfs4_state *state, gfp_t gfp_mask, int wait); + extern int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle); + extern int nfs4_proc_fs_locations(struct rpc_clnt *, struct inode *, const struct qstr *, + struct nfs4_fs_locations *, struct page *); +-extern int nfs4_proc_get_locations(struct inode *, struct nfs4_fs_locations *, +- struct page *page, const struct cred *); ++extern int nfs4_proc_get_locations(struct nfs_server *, struct nfs_fh *, ++ struct nfs4_fs_locations *, ++ struct page *page, const struct cred *); + extern int nfs4_proc_fsid_present(struct inode *, const struct cred *); + extern struct rpc_clnt *nfs4_proc_lookup_mountpoint(struct inode *, + struct dentry *, +diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c +index 367a1b99b7550..389fa72d4ca98 100644 +--- a/fs/nfs/nfs4proc.c ++++ b/fs/nfs/nfs4proc.c +@@ -3952,6 +3952,60 @@ int nfs4_server_capabilities(struct nfs_server *server, struct nfs_fh *fhandle) + return err; + } + ++static int _nfs4_discover_trunking(struct nfs_server *server, ++ struct nfs_fh *fhandle) ++{ ++ struct nfs4_fs_locations *locations = NULL; ++ struct page *page; ++ const struct cred *cred; ++ struct nfs_client *clp = server->nfs_client; ++ const struct nfs4_state_maintenance_ops *ops = ++ clp->cl_mvops->state_renewal_ops; ++ int status = -ENOMEM; ++ ++ cred = ops->get_state_renewal_cred(clp); ++ if (cred == NULL) { ++ cred = nfs4_get_clid_cred(clp); ++ if (cred == NULL) ++ return -ENOKEY; ++ } ++ ++ page = alloc_page(GFP_KERNEL); ++ locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL); ++ if (page == NULL || locations == NULL) ++ goto out; ++ ++ status = nfs4_proc_get_locations(server, fhandle, locations, page, ++ cred); ++ if (status) ++ goto out; ++out: ++ if (page) ++ __free_page(page); ++ kfree(locations); ++ return status; ++} ++ ++static int nfs4_discover_trunking(struct nfs_server *server, ++ struct nfs_fh *fhandle) ++{ ++ struct nfs4_exception exception = { ++ .interruptible = true, ++ }; ++ struct nfs_client *clp = server->nfs_client; ++ int err = 0; ++ ++ if (!nfs4_has_session(clp)) ++ goto out; ++ do { ++ err = nfs4_handle_exception(server, ++ _nfs4_discover_trunking(server, fhandle), ++ &exception); ++ } while (exception.retry); ++out: ++ return err; ++} ++ + static int _nfs4_lookup_root(struct nfs_server *server, struct nfs_fh *fhandle, + struct nfs_fsinfo *info) + { +@@ -7886,18 +7940,18 @@ int nfs4_proc_fs_locations(struct rpc_clnt *client, struct inode *dir, + * appended to this compound to identify the client ID which is + * performing recovery. + */ +-static int _nfs40_proc_get_locations(struct inode *inode, ++static int _nfs40_proc_get_locations(struct nfs_server *server, ++ struct nfs_fh *fhandle, + struct nfs4_fs_locations *locations, + struct page *page, const struct cred *cred) + { +- struct nfs_server *server = NFS_SERVER(inode); + struct rpc_clnt *clnt = server->client; + u32 bitmask[2] = { + [0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS, + }; + struct nfs4_fs_locations_arg args = { + .clientid = server->nfs_client->cl_clientid, +- .fh = NFS_FH(inode), ++ .fh = fhandle, + .page = page, + .bitmask = bitmask, + .migration = 1, /* skip LOOKUP */ +@@ -7943,17 +7997,17 @@ static int _nfs40_proc_get_locations(struct inode *inode, + * When the client supports GETATTR(fs_locations_info), it can + * be plumbed in here. + */ +-static int _nfs41_proc_get_locations(struct inode *inode, ++static int _nfs41_proc_get_locations(struct nfs_server *server, ++ struct nfs_fh *fhandle, + struct nfs4_fs_locations *locations, + struct page *page, const struct cred *cred) + { +- struct nfs_server *server = NFS_SERVER(inode); + struct rpc_clnt *clnt = server->client; + u32 bitmask[2] = { + [0] = FATTR4_WORD0_FSID | FATTR4_WORD0_FS_LOCATIONS, + }; + struct nfs4_fs_locations_arg args = { +- .fh = NFS_FH(inode), ++ .fh = fhandle, + .page = page, + .bitmask = bitmask, + .migration = 1, /* skip LOOKUP */ +@@ -8002,11 +8056,11 @@ static int _nfs41_proc_get_locations(struct inode *inode, + * -NFS4ERR_LEASE_MOVED is returned if the server still has leases + * from this client that require migration recovery. + */ +-int nfs4_proc_get_locations(struct inode *inode, ++int nfs4_proc_get_locations(struct nfs_server *server, ++ struct nfs_fh *fhandle, + struct nfs4_fs_locations *locations, + struct page *page, const struct cred *cred) + { +- struct nfs_server *server = NFS_SERVER(inode); + struct nfs_client *clp = server->nfs_client; + const struct nfs4_mig_recovery_ops *ops = + clp->cl_mvops->mig_recovery_ops; +@@ -8019,10 +8073,11 @@ int nfs4_proc_get_locations(struct inode *inode, + (unsigned long long)server->fsid.major, + (unsigned long long)server->fsid.minor, + clp->cl_hostname); +- nfs_display_fhandle(NFS_FH(inode), __func__); ++ nfs_display_fhandle(fhandle, __func__); + + do { +- status = ops->get_locations(inode, locations, page, cred); ++ status = ops->get_locations(server, fhandle, locations, page, ++ cred); + if (status != -NFS4ERR_DELAY) + break; + nfs4_handle_exception(server, status, &exception); +@@ -10516,6 +10571,7 @@ const struct nfs_rpc_ops nfs_v4_clientops = { + .free_client = nfs4_free_client, + .create_server = nfs4_create_server, + .clone_server = nfs_clone_server, ++ .discover_trunking = nfs4_discover_trunking, + }; + + static const struct xattr_handler nfs4_xattr_nfs4_acl_handler = { +diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c +index acc1cd3e63a48..51f5cb41e87a4 100644 +--- a/fs/nfs/nfs4state.c ++++ b/fs/nfs/nfs4state.c +@@ -2097,7 +2097,8 @@ static int nfs4_try_migration(struct nfs_server *server, const struct cred *cred + } + + inode = d_inode(server->super->s_root); +- result = nfs4_proc_get_locations(inode, locations, page, cred); ++ result = nfs4_proc_get_locations(server, NFS_FH(inode), locations, ++ page, cred); + if (result) { + dprintk("<-- %s: failed to retrieve fs_locations: %d\n", + __func__, result); +diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h +index e9698b6278a52..ecd74cc347974 100644 +--- a/include/linux/nfs_xdr.h ++++ b/include/linux/nfs_xdr.h +@@ -1805,6 +1805,7 @@ struct nfs_rpc_ops { + struct nfs_server *(*create_server)(struct fs_context *); + struct nfs_server *(*clone_server)(struct nfs_server *, struct nfs_fh *, + struct nfs_fattr *, rpc_authflavor_t); ++ int (*discover_trunking)(struct nfs_server *, struct nfs_fh *); + }; + + /* +-- +cgit + diff --git a/linux/PKGBUILD b/linux/PKGBUILD new file mode 100644 index 0000000..5bdec6f --- /dev/null +++ b/linux/PKGBUILD @@ -0,0 +1,223 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=linux +pkgver=5.15.29 +pkgrel=01 +pkgdesc='Linux 5.15 no zstd no ipv6' +url="https://www.kernel.org/" +arch=(x86_64) +makedepends=( bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick) +options=('!strip') +_srcname=linux-$pkgver +source=( https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch + 0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch + 0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch + 0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch + 0006-lg-laptop_Recognize_more_models.patch + 0007_fix_NFSv4_mount_regression.diff + sha256sums) + +export KBUILD_BUILD_HOST=joborunlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + # fix NFSv4 mounting issue regression - FS#73838 / FS#73860 + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=6f2836341d8a39e1e000572b10959347d7e61fd9 + patch -Rp1 -i ../0007_fix_NFSv4_mount_regression.diff + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +# diff -u ../config .config || : +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.15.25 +pkgrel=1 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch + 0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch + 0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch + 0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch + 0006-lg-laptop_Recognize_more_models.patch + 0007_fix_NFSv4_mount_regression.diff +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('4399ffbe524a11b3c44bff6dd858ed31417341f58513f04cb6ae15e527543879' + 'SKIP' + 'e64c383073b850b45a0c1555d235a9ee61eb99e7b8bf454822ac0a8fde365800' + '99df282c594cc269d9a5d19bb86ea887892d3654cfc53c4ce94a644cf3278423' + 'c35018601f04ae81e0a2018a8597595db6ae053158c206845399cdebb2d2b706' + '7c7707c738983f3683d76295b496f578996b7341fa39ad334ec2833bfe4b966e' + '420844779356286057d931e30bbe1dabb8ee52bff575845a8fbf3c34e1a1d29e' + '3fa8a4af66d5a3b99b48ca979a247c61e81c9b2d3bcdffa9d3895a5532a420b4' + '79266c6cc970733fd35881d9a8f0a74c25c00b4d81741b8d4bba6827c48f7c78' + 'e9527ad81d5b1821a7b17c56cb3abaec85785563f51e448cb3c06f1c68e2966f') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + # fix NFSv4 mounting issue regression - FS#73838 / FS#73860 + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=6f2836341d8a39e1e000572b10959347d7e61fd9 + patch -Rp1 -i ../0007_fix_NFSv4_mount_regression.diff + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +# diff -u ../config .config || : +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( + +pkgbase=linux-lts +pkgver=5.15.29 +pkgrel=1 +pkgdesc='LTS Linux' +url="https://www.kernel.org/" +arch=(x86_64) +license=(GPL2) +makedepends=( + bc kmod libelf pahole cpio perl tar xz + xmlto python-sphinx python-sphinx_rtd_theme graphviz imagemagick +) +options=('!strip') +_srcname=linux-$pkgver +source=( + https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/${_srcname}.tar.{xz,sign} + config # the main kernel config file + 0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch + 0002-PCI_Add_more_NVIDIA_controllers_to_the_MSI_masking_quirk.patch + 0003-iommu_intel_do_deep_dma-unmapping_to_avoid_kernel-flooding.patch + 0004-cpufreq_intel_pstate_ITMT_support_for_overclocked_system.patch + 0005-Bluetooth_btintel_Fix_bdaddress_comparison_with_garbage_value.patch + 0006-lg-laptop_Recognize_more_models.patch + 0007_fix_NFSv4_mount_regression.diff +) +validpgpkeys=( + 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds + '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman +) +# https://www.kernel.org/pub/linux/kernel/v5.x/sha256sums.asc +sha256sums=('5905e684602c47ae95746d4003cb834335e5451aca4ac7c3013f15dd49ed876e' + 'SKIP' + 'c850157b6e5064bf0f8dd4446f83cc03eb223ee60079cdfedca7b9f64b1165fe' + '99df282c594cc269d9a5d19bb86ea887892d3654cfc53c4ce94a644cf3278423' + 'c35018601f04ae81e0a2018a8597595db6ae053158c206845399cdebb2d2b706' + '7c7707c738983f3683d76295b496f578996b7341fa39ad334ec2833bfe4b966e' + '420844779356286057d931e30bbe1dabb8ee52bff575845a8fbf3c34e1a1d29e' + '3fa8a4af66d5a3b99b48ca979a247c61e81c9b2d3bcdffa9d3895a5532a420b4' + '79266c6cc970733fd35881d9a8f0a74c25c00b4d81741b8d4bba6827c48f7c78' + 'e9527ad81d5b1821a7b17c56cb3abaec85785563f51e448cb3c06f1c68e2966f') + +export KBUILD_BUILD_HOST=archlinux +export KBUILD_BUILD_USER=$pkgbase +export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" + +prepare() { + cd $_srcname + + # fix NFSv4 mounting issue regression - FS#73838 / FS#73860 + # https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/patch/?id=6f2836341d8a39e1e000572b10959347d7e61fd9 + patch -Rp1 -i ../0007_fix_NFSv4_mount_regression.diff + + echo "Setting version..." + scripts/setlocalversion --save-scmversion + echo "-$pkgrel" > localversion.10-pkgrel + echo "${pkgbase#linux}" > localversion.20-pkgname + + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + echo "Applying patch $src..." + patch -Np1 < "../$src" + done + + echo "Setting config..." + cp ../config .config + make olddefconfig +# diff -u ../config .config || : +#return 1 + make -s kernelrelease > version + echo "Prepared $pkgbase version $( +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=logrotate +pkgver=3.19.0 +pkgrel=01 +pkgdesc="Rotates system logs automatically w/o systemd" +arch=('x86_64') +url="https://github.com/logrotate/logrotate" +depends=('popt' 'gzip' 'acl') +backup=('etc/logrotate.conf') +source=("https://github.com/logrotate/logrotate/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc} + 'logrotate.conf') + +build() { + cd "$srcdir/${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --mandir=/usr/share/man \ + --with-compress-command=/usr/bin/gzip \ + --with-uncompress-command=/usr/bin/gunzip \ + --with-default-mail-command=/usr/bin/mail \ + --with-acl + make +} + +check() { + cd "$srcdir/${pkgname}-${pkgver}" + + make test +} + +package() { + cd "$srcdir/${pkgname}-${pkgver}" + + make DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/etc/logrotate.d" + install -Dm644 "$srcdir/logrotate.conf" "$pkgdir/etc/logrotate.conf" + +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('992A96E075056E79CD8214F9873DB37572A37B36') + +sha256sums=(ddd5274d684c5c99ca724e8069329f343ebe376e07493d537d9effdc501214ba # logrotate-3.19.0.tar.xz + 43f148e6296cdf6a6d46e7f1ae98f88faab8a5350cf531d60d8ee10b72b07225 # logrotate-3.19.0.tar.xz.asc + 42e289081a4d6b144c89dbfc49bde7a01b383055bf90a05a764f8c3dee25a6ce) # logrotate.conf diff --git a/logrotate/PKGBUILD-arch b/logrotate/PKGBUILD-arch new file mode 100644 index 0000000..5ce6755 --- /dev/null +++ b/logrotate/PKGBUILD-arch @@ -0,0 +1,51 @@ +# Maintainer: Pierre Schmitz + +pkgname=logrotate +pkgver=3.19.0 +pkgrel=1 +pkgdesc="Rotates system logs automatically" +arch=('x86_64') +url="https://github.com/logrotate/logrotate" +license=('GPL') +depends=('popt' 'gzip' 'acl') +backup=('etc/logrotate.conf') +source=("https://github.com/logrotate/logrotate/releases/download/${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc} + 'logrotate.conf') +sha256sums=('ddd5274d684c5c99ca724e8069329f343ebe376e07493d537d9effdc501214ba' + 'SKIP' + '42e289081a4d6b144c89dbfc49bde7a01b383055bf90a05a764f8c3dee25a6ce') +validpgpkeys=('992A96E075056E79CD8214F9873DB37572A37B36') + +build() { + cd "$srcdir/${pkgname}-${pkgver}" + + ./configure \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --mandir=/usr/share/man \ + --with-compress-command=/usr/bin/gzip \ + --with-uncompress-command=/usr/bin/gunzip \ + --with-default-mail-command=/usr/bin/mail \ + --with-acl + make +} + +check() { + cd "$srcdir/${pkgname}-${pkgver}" + + make test +} + +package() { + cd "$srcdir/${pkgname}-${pkgver}" + + make DESTDIR="$pkgdir" install + + install -dm755 "$pkgdir/etc/logrotate.d" + install -Dm644 "$srcdir/logrotate.conf" "$pkgdir/etc/logrotate.conf" + + install -D -m644 examples/logrotate.timer "${pkgdir}/usr/lib/systemd/system/logrotate.timer" + install -D -m644 examples/logrotate.service "${pkgdir}/usr/lib/systemd/system/logrotate.service" + install -d -m755 "$pkgdir/usr/lib/systemd/system/timers.target.wants" + ln -s ../logrotate.timer "$pkgdir/usr/lib/systemd/system/timers.target.wants/logrotate.timer" +} diff --git a/logrotate/clean b/logrotate/clean new file mode 100644 index 0000000..0d1fb5e --- /dev/null +++ b/logrotate/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,logro*tar.xz*} diff --git a/logrotate/deps b/logrotate/deps new file mode 100644 index 0000000..d7b31f7 --- /dev/null +++ b/logrotate/deps @@ -0,0 +1,2 @@ + +popt diff --git a/logrotate/key b/logrotate/key new file mode 100644 index 0000000..73c08fa --- /dev/null +++ b/logrotate/key @@ -0,0 +1 @@ +gpg -v --recv-key 873DB37572A37B36 diff --git a/logrotate/logrotate.conf b/logrotate/logrotate.conf new file mode 100644 index 0000000..4193a3a --- /dev/null +++ b/logrotate/logrotate.conf @@ -0,0 +1,38 @@ +# see "man logrotate" for details +# rotate log files weekly +weekly + +# keep 4 weeks worth of backlogs +rotate 4 + +# restrict maximum size of log files +#size 20M + +# create new (empty) log files after rotating old ones +create + +# uncomment this if you want your log files compressed +#compress + +# Logs are moved into directory for rotation +# olddir /var/log/archive + +# Ignore pacman saved files +tabooext + .pacorig .pacnew .pacsave + +# Arch packages drop log rotation information into this directory +include /etc/logrotate.d + +/var/log/wtmp { + monthly + create 0664 root utmp + minsize 1M + rotate 1 +} + +/var/log/btmp { + missingok + monthly + create 0600 root utmp + rotate 1 +} diff --git a/logrotate/time b/logrotate/time new file mode 100644 index 0000000..f26e696 --- /dev/null +++ b/logrotate/time @@ -0,0 +1,4 @@ +real 0m14.637s +user 0m13.022s +sys 0m3.835s + diff --git a/lvm2/0001-udev-initcpio.patch b/lvm2/0001-udev-initcpio.patch new file mode 100644 index 0000000..0e77456 --- /dev/null +++ b/lvm2/0001-udev-initcpio.patch @@ -0,0 +1,50 @@ +From 4df121ed7d820f5b3d3a87a2c81dbce0801d4fd3 Mon Sep 17 00:00:00 2001 +From: Christian Hesse +Date: Mon, 7 Feb 2022 21:12:20 +0100 +Subject: [PATCH 1/1] udev initcpio + +apply with: +patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch +--- + udev/69-dm-lvm.rules.in | 28 +--------------------------- + 1 file changed, 1 insertion(+), 27 deletions(-) + +diff --git a/udev/69-dm-lvm.rules.in b/udev/69-dm-lvm.rules.in +index 14e7dd26d..2dec88c34 100644 +--- a/udev/69-dm-lvm.rules.in ++++ b/udev/69-dm-lvm.rules.in +@@ -54,33 +54,7 @@ ACTION!="add", GOTO="lvm_end" + + LABEL="lvm_scan" + +-ENV{SYSTEMD_READY}="1" +- +-# pvscan will check if this device completes a VG, +-# i.e. all PVs in the VG are now present with the +-# arrival of this PV. If so, it prints to stdout: +-# LVM_VG_NAME_COMPLETE='foo' +-# +-# When the VG is complete it can be activated, so +-# vgchange -aay is run. It is run via +-# systemd since it can take longer to run than +-# udev wants to block when processing rules. +-# (if there are hundreds of LVs to activate, +-# the vgchange can take many seconds.) +-# +-# pvscan only reads the single device specified, +-# and uses temp files under /run/lvm to check if +-# other PVs in the VG are present. +-# +-# If event_activation=0 in lvm.conf, this pvscan +-# (using checkcomplete) will do nothing, so that +-# no event-based autoactivation will be happen. +-# +-# TODO: adjust the output of vgchange -aay so that +-# it's better suited to appearing in the journal. +- +-IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --autoactivation event --udevoutput --journal=output $env{DEVNAME}" +-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/systemd-run --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --autoactivation event $env{LVM_VG_NAME_COMPLETE}" ++RUN+="(LVM_EXEC)/lvm pvscan --background --cache --activate ay --major $major --minor $minor", ENV{LVM_SCANNED}="1" + GOTO="lvm_end" + + LABEL="lvm_end" diff --git a/lvm2/0001-udev-initcpio.patch-old b/lvm2/0001-udev-initcpio.patch-old new file mode 100644 index 0000000..272310c --- /dev/null +++ b/lvm2/0001-udev-initcpio.patch-old @@ -0,0 +1,38 @@ +diff --git a/udev/69-dm-lvm-initcpio.rules.in b/udev/69-dm-lvm-initcpio.rules.in +--- a/udev/69-dm-lvm-initcpio.rules.in ++++ b/udev/69-dm-lvm-initcpio.rules.in +@@ -54,33 +54,7 @@ ACTION!="add", GOTO="lvm_end" + + LABEL="lvm_scan" + +-ENV{SYSTEMD_READY}="1" +- +-# pvscan will check if this device completes a VG, +-# i.e. all PVs in the VG are now present with the +-# arrival of this PV. If so, it prints to stdout: +-# LVM_VG_NAME_COMPLETE='foo' +-# +-# When the VG is complete it can be activated, so +-# vgchange -aay is run. It is run via +-# systemd since it can take longer to run than +-# udev wants to block when processing rules. +-# (if there are hundreds of LVs to activate, +-# the vgchange can take many seconds.) +-# +-# pvscan only reads the single device specified, +-# and uses temp files under /run/lvm to check if +-# other PVs in the VG are present. +-# +-# If event_activation=0 in lvm.conf, this pvscan +-# (using checkcomplete) will do nothing, so that +-# no event-based autoactivation will be happen. +-# +-# TODO: adjust the output of vgchange -aay so that +-# it's better suited to appearing in the journal. +- +-IMPORT{program}="(LVM_EXEC)/lvm pvscan --cache --listvg --checkcomplete --vgonline --udevoutput --journal=output $env{DEVNAME}" +-ENV{LVM_VG_NAME_COMPLETE}=="?*", RUN+="/usr/bin/systemd-run -r --no-block --property DefaultDependencies=no --unit lvm-activate-$env{LVM_VG_NAME_COMPLETE} (LVM_EXEC)/lvm vgchange -aay --nohints $env{LVM_VG_NAME_COMPLETE}" ++RUN+="(LVM_EXEC)/lvm pvscan --background --cache --activate ay --major $major --minor $minor", ENV{LVM_SCANNED}="1" + GOTO="lvm_end" + + LABEL="lvm_end" diff --git a/lvm2/11-dm-initramfs.rules b/lvm2/11-dm-initramfs.rules new file mode 100644 index 0000000..d2c1673 --- /dev/null +++ b/lvm2/11-dm-initramfs.rules @@ -0,0 +1,3 @@ +# needed with new udev/mkinitcpio and as implemented in dracut: +# +SUBSYSTEM=="block", KERNEL=="dm-[0-9]*", ACTION=="add|change", OPTIONS="db_persist" diff --git a/lvm2/PKGBUILD b/lvm2/PKGBUILD new file mode 100644 index 0000000..a28a99f --- /dev/null +++ b/lvm2/PKGBUILD @@ -0,0 +1,136 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgbase=lvm2 +pkgname=('lvm2' 'device-mapper') +_tag='890c0635554075e122ef5437b5dfb28ff6fcb128' # git rev-parse v${pkgver//./_} +pkgver=2.03.15 +pkgrel=01 + +arch=('x86_64') +url='https://sourceware.org/lvm2/' +makedepends=('git' 'thin-provisioning-tools') +#options=('!makeflags') +source=("git+https://sourceware.org/git/lvm2.git#tag=${_tag}?signed" + '0001-udev-initcpio.patch' + 'lvm2_install' + '11-dm-initramfs.rules') + +#_backports=( +# # The path is known anyway and should be the bullet proof option. +# '221e75316f472fbf5eb2ad206b861ea255c099ed'# +#) + +prepare() { + cd lvm2/ + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git show "${_c}" -- ':(exclude)WHATS_NEW' | git apply + done + + # prepare for non-systemd initcpio +# cp udev/69-dm-lvm.rules.in udev/69-dm-lvm-initcpio.rules.in +# patch -Np1 < ../0001-udev-initcpio.patch +patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch + +# # remove install section from systemd units that are enabled by default +## sed -i -e '/^\[Install\]$/,$d' \ +## scripts/dm_event_systemd_red_hat.socket.in \ +## scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \ +## scripts/lvm2_monitoring_systemd_red_hat.service.in +} + +build() { + # build system requires bash: + # https://www.redhat.com/archives/linux-lvm/2020-January/msg00004.html + # https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Defining-Variables.html + export CONFIG_SHELL=/bin/bash + + cd lvm2/ + + ./configure \ + CONFIG_SHELL=/bin/bash \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-cmdlib \ + --enable-dmeventd \ + --enable-lvmpolld \ + --enable-pkgconfig \ + --enable-readline \ + --enable-udev_rules \ + --enable-udev_sync \ + --disable-systemd \ + --with-cache=internal \ + --with-default-dm-run-dir=/run \ + --with-default-locking-dir=/run/lock/lvm \ + --with-default-pid-dir=/run \ + --with-default-run-dir=/run/lvm \ + --without-systemdsystemunitdir \ + --with-thin=internal \ + --with-udev-prefix=/usr + make + +# --with-systemdsystemunitdir=/usr/lib/systemd/system \ + make -C udev/ 69-dm-lvm-initcpio.rules +} + +package_device-mapper() { + pkgdesc="Device mapper userspace library and tools w/o systemd" + url="http://sourceware.org/dm/" + depends=('glibc' 'libudev.so') + provides=('libdevmapper.so' + 'libdevmapper-event.so') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_device-mapper + # extra udev rule for device-mapper in initramfs + install -D -m0644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules" + # Install dmeventd socket and service +## make DESTDIR="${pkgdir}" install_systemd_units +## rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*} +## install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants" +## ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket" +} + +package_lvm2() { + pkgdesc="Logical Volume Manager 2 utilities w/o systemd" + depends=('bash' "device-mapper>=${pkgver}" + 'libudev.so' 'util-linux-libs' 'libblkid.so' 'readline' 'libreadline.so' + 'thin-provisioning-tools') + conflicts=('lvm' 'mkinitcpio<0.7') + backup=('etc/lvm/lvm.conf' + 'etc/lvm/lvmlocal.conf') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_lvm2 + # /etc directories + install -d "${pkgdir}"/etc/lvm/{archive,backup} + # mkinitcpio hook + install -D -m0644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2" + ln -s lvm2 "${pkgdir}/usr/lib/initcpio/install/sd-lvm2" + # extra udev rule for non-systemd initramfs + install -D -m0644 udev/69-dm-lvm-initcpio.rules "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm.rules" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2' 'LGPL2.1') + +validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon + 'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos + +sha256sums=(SKIP +# db540799e8810c0976b354792074b4956693df985564aa1ae37bc60414b22cf1 # 0001-udev-initcpio.patch + e9ab9207b805cab702a666a2deb754583e6acd4c46973898ebb4170b563f0eec # 0001-udev-initcpio.patch + 00228d69679d5db15860bdf6b92746a146d0952f0d1bd27c74886ce6f22bf216 # lvm2_install + e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0) # 11-dm-initramfs.rules diff --git a/lvm2/PKGBUILD-arch b/lvm2/PKGBUILD-arch new file mode 100644 index 0000000..ac43a30 --- /dev/null +++ b/lvm2/PKGBUILD-arch @@ -0,0 +1,125 @@ +# Maintainer: Eric Bélanger +# Maintainer: Thomas Bächler + +pkgbase=lvm2 +pkgname=('lvm2' 'device-mapper') +_tag='890c0635554075e122ef5437b5dfb28ff6fcb128' # git rev-parse v${pkgver//./_} +pkgver=2.03.15 +pkgrel=1 +arch=('x86_64') +url='https://sourceware.org/lvm2/' +license=('GPL2' 'LGPL2.1') +makedepends=('git' 'systemd' 'thin-provisioning-tools') +validpgpkeys=('88437EF5C077BD113D3B7224228191C1567E2C17' # Alasdair G Kergon + 'D501A478440AE2FD130A1BE8B9112431E509039F') # Marian Csontos +source=("git+https://sourceware.org/git/lvm2.git#tag=${_tag}?signed" + '0001-udev-initcpio.patch' + 'lvm2_install' + '11-dm-initramfs.rules') +sha256sums=('SKIP' + 'e9ab9207b805cab702a666a2deb754583e6acd4c46973898ebb4170b563f0eec' + '00228d69679d5db15860bdf6b92746a146d0952f0d1bd27c74886ce6f22bf216' + 'e10f24b57582d6e2da71f7c80732a62e0ee2e3b867fe84591ccdb53e80fa92e0') + +_backports=( +) + +prepare() { + cd lvm2/ + + local _c + for _c in "${_backports[@]}"; do + git log --oneline -1 "${_c}" + git show "${_c}" -- ':(exclude)WHATS_NEW' | git apply + done + + # prepare for non-systemd initcpio + patch -Np1 --output='udev/69-dm-lvm-initcpio.rules.in' < ../0001-udev-initcpio.patch + + # remove install section from systemd units that are enabled by default + sed -i -e '/^\[Install\]$/,$d' \ + scripts/dm_event_systemd_red_hat.socket.in \ + scripts/lvm2_lvmpolld_systemd_red_hat.socket.in \ + scripts/lvm2_monitoring_systemd_red_hat.service.in +} + +build() { + # build system requires bash: + # https://www.redhat.com/archives/linux-lvm/2020-January/msg00004.html + # https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Defining-Variables.html + export CONFIG_SHELL=/bin/bash + + cd lvm2/ + + ./configure \ + CONFIG_SHELL=/bin/bash \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-cmdlib \ + --enable-dmeventd \ + --enable-lvmpolld \ + --enable-pkgconfig \ + --enable-readline \ + --enable-udev_rules \ + --enable-udev_sync \ + --with-cache=internal \ + --with-default-dm-run-dir=/run \ + --with-default-locking-dir=/run/lock/lvm \ + --with-default-pid-dir=/run \ + --with-default-run-dir=/run/lvm \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-thin=internal \ + --with-udev-prefix=/usr + make + + make -C udev/ 69-dm-lvm-initcpio.rules +} + +package_device-mapper() { + pkgdesc="Device mapper userspace library and tools" + url="http://sourceware.org/dm/" + depends=('glibc' 'systemd-libs' 'libudev.so') + provides=('libdevmapper.so' + 'libdevmapper-event.so') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_device-mapper + # extra udev rule for device-mapper in initramfs + install -D -m0644 "${srcdir}/11-dm-initramfs.rules" "${pkgdir}/usr/lib/initcpio/udev/11-dm-initramfs.rules" + # Install dmeventd socket and service + make DESTDIR="${pkgdir}" install_systemd_units + rm -f "${pkgdir}/usr/lib/systemd/system/"{blk-availability.service,lvm2-*} + install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sockets.target.wants" + ln -sf ../dm-event.socket "${pkgdir}/usr/lib/systemd/system/sockets.target.wants/dm-event.socket" +} + +package_lvm2() { + pkgdesc="Logical Volume Manager 2 utilities" + depends=('bash' "device-mapper>=${pkgver}" 'systemd-libs' + 'libudev.so' 'util-linux-libs' 'libblkid.so' 'readline' 'libreadline.so' + 'thin-provisioning-tools') + conflicts=('lvm' 'mkinitcpio<0.7') + backup=('etc/lvm/lvm.conf' + 'etc/lvm/lvmlocal.conf') + + cd lvm2/ + + make DESTDIR="${pkgdir}" install_lvm2 + # /etc directories + install -d "${pkgdir}"/etc/lvm/{archive,backup} + # mkinitcpio hook + install -D -m0644 "${srcdir}/lvm2_install" "${pkgdir}/usr/lib/initcpio/install/lvm2" + ln -s lvm2 "${pkgdir}/usr/lib/initcpio/install/sd-lvm2" + # extra udev rule for non-systemd initramfs + install -D -m0644 udev/69-dm-lvm-initcpio.rules "${pkgdir}/usr/lib/initcpio/udev/69-dm-lvm.rules" + # systemd support + make DESTDIR="${pkgdir}" install_systemd_units + rm -f "${pkgdir}/usr/lib/systemd/system/"dm-* + install -d -m0755 "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants" + ln -sf ../lvm2-lvmpolld.socket "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-lvmpolld.socket" + ln -sf ../lvm2-monitor.service "${pkgdir}/usr/lib/systemd/system/sysinit.target.wants/lvm2-monitor.service" + make DESTDIR="${pkgdir}" install_systemd_generators +} diff --git a/lvm2/clean b/lvm2/clean new file mode 100644 index 0000000..f56b3ca --- /dev/null +++ b/lvm2/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,lvm2} diff --git a/lvm2/deps b/lvm2/deps new file mode 100644 index 0000000..1fc9385 --- /dev/null +++ b/lvm2/deps @@ -0,0 +1,2 @@ +git +thin-provisioning-tools diff --git a/lvm2/key b/lvm2/key new file mode 100644 index 0000000..aefd3e1 --- /dev/null +++ b/lvm2/key @@ -0,0 +1 @@ +gpg -v --recv-key B9112431E509039F diff --git a/lvm2/lvm2_install b/lvm2/lvm2_install new file mode 100644 index 0000000..69a4763 --- /dev/null +++ b/lvm2/lvm2_install @@ -0,0 +1,45 @@ +#!/usr/bin/bash + +build() { + local symlink + + # device mapper modules + map add_module \ + 'dm-mod' \ + 'dm-snapshot' \ + 'dm-mirror' \ + 'dm-cache' \ + 'dm-cache-smq' \ + 'dm-thin-pool' + + # from thin-provisioning-tools + add_binary 'pdata_tools' + for symlink in cache_{check,dump,metadata_size,repair,restore} thin_{check,delta,dump,ls,metadata_size,repair,restore,rmap,trim}; do + add_symlink "/usr/bin/${symlink}" 'pdata_tools' + done + + # udev rules and lvm configuration + map add_udev_rule \ + '10-dm.rules' \ + '11-dm-lvm.rules' \ + '13-dm-disk.rules' \ + '95-dm-notify.rules' \ + '/usr/lib/initcpio/udev/11-dm-initramfs.rules' + + # this udev rule is specific for systemd and non-systemd systems + if command -v add_systemd_unit >/dev/null; then + add_udev_rule '69-dm-lvm.rules' + else + add_udev_rule '/usr/lib/initcpio/udev/69-dm-lvm.rules' + fi + + # config file + add_file '/etc/lvm/lvm.conf' + sed -i '/^\smonitoring =/s/1/0/' "${BUILDROOT}/etc/lvm/lvm.conf" +} + +help() { + cat < +Date: Fri, 26 Feb 2021 15:21:20 +0100 +Subject: [PATCH] Fix potential memory corruption with negative memmove() size + +--- + lib/lz4.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/lz4.c b/lib/lz4.c +index 5f524d01d..c2f504ef3 100644 +--- a/lib/lz4.c ++++ b/lib/lz4.c +@@ -1749,7 +1749,7 @@ LZ4_decompress_generic( + const size_t dictSize /* note : = 0 if noDict */ + ) + { +- if (src == NULL) { return -1; } ++ if ((src == NULL) || (outputSize < 0)) { return -1; } + + { const BYTE* ip = (const BYTE*) src; + const BYTE* const iend = ip + srcSize; diff --git a/lz4/PKGBUILD b/lz4/PKGBUILD new file mode 100644 index 0000000..8426e55 --- /dev/null +++ b/lz4/PKGBUILD @@ -0,0 +1,62 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=lz4 +epoch=1 +pkgver=1.9.3 +pkgrel=02 +pkgdesc='Extremely fast compression algorithm' +arch=('x86_64') +url='http://www.lz4.org/' +makedepends=('git' 'gcc') +checkdepends=('diffutils') +depends=('glibc') +source=("git+https://github.com/lz4/lz4.git#tag=v$pkgver" + 'https://github.com/lz4/lz4/commit/8301a21773ef61656225e264f4f06ae14462bca7.patch') + +prepare() { + cd $pkgname + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + # do not use the main makefile, it calls sub make with -e + # exported CLFAGS by makepkg break the version. see FS#50071 + cd $pkgname + make -C lib PREFIX=/usr + make -C programs PREFIX=/usr lz4 lz4c +} + +check() { + rm -f passwd.lz4 + $pkgname/programs/lz4 /etc/passwd passwd.lz4 + $pkgname/programs/lz4 -d passwd.lz4 passwd + diff -q /etc/passwd passwd + rm passwd +} + +package() { + cd $pkgname + make install PREFIX=/usr DESTDIR="$pkgdir" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +sha512sums=('SKIP' + '29038d80c4399ded52b49e69d0f0d80bef8bf424e3540de366ef539706c8c1119784d6137c96130f131239d74a4c110dd9790cae5c9b17c102820446582c5637') # 8301a21773ef61656225e264f4f06ae14462bca7.patch + +sha256sums=(SKIP + c99da650a79a42db4db23e72146701cce9106383ba45709c5ac89022e36dcfb2) # 8301a21773ef61656225e264f4f06ae14462bca7.patch diff --git a/lz4/PKGBUILD-arch b/lz4/PKGBUILD-arch new file mode 100644 index 0000000..0abd941 --- /dev/null +++ b/lz4/PKGBUILD-arch @@ -0,0 +1,53 @@ +# Maintainer: Sébastien Luttringer + +pkgname=lz4 +epoch=1 +pkgver=1.9.3 +pkgrel=2 +pkgdesc='Extremely fast compression algorithm' +arch=('x86_64') +url='http://www.lz4.org/' +license=('GPL2') +makedepends=('git') +checkdepends=('diffutils') +depends=('glibc') +source=("git+https://github.com/lz4/lz4.git#tag=v$pkgver" + 'https://github.com/lz4/lz4/commit/8301a21773ef61656225e264f4f06ae14462bca7.patch') +sha256sums=('SKIP' + 'c99da650a79a42db4db23e72146701cce9106383ba45709c5ac89022e36dcfb2') + +prepare() { + cd $pkgname + # apply patch from the source array (should be a pacman feature) + local src + for src in "${source[@]}"; do + src="${src%%::*}" + src="${src##*/}" + [[ $src = *.patch ]] || continue + msg2 "Applying patch $src..." + patch -Np1 < "../$src" + done +} + +build() { + # do not use the main makefile, it calls sub make with -e + # exported CLFAGS by makepkg break the version. see FS#50071 + cd $pkgname + make -C lib PREFIX=/usr + make -C programs PREFIX=/usr lz4 lz4c +} + +check() { + rm -f passwd.lz4 + $pkgname/programs/lz4 /etc/passwd passwd.lz4 + $pkgname/programs/lz4 -d passwd.lz4 passwd + diff -q /etc/passwd passwd + rm passwd +} + +package() { + cd $pkgname + make install PREFIX=/usr DESTDIR="$pkgdir" +} + +# vim:set ts=2 sw=2 et: diff --git a/lz4/clean b/lz4/clean new file mode 100644 index 0000000..8c3039e --- /dev/null +++ b/lz4/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,lz4} diff --git a/lz4/deps b/lz4/deps new file mode 100644 index 0000000..5664e30 --- /dev/null +++ b/lz4/deps @@ -0,0 +1 @@ +git diff --git a/lz4/time b/lz4/time new file mode 100644 index 0000000..5e75968 --- /dev/null +++ b/lz4/time @@ -0,0 +1,3 @@ +real 0m8.567s +user 0m12.718s +sys 0m0.576s diff --git a/lzo/PKGBUILD b/lzo/PKGBUILD new file mode 100644 index 0000000..dcab2e9 --- /dev/null +++ b/lzo/PKGBUILD @@ -0,0 +1,47 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=lzo +pkgver=2.10 +pkgrel=03 +pkgdesc="Portable lossless data compression library" +arch=('x86_64') +url="https://www.oberhumer.com/opensource/lzo" +depends=('glibc') +source=(https://www.oberhumer.com/opensource/lzo/download/lzo-${pkgver}.tar.gz) + +build() { + cd lzo-${pkgver} + ./configure --prefix=/usr --enable-shared + make + + # build minilzo + gcc $CPPFLAGS $CFLAGS -fpic -Iinclude/lzo -o minilzo/minilzo.o -c minilzo/minilzo.c + gcc $LDFLAGS -shared -o libminilzo.so.0 -Wl,-soname,libminilzo.so.0 minilzo/minilzo.o +} + +check() { + cd lzo-${pkgver} + make test # Larger test + make check +} + +package() { + cd lzo-${pkgver} + make DESTDIR="${pkgdir}" install + + # install minilzo + install -m 755 libminilzo.so.0 "${pkgdir}"/usr/lib + install -p -m 644 minilzo/minilzo.h ${pkgdir}/usr/include/lzo + cd "${pkgdir}"/usr/lib + ln -s libminilzo.so.0 libminilzo.so +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=(c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b4221a072) # lzo-2.10.tar.gz diff --git a/lzo/PKGBUILD-arch b/lzo/PKGBUILD-arch new file mode 100644 index 0000000..d00e0b3 --- /dev/null +++ b/lzo/PKGBUILD-arch @@ -0,0 +1,40 @@ +# Contributor: Low Kian Seong +# Maintainer: dorphell + +pkgname=lzo +pkgver=2.10 +pkgrel=3 +pkgdesc="Portable lossless data compression library" +arch=('x86_64') +url="https://www.oberhumer.com/opensource/lzo" +license=('GPL') +depends=('glibc') +source=(https://www.oberhumer.com/opensource/lzo/download/lzo-${pkgver}.tar.gz) +sha1sums=('4924676a9bae5db58ef129dc1cebce3baa3c4b5d') + +build() { + cd lzo-${pkgver} + ./configure --prefix=/usr --enable-shared + make + + # build minilzo + gcc $CPPFLAGS $CFLAGS -fpic -Iinclude/lzo -o minilzo/minilzo.o -c minilzo/minilzo.c + gcc $LDFLAGS -shared -o libminilzo.so.0 -Wl,-soname,libminilzo.so.0 minilzo/minilzo.o +} + +check() { + cd lzo-${pkgver} + make test # Larger test + make check +} + +package() { + cd lzo-${pkgver} + make DESTDIR="${pkgdir}" install + + # install minilzo + install -m 755 libminilzo.so.0 "${pkgdir}"/usr/lib + install -p -m 644 minilzo/minilzo.h ${pkgdir}/usr/include/lzo + cd "${pkgdir}"/usr/lib + ln -s libminilzo.so.0 libminilzo.so +} diff --git a/lzo/clean b/lzo/clean new file mode 100644 index 0000000..2b55a85 --- /dev/null +++ b/lzo/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,lzo*tar.gz} diff --git a/lzo/deps b/lzo/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/lzo/deps @@ -0,0 +1 @@ + diff --git a/lzo/time b/lzo/time new file mode 100644 index 0000000..94fa3fb --- /dev/null +++ b/lzo/time @@ -0,0 +1,3 @@ +real 0m23.993s +user 0m41.929s +sys 0m3.219s diff --git a/m4/PKGBUILD b/m4/PKGBUILD new file mode 100644 index 0000000..f3b7d98 --- /dev/null +++ b/m4/PKGBUILD @@ -0,0 +1,41 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=m4 +pkgver=1.4.19 +pkgrel=01 +pkgdesc="The GNU macro processor" +arch=('x86_64') +url="https://www.gnu.org/software/m4" +groups=( jobbot ) +depends=('glibc' 'bash') +makedepends=('diffutils') +source=("https://ftp.gnu.org/gnu/m4/$pkgname-$pkgver.tar.xz"{,.sig}) + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make prefix="${pkgdir}"/usr install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('71C2CC22B1C4602927D2F3AAA7A16B4A2527436A') # Eric Blake + +sha256sums=(63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96 # m4-1.4.19.tar.xz + 9700ba4dca539b06e033b4e3ab37fa5b983becb6c14569a8b8aa02dee6ab666c) # m4-1.4.19.tar.xz.sig diff --git a/m4/PKGBUILD-arch b/m4/PKGBUILD-arch new file mode 100644 index 0000000..a93528e --- /dev/null +++ b/m4/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: Andreas Radke + +pkgname=m4 +pkgver=1.4.19 +pkgrel=1 +pkgdesc="The GNU macro processor" +arch=('x86_64') +url="https://www.gnu.org/software/m4" +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'bash') +source=("https://ftp.gnu.org/gnu/m4/$pkgname-$pkgver.tar.xz"{,.sig}) +md5sums=('0d90823e1426f1da2fd872df0311298d' + 'SKIP') +validpgpkeys=('71C2CC22B1C4602927D2F3AAA7A16B4A2527436A') # Eric Blake + +build() { + cd "$pkgname-$pkgver" + ./configure --prefix=/usr + make +} + +check() { + cd "$pkgname-$pkgver" + make check +} + +package() { + cd "$pkgname-$pkgver" + make prefix="${pkgdir}"/usr install +} diff --git a/m4/clean b/m4/clean new file mode 100644 index 0000000..f2f352d --- /dev/null +++ b/m4/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,m4*} diff --git a/m4/deps b/m4/deps new file mode 100644 index 0000000..e69de29 diff --git a/m4/key b/m4/key new file mode 100644 index 0000000..9b6fb43 --- /dev/null +++ b/m4/key @@ -0,0 +1 @@ +gpg -v --recv-key A7A16B4A2527436A diff --git a/m4/time b/m4/time new file mode 100644 index 0000000..b446fd1 --- /dev/null +++ b/m4/time @@ -0,0 +1,4 @@ +real 0m55.549s +user 1m24.903s +sys 0m9.716s + diff --git a/make/PKGBUILD b/make/PKGBUILD new file mode 100644 index 0000000..4303f6f --- /dev/null +++ b/make/PKGBUILD @@ -0,0 +1,40 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=make +pkgver=4.3 +pkgrel=03 +pkgdesc="GNU make utility to maintain groups of programs" +arch=('x86_64') +url="https://www.gnu.org/software/make" +groups=( jobbot ) +depends=('glibc' 'guile') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.lz"{,.sig}) + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + make -k check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3') + +validpgpkeys=('6D4EEB02AD834703510B117680CB727A20C79BB2') # Paul Smith + +sha256sums=(de1a441c4edf952521db30bfca80baae86a0ff1acd0a00402999344f04c45e82 # make-4.3.tar.lz + 183f259bc2da1745eb086d17863f61303b100b07e1d8026601904f029bcd717d) # make-4.3.tar.lz.sig diff --git a/make/PKGBUILD-arch b/make/PKGBUILD-arch new file mode 100644 index 0000000..642e25f --- /dev/null +++ b/make/PKGBUILD-arch @@ -0,0 +1,33 @@ +# Maintainer: Lukas Fleischer +# Contributor: Allan McRae +# Contributor: judd + +pkgname=make +pkgver=4.3 +pkgrel=3 +pkgdesc="GNU make utility to maintain groups of programs" +arch=('x86_64') +url="https://www.gnu.org/software/make" +license=('GPL3') +groups=('base-devel') +depends=('glibc' 'guile') +source=("https://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.lz"{,.sig}) +md5sums=('d5c40e7bd1e97a7404f5d3be982f479a' + 'SKIP') +validpgpkeys=('6D4EEB02AD834703510B117680CB727A20C79BB2') # Paul Smith + +build() { + cd "${pkgname}-${pkgver}" + ./configure --prefix=/usr + make +} + +check() { + cd "${pkgname}-${pkgver}" + make -k check +} + +package() { + cd "${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install +} diff --git a/make/clean b/make/clean new file mode 100644 index 0000000..36965fc --- /dev/null +++ b/make/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mak*} diff --git a/make/deps b/make/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/make/deps @@ -0,0 +1 @@ + diff --git a/make/key b/make/key new file mode 100644 index 0000000..9df5c7f --- /dev/null +++ b/make/key @@ -0,0 +1 @@ +gpg -v --recv-key DEACCAAEDB78137A diff --git a/make/time b/make/time new file mode 100644 index 0000000..0f207c3 --- /dev/null +++ b/make/time @@ -0,0 +1,3 @@ +real 0m55.326s +user 0m20.220s +sys 0m2.618s diff --git a/man-db/PKGBUILD b/man-db/PKGBUILD new file mode 100644 index 0000000..3156b07 --- /dev/null +++ b/man-db/PKGBUILD @@ -0,0 +1,81 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=man-db +pkgver=2.10.2 +pkgrel=01 +pkgdesc="A utility for reading man pages w/o systemd" +arch=('x86_64') +#url="https://www.nongnu.org/man-db/" +url="https://gitlab.com/cjwatson/man-db" +depends=( 'bash' 'gdbm' 'zlib' 'groff' 'libpipeline' 'less' 'libseccomp') +makedepends=('po4a') +optdepends=('gzip') # covered by virtual "base" package +backup=('etc/man_db.conf') +conflicts=('man') +provides=('man') +replaces=('man') +#options=('debug') # uncomment this to have the man-db-debug pkg built +install=${pkgname}.install +source=(https://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.xz{,.asc} + # fallback should be used within first 24h after a release + #https://download-mirror.savannah.gnu.org/releases/man-db/$pkgname-$pkgver.tar.xz{,.asc} + #snapdir.diff + convert-mans +) + +#prepare() { +# cd ${pkgname}-${pkgver} +# # fix default Add MANDB_MAP entry mapping /snap/man to /var/cache/man/snap +# # Arch needs /var/lib/snapd/snap/man to /var/cache/man/snap +# patch -Np0 -i ../snapdir.diff +#} +# + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --with-systemdsystemunitdir=no \ + --with-snapdir=/var/lib/snapd/snap \ + --with-db=gdbm \ + --disable-setuid \ + --enable-cache-owner=root \ + --enable-mandirs=GNU \ + --with-sections="1 1p n l 8 3 3p 0 0p 2 5 4 9 6 7" + make +} + +#check() { +# cd ${pkgname}-${pkgver} +# make check +#} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # part of groff pkg + rm -f ${pkgdir}/usr/bin/zsoelim + + # script from LFS to convert manpages, see + # http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/man-db.html + install -D -m755 ${srcdir}/convert-mans ${pkgdir}/usr/bin/convert-mans + +} + +#---- license gpg-key sha256sums ---- + +license=('GPL' 'LGPL') + +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson + +sha256sums=(ee97954d492a13731903c9d0727b9b01e5089edbd695f0cdb58d405a5af5514d # man-db-2.10.2.tar.xz + 7d5efc39ab1f0c205a665b259aa3d55ac8fc2563e45a9d1aed6fc618f3fc796d # man-db-2.10.2.tar.xz.asc +# 6677627447737e1652be03b6c177fc4291551146078a7867b95044bc8a2e7f6f # snapdir.diff + affab3adc4b83d011ed83060d8ac579211c932e6c0900b92e12779c092ad5df3) # convert-mans diff --git a/man-db/PKGBUILD-arch b/man-db/PKGBUILD-arch new file mode 100644 index 0000000..0abff8d --- /dev/null +++ b/man-db/PKGBUILD-arch @@ -0,0 +1,64 @@ +# Maintainer: Andreas Radke +# Contributor: Sergej Pupykin + +pkgname=man-db +pkgver=2.10.2 +pkgrel=1 +pkgdesc="A utility for reading man pages" +arch=('x86_64') +url="https://gitlab.com/cjwatson/man-db" +license=('GPL' 'LGPL') +depends=( 'bash' 'gdbm' 'zlib' 'groff' 'libpipeline' 'less' 'libseccomp') +makedepends=('po4a') +optdepends=('gzip') # covered by virtual "base" package +backup=('etc/man_db.conf') +conflicts=('man') +provides=('man') +replaces=('man') +options=('debug') +install=${pkgname}.install +source=(https://savannah.nongnu.org/download/man-db/$pkgname-$pkgver.tar.xz{,.asc} + # fallback should be used within first 24h after a release + #https://download-mirror.savannah.gnu.org/releases/man-db/$pkgname-$pkgver.tar.xz{,.asc} + convert-mans +) +validpgpkeys=('AC0A4FF12611B6FCCF01C111393587D97D86500B') # Colin Watson +sha512sums=('5ad7a7b601aadf4d2d7cc068881fffe3d91dc85fcf4c17e66fbe6e2b04bb1c46f5ba5d4bc7f6ab3f39e00065be39061b101d3064c12b1e89f0fee61c088611bf' + 'SKIP' + '0b159285da20008f0fc0afb21f1eaebd39e8df5b0594880aa0e8a913b656608b8d16bb8d279d9e62d7aae52f62cb9b2fc49e237c6711f4a5170972b38d345535') + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc \ + --libexecdir=/usr/lib \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-snapdir=/var/lib/snapd/snap \ + --with-db=gdbm \ + --disable-setuid \ + --enable-cache-owner=root \ + --enable-mandirs=GNU \ + --with-sections="1 1p n l 8 3 3p 0 0p 2 5 4 9 6 7" + make +} + +check() { + cd ${pkgname}-${pkgver} + make check +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install + + # part of groff pkg + rm -f ${pkgdir}/usr/bin/zsoelim + + # script from LFS to convert manpages, see + # http://www.linuxfromscratch.org/lfs/view/6.4/chapter06/man-db.html + install -D -m755 ${srcdir}/convert-mans ${pkgdir}/usr/bin/convert-mans + + install -d -m755 ${pkgdir}/usr/lib/systemd/system/timers.target.wants + ln -s ../man-db.timer ${pkgdir}/usr/lib/systemd/system/timers.target.wants/man-db.timer +} diff --git a/man-db/clean b/man-db/clean new file mode 100644 index 0000000..420a430 --- /dev/null +++ b/man-db/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,man-db-*tar.*} diff --git a/man-db/convert-mans b/man-db/convert-mans new file mode 100644 index 0000000..58a0224 --- /dev/null +++ b/man-db/convert-mans @@ -0,0 +1,11 @@ +#!/bin/sh -e +FROM="$1" +TO="$2" +shift ; shift +while [ $# -gt 0 ] +do + FILE="$1" + shift + iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv + mv .tmp.iconv "$FILE" +done diff --git a/man-db/deps b/man-db/deps new file mode 100644 index 0000000..af45231 --- /dev/null +++ b/man-db/deps @@ -0,0 +1,2 @@ +po4a +libpipeline diff --git a/man-db/key b/man-db/key new file mode 100644 index 0000000..32685fa --- /dev/null +++ b/man-db/key @@ -0,0 +1 @@ +gpg -v --recv-key 393587D97D86500B diff --git a/man-db/man-db.install b/man-db/man-db.install new file mode 100644 index 0000000..8db2147 --- /dev/null +++ b/man-db/man-db.install @@ -0,0 +1,11 @@ +post_upgrade() { + # force database rebuild as recommended per upstream + if [ "`vercmp $2 2.7.0`" -lt 0 ]; then + echo "(re)building database..." + mandb -c --quiet + fi +} + +post_remove() { + rm -rf /var/cache/man +} diff --git a/man-db/snapdir.diff b/man-db/snapdir.diff new file mode 100644 index 0000000..b7fb27a --- /dev/null +++ b/man-db/snapdir.diff @@ -0,0 +1,12 @@ +--- src/man_db.conf.in 2020-01-27 13:25:03.000000000 +0100 ++++ src/man_db.conf.in.new 2020-02-26 07:40:32.726347889 +0100 +@@ -69,7 +69,8 @@ + MANDB_MAP /usr/local/share/man /var/cache/man/local + MANDB_MAP /usr/X11R6/man /var/cache/man/X11R6 + MANDB_MAP /opt/man /var/cache/man/opt +-MANDB_MAP /snap/man /var/cache/man/snap ++MANDB_MAP /var/lib/snapd/snap/man /var/cache/man/snap ++ + # + #--------------------------------------------------------- + # Program definitions. These are commented out by default as the value diff --git a/man-db/time b/man-db/time new file mode 100644 index 0000000..8f05f50 --- /dev/null +++ b/man-db/time @@ -0,0 +1,4 @@ +real 0m45.723s +user 1m1.500s +sys 0m7.405s + diff --git a/man-pages/PKGBUILD b/man-pages/PKGBUILD new file mode 100644 index 0000000..0800f12 --- /dev/null +++ b/man-pages/PKGBUILD @@ -0,0 +1,61 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=man-pages +pkgver=5.13 +_posixver=2017-a +pkgrel=01 +pkgdesc="Linux man pages" +arch=('any') +url="https://www.kernel.org/doc/man-pages/" +makedepends=('man2html') +source=(https://www.kernel.org/pub/linux/docs/man-pages/$pkgname-$pkgver.tar.{xz,sign} + https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/$pkgname-posix-${_posixver}.tar.{xz,sign}) +# https://www.kernel.org/pub/linux/docs/man-pages/sha256sums.asc + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + + sed -i "s|prefix := /usr/local|prefix := /usr|g" Makefile + + # included in shadow + rm man5/passwd.5 + rm man3/getspnam.3 + # included in tzdata + rm man5/tzfile.5 man8/{tzselect,zdump,zic}.8 + # included in libxcrypt + rm man3/crypt*.3 +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + + # install man-pages + make DESTDIR="${pkgdir}" install + + # install posix pages + pushd "${srcdir}"/$pkgname-posix-${_posixver%-*} + make DESTDIR="${pkgdir}" install + popd + + # posix pages have a custom license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}"/$pkgname-posix-${_posixver%-*}/POSIX-COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/POSIX-COPYRIGHT" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL' 'custom') + +validpgpkeys=('E522595B52EDA4E6BFCCCB5E856199113A35CE5E') # Michael Kerrisk (Linux man-pages maintainer) + +# ed615e9a31978833f59e7316667b9aeffbbdb0a92d1391f9c66fadc6e77d0da8 # man-pages-5.13.tar.gz +# 614dae3efe7dfd480986763a2a2a8179215032a5a4526c0be5e899a25f096b8b # man-pages-5.13.tar.xz + +sha256sums=(614dae3efe7dfd480986763a2a2a8179215032a5a4526c0be5e899a25f096b8b # man-pages-5.13.tar.xz + a9148d4662a5d75b650f0782dec716da696917b090ef3f85363bb3c2291c3596 # man-pages-5.13.tar.sign + ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3 # man-pages-posix-2017-a.tar.xz + a754077b66853702059a7ae8ff520fadf42ab7484da6df991207343e8b7c5eff) # man-pages-posix-2017-a.tar.sign diff --git a/man-pages/PKGBUILD-arch b/man-pages/PKGBUILD-arch new file mode 100644 index 0000000..0fdad5d --- /dev/null +++ b/man-pages/PKGBUILD-arch @@ -0,0 +1,49 @@ +# Maintainer: Andreas Radke + +pkgname=man-pages +pkgver=5.13 +_posixver=2017-a +pkgrel=1 +pkgdesc="Linux man pages" +arch=('any') +license=('GPL' 'custom') +url="https://www.kernel.org/doc/man-pages/" +makedepends=('man2html') +source=(https://www.kernel.org/pub/linux/docs/man-pages/$pkgname-$pkgver.tar.{xz,sign} + https://www.kernel.org/pub/linux/docs/man-pages/man-pages-posix/$pkgname-posix-${_posixver}.tar.{xz,sign}) +# https://www.kernel.org/pub/linux/docs/man-pages/sha256sums.asc +sha256sums=('614dae3efe7dfd480986763a2a2a8179215032a5a4526c0be5e899a25f096b8b' + 'SKIP' + 'ce67bb25b5048b20dad772e405a83f4bc70faf051afa289361c81f9660318bc3' + 'SKIP') +validpgpkeys=('E522595B52EDA4E6BFCCCB5E856199113A35CE5E') # Michael Kerrisk (Linux man-pages maintainer) + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + + sed -i "s|prefix := /usr/local|prefix := /usr|g" Makefile + + # included in shadow + rm man5/passwd.5 + rm man3/getspnam.3 + # included in tzdata + rm man5/tzfile.5 man8/{tzselect,zdump,zic}.8 + # included in libxcrypt + rm man3/crypt*.3 +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + + # install man-pages + make DESTDIR="${pkgdir}" install + + # install posix pages + pushd "${srcdir}"/$pkgname-posix-${_posixver%-*} + make DESTDIR="${pkgdir}" install + popd + + # posix pages have a custom license + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + install -m644 "${srcdir}"/$pkgname-posix-${_posixver%-*}/POSIX-COPYRIGHT "${pkgdir}/usr/share/licenses/${pkgname}/POSIX-COPYRIGHT" +} diff --git a/man-pages/clean b/man-pages/clean new file mode 100644 index 0000000..0acef28 --- /dev/null +++ b/man-pages/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,man-pages-*tar.*,sha256sums} diff --git a/man-pages/deps b/man-pages/deps new file mode 100644 index 0000000..ece47c7 --- /dev/null +++ b/man-pages/deps @@ -0,0 +1,2 @@ +man2html + diff --git a/man-pages/key b/man-pages/key new file mode 100644 index 0000000..0f8cbda --- /dev/null +++ b/man-pages/key @@ -0,0 +1 @@ +gpg -v --recv-key 856199113A35CE5E diff --git a/man-pages/sums b/man-pages/sums new file mode 100644 index 0000000..6835e40 --- /dev/null +++ b/man-pages/sums @@ -0,0 +1,5 @@ +man-pages-5.13.tar.xz +man-pages-5.13.tar.sign +man-pages-posix-2017-a.tar.xz +man-pages-posix-2017-a.tar.sign +sha256sums.asc diff --git a/man-pages/time b/man-pages/time new file mode 100644 index 0000000..f706a7b --- /dev/null +++ b/man-pages/time @@ -0,0 +1,3 @@ +real 0m35.141s +user 0m32.302s +sys 0m6.503s diff --git a/mdadm/PKGBUILD b/mdadm/PKGBUILD new file mode 100644 index 0000000..5c43a6e --- /dev/null +++ b/mdadm/PKGBUILD @@ -0,0 +1,52 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=mdadm +pkgver=4.2 +pkgrel=01 +pkgdesc='A tool for managing/monitoring Linux md device arrays, also known as Software RAID w/o systemd' +arch=('x86_64') +url='https://git.kernel.org/pub/scm/utils/mdadm' +makedepends=('git') +depends=('glibc') +replaces=('raidtools') +backup=('etc/mdadm.conf') +source=("git+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git#tag=${pkgname}-${pkgver}?signed" + 'disable-werror.patch' + 'mdadm.conf' + 'mdadm_udev_install') + +prepare() { + cd mdadm + patch -Np0 -i ${srcdir}/disable-werror.patch +} + +build() { + cd mdadm + + make CXFLAGS="$CFLAGS" BINDIR=/usr/bin UDEVDIR=/usr/lib/udev +} + +package() { + cd mdadm + + make INSTALL=/usr/bin/install BINDIR=/usr/bin DESTDIR="$pkgdir" UDEVDIR=/usr/lib/udev install + install -D -m644 ../mdadm.conf "$pkgdir"/etc/mdadm.conf + install -D -m644 ../mdadm_udev_install "$pkgdir"/usr/lib/initcpio/install/mdadm_udev + ln -s mdadm_udev "$pkgdir"/usr/lib/initcpio/install/mdadm +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +validpgpkeys=('6A86B80E1D22F21D0B26BA75397D82E0531A9C91') # Jes Sorensen + +sha256sums=(SKIP + 85c98b8fe880bdd365fc0e400af10c2e5d0c439d338e055f66c16162f9282846 # disable-werror.patch + 4ce1e90690282f98e4828e11576fbd61be65e97a2cdae6c7eac7035ea5ee53e5 # mdadm.conf + b6782029bdae2d7f87ea0e332bb90f72a7792e933580e37602e81e2f1bb82a9c) # mdadm_udev_install diff --git a/mdadm/PKGBUILD-arch b/mdadm/PKGBUILD-arch new file mode 100644 index 0000000..9c053a5 --- /dev/null +++ b/mdadm/PKGBUILD-arch @@ -0,0 +1,43 @@ +# Maintainer: Tobias Powalowski +# Contributor: Judd Vinet + +pkgname=mdadm +pkgver=4.2 +pkgrel=1 +pkgdesc='A tool for managing/monitoring Linux md device arrays, also known as Software RAID' +arch=('x86_64') +license=('GPL') +url='https://git.kernel.org/pub/scm/utils/mdadm' +makedepends=('git') +depends=('glibc' 'systemd') +replaces=('raidtools') +backup=('etc/mdadm.conf') +validpgpkeys=('6A86B80E1D22F21D0B26BA75397D82E0531A9C91') # Jes Sorensen +source=("git+https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git#tag=${pkgname}-${pkgver}?signed" + 'disable-werror.patch' + 'mdadm.conf' + 'mdadm_udev_install') +sha256sums=('SKIP' + '85c98b8fe880bdd365fc0e400af10c2e5d0c439d338e055f66c16162f9282846' + '4ce1e90690282f98e4828e11576fbd61be65e97a2cdae6c7eac7035ea5ee53e5' + 'b6782029bdae2d7f87ea0e332bb90f72a7792e933580e37602e81e2f1bb82a9c') +prepare() { + cd mdadm + patch -Np0 -i ${srcdir}/disable-werror.patch +} + +build() { + cd mdadm + + make CXFLAGS="$CFLAGS" BINDIR=/usr/bin UDEVDIR=/usr/lib/udev +} + +package() { + cd mdadm + + make INSTALL=/usr/bin/install BINDIR=/usr/bin DESTDIR="$pkgdir" UDEVDIR=/usr/lib/udev install + make SYSTEMD_DIR="$pkgdir"/usr/lib/systemd/system install-systemd + install -D -m644 ../mdadm.conf "$pkgdir"/etc/mdadm.conf + install -D -m644 ../mdadm_udev_install "$pkgdir"/usr/lib/initcpio/install/mdadm_udev + ln -s mdadm_udev "$pkgdir"/usr/lib/initcpio/install/mdadm +} diff --git a/mdadm/clean b/mdadm/clean new file mode 100644 index 0000000..87d9d4f --- /dev/null +++ b/mdadm/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mdadm} diff --git a/mdadm/deps b/mdadm/deps new file mode 100644 index 0000000..5664e30 --- /dev/null +++ b/mdadm/deps @@ -0,0 +1 @@ +git diff --git a/mdadm/disable-werror.patch b/mdadm/disable-werror.patch new file mode 100644 index 0000000..2f29419 --- /dev/null +++ b/mdadm/disable-werror.patch @@ -0,0 +1,11 @@ +--- Makefile.old 2022-01-10 17:07:50.475985407 +0100 ++++ Makefile 2022-01-10 17:08:11.599433663 +0100 +@@ -50,7 +50,7 @@ + CC := $(CROSS_COMPILE)gcc + endif + CXFLAGS ?= -ggdb +-CWFLAGS = -Wall -Werror -Wstrict-prototypes -Wextra -Wno-unused-parameter ++CWFLAGS = -Wall -Wstrict-prototypes -Wextra -Wno-unused-parameter + ifdef WARN_UNUSED + CWFLAGS += -Wp,-D_FORTIFY_SOURCE=2 -O3 + endif diff --git a/mdadm/key b/mdadm/key new file mode 100644 index 0000000..ca5d07b --- /dev/null +++ b/mdadm/key @@ -0,0 +1 @@ +gpg -v --recv-key 397D82E0531A9C91 diff --git a/mdadm/mdadm.conf b/mdadm/mdadm.conf new file mode 100644 index 0000000..36eaa0c --- /dev/null +++ b/mdadm/mdadm.conf @@ -0,0 +1,67 @@ +# mdadm configuration file +# +# mdadm will function properly without the use of a configuration file, +# but this file is useful for keeping track of arrays and member disks. +# In general, a mdadm.conf file is created, and updated, after arrays +# are created. This is the opposite behavior of /etc/raidtab which is +# created prior to array construction. +# +# +# the config file takes two types of lines: +# +# DEVICE lines specify a list of devices of where to look for +# potential member disks +# +# ARRAY lines specify information about how to identify arrays so +# so that they can be activated +# + + +# You can have more than one device line and use wild cards. The first +# example includes SCSI the first partition of SCSI disks /dev/sdb, +# /dev/sdc, /dev/sdd, /dev/sdj, /dev/sdk, and /dev/sdl. The second +# line looks for array slices on IDE disks. +# +#DEVICE /dev/sd[bcdjkl]1 +#DEVICE /dev/hda1 /dev/hdb1 +# +# The designation "partitions" will scan all partitions found in +# /proc/partitions +DEVICE partitions + + +# ARRAY lines specify an array to assemble and a method of identification. +# Arrays can currently be identified by using a UUID, superblock minor number, +# or a listing of devices. +# +# super-minor is usually the minor number of the metadevice +# UUID is the Universally Unique Identifier for the array +# Each can be obtained using +# +# mdadm -D +# +# To capture the UUIDs for all your RAID arrays to this file, run these: +# to get a list of running arrays: +# # mdadm -D --scan >>/etc/mdadm.conf +# to get a list from superblocks: +# # mdadm -E --scan >>/etc/mdadm.conf +# +#ARRAY /dev/md0 UUID=3aaa0122:29827cfa:5331ad66:ca767371 +#ARRAY /dev/md1 super-minor=1 +#ARRAY /dev/md2 devices=/dev/hda1,/dev/hdb1 +# +# ARRAY lines can also specify a "spare-group" for each array. mdadm --monitor +# will then move a spare between arrays in a spare-group if one array has a +# failed drive but no spare +#ARRAY /dev/md4 uuid=b23f3c6d:aec43a9f:fd65db85:369432df spare-group=group1 +#ARRAY /dev/md5 uuid=19464854:03f71b1b:e0df2edd:246cc977 spare-group=group1 +# + + +# When used in --follow (aka --monitor) mode, mdadm needs a +# mail address and/or a program. To start mdadm's monitor mode, enable +# mdadm.service in systemd. +# +# If the lines are not found, mdadm will exit quietly +#MAILADDR root@mydomain.tld +#PROGRAM /usr/sbin/handle-mdadm-events diff --git a/mdadm/mdadm_udev_install b/mdadm/mdadm_udev_install new file mode 100644 index 0000000..64a0862 --- /dev/null +++ b/mdadm/mdadm_udev_install @@ -0,0 +1,25 @@ +#!/bin/bash + +build() { + add_checked_modules -f 'dm-' 'drivers/md/*' + + # check if a custom mdadm.conf exists + if grep -qw ^ARRAY "$BASEDIR/etc/mdadm.conf"; then + echo "Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays." + add_file "/etc/mdadm.conf" + fi + + map add_udev_rule \ + '63-md-raid-arrays.rules' \ + '64-md-raid-assembly.rules' +} + +help() { + cat < +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=mkinitcpio-busybox +pkgver=1.35.0 +pkgrel=01 +pkgdesc='Base initramfs tools' +arch=(x86_64) +url="https://www.busybox.net/" +depends=(glibc libxcrypt) +options=(!buildflags) +source=(https://busybox.net/downloads/busybox-$pkgver.tar.bz2{,.sig} + config) + +prepare() { + cd "busybox-$pkgver" + + local safeflags="-march=${CARCH/_/-} -mtune=generic -Os -pipe -fno-strict-aliasing" + + # use make oldconfig for updating the config file + sed 's|^\(CONFIG_EXTRA_CFLAGS\)=.*|\1="'"$safeflags"'"|' "$srcdir/config" > .config +} + +build() { + # reproducible build + export KCONFIG_NOTIMESTAMP=1 + make -C "busybox-$pkgver" +} + +package() { + install -Dm755 "$srcdir/busybox-$pkgver/busybox" "$pkgdir/usr/lib/initcpio/busybox" +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('C9E9416F76E610DBD09D040F47B70C55ACC9965B') # Denis Vlasenko + +sha256sums=(faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694 # busybox-1.35.0.tar.bz2 + c85450ac2bf121ca30585304145e7088cd6c2aecfb2a85448d1a7586fd32039b # busybox-1.35.0.tar.bz2.sig + fe7bd3c7150c25a8ad24190d305a012b84766f34847a7efc7126e19261b0c711) # config diff --git a/mkinitcpio-busybox/PKGBUILD-arch b/mkinitcpio-busybox/PKGBUILD-arch new file mode 100644 index 0000000..90172db --- /dev/null +++ b/mkinitcpio-busybox/PKGBUILD-arch @@ -0,0 +1,39 @@ +# Maintainer: Giancarlo Razzolini +# Contributor: Bartłomiej Piotrowski +# Contributor: Dave Reisner +# Contributor: Thomas Bächler + +pkgname=mkinitcpio-busybox +pkgver=1.35.0 +pkgrel=1 +pkgdesc='Base initramfs tools' +arch=(x86_64) +url="https://www.busybox.net/" +license=(GPL) +depends=(glibc libxcrypt) +options=(!buildflags) +source=(https://busybox.net/downloads/busybox-$pkgver.tar.bz2{,.sig} + config) +sha256sums=('faeeb244c35a348a334f4a59e44626ee870fb07b6884d68c10ae8bc19f83a694' + 'SKIP' + 'fe7bd3c7150c25a8ad24190d305a012b84766f34847a7efc7126e19261b0c711') +validpgpkeys=('C9E9416F76E610DBD09D040F47B70C55ACC9965B') # Denis Vlasenko + +prepare() { + cd "busybox-$pkgver" + + local safeflags="-march=${CARCH/_/-} -mtune=generic -Os -pipe -fno-strict-aliasing" + + # use make oldconfig for updating the config file + sed 's|^\(CONFIG_EXTRA_CFLAGS\)=.*|\1="'"$safeflags"'"|' "$srcdir/config" > .config +} + +build() { + # reproducible build + export KCONFIG_NOTIMESTAMP=1 + make -C "busybox-$pkgver" +} + +package() { + install -Dm755 "$srcdir/busybox-$pkgver/busybox" "$pkgdir/usr/lib/initcpio/busybox" +} diff --git a/mkinitcpio-busybox/clean b/mkinitcpio-busybox/clean new file mode 100644 index 0000000..d9547c3 --- /dev/null +++ b/mkinitcpio-busybox/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,*.tar.bz2*} diff --git a/mkinitcpio-busybox/config b/mkinitcpio-busybox/config new file mode 100644 index 0000000..304e15c --- /dev/null +++ b/mkinitcpio-busybox/config @@ -0,0 +1,1212 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.35.0 +# Wed Feb 9 09:13:14 2022 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_WTMP is not set +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +# CONFIG_STATIC is not set +CONFIG_PIE=y +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +# CONFIG_STATIC_LIBGCC is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=0 +CONFIG_SHA3_SMALL=0 +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=255 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +# CONFIG_GUNZIP is not set +# CONFIG_ZCAT is not set +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZCAT is not set +# CONFIG_UNLZMA is not set +# CONFIG_LZCAT is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZCAT is not set +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +CONFIG_FEATURE_CPIO_IGNORE_DEVNO=y +CONFIG_FEATURE_CPIO_RENUMBER_INODES=y +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +CONFIG_FEATURE_GZIP_LEVELS=y +CONFIG_FEATURE_GZIP_DECOMPRESS=y +CONFIG_LZOP=y +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +# CONFIG_FEATURE_UNZIP_BZIP2 is not set +# CONFIG_FEATURE_UNZIP_LZMA is not set +# CONFIG_FEATURE_UNZIP_XZ is not set +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for date and touch +# +# CONFIG_FEATURE_TIMEZONE is not set + +# +# Common options for cp and mv +# +# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +CONFIG_CRC32=y +# CONFIG_COMM is not set +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +# CONFIG_DATE is not set +# CONFIG_FEATURE_DATE_ISOFMT is not set +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_EXPAND is not set +# CONFIG_UNEXPAND is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +# CONFIG_FACTOR is not set +CONFIG_FALSE=y +# CONFIG_FOLD is not set +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +# CONFIG_ID is not set +# CONFIG_GROUPS is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +# CONFIG_FEATURE_LS_COLOR is not set +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +# CONFIG_NICE is not set +# CONFIG_NL is not set +# CONFIG_NOHUP is not set +CONFIG_NPROC=y +# CONFIG_OD is not set +CONFIG_PASTE=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +# CONFIG_SHRED is not set +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +# CONFIG_FEATURE_SORT_BIG is not set +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +# CONFIG_STTY is not set +# CONFIG_SUM is not set +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +# CONFIG_TEST2 is not set +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_SUSV3 is not set +# CONFIG_TR is not set +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +# CONFIG_TTY is not set +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +# CONFIG_USLEEP is not set +# CONFIG_UUDECODE is not set +CONFIG_BASE32=y +CONFIG_BASE64=y +# CONFIG_UUENCODE is not set +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +# CONFIG_WHO is not set +# CONFIG_W is not set +# CONFIG_USERS is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Console Utilities +# +# CONFIG_CHVT is not set +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +# CONFIG_FGCONSOLE is not set +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +# CONFIG_RESET is not set +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +# CONFIG_CMP is not set +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +# CONFIG_FEATURE_VI_UNDO is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +# CONFIG_FIND is not set +# CONFIG_FEATURE_FIND_PRINT0 is not set +# CONFIG_FEATURE_FIND_MTIME is not set +# CONFIG_FEATURE_FIND_ATIME is not set +# CONFIG_FEATURE_FIND_CTIME is not set +# CONFIG_FEATURE_FIND_MMIN is not set +# CONFIG_FEATURE_FIND_AMIN is not set +# CONFIG_FEATURE_FIND_CMIN is not set +# CONFIG_FEATURE_FIND_PERM is not set +# CONFIG_FEATURE_FIND_TYPE is not set +# CONFIG_FEATURE_FIND_EXECUTABLE is not set +# CONFIG_FEATURE_FIND_XDEV is not set +# CONFIG_FEATURE_FIND_MAXDEPTH is not set +# CONFIG_FEATURE_FIND_NEWER is not set +# CONFIG_FEATURE_FIND_INUM is not set +# CONFIG_FEATURE_FIND_SAMEFILE is not set +# CONFIG_FEATURE_FIND_EXEC is not set +# CONFIG_FEATURE_FIND_EXEC_PLUS is not set +# CONFIG_FEATURE_FIND_USER is not set +# CONFIG_FEATURE_FIND_GROUP is not set +# CONFIG_FEATURE_FIND_NOT is not set +# CONFIG_FEATURE_FIND_DEPTH is not set +# CONFIG_FEATURE_FIND_PAREN is not set +# CONFIG_FEATURE_FIND_SIZE is not set +# CONFIG_FEATURE_FIND_PRUNE is not set +# CONFIG_FEATURE_FIND_QUIT is not set +# CONFIG_FEATURE_FIND_DELETE is not set +# CONFIG_FEATURE_FIND_EMPTY is not set +# CONFIG_FEATURE_FIND_PATH is not set +# CONFIG_FEATURE_FIND_REGEX is not set +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_FEATURE_GREP_CONTEXT is not set +# CONFIG_XARGS is not set +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set +# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set +# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +# CONFIG_LINUXRC is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=0 +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +# CONFIG_GETTY is not set +# CONFIG_LOGIN is not set +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +# CONFIG_PASSWD is not set +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_DEPMOD is not set +# CONFIG_INSMOD is not set +# CONFIG_LSMOD is not set +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_RMMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="" +CONFIG_DEFAULT_DEPMOD_FILE="" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKDISCARD=y +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +# CONFIG_FEATURE_FDISK_WRITABLE is not set +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_HD is not set +CONFIG_XXD=y +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IONICE is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +# CONFIG_LSUSB is not set +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +# CONFIG_MORE is not set +# CONFIG_MOUNT is not set +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +# CONFIG_FEATURE_MOUNT_LABEL is not set +# CONFIG_FEATURE_MOUNT_NFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +# CONFIG_FEATURE_MOUNT_FLAGS is not set +# CONFIG_FEATURE_MOUNT_FSTAB is not set +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +CONFIG_NSENTER=y +# CONFIG_PIVOT_ROOT is not set +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_RENICE is not set +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +# CONFIG_LINUX32 is not set +# CONFIG_LINUX64 is not set +# CONFIG_SETPRIV is not set +# CONFIG_FEATURE_SETPRIV_DUMP is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set +# CONFIG_SETSID is not set +# CONFIG_SWAPON is not set +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWAPOFF is not set +# CONFIG_FEATURE_SWAPONOFF_LABEL is not set +# CONFIG_SWITCH_ROOT is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set +# CONFIG_UEVENT is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +# CONFIG_VOLUMEID is not set +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EROFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_F2FS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +# CONFIG_DC is not set +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CDETECT is not set +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_LSSCSI=y +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +CONFIG_MIM=y +# CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETFATTR=y +# CONFIG_SETSERIAL is not set +CONFIG_STRINGS=y +# CONFIG_TIME is not set +CONFIG_TS=y +# CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set +# CONFIG_VOLNAME is not set +# CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +# CONFIG_FEATURE_HWIB is not set +# CONFIG_FEATURE_TLS_SHA1 is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_HTTPD is not set +CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_FEATURE_NSLOOKUP_BIG is not set +# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +# CONFIG_FEATURE_NTP_AUTH is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set +CONFIG_TCPSVD=y +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +# CONFIG_FEATURE_TELNET_TTYPE is not set +# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set +CONFIG_FEATURE_TELNET_WIDTH=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +# CONFIG_TFTPD is not set +CONFIG_FEATURE_TFTP_GET=y +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +# CONFIG_UDHCPD is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +CONFIG_UDHCPC=y +# CONFIG_FEATURE_UDHCPC_ARPING is not set +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6=y +CONFIG_FEATURE_UDHCPC6_RFC3646=y +CONFIG_FEATURE_UDHCPC6_RFC4704=y +CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" +CONFIG_FEATURE_UDHCP_PORT=y +CONFIG_UDHCP_DEBUG=9 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +CONFIG_FEATURE_MIME_CHARSET="" +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set + +# +# Process Utilities +# +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_SHOW_THREADS is not set +CONFIG_FREE=y +# CONFIG_FUSER is not set +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_LSOF is not set +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +CONFIG_PGREP=y +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +CONFIG_FEATURE_PS_LONG=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +# CONFIG_BB_SYSCTL is not set +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_INTERACTIVE is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVC is not set +# CONFIG_SVOK is not set +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +# CONFIG_ASH_INTERNAL_GLOB is not set +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +# CONFIG_FEATURE_SH_HISTFILESIZE is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +# CONFIG_LOGGER is not set +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/mkinitcpio-busybox/config.old b/mkinitcpio-busybox/config.old new file mode 100644 index 0000000..a676caa --- /dev/null +++ b/mkinitcpio-busybox/config.old @@ -0,0 +1,1202 @@ +# +# Automatically generated make config: don't edit +# Busybox version: 1.34.1 +# Mon Nov 29 08:57:06 2021 +# +CONFIG_HAVE_DOT_CONFIG=y + +# +# Settings +# +# CONFIG_DESKTOP is not set +# CONFIG_EXTRA_COMPAT is not set +# CONFIG_FEDORA_COMPAT is not set +# CONFIG_INCLUDE_SUSv2 is not set +CONFIG_LONG_OPTS=y +CONFIG_SHOW_USAGE=y +CONFIG_FEATURE_VERBOSE_USAGE=y +# CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_LFS=y +# CONFIG_PAM is not set +CONFIG_FEATURE_DEVPTS=y +# CONFIG_FEATURE_UTMP is not set +# CONFIG_FEATURE_WTMP is not set +# CONFIG_FEATURE_PIDFILE is not set +CONFIG_PID_FILE_PATH="" +CONFIG_BUSYBOX=y +CONFIG_FEATURE_SHOW_SCRIPT=y +CONFIG_FEATURE_INSTALLER=y +# CONFIG_INSTALL_NO_USR is not set +CONFIG_FEATURE_SUID=y +# CONFIG_FEATURE_SUID_CONFIG is not set +# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set +# CONFIG_FEATURE_PREFER_APPLETS is not set +CONFIG_BUSYBOX_EXEC_PATH="/bin/busybox" +# CONFIG_SELINUX is not set +# CONFIG_FEATURE_CLEAN_UP is not set +CONFIG_FEATURE_SYSLOG_INFO=y +CONFIG_FEATURE_SYSLOG=y + +# +# Build Options +# +# CONFIG_STATIC is not set +CONFIG_PIE=y +# CONFIG_NOMMU is not set +# CONFIG_BUILD_LIBBUSYBOX is not set +# CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set +# CONFIG_FEATURE_INDIVIDUAL is not set +# CONFIG_FEATURE_SHARED_BUSYBOX is not set +CONFIG_CROSS_COMPILER_PREFIX="" +CONFIG_SYSROOT="" +CONFIG_EXTRA_CFLAGS="-march=x86-64 -mtune=generic -Os -pipe -fno-strict-aliasing" +CONFIG_EXTRA_LDFLAGS="" +CONFIG_EXTRA_LDLIBS="" +# CONFIG_USE_PORTABLE_CODE is not set +CONFIG_STACK_OPTIMIZATION_386=y +# CONFIG_STATIC_LIBGCC is not set + +# +# Installation Options ("make install" behavior) +# +CONFIG_INSTALL_APPLET_SYMLINKS=y +# CONFIG_INSTALL_APPLET_HARDLINKS is not set +# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set +# CONFIG_INSTALL_APPLET_DONT is not set +# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set +# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set +# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set +CONFIG_PREFIX="./_install" + +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE is not set +# CONFIG_UNIT_TEST is not set +# CONFIG_WERROR is not set +# CONFIG_WARN_SIMPLE_MSG is not set +CONFIG_NO_DEBUG_LIB=y +# CONFIG_DMALLOC is not set +# CONFIG_EFENCE is not set + +# +# Library Tuning +# +# CONFIG_FEATURE_USE_BSS_TAIL is not set +CONFIG_FLOAT_DURATION=y +CONFIG_FEATURE_RTMINMAX=y +CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y +CONFIG_FEATURE_BUFFERS_USE_MALLOC=y +# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set +# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set +CONFIG_PASSWORD_MINLEN=6 +CONFIG_MD5_SMALL=0 +CONFIG_SHA3_SMALL=0 +CONFIG_FEATURE_FAST_TOP=y +# CONFIG_FEATURE_ETC_NETWORKS is not set +# CONFIG_FEATURE_ETC_SERVICES is not set +CONFIG_FEATURE_EDITING=y +CONFIG_FEATURE_EDITING_MAX_LEN=1024 +# CONFIG_FEATURE_EDITING_VI is not set +CONFIG_FEATURE_EDITING_HISTORY=255 +CONFIG_FEATURE_EDITING_SAVEHISTORY=y +# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set +CONFIG_FEATURE_REVERSE_SEARCH=y +CONFIG_FEATURE_TAB_COMPLETION=y +# CONFIG_FEATURE_USERNAME_COMPLETION is not set +CONFIG_FEATURE_EDITING_FANCY_PROMPT=y +CONFIG_FEATURE_EDITING_WINCH=y +# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +CONFIG_UNICODE_SUPPORT=y +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=63 +CONFIG_LAST_SUPPORTED_WCHAR=767 +# CONFIG_UNICODE_COMBINING_WCHARS is not set +# CONFIG_UNICODE_WIDE_WCHARS is not set +# CONFIG_UNICODE_BIDI_SUPPORT is not set +# CONFIG_UNICODE_NEUTRAL_TABLE is not set +# CONFIG_UNICODE_PRESERVE_BROKEN is not set +CONFIG_FEATURE_NON_POSIX_CP=y +CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y +CONFIG_FEATURE_USE_SENDFILE=y +CONFIG_FEATURE_COPYBUF_KB=4 +CONFIG_FEATURE_SKIP_ROOTFS=y +CONFIG_MONOTONIC_SYSCALL=y +CONFIG_IOCTL_HEX2STR_ERROR=y +# CONFIG_FEATURE_HWIB is not set + +# +# Applets +# + +# +# Archival Utilities +# +CONFIG_FEATURE_SEAMLESS_XZ=y +# CONFIG_FEATURE_SEAMLESS_LZMA is not set +CONFIG_FEATURE_SEAMLESS_BZ2=y +CONFIG_FEATURE_SEAMLESS_GZ=y +# CONFIG_FEATURE_SEAMLESS_Z is not set +# CONFIG_AR is not set +# CONFIG_FEATURE_AR_LONG_FILENAMES is not set +# CONFIG_FEATURE_AR_CREATE is not set +# CONFIG_UNCOMPRESS is not set +# CONFIG_GUNZIP is not set +# CONFIG_ZCAT is not set +# CONFIG_FEATURE_GUNZIP_LONG_OPTIONS is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZCAT is not set +# CONFIG_UNLZMA is not set +# CONFIG_LZCAT is not set +# CONFIG_LZMA is not set +# CONFIG_UNXZ is not set +# CONFIG_XZCAT is not set +CONFIG_XZ=y +CONFIG_BZIP2=y +CONFIG_BZIP2_SMALL=8 +CONFIG_FEATURE_BZIP2_DECOMPRESS=y +CONFIG_CPIO=y +CONFIG_FEATURE_CPIO_O=y +CONFIG_FEATURE_CPIO_P=y +# CONFIG_DPKG is not set +# CONFIG_DPKG_DEB is not set +CONFIG_GZIP=y +CONFIG_FEATURE_GZIP_LONG_OPTIONS=y +CONFIG_GZIP_FAST=0 +CONFIG_FEATURE_GZIP_LEVELS=y +CONFIG_FEATURE_GZIP_DECOMPRESS=y +CONFIG_LZOP=y +# CONFIG_UNLZOP is not set +# CONFIG_LZOPCAT is not set +# CONFIG_LZOP_COMPR_HIGH is not set +# CONFIG_RPM is not set +# CONFIG_RPM2CPIO is not set +CONFIG_TAR=y +CONFIG_FEATURE_TAR_LONG_OPTIONS=y +CONFIG_FEATURE_TAR_CREATE=y +CONFIG_FEATURE_TAR_AUTODETECT=y +CONFIG_FEATURE_TAR_FROM=y +CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y +CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y +CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y +CONFIG_FEATURE_TAR_TO_COMMAND=y +CONFIG_FEATURE_TAR_UNAME_GNAME=y +CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y +# CONFIG_FEATURE_TAR_SELINUX is not set +CONFIG_UNZIP=y +CONFIG_FEATURE_UNZIP_CDF=y +# CONFIG_FEATURE_UNZIP_BZIP2 is not set +# CONFIG_FEATURE_UNZIP_LZMA is not set +# CONFIG_FEATURE_UNZIP_XZ is not set +# CONFIG_FEATURE_LZMA_FAST is not set + +# +# Coreutils +# +CONFIG_BASENAME=y +CONFIG_CAT=y +CONFIG_FEATURE_CATN=y +CONFIG_FEATURE_CATV=y +CONFIG_CHGRP=y +CONFIG_CHMOD=y +CONFIG_CHOWN=y +CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y +CONFIG_CHROOT=y +# CONFIG_CKSUM is not set +CONFIG_CRC32=y +# CONFIG_COMM is not set +CONFIG_CP=y +CONFIG_FEATURE_CP_LONG_OPTIONS=y +CONFIG_FEATURE_CP_REFLINK=y +CONFIG_CUT=y +CONFIG_FEATURE_CUT_REGEX=y +# CONFIG_DATE is not set +# CONFIG_FEATURE_DATE_ISOFMT is not set +# CONFIG_FEATURE_DATE_NANO is not set +# CONFIG_FEATURE_DATE_COMPAT is not set +CONFIG_DD=y +CONFIG_FEATURE_DD_SIGNAL_HANDLING=y +CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y +CONFIG_FEATURE_DD_IBS_OBS=y +CONFIG_FEATURE_DD_STATUS=y +CONFIG_DF=y +CONFIG_FEATURE_DF_FANCY=y +CONFIG_DIRNAME=y +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +CONFIG_DU=y +# CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K is not set +CONFIG_ECHO=y +CONFIG_FEATURE_FANCY_ECHO=y +CONFIG_ENV=y +# CONFIG_EXPAND is not set +# CONFIG_UNEXPAND is not set +CONFIG_EXPR=y +CONFIG_EXPR_MATH_SUPPORT_64=y +# CONFIG_FACTOR is not set +CONFIG_FALSE=y +# CONFIG_FOLD is not set +CONFIG_HEAD=y +CONFIG_FEATURE_FANCY_HEAD=y +# CONFIG_HOSTID is not set +# CONFIG_ID is not set +# CONFIG_GROUPS is not set +CONFIG_INSTALL=y +CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y +CONFIG_LINK=y +CONFIG_LN=y +# CONFIG_LOGNAME is not set +CONFIG_LS=y +CONFIG_FEATURE_LS_FILETYPES=y +CONFIG_FEATURE_LS_FOLLOWLINKS=y +CONFIG_FEATURE_LS_RECURSIVE=y +CONFIG_FEATURE_LS_WIDTH=y +CONFIG_FEATURE_LS_SORTFILES=y +CONFIG_FEATURE_LS_TIMESTAMPS=y +CONFIG_FEATURE_LS_USERNAME=y +# CONFIG_FEATURE_LS_COLOR is not set +# CONFIG_FEATURE_LS_COLOR_IS_DEFAULT is not set +CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +# CONFIG_SHA3SUM is not set + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y +CONFIG_MKDIR=y +CONFIG_MKFIFO=y +CONFIG_MKNOD=y +CONFIG_MKTEMP=y +CONFIG_MV=y +# CONFIG_NICE is not set +# CONFIG_NL is not set +# CONFIG_NOHUP is not set +CONFIG_NPROC=y +# CONFIG_OD is not set +CONFIG_PASTE=y +# CONFIG_PRINTENV is not set +CONFIG_PRINTF=y +CONFIG_PWD=y +CONFIG_READLINK=y +CONFIG_FEATURE_READLINK_FOLLOW=y +CONFIG_REALPATH=y +CONFIG_RM=y +CONFIG_RMDIR=y +CONFIG_SEQ=y +# CONFIG_SHRED is not set +CONFIG_SHUF=y +CONFIG_SLEEP=y +CONFIG_FEATURE_FANCY_SLEEP=y +CONFIG_SORT=y +# CONFIG_FEATURE_SORT_BIG is not set +# CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set +# CONFIG_SPLIT is not set +# CONFIG_FEATURE_SPLIT_FANCY is not set +CONFIG_STAT=y +CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y +# CONFIG_STTY is not set +# CONFIG_SUM is not set +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y +CONFIG_FSYNC=y +CONFIG_TAC=y +CONFIG_TAIL=y +CONFIG_FEATURE_FANCY_TAIL=y +CONFIG_TEE=y +CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +# CONFIG_TEST2 is not set +CONFIG_FEATURE_TEST_64=y +# CONFIG_TIMEOUT is not set +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_SUSV3 is not set +# CONFIG_TR is not set +# CONFIG_FEATURE_TR_CLASSES is not set +# CONFIG_FEATURE_TR_EQUIV is not set +CONFIG_TRUE=y +CONFIG_TRUNCATE=y +# CONFIG_TTY is not set +CONFIG_UNAME=y +CONFIG_UNAME_OSNAME="GNU/Linux" +CONFIG_BB_ARCH=y +CONFIG_UNIQ=y +CONFIG_UNLINK=y +# CONFIG_USLEEP is not set +# CONFIG_UUDECODE is not set +CONFIG_BASE32=y +CONFIG_BASE64=y +# CONFIG_UUENCODE is not set +CONFIG_WC=y +CONFIG_FEATURE_WC_LARGE=y +# CONFIG_WHO is not set +# CONFIG_W is not set +# CONFIG_USERS is not set +# CONFIG_WHOAMI is not set +CONFIG_YES=y + +# +# Common options +# +CONFIG_FEATURE_VERBOSE=y + +# +# Common options for cp and mv +# +# CONFIG_FEATURE_PRESERVE_HARDLINKS is not set + +# +# Common options for df, du, ls +# +CONFIG_FEATURE_HUMAN_READABLE=y + +# +# Console Utilities +# +# CONFIG_CHVT is not set +CONFIG_CLEAR=y +# CONFIG_DEALLOCVT is not set +# CONFIG_DUMPKMAP is not set +# CONFIG_FGCONSOLE is not set +CONFIG_KBD_MODE=y +CONFIG_LOADFONT=y +CONFIG_SETFONT=y +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" + +# +# Common options for loadfont and setfont +# +CONFIG_FEATURE_LOADFONT_PSF2=y +CONFIG_FEATURE_LOADFONT_RAW=y +CONFIG_LOADKMAP=y +CONFIG_OPENVT=y +# CONFIG_RESET is not set +# CONFIG_RESIZE is not set +# CONFIG_FEATURE_RESIZE_PRINT is not set +# CONFIG_SETCONSOLE is not set +# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set +# CONFIG_SETKEYCODES is not set +# CONFIG_SETLOGCONS is not set +# CONFIG_SHOWKEY is not set + +# +# Debian Utilities +# +# CONFIG_PIPE_PROGRESS is not set +# CONFIG_RUN_PARTS is not set +# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set +# CONFIG_FEATURE_RUN_PARTS_FANCY is not set +# CONFIG_START_STOP_DAEMON is not set +# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set +# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set +CONFIG_WHICH=y + +# +# klibc-utils +# +# CONFIG_MINIPS is not set +CONFIG_NUKE=y +CONFIG_RESUME=y +CONFIG_RUN_INIT=y + +# +# Editors +# +CONFIG_AWK=y +# CONFIG_FEATURE_AWK_LIBM is not set +CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y +# CONFIG_CMP is not set +# CONFIG_DIFF is not set +# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set +# CONFIG_FEATURE_DIFF_DIR is not set +# CONFIG_ED is not set +# CONFIG_PATCH is not set +CONFIG_SED=y +CONFIG_VI=y +CONFIG_FEATURE_VI_MAX_LEN=4096 +CONFIG_FEATURE_VI_8BIT=y +CONFIG_FEATURE_VI_COLON=y +CONFIG_FEATURE_VI_COLON_EXPAND=y +CONFIG_FEATURE_VI_YANKMARK=y +CONFIG_FEATURE_VI_SEARCH=y +# CONFIG_FEATURE_VI_REGEX_SEARCH is not set +CONFIG_FEATURE_VI_USE_SIGNALS=y +CONFIG_FEATURE_VI_DOT_CMD=y +CONFIG_FEATURE_VI_READONLY=y +CONFIG_FEATURE_VI_SETOPTS=y +CONFIG_FEATURE_VI_SET=y +CONFIG_FEATURE_VI_WIN_RESIZE=y +CONFIG_FEATURE_VI_ASK_TERMINAL=y +# CONFIG_FEATURE_VI_UNDO is not set +# CONFIG_FEATURE_VI_UNDO_QUEUE is not set +CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=0 +CONFIG_FEATURE_VI_VERBOSE_STATUS=y +# CONFIG_FEATURE_ALLOW_EXEC is not set + +# +# Finding Utilities +# +# CONFIG_FIND is not set +# CONFIG_FEATURE_FIND_PRINT0 is not set +# CONFIG_FEATURE_FIND_MTIME is not set +# CONFIG_FEATURE_FIND_MMIN is not set +# CONFIG_FEATURE_FIND_PERM is not set +# CONFIG_FEATURE_FIND_TYPE is not set +# CONFIG_FEATURE_FIND_EXECUTABLE is not set +# CONFIG_FEATURE_FIND_XDEV is not set +# CONFIG_FEATURE_FIND_MAXDEPTH is not set +# CONFIG_FEATURE_FIND_NEWER is not set +# CONFIG_FEATURE_FIND_INUM is not set +# CONFIG_FEATURE_FIND_EXEC is not set +# CONFIG_FEATURE_FIND_EXEC_PLUS is not set +# CONFIG_FEATURE_FIND_USER is not set +# CONFIG_FEATURE_FIND_GROUP is not set +# CONFIG_FEATURE_FIND_NOT is not set +# CONFIG_FEATURE_FIND_DEPTH is not set +# CONFIG_FEATURE_FIND_PAREN is not set +# CONFIG_FEATURE_FIND_SIZE is not set +# CONFIG_FEATURE_FIND_PRUNE is not set +# CONFIG_FEATURE_FIND_QUIT is not set +# CONFIG_FEATURE_FIND_DELETE is not set +# CONFIG_FEATURE_FIND_EMPTY is not set +# CONFIG_FEATURE_FIND_PATH is not set +# CONFIG_FEATURE_FIND_REGEX is not set +# CONFIG_FEATURE_FIND_CONTEXT is not set +# CONFIG_FEATURE_FIND_LINKS is not set +CONFIG_GREP=y +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_FEATURE_GREP_CONTEXT is not set +# CONFIG_XARGS is not set +# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set +# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set +# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set +# CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set +# CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set +# CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set + +# +# Init Utilities +# +# CONFIG_BOOTCHARTD is not set +# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set +# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set +CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y +# CONFIG_FEATURE_WAIT_FOR_INIT is not set +# CONFIG_FEATURE_CALL_TELINIT is not set +CONFIG_TELINIT_PATH="" +CONFIG_INIT=y +# CONFIG_LINUXRC is not set +# CONFIG_FEATURE_USE_INITTAB is not set +# CONFIG_FEATURE_KILL_REMOVED is not set +CONFIG_FEATURE_KILL_DELAY=0 +# CONFIG_FEATURE_INIT_SCTTY is not set +# CONFIG_FEATURE_INIT_SYSLOG is not set +CONFIG_FEATURE_INIT_QUIET=y +# CONFIG_FEATURE_INIT_COREDUMPS is not set +CONFIG_INIT_TERMINAL_TYPE="" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y + +# +# Login/Password Management Utilities +# +# CONFIG_FEATURE_SHADOWPASSWDS is not set +# CONFIG_USE_BB_PWD_GRP is not set +# CONFIG_USE_BB_SHADOW is not set +# CONFIG_USE_BB_CRYPT is not set +# CONFIG_USE_BB_CRYPT_SHA is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL is not set +# CONFIG_ADDGROUP is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADDUSER is not set +# CONFIG_FEATURE_CHECK_NAMES is not set +CONFIG_LAST_ID=0 +CONFIG_FIRST_SYSTEM_ID=0 +CONFIG_LAST_SYSTEM_ID=0 +# CONFIG_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y +# CONFIG_DELUSER is not set +# CONFIG_DELGROUP is not set +# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set +# CONFIG_GETTY is not set +# CONFIG_LOGIN is not set +# CONFIG_LOGIN_SESSION_AS_CHILD is not set +# CONFIG_LOGIN_SCRIPTS is not set +# CONFIG_FEATURE_NOLOGIN is not set +# CONFIG_FEATURE_SECURETTY is not set +# CONFIG_PASSWD is not set +# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set +# CONFIG_SU is not set +# CONFIG_FEATURE_SU_SYSLOG is not set +# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set +# CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set +# CONFIG_SULOGIN is not set +# CONFIG_VLOCK is not set + +# +# Linux Ext2 FS Progs +# +# CONFIG_CHATTR is not set +# CONFIG_FSCK is not set +# CONFIG_LSATTR is not set +# CONFIG_TUNE2FS is not set + +# +# Linux Module Utilities +# +# CONFIG_MODPROBE_SMALL is not set +# CONFIG_DEPMOD is not set +# CONFIG_INSMOD is not set +# CONFIG_LSMOD is not set +# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set +# CONFIG_MODINFO is not set +# CONFIG_MODPROBE is not set +# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set +# CONFIG_RMMOD is not set + +# +# Options common to multiple modutils +# +# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +# CONFIG_FEATURE_2_4_MODULES is not set +# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set +# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set +# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set +# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set +# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set +# CONFIG_FEATURE_MODUTILS_ALIAS is not set +# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set +CONFIG_DEFAULT_MODULES_DIR="" +CONFIG_DEFAULT_DEPMOD_FILE="" + +# +# Linux System Utilities +# +# CONFIG_ACPID is not set +# CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKDISCARD=y +# CONFIG_BLKID is not set +# CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_CAL is not set +# CONFIG_CHRT is not set +CONFIG_DMESG=y +CONFIG_FEATURE_DMESG_PRETTY=y +# CONFIG_EJECT is not set +# CONFIG_FEATURE_EJECT_SCSI is not set +CONFIG_FALLOCATE=y +CONFIG_FATATTR=y +# CONFIG_FBSET is not set +# CONFIG_FEATURE_FBSET_FANCY is not set +# CONFIG_FEATURE_FBSET_READMODE is not set +# CONFIG_FDFORMAT is not set +# CONFIG_FDISK is not set +# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set +# CONFIG_FEATURE_FDISK_WRITABLE is not set +# CONFIG_FEATURE_AIX_LABEL is not set +# CONFIG_FEATURE_SGI_LABEL is not set +# CONFIG_FEATURE_SUN_LABEL is not set +# CONFIG_FEATURE_OSF_LABEL is not set +# CONFIG_FEATURE_GPT_LABEL is not set +# CONFIG_FEATURE_FDISK_ADVANCED is not set +# CONFIG_FINDFS is not set +# CONFIG_FLOCK is not set +# CONFIG_FDFLUSH is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSCK_MINIX is not set +CONFIG_FSFREEZE=y +CONFIG_FSTRIM=y +CONFIG_GETOPT=y +CONFIG_FEATURE_GETOPT_LONG=y +CONFIG_HEXDUMP=y +# CONFIG_HD is not set +CONFIG_XXD=y +# CONFIG_HWCLOCK is not set +# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set +# CONFIG_IONICE is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +# CONFIG_LAST is not set +# CONFIG_FEATURE_LAST_FANCY is not set +CONFIG_LOSETUP=y +# CONFIG_LSPCI is not set +# CONFIG_LSUSB is not set +# CONFIG_MDEV is not set +# CONFIG_FEATURE_MDEV_CONF is not set +# CONFIG_FEATURE_MDEV_RENAME is not set +# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set +# CONFIG_FEATURE_MDEV_EXEC is not set +# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set +# CONFIG_FEATURE_MDEV_DAEMON is not set +# CONFIG_MESG is not set +# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +# CONFIG_MKDOSFS is not set +# CONFIG_MKFS_VFAT is not set +# CONFIG_MKSWAP is not set +# CONFIG_FEATURE_MKSWAP_UUID is not set +# CONFIG_MORE is not set +# CONFIG_MOUNT is not set +# CONFIG_FEATURE_MOUNT_FAKE is not set +# CONFIG_FEATURE_MOUNT_VERBOSE is not set +# CONFIG_FEATURE_MOUNT_HELPERS is not set +# CONFIG_FEATURE_MOUNT_LABEL is not set +# CONFIG_FEATURE_MOUNT_NFS is not set +# CONFIG_FEATURE_MOUNT_CIFS is not set +# CONFIG_FEATURE_MOUNT_FLAGS is not set +# CONFIG_FEATURE_MOUNT_FSTAB is not set +# CONFIG_FEATURE_MOUNT_OTHERTAB is not set +CONFIG_MOUNTPOINT=y +CONFIG_NOLOGIN=y +CONFIG_NOLOGIN_DEPENDENCIES=y +CONFIG_NSENTER=y +# CONFIG_PIVOT_ROOT is not set +# CONFIG_RDATE is not set +# CONFIG_RDEV is not set +# CONFIG_READPROFILE is not set +# CONFIG_RENICE is not set +# CONFIG_REV is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SCRIPT is not set +# CONFIG_SCRIPTREPLAY is not set +# CONFIG_SETARCH is not set +# CONFIG_LINUX32 is not set +# CONFIG_LINUX64 is not set +# CONFIG_SETPRIV is not set +# CONFIG_FEATURE_SETPRIV_DUMP is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITIES is not set +# CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES is not set +# CONFIG_SETSID is not set +# CONFIG_SWAPON is not set +# CONFIG_FEATURE_SWAPON_DISCARD is not set +# CONFIG_FEATURE_SWAPON_PRI is not set +# CONFIG_SWAPOFF is not set +# CONFIG_FEATURE_SWAPONOFF_LABEL is not set +# CONFIG_SWITCH_ROOT is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set +# CONFIG_FEATURE_TASKSET_CPULIST is not set +# CONFIG_UEVENT is not set +CONFIG_UMOUNT=y +CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y +# CONFIG_WALL is not set + +# +# Common options for mount/umount +# +CONFIG_FEATURE_MOUNT_LOOP=y +CONFIG_FEATURE_MOUNT_LOOP_CREATE=y +# CONFIG_FEATURE_MTAB_SUPPORT is not set +# CONFIG_VOLUMEID is not set +# CONFIG_FEATURE_VOLUMEID_BCACHE is not set +# CONFIG_FEATURE_VOLUMEID_BTRFS is not set +# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set +# CONFIG_FEATURE_VOLUMEID_EROFS is not set +# CONFIG_FEATURE_VOLUMEID_EXFAT is not set +# CONFIG_FEATURE_VOLUMEID_EXT is not set +# CONFIG_FEATURE_VOLUMEID_F2FS is not set +# CONFIG_FEATURE_VOLUMEID_FAT is not set +# CONFIG_FEATURE_VOLUMEID_HFS is not set +# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set +# CONFIG_FEATURE_VOLUMEID_JFS is not set +# CONFIG_FEATURE_VOLUMEID_LFS is not set +# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set +# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set +# CONFIG_FEATURE_VOLUMEID_LUKS is not set +# CONFIG_FEATURE_VOLUMEID_MINIX is not set +# CONFIG_FEATURE_VOLUMEID_NILFS is not set +# CONFIG_FEATURE_VOLUMEID_NTFS is not set +# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set +# CONFIG_FEATURE_VOLUMEID_REISERFS is not set +# CONFIG_FEATURE_VOLUMEID_ROMFS is not set +# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set +# CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set +# CONFIG_FEATURE_VOLUMEID_UDF is not set +# CONFIG_FEATURE_VOLUMEID_XFS is not set + +# +# Miscellaneous Utilities +# +# CONFIG_ADJTIMEX is not set +CONFIG_ASCII=y +# CONFIG_BBCONFIG is not set +# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set +CONFIG_BC=y +# CONFIG_DC is not set +CONFIG_FEATURE_DC_BIG=y +# CONFIG_FEATURE_DC_LIBM is not set +CONFIG_FEATURE_BC_INTERACTIVE=y +CONFIG_FEATURE_BC_LONG_OPTIONS=y +# CONFIG_BEEP is not set +CONFIG_FEATURE_BEEP_FREQ=0 +CONFIG_FEATURE_BEEP_LENGTH_MS=0 +# CONFIG_CHAT is not set +# CONFIG_FEATURE_CHAT_NOFAIL is not set +# CONFIG_FEATURE_CHAT_TTY_HIFI is not set +# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set +# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set +# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set +# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set +# CONFIG_FEATURE_CHAT_CLR_ABORT is not set +# CONFIG_CONSPY is not set +# CONFIG_CROND is not set +# CONFIG_FEATURE_CROND_D is not set +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +# CONFIG_FEATURE_CROND_SPECIAL_TIMES is not set +CONFIG_FEATURE_CROND_DIR="" +# CONFIG_CRONTAB is not set +# CONFIG_DEVFSD is not set +# CONFIG_DEVFSD_MODLOAD is not set +# CONFIG_DEVFSD_FG_NP is not set +# CONFIG_DEVFSD_VERBOSE is not set +# CONFIG_FEATURE_DEVFS is not set +# CONFIG_DEVMEM is not set +# CONFIG_FBSPLASH is not set +# CONFIG_FLASH_ERASEALL is not set +# CONFIG_FLASH_LOCK is not set +# CONFIG_FLASH_UNLOCK is not set +# CONFIG_FLASHCP is not set +# CONFIG_HDPARM is not set +# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set +# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set +# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set +# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_HEXEDIT=y +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CDETECT is not set +CONFIG_I2CTRANSFER=y +# CONFIG_INOTIFYD is not set +CONFIG_LESS=y +CONFIG_FEATURE_LESS_MAXLINES=9999999 +CONFIG_FEATURE_LESS_BRACKETS=y +CONFIG_FEATURE_LESS_FLAGS=y +CONFIG_FEATURE_LESS_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +# CONFIG_FEATURE_LESS_REGEXP is not set +# CONFIG_FEATURE_LESS_WINCH is not set +# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set +# CONFIG_FEATURE_LESS_DASHCMD is not set +# CONFIG_FEATURE_LESS_LINENUMS is not set +# CONFIG_FEATURE_LESS_RAW is not set +# CONFIG_FEATURE_LESS_ENV is not set +CONFIG_LSSCSI=y +# CONFIG_MAKEDEVS is not set +# CONFIG_FEATURE_MAKEDEVS_LEAF is not set +# CONFIG_FEATURE_MAKEDEVS_TABLE is not set +# CONFIG_MAN is not set +# CONFIG_MICROCOM is not set +CONFIG_MIM=y +# CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set +CONFIG_PARTPROBE=y +# CONFIG_RAIDAUTORUN is not set +# CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set +# CONFIG_RUNLEVEL is not set +# CONFIG_RX is not set +CONFIG_SETFATTR=y +# CONFIG_SETSERIAL is not set +CONFIG_STRINGS=y +# CONFIG_TIME is not set +CONFIG_TS=y +# CONFIG_TTYSIZE is not set +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set +# CONFIG_UBIRENAME is not set +# CONFIG_VOLNAME is not set +# CONFIG_WATCHDOG is not set +# CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set + +# +# Networking Utilities +# +CONFIG_FEATURE_IPV6=y +# CONFIG_FEATURE_UNIX_LOCAL is not set +CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y +# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set +# CONFIG_FEATURE_TLS_SHA1 is not set +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BRCTL is not set +# CONFIG_FEATURE_BRCTL_FANCY is not set +# CONFIG_FEATURE_BRCTL_SHOW is not set +# CONFIG_DNSD is not set +# CONFIG_ETHER_WAKE is not set +# CONFIG_FTPD is not set +# CONFIG_FEATURE_FTPD_WRITE is not set +# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set +# CONFIG_FEATURE_FTPD_AUTHENTICATION is not set +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_HTTPD is not set +# CONFIG_FEATURE_HTTPD_RANGES is not set +# CONFIG_FEATURE_HTTPD_SETUID is not set +# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set +# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set +# CONFIG_FEATURE_HTTPD_CGI is not set +# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set +# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set +# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set +# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set +# CONFIG_FEATURE_HTTPD_PROXY is not set +# CONFIG_FEATURE_HTTPD_GZIP is not set +# CONFIG_FEATURE_HTTPD_ETAG is not set +# CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set +# CONFIG_FEATURE_HTTPD_DATE is not set +# CONFIG_FEATURE_HTTPD_ACL_IP is not set +CONFIG_IFCONFIG=y +CONFIG_FEATURE_IFCONFIG_STATUS=y +CONFIG_FEATURE_IFCONFIG_SLIP=y +CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y +CONFIG_FEATURE_IFCONFIG_HW=y +CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y +# CONFIG_IFENSLAVE is not set +# CONFIG_IFPLUGD is not set +# CONFIG_IFUP is not set +# CONFIG_IFDOWN is not set +CONFIG_IFUPDOWN_IFSTATE_PATH="" +# CONFIG_FEATURE_IFUPDOWN_IP is not set +# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set +# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set +# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set +# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set +# CONFIG_INETD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set +# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set +# CONFIG_FEATURE_INETD_RPC is not set +CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=y +CONFIG_FEATURE_IP_ADDRESS=y +CONFIG_FEATURE_IP_LINK=y +CONFIG_FEATURE_IP_ROUTE=y +CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" +CONFIG_FEATURE_IP_TUNNEL=y +CONFIG_FEATURE_IP_RULE=y +CONFIG_FEATURE_IP_NEIGH=y +# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set +# CONFIG_IPCALC is not set +# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FEATURE_IPCALC_FANCY is not set +# CONFIG_FAKEIDENTD is not set +# CONFIG_NAMEIF is not set +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +CONFIG_NC=y +# CONFIG_NETCAT is not set +CONFIG_NC_SERVER=y +CONFIG_NC_EXTRA=y +# CONFIG_NC_110_COMPAT is not set +CONFIG_NETSTAT=y +CONFIG_FEATURE_NETSTAT_WIDE=y +CONFIG_FEATURE_NETSTAT_PRG=y +CONFIG_NSLOOKUP=y +# CONFIG_FEATURE_NSLOOKUP_BIG is not set +# CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS is not set +# CONFIG_NTPD is not set +# CONFIG_FEATURE_NTPD_SERVER is not set +# CONFIG_FEATURE_NTPD_CONF is not set +# CONFIG_FEATURE_NTP_AUTH is not set +CONFIG_PING=y +CONFIG_PING6=y +CONFIG_FEATURE_FANCY_PING=y +# CONFIG_PSCAN is not set +CONFIG_ROUTE=y +# CONFIG_SLATTACH is not set +# CONFIG_SSL_CLIENT is not set +# CONFIG_TC is not set +# CONFIG_FEATURE_TC_INGRESS is not set +CONFIG_TCPSVD=y +# CONFIG_UDPSVD is not set +CONFIG_TELNET=y +# CONFIG_FEATURE_TELNET_TTYPE is not set +# CONFIG_FEATURE_TELNET_AUTOLOGIN is not set +CONFIG_FEATURE_TELNET_WIDTH=y +# CONFIG_TELNETD is not set +# CONFIG_FEATURE_TELNETD_STANDALONE is not set +# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set +CONFIG_TFTP=y +# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set +CONFIG_FEATURE_TFTP_HPA_COMPAT=y +# CONFIG_TFTPD is not set +CONFIG_FEATURE_TFTP_GET=y +# CONFIG_FEATURE_TFTP_PUT is not set +# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set +# CONFIG_TFTP_DEBUG is not set +CONFIG_TLS=y +# CONFIG_TRACEROUTE is not set +# CONFIG_TRACEROUTE6 is not set +# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set +# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set +# CONFIG_TUNCTL is not set +# CONFIG_FEATURE_TUNCTL_UG is not set +# CONFIG_VCONFIG is not set +CONFIG_WGET=y +CONFIG_FEATURE_WGET_LONG_OPTIONS=y +CONFIG_FEATURE_WGET_STATUSBAR=y +CONFIG_FEATURE_WGET_FTP=y +CONFIG_FEATURE_WGET_AUTHENTICATION=y +CONFIG_FEATURE_WGET_TIMEOUT=y +CONFIG_FEATURE_WGET_HTTPS=y +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set +# CONFIG_UDHCPD is not set +# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set +# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set +CONFIG_DHCPD_LEASES_FILE="" +# CONFIG_DUMPLEASES is not set +# CONFIG_DHCPRELAY is not set +CONFIG_UDHCPC=y +# CONFIG_FEATURE_UDHCPC_ARPING is not set +CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y +CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" +CONFIG_UDHCPC6=y +CONFIG_FEATURE_UDHCPC6_RFC3646=y +CONFIG_FEATURE_UDHCPC6_RFC4704=y +CONFIG_FEATURE_UDHCPC6_RFC4833=y +CONFIG_FEATURE_UDHCPC6_RFC5970=y + +# +# Common options for DHCP applets +# +CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" +CONFIG_FEATURE_UDHCP_PORT=y +CONFIG_UDHCP_DEBUG=9 +CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 +CONFIG_FEATURE_UDHCP_RFC3397=y +CONFIG_FEATURE_UDHCP_8021Q=y +CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" + +# +# Print Utilities +# +# CONFIG_LPD is not set +# CONFIG_LPR is not set +# CONFIG_LPQ is not set + +# +# Mail Utilities +# +# CONFIG_MAKEMIME is not set +# CONFIG_POPMAILDIR is not set +# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set +# CONFIG_REFORMIME is not set +# CONFIG_FEATURE_REFORMIME_COMPAT is not set +# CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" + +# +# Process Utilities +# +CONFIG_FREE=y +# CONFIG_FUSER is not set +# CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +# CONFIG_KILLALL5 is not set +# CONFIG_LSOF is not set +# CONFIG_MPSTAT is not set +# CONFIG_NMETER is not set +CONFIG_PGREP=y +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y +# CONFIG_PMAP is not set +# CONFIG_POWERTOP is not set +# CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set +CONFIG_PS=y +CONFIG_FEATURE_PS_WIDE=y +CONFIG_FEATURE_PS_LONG=y +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_PSTREE is not set +# CONFIG_PWDX is not set +# CONFIG_SMEMCAP is not set +# CONFIG_BB_SYSCTL is not set +# CONFIG_TOP is not set +# CONFIG_FEATURE_TOP_INTERACTIVE is not set +# CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE is not set +# CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS is not set +# CONFIG_FEATURE_TOP_SMP_CPU is not set +# CONFIG_FEATURE_TOP_DECIMALS is not set +# CONFIG_FEATURE_TOP_SMP_PROCESS is not set +# CONFIG_FEATURE_TOPMEM is not set +CONFIG_UPTIME=y +# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set +# CONFIG_WATCH is not set +# CONFIG_FEATURE_SHOW_THREADS is not set + +# +# Runit Utilities +# +# CONFIG_CHPST is not set +# CONFIG_SETUIDGID is not set +# CONFIG_ENVUIDGID is not set +# CONFIG_ENVDIR is not set +# CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +# CONFIG_SVC is not set +# CONFIG_SVOK is not set +# CONFIG_SVLOGD is not set +# CONFIG_CHCON is not set +# CONFIG_GETENFORCE is not set +# CONFIG_GETSEBOOL is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_MATCHPATHCON is not set +# CONFIG_RUNCON is not set +# CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set +# CONFIG_SETENFORCE is not set +# CONFIG_SETFILES is not set +# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set +# CONFIG_SETSEBOOL is not set + +# +# Shells +# +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y +CONFIG_SHELL_ASH=y +CONFIG_ASH=y +CONFIG_ASH_OPTIMIZE_FOR_SIZE=y +# CONFIG_ASH_INTERNAL_GLOB is not set +CONFIG_ASH_BASH_COMPAT=y +# CONFIG_ASH_BASH_SOURCE_CURDIR is not set +# CONFIG_ASH_BASH_NOT_FOUND_HOOK is not set +CONFIG_ASH_JOB_CONTROL=y +CONFIG_ASH_ALIAS=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +CONFIG_ASH_EXPAND_PRMT=y +# CONFIG_ASH_IDLE_TIMEOUT is not set +# CONFIG_ASH_MAIL is not set +CONFIG_ASH_ECHO=y +CONFIG_ASH_PRINTF=y +CONFIG_ASH_TEST=y +CONFIG_ASH_HELP=y +CONFIG_ASH_GETOPTS=y +CONFIG_ASH_CMDCMD=y +CONFIG_CTTYHACK=y +# CONFIG_HUSH is not set +# CONFIG_SHELL_HUSH is not set +# CONFIG_HUSH_BASH_COMPAT is not set +# CONFIG_HUSH_BRACE_EXPANSION is not set +# CONFIG_HUSH_BASH_SOURCE_CURDIR is not set +# CONFIG_HUSH_LINENO_VAR is not set +# CONFIG_HUSH_INTERACTIVE is not set +# CONFIG_HUSH_SAVEHISTORY is not set +# CONFIG_HUSH_JOB is not set +# CONFIG_HUSH_TICK is not set +# CONFIG_HUSH_IF is not set +# CONFIG_HUSH_LOOPS is not set +# CONFIG_HUSH_CASE is not set +# CONFIG_HUSH_FUNCTIONS is not set +# CONFIG_HUSH_LOCAL is not set +# CONFIG_HUSH_RANDOM_SUPPORT is not set +# CONFIG_HUSH_MODE_X is not set +# CONFIG_HUSH_ECHO is not set +# CONFIG_HUSH_PRINTF is not set +# CONFIG_HUSH_TEST is not set +# CONFIG_HUSH_HELP is not set +# CONFIG_HUSH_EXPORT is not set +# CONFIG_HUSH_EXPORT_N is not set +# CONFIG_HUSH_READONLY is not set +# CONFIG_HUSH_KILL is not set +# CONFIG_HUSH_WAIT is not set +# CONFIG_HUSH_COMMAND is not set +# CONFIG_HUSH_TRAP is not set +# CONFIG_HUSH_TYPE is not set +# CONFIG_HUSH_TIMES is not set +# CONFIG_HUSH_READ is not set +# CONFIG_HUSH_SET is not set +# CONFIG_HUSH_UNSET is not set +# CONFIG_HUSH_ULIMIT is not set +# CONFIG_HUSH_UMASK is not set +# CONFIG_HUSH_GETOPTS is not set +# CONFIG_HUSH_MEMLEAK is not set + +# +# Options common to all shells +# +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y +CONFIG_FEATURE_SH_MATH_BASE=y +CONFIG_FEATURE_SH_EXTRA_QUIET=y +# CONFIG_FEATURE_SH_STANDALONE is not set +# CONFIG_FEATURE_SH_NOFORK is not set +CONFIG_FEATURE_SH_READ_FRAC=y +# CONFIG_FEATURE_SH_HISTFILESIZE is not set +CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y + +# +# System Logging Utilities +# +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +# CONFIG_LOGGER is not set +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set +# CONFIG_SYSLOGD is not set +# CONFIG_FEATURE_ROTATE_LOGFILE is not set +# CONFIG_FEATURE_REMOTE_LOG is not set +# CONFIG_FEATURE_SYSLOGD_DUP is not set +# CONFIG_FEATURE_SYSLOGD_CFG is not set +# CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set +CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0 +# CONFIG_FEATURE_IPC_SYSLOG is not set +CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 +# CONFIG_FEATURE_KMSG_SYSLOG is not set diff --git a/mkinitcpio-busybox/deps b/mkinitcpio-busybox/deps new file mode 100644 index 0000000..e69de29 diff --git a/mkinitcpio-busybox/key b/mkinitcpio-busybox/key new file mode 100644 index 0000000..629ae6d --- /dev/null +++ b/mkinitcpio-busybox/key @@ -0,0 +1 @@ +gpg -v --recv-key 47B70C55ACC9965B diff --git a/mkinitcpio-busybox/time b/mkinitcpio-busybox/time new file mode 100644 index 0000000..d9a9d20 --- /dev/null +++ b/mkinitcpio-busybox/time @@ -0,0 +1,3 @@ +real 0m22.341s +user 0m58.609s +sys 0m6.617s diff --git a/mkinitcpio-nfs-utils/PKGBUILD b/mkinitcpio-nfs-utils/PKGBUILD new file mode 100644 index 0000000..bb4ab50 --- /dev/null +++ b/mkinitcpio-nfs-utils/PKGBUILD @@ -0,0 +1,43 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=mkinitcpio-nfs-utils +pkgver=0.3 +pkgrel=07 +pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio" +arch=('x86_64') +url="http://www.archlinux.org/" +depends=('glibc') +source=("https://sources.archlinux.org/other/mkinitcpio/$pkgname-$pkgver.tar.xz" + 'nfsmount-fix-wrong-umount-path.patch' + 'initcpio-install-net' + 'initcpio-hook-net') + +build() { + cd "$pkgname-$pkgver" + + # upstream commit 029622dfbfe25203275a385a5bf33d44c2409b00 + patch -Np1 < "$srcdir/nfsmount-fix-wrong-umount-path.patch" + + make +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # override hooks, they need updates + install -m644 "$srcdir/initcpio-install-net" "$pkgdir/usr/lib/initcpio/install/net" + install -m644 "$srcdir/initcpio-hook-net" "$pkgdir/usr/lib/initcpio/hooks/net" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL2') + +sha256sums=(d290d489844fae100ca7b848b8eef40078124ff373203086bacc07329d1e8939 # mkinitcpio-nfs-utils-0.3.tar.xz + 6edb239f3d541b8ddee816e2d18bfb3ee1d3f5f8827769674cc8bf2a7ce38f21 # nfsmount-fix-wrong-umount-path.patch + ce9f021763c020b9b62a761974437fd1e9e894df3effc58e71671bf83b061255 # initcpio-install-net + 29a5a4a9ebd61bfa1afbb8dcaf2187e487ee1f34b1979a85a853fa2acbeb510e) # initcpio-hook-net diff --git a/mkinitcpio-nfs-utils/PKGBUILD-arch b/mkinitcpio-nfs-utils/PKGBUILD-arch new file mode 100644 index 0000000..f280083 --- /dev/null +++ b/mkinitcpio-nfs-utils/PKGBUILD-arch @@ -0,0 +1,35 @@ +# Maintainer: Thomas Bächler + +pkgname=mkinitcpio-nfs-utils +pkgver=0.3 +pkgrel=7 +pkgdesc="ipconfig and nfsmount tools for NFS root support in mkinitcpio" +arch=('x86_64') +url="http://www.archlinux.org/" +license=('GPL2') +depends=('glibc') +source=("https://sources.archlinux.org/other/mkinitcpio/$pkgname-$pkgver.tar.xz" + 'nfsmount-fix-wrong-umount-path.patch' + 'initcpio-install-net' + 'initcpio-hook-net') +sha256sums=('d290d489844fae100ca7b848b8eef40078124ff373203086bacc07329d1e8939' + '6edb239f3d541b8ddee816e2d18bfb3ee1d3f5f8827769674cc8bf2a7ce38f21' + 'ce9f021763c020b9b62a761974437fd1e9e894df3effc58e71671bf83b061255' + '29a5a4a9ebd61bfa1afbb8dcaf2187e487ee1f34b1979a85a853fa2acbeb510e') + +build() { + cd "$pkgname-$pkgver" + + # upstream commit 029622dfbfe25203275a385a5bf33d44c2409b00 + patch -Np1 < "$srcdir/nfsmount-fix-wrong-umount-path.patch" + + make +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install + + # override hooks, they need updates + install -m644 "$srcdir/initcpio-install-net" "$pkgdir/usr/lib/initcpio/install/net" + install -m644 "$srcdir/initcpio-hook-net" "$pkgdir/usr/lib/initcpio/hooks/net" +} diff --git a/mkinitcpio-nfs-utils/clean b/mkinitcpio-nfs-utils/clean new file mode 100644 index 0000000..7f017c6 --- /dev/null +++ b/mkinitcpio-nfs-utils/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mk*.tar.xz} diff --git a/mkinitcpio-nfs-utils/deps b/mkinitcpio-nfs-utils/deps new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/mkinitcpio-nfs-utils/deps @@ -0,0 +1 @@ + diff --git a/mkinitcpio-nfs-utils/initcpio-hook-net b/mkinitcpio-nfs-utils/initcpio-hook-net new file mode 100644 index 0000000..4d1ebb9 --- /dev/null +++ b/mkinitcpio-nfs-utils/initcpio-hook-net @@ -0,0 +1,90 @@ +# vim: set ft=sh: +run_hook() { + local line i net_mac bootif_mac bootif_dev defaultrootpath defaultserver + # These variables will be parsed from /tmp/net-*.conf generated by ipconfig + local DEVICE + local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1 + local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH + local filename + # /tmp/net-*.conf + + if [ -z "${ip}" -a -n "${nfsaddrs}" ]; then + ip="${nfsaddrs}" + fi + + if [ -n "${ip}" ]; then + if [ -n "${BOOTIF}" ]; then + bootif_mac=${BOOTIF#01-} + bootif_mac=${bootif_mac//-/:} + for i in /sys/class/net/*/address; do + read net_mac < ${i} + if [ "${bootif_mac}" == "${net_mac}" ]; then + bootif_dev=${i#/sys/class/net/} + bootif_dev=${bootif_dev%/address} + break + fi + done + ip="${ip}::${bootif_dev}" + fi + + # setup network and save some values + ipconfig "ip=${ip}" + + for conf in /tmp/net-*.conf; do + [ -f "$conf" ] && . "$conf" + done + + # calculate nfs_server, nfs_path and nfs_option for later nfs mount + if [ "${root}" = "/dev/nfs" -o "${nfsroot}" != "" ]; then + # parse ROOTPATH if defined by dhcp server + if [ -n "${ROOTPATH}" ]; then + line="${ROOTPATH}" + nfs_server="${line%%:*}" + [ "${nfs_server}" = "${line}" ] && nfs_server="${ROOTSERVER}" + defaultserver="${nfs_server}" + line="${line#*:}" + nfs_path="${line}" + defaultrootpath="${nfs_path}" + else + # define a default ROOTPATH + if [ "${ROOTPATH}" = "" ]; then + defaultrootpath="/tftpboot/${IPV4ADDR}" + fi + fi + + # parse nfsroot if present (overrides ROOTPATH) + if [ -n "${nfsroot}" ]; then + line="${nfsroot}" + nfs_server="${line%%:*}" + [ -z "${nfs_server}" ] && nfs_server="${defaultserver}" + line="${line#*:}" + nfs_path="${line%%,*}" + line="${line#"${nfs_path}"}" + [ -z "${nfs_path}" ] && nfs_path="${defaultrootpath}" + nfs_option="${line#","}" + fi + + # ensure root and filesystem type are set proper for nfs boot + root="/dev/nfs" + rootfstype="nfs" + + echo "NFS-Mount: ${nfs_server}:${nfs_path}" + + # set mount handler for NFS + mount_handler="nfs_mount_handler" + fi + fi +} + +nfs_mount_handler() { + if [ -z "$nfs_server" -o -z "$nfs_path" ]; then + err "Unable to mount root filesystem over NFS: wrong parameters." + echo "You are being dropped to a recovery shell" + echo " Type 'exit' to try and continue booting" + launch_interactive_shell + msg "Trying to continue (this will most likely fail) ..." + fi + nfsmount ${nfs_option:+-o ${nfs_option}} "${nfs_server}:${nfs_path}" "$1" +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/mkinitcpio-nfs-utils/initcpio-install-net b/mkinitcpio-nfs-utils/initcpio-install-net new file mode 100644 index 0000000..79b6789 --- /dev/null +++ b/mkinitcpio-nfs-utils/initcpio-install-net @@ -0,0 +1,108 @@ +#!/bin/bash + +build() { + add_checked_modules '/drivers/net/' + add_module nfsv3? + + add_binary "/usr/lib/initcpio/ipconfig" "/bin/ipconfig" + add_binary "/usr/lib/initcpio/nfsmount" "/bin/nfsmount" + + add_runscript +} + +help() { + cat <:::::: +nfsaddrs= is an alias to ip= and can be used too. + + IP address of the client. If empty, the address will + either be determined by RARP/BOOTP/DHCP. What protocol + is used de- pends on the parameter. If this + parameter is not empty, autoconf will be used. + + IP address of the NFS server. If RARP is used to + determine the client address and this parameter is NOT + empty only replies from the specified server are + accepted. To use different RARP and NFS server, + specify your RARP server here (or leave it blank), and + specify your NFS server in the 'nfsroot' parameter + (see above). If this entry is blank the address of the + server is used which answered the RARP/BOOTP/DHCP + request. + + IP address of a gateway if the server is on a different + subnet. If this entry is empty no gateway is used and the + server is assumed to be on the local network, unless a + value has been received by BOOTP/DHCP. + + Netmask for local network interface. If this is empty, + the netmask is derived from the client IP address assuming + classful addressing, unless overridden in BOOTP/DHCP reply. + + Name of the client. If empty, the client IP address is + used in ASCII notation, or the value received by + BOOTP/DHCP. + + Name of network device to use. If this is empty, all + devices are used for RARP/BOOTP/DHCP requests, and the + first one we receive a reply on is configured. If you + have only one device, you can safely leave this blank. + + Method to use for autoconfiguration. If this is either + 'rarp', 'bootp', or 'dhcp' the specified protocol is + used. If the value is 'both', 'all' or empty, all + protocols are used. 'off', 'static' or 'none' means + no autoconfiguration. +Examples: +ip=127.0.0.1:::::lo:none --> Enable the loopback interface. +ip=192.168.1.1:::::eth2:none --> Enable static eth2 interface. +ip=:::::eth0:dhcp --> Enable dhcp protcol for eth0 configuration. + +nfsroot=[:][,] + +If the 'nfsroot' parameter is NOT given on the command line, the default +"/tftpboot/%s" will be used. + + Specifies the IP address of the NFS server. If this field + is not given, the default address as determined by the + 'ip' variable (see below) is used. One use of this + parameter is for example to allow using different servers + for RARP and NFS. Usually you can leave this blank. + + Name of the directory on the server to mount as root. If + there is a "%s" token in the string, the token will be + replaced by the ASCII-representation of the client's IP + address. + + Standard NFS options. All options are separated by commas. + If the options field is not given, the following defaults + will be used: + port = as given by server portmap daemon + rsize = 1024 + wsize = 1024 + timeo = 7 + retrans = 3 + acregmin = 3 + acregmax = 60 + acdirmin = 30 + acdirmax = 60 + flags = hard, nointr, noposix, cto, ac + +root=/dev/nfs + +If you don't use nfsroot= parameter you need to set root=/dev/nfs +to boot from a nfs root by autoconfiguration. +HELPEOF +} + +# vim: set ft=sh ts=4 sw=4 et: diff --git a/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch b/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch new file mode 100644 index 0000000..0f62fea --- /dev/null +++ b/mkinitcpio-nfs-utils/nfsmount-fix-wrong-umount-path.patch @@ -0,0 +1,14 @@ +--- a/nfsmount/mount.c 2012-11-10 20:16:31.894540497 -0500 ++++ b/nfsmount/mount.c 2012-11-10 20:16:39.957369011 -0500 +@@ -358,9 +358,9 @@ + bail: + if (mounted) { + if (data->flags & NFS_MOUNT_VER3) { +- umount_v3(path, clnt); ++ umount_v3(rem_path, clnt); + } else { +- umount_v2(path, clnt); ++ umount_v2(rem_path, clnt); + } + } + diff --git a/mkinitcpio-nfs-utils/time b/mkinitcpio-nfs-utils/time new file mode 100644 index 0000000..1aba40b --- /dev/null +++ b/mkinitcpio-nfs-utils/time @@ -0,0 +1,3 @@ +real 0m1.931s +user 0m2.540s +sys 0m0.312s diff --git a/mkinitcpio/001-remove-systemd-and-kept-gzip-as-default.patch b/mkinitcpio/001-remove-systemd-and-kept-gzip-as-default.patch new file mode 100644 index 0000000..ea28f9d --- /dev/null +++ b/mkinitcpio/001-remove-systemd-and-kept-gzip-as-default.patch @@ -0,0 +1,95 @@ +diff -Nuar -uar a/Makefile b/Makefile +--- a/Makefile 2021-02-17 13:37:31.000000000 +1100 ++++ b/Makefile 2021-03-05 08:44:25.142475386 +1100 +@@ -17,7 +17,6 @@ + /usr/share/man/man5 \ + /usr/share/man/man1 \ + /usr/share/mkinitcpio \ +- /usr/lib/systemd/system/shutdown.target.wants \ + /usr/lib/tmpfiles.d \ + /usr/share/libalpm/hooks \ + /usr/share/libalpm/scripts +@@ -57,10 +56,6 @@ + + cp -at $(DESTDIR)/usr/lib/initcpio hooks install + install -m644 -t $(DESTDIR)/usr/share/mkinitcpio mkinitcpio.d/* +- install -m644 systemd/mkinitcpio-generate-shutdown-ramfs.service \ +- $(DESTDIR)/usr/lib/systemd/system/mkinitcpio-generate-shutdown-ramfs.service +- ln -s ../mkinitcpio-generate-shutdown-ramfs.service \ +- $(DESTDIR)/usr/lib/systemd/system/shutdown.target.wants/mkinitcpio-generate-shutdown-ramfs.service + install -m644 tmpfiles/mkinitcpio.conf $(DESTDIR)/usr/lib/tmpfiles.d/mkinitcpio.conf + + install -m755 50-mkinitcpio.install $(DESTDIR)/usr/lib/kernel/install.d/50-mkinitcpio.install +diff -Nuar -uar a/PKGBUILD b/PKGBUILD +--- a/PKGBUILD 2021-02-17 13:37:31.000000000 +1100 ++++ b/PKGBUILD 2021-03-05 08:45:18.792474234 +1100 +@@ -9,9 +9,9 @@ + conflicts=('mkinitcpio') + provides=("mkinitcpio=$pkgver" "initramfs") + depends=('mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils' +- 'awk' 'bash' 'findutils' 'grep' 'filesystem>=2011.10-1' 'systemd' 'zstd') ++ 'awk' 'bash' 'findutils' 'grep' 'filesystem>=2011.10-1' 'gzip') + makedepends=('asciidoc' 'git' 'sed') +-optdepends=('gzip: Use gzip compression for the initramfs image' ++optdepends=('zstd: Use zstd compression for the initramfs image' + 'xz: Use lzma or xz compression for the initramfs image' + 'bzip2: Use bzip2 compression for the initramfs image' + 'lzop: Use lzo compression for the initramfs image' +diff -Nuar -uar a/init_functions b/init_functions +--- a/init_functions 2021-02-17 13:37:31.000000000 +1100 ++++ b/init_functions 2021-03-05 08:46:37.065805895 +1100 +@@ -298,21 +298,9 @@ + elif bitfield_has_bit "$fsckret" 128; then + err "fatal error invoking fsck" + fi +- +- # ensure that root is going to be mounted rw. Otherwise, systemd +- # might fsck the device again. Annoy the user so that they fix this. +- if [ "${rwopt:-ro}" != 'rw' ]; then +- echo "********************** WARNING **********************" +- echo "* *" +- echo "* The root device is not configured to be mounted *" +- echo "* read-write! It may be fsck'd again later. *" +- echo "* *" +- echo "*****************************************************" +- fi + fi + } + +-# TODO: this really needs to follow the logic of systemd's encode_devnode_name + # function more closely. + tag_to_udev_path() { + awk -v "tag=$1" -v "value=$2" ' +diff -Nuar -uar a/mkinitcpio b/mkinitcpio +--- a/mkinitcpio 2021-02-17 13:37:31.000000000 +1100 ++++ b/mkinitcpio 2021-03-05 08:47:46.865804396 +1100 +@@ -508,7 +508,7 @@ + die 'Unable to write to %s' "$_optgenimg" + fi + +- _optcompress=${_optcompress:-${COMPRESSION:-zstd}} ++ _optcompress=${_optcompress:-${COMPRESSION:-gzip}} + if ! type -P "$_optcompress" >/dev/null; then + warning "Unable to locate compression method: %s" "$_optcompress" + _optcompress=cat +diff -Nuar -uar a/mkinitcpio.conf b/mkinitcpio.conf +--- a/mkinitcpio.conf 2021-02-17 13:37:31.000000000 +1100 ++++ b/mkinitcpio.conf 2021-03-05 08:48:30.139136824 +1100 +@@ -52,15 +52,15 @@ + HOOKS=(base udev autodetect modconf block filesystems keyboard fsck) + + # COMPRESSION +-# Use this to compress the initramfs image. By default, zstd compression ++# Use this to compress the initramfs image. By default, gzip compression + # is used. Use 'cat' to create an uncompressed image. +-#COMPRESSION="zstd" + #COMPRESSION="gzip" + #COMPRESSION="bzip2" + #COMPRESSION="lzma" + #COMPRESSION="xz" + #COMPRESSION="lzop" + #COMPRESSION="lz4" ++#COMPRESSION="zstd" + + # COMPRESSION_OPTIONS + # Additional options for the compressor diff --git a/mkinitcpio/PKGBUILD b/mkinitcpio/PKGBUILD new file mode 100644 index 0000000..0317a4a --- /dev/null +++ b/mkinitcpio/PKGBUILD @@ -0,0 +1,90 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=mkinitcpio +pkgver=31 +pkgrel=02 +pkgdesc='Modular initramfs image creation utility w/o systemd' +_url='https://github.com/archlinux/mkinitcpio' +url="https://sources.archlinux.org/other" +source=( + "$url/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig} + '001-remove-systemd-and-kept-gzip-as-default.patch' + 'add_udev_rule_function.patch' +) + +makedepends=( + 'binutils' + 'asciidoc' + 'sed' +) + +arch=(x86_64) + +install=mkinitcpio.install + +depends=( + 'mkinitcpio-busybox>=1.19.4-2' + 'kmod' + 'util-linux>=2.23' + 'libarchive' + 'coreutils' + 'awk' + 'bash' + 'findutils' + 'grep' + 'filesystem>=2021.10-17' + 'gzip' + 'lz4' + 'sed' +) + +optdepends=( + 'xz: Use lzma or xz compression for the initramfs image' + 'bzip2: Use bzip2 compression for the initramfs image' + 'lzop: Use lzo compression for the initramfs image' + 'lz4: Use lz4 compression for the initramfs image' + 'zstd: Use zstd compression for the initramfs image' + 'mkinitcpio-nfs-utils: Support for root filesystem on NFS' +) + +backup=( + 'etc/mkinitcpio.conf' +) + +provides=( + "mkinitcpio=$pkgver-$pkgrel" + 'initramfs' +) + +prepare() { + cd $pkgname-$pkgver + + ## Apply 0003-remove-systemd.patch + patch -Np1 < $srcdir/001-remove-systemd-and-kept-gzip-as-default.patch + patch -Np1 < $srcdir/add_udev_rule_function.patch + +} + +check() { + make -C $pkgname-$pkgver check +} + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=(GPL) + +validpgpkeys=('ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB') # Giancarlo Razzolini + +sha256sums=(8f2811250b852ab78375bf90e1a7430daa132e57e128b0f6eaadddd9b27bbc63 # mkinitcpio-31.tar.gz + 493e04724241e28d9d089bf09748f36b79fd455cb4e62c2e5c8c3d5fb67b6d62 # mkinitcpio-31.tar.gz.sig + a7dcad6ec0a3ea32896f2ca218ea4ba1550feaed25d58ed609bfbb7f9fd03619 # 001-remove-systemd-and-kept-gzip-as-default.patch + 0fd3bc75aeb24d3ac272e2f8500fe289ec8606295b25fa299b80ac0834efdbe8) # add_udev_rule_function.patch diff --git a/mkinitcpio/PKGBUILD-arch b/mkinitcpio/PKGBUILD-arch new file mode 100644 index 0000000..a90b1d6 --- /dev/null +++ b/mkinitcpio/PKGBUILD-arch @@ -0,0 +1,40 @@ +# Maintainer: Giancarlo Razzolini +# Maintainer: Dave Reisner +# Maintainer: Thomas Bächler + +pkgname=mkinitcpio +pkgver=31 +pkgrel=2 +pkgdesc="Modular initramfs image creation utility" +arch=('any') +url='https://github.com/archlinux/mkinitcpio' +license=('GPL') +depends=('awk' 'mkinitcpio-busybox>=1.19.4-2' 'kmod' 'util-linux>=2.23' 'libarchive' 'coreutils' + 'bash' 'binutils' 'diffutils' 'findutils' 'grep' 'filesystem>=2011.10-1' 'zstd' 'systemd') +optdepends=('gzip: Use gzip compression for the initramfs image' + 'xz: Use lzma or xz compression for the initramfs image' + 'bzip2: Use bzip2 compression for the initramfs image' + 'lzop: Use lzo compression for the initramfs image' + 'lz4: Use lz4 compression for the initramfs image' + 'mkinitcpio-nfs-utils: Support for root filesystem on NFS') +provides=('initramfs') +backup=('etc/mkinitcpio.conf') +source=("https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz"{,.sig}) +install=mkinitcpio.install +sha512sums=('4ef87c2e4f579b292c38f9c487e78b3b99f6db77909cab322e860e5ca70aca3747fcfc272e2e15c9a3605c924ab178057b8b23151f98debc5d96e65f3c0c49d5' + 'SKIP') +b2sums=('0113e288906e3b5fa485c29c00e7df60d85addd96718c45531031a686f18c739fa18303b6cac374d35b85edb7b663e221c8dc9158dff08c75858a4ed4dd154bf' + 'SKIP') +validpgpkeys=('ECCAC84C1BA08A6CC8E63FBBF22FB1D78A77AEAB') # Giancarlo Razzolini + +# prepare() { +# cd $pkgname-$pkgver +# } + +check() { + make -C "$pkgname-$pkgver" check +} + +package() { + make -C "$pkgname-$pkgver" DESTDIR="$pkgdir" install +} diff --git a/mkinitcpio/PKGBUILD-oba b/mkinitcpio/PKGBUILD-oba new file mode 100644 index 0000000..eadc2d8 --- /dev/null +++ b/mkinitcpio/PKGBUILD-oba @@ -0,0 +1,104 @@ +# Obarun : 66 init/supervisor +# Maintainer : Eric Vidal +# Maintainer : Jean-Michel T.Dydak +# Obarun PkgSrc : https://git.obarun.org/pkg/obcore/mkinitcpio +#---------------- +#-------------------------------------------------------------- +# DESCRIPTION ] + +pkgname=mkinitcpio +pkgver=30 +pkgrel=4 + +pkgdesc='Modular initramfs image creation utility' + +url='https://github.com/archlinux/mkinitcpio' + +source=( + "https://sources.archlinux.org/other/$pkgname/$pkgname-$pkgver.tar.gz" + '001-remove-systemd-and-kept-gzip-as-default.patch' + 'add_udev_rule_function.patch' +) + +#---------------------- +# BUILD CONFIGURATION ] + +makedepends=( + 'asciidoc' + 'git' + 'sed' +) + +#------------------------ +# INSTALL CONFIGURATION ] + +arch=(x86_64) + +install=mkinitcpio.install + +depends=( + 'mkinitcpio-busybox>=1.19.4-2' + 'kmod' + 'util-linux>=2.23' + 'libarchive' + 'coreutils' + 'awk' + 'bash' + 'findutils' + 'grep' + 'filesystem>=2011.10-1' + 'gzip' + 'lz4' + 'sed' +) + +optdepends=( + 'xz: Use lzma or xz compression for the initramfs image' + 'bzip2: Use bzip2 compression for the initramfs image' + 'lzop: Use lzo compression for the initramfs image' + 'lz4: Use lz4 compression for the initramfs image' + 'zstd: Use zstd compression for the initramfs image' + 'mkinitcpio-nfs-utils: Support for root filesystem on NFS' +) + +backup=( + 'etc/mkinitcpio.conf' +) + +provides=( + "mkinitcpio=$pkgver-$pkgrel" + 'initramfs' +) + +#---------------- +# BUILD PREPARE ] + +prepare() { + cd $pkgname-$pkgver + + ## Apply 0003-remove-systemd.patch + patch -Np1 < $srcdir/001-remove-systemd-and-kept-gzip-as-default.patch + patch -Np1 < $srcdir/add_udev_rule_function.patch + +} + +#-------- +# CHECK ] + +check() { + make -C $pkgname-$pkgver check +} + +#---------- +# PACKAGE ] + +package() { + make -C $pkgname-$pkgver DESTDIR="$pkgdir" install +} + +#------------------------- +# LICENCE AND VALIDATION ] + +license=(GPL) + +sha512sums=(' ') diff --git a/mkinitcpio/add_udev_rule_function.patch b/mkinitcpio/add_udev_rule_function.patch new file mode 100644 index 0000000..2f5046b --- /dev/null +++ b/mkinitcpio/add_udev_rule_function.patch @@ -0,0 +1,50 @@ +diff -Nuar -uar --color a/functions b/functions +--- a/functions 2021-02-17 13:37:31.000000000 +1100 ++++ b/functions 2021-11-03 10:35:49.773891914 +1100 +@@ -625,6 +625,46 @@ + return 0 + } + ++add_udev_rule() { ++ # Add an udev rules file to the initcpio image. Dependencies on binaries ++ # will be discovered and added. ++ # $1: path to rules file (or name of rules file) ++ ++ local rules="$1" rule= key= value= binary= ++ ++ if [[ ${rules:0:1} != '/' ]]; then ++ rules=$(PATH=/usr/lib/udev/rules.d:/lib/udev/rules.d type -P "$1") ++ fi ++ if [[ -z $rules ]]; then ++ # complain about not found rules ++ return 1 ++ fi ++ ++ add_file "$rules" /usr/lib/udev/rules.d/"${rules##*/}" ++ ++ while IFS=, read -ra rule; do ++ # skip empty lines, comments ++ [[ -z $rule || $rule = @(+([[:space:]])|#*) ]] && continue ++ ++ for pair in "${rule[@]}"; do ++ IFS=' =' read -r key value <<< "$pair" ++ case $key in ++ RUN@({program}|+)|IMPORT{program}|ENV{REMOVE_CMD}) ++ # strip quotes ++ binary=${value//[\"\']/} ++ # just take the first word as the binary name ++ binary=${binary%% *} ++ [[ ${binary:0:1} == '$' ]] && continue ++ if [[ ${binary:0:1} != '/' ]]; then ++ binary=$(PATH=/usr/lib/udev:/lib/udev type -P "$binary") ++ fi ++ add_binary "$binary" ++ ;; ++ esac ++ done ++ done <"$rules" ++} ++ + parse_config() { + # parse key global variables set by the config file. + diff --git a/mkinitcpio/clean b/mkinitcpio/clean new file mode 100644 index 0000000..31a6fdd --- /dev/null +++ b/mkinitcpio/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mki*tar.gz*} diff --git a/mkinitcpio/deps b/mkinitcpio/deps new file mode 100644 index 0000000..7841e79 --- /dev/null +++ b/mkinitcpio/deps @@ -0,0 +1,2 @@ +asciidoc +mkinitcpio-busybox diff --git a/mkinitcpio/key b/mkinitcpio/key new file mode 100644 index 0000000..b4822d3 --- /dev/null +++ b/mkinitcpio/key @@ -0,0 +1 @@ +gpg -v --recv-key F22FB1D78A77AEAB diff --git a/mkinitcpio/mkinitcpio.install b/mkinitcpio/mkinitcpio.install new file mode 100644 index 0000000..8571ee7 --- /dev/null +++ b/mkinitcpio/mkinitcpio.install @@ -0,0 +1,15 @@ +#!/bin/sh + +post_upgrade() { + if [ "$(vercmp 0.9.0 "$2")" -eq 1 ]; then + printf '==> If your /usr is on a separate partition, you must add the "usr" hook\n' + printf ' to /etc/mkinitcpio.conf and regenerate your images before rebooting\n' + fi + + if [ "$(vercmp 0.12.0 "$2")" -eq 1 ]; then + printf '==> The "block" hook has replaced several hooks:\n' + printf ' fw, sata, pata, scsi, virtio, mmc, usb\n' + printf ' Replace any and all of these in /etc/mkinitcpio.conf with a single\n' + printf ' instance of the "block" hook\n' + fi +} diff --git a/mkinitcpio/time b/mkinitcpio/time new file mode 100644 index 0000000..9e1ac69 --- /dev/null +++ b/mkinitcpio/time @@ -0,0 +1,3 @@ +real 0m3.045s +user 0m3.686s +sys 0m0.525s diff --git a/mlocate/PKGBUILD b/mlocate/PKGBUILD new file mode 100644 index 0000000..5cb56ba --- /dev/null +++ b/mlocate/PKGBUILD @@ -0,0 +1,84 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +#---- license gpg-key sha256sums ---- + +sha256sums=(a) + +pkgname=mlocate +pkgver=0.26.git.20170220 +_commit=c98bf6595703456558a6f9c163c746cdaa9e591f +pkgrel=07 +pkgdesc='Merging locate/updatedb implementation w/o systemd' +url='https://pagure.io/mlocate' +arch=('x86_64') +backup=('etc/updatedb.conf') +depends=('glibc') +makedepends=('git') +install=mlocate.install +source=("git+https://pagure.io/mlocate.git#commit=$_commit" + 'git+https://git.savannah.gnu.org/git/gnulib.git#commit=5861339993f3014cfad1b94fc7fe366fc2573598' +# "sysusers.d::https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/mlocate/trunk/sysusers.d" +# "updatedb.conf::https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/mlocate/trunk/updatedb.conf" +# "mlocate.install::https://raw.githubusercontent.com/archlinux/svntogit-packages/packages/mlocate/trunk/mlocate.install") + 'sysusers.d' + 'updatedb.conf') + +prepare() { + cd "${srcdir}/${pkgname}" + sed -i '/^groupname /s/mlocate/locate/' Makefile.am + ../gnulib/gnulib-tool --import # See file: ./HACKING + autoreconf --install +} + +build() { + cd "${srcdir}/${pkgname}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib + make +} + +check() { + cd "${srcdir}/${pkgname}" + make check +} + +package() { + cd "${srcdir}/${pkgname}" + + make DESTDIR="${pkgdir}" install + + # fix group and permissions of /var/lib/mlocate; the Makefile does not + # do this because it uses a group name instead of a group id and fails + # https://lists.archlinux.org/pipermail/arch-general/2018-June/045165.html + chgrp 21 "${pkgdir}/var/lib/mlocate" + chmod 750 "${pkgdir}/var/lib/mlocate" + + chgrp 21 "${pkgdir}/usr/bin/locate" + chmod 2755 "${pkgdir}/usr/bin/locate" + ln -s locate "${pkgdir}/usr/bin/slocate" + + install -dm755 "${pkgdir}/var/lib" + install -dm750 -g21 "${pkgdir}/var/lib/locate" + + install -Dm644 ../updatedb.conf "${pkgdir}/etc/updatedb.conf" + install -Dm644 ../sysusers.d "${pkgdir}/usr/lib/sysusers.d/locate.conf" +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +sha256sums=('SKIP' + 'SKIP' + '1713a8fc8b81f4a390bf8597c4c0e917474379002dcc984aad2f44218d10c82a' + 'd00796741e2194032d0185b40de70ff5c8a11fda416a70434eb0aa2020981f91') +# '94520117a4a2e16b5f2311c406904369d72690b8998c39ee4cf758009fdddbcb' +# 'af0db83e34ffd0325101042760d4a5e3bccacbc3a0ef42c997e42507bf4ba6a3') + +sha256sums=(SKIP SKIP + 1713a8fc8b81f4a390bf8597c4c0e917474379002dcc984aad2f44218d10c82a # sysusers.d + d00796741e2194032d0185b40de70ff5c8a11fda416a70434eb0aa2020981f91) # updatedb.conf diff --git a/mlocate/PKGBUILD-arch b/mlocate/PKGBUILD-arch new file mode 100644 index 0000000..7b2055f --- /dev/null +++ b/mlocate/PKGBUILD-arch @@ -0,0 +1,73 @@ +# Maintainer: Gaetan Bisson +# Contributor: Allan McRae +# Contributor: lydgate + +pkgname=mlocate +pkgver=0.26.git.20170220 +_commit=c98bf6595703456558a6f9c163c746cdaa9e591f +pkgrel=7 +pkgdesc='Merging locate/updatedb implementation' +url='https://pagure.io/mlocate' +arch=('x86_64') +license=('GPL') +backup=('etc/updatedb.conf') +depends=('glibc') +makedepends=('git') +install=mlocate.install +source=("git+https://pagure.io/mlocate.git#commit=$_commit" + 'git+https://git.savannah.gnu.org/git/gnulib.git#commit=5861339993f3014cfad1b94fc7fe366fc2573598' + 'sysusers.d' + 'updatedb.conf' + 'updatedb.timer' + 'updatedb.service') +sha256sums=('SKIP' + 'SKIP' + '1713a8fc8b81f4a390bf8597c4c0e917474379002dcc984aad2f44218d10c82a' + 'd00796741e2194032d0185b40de70ff5c8a11fda416a70434eb0aa2020981f91' + '94520117a4a2e16b5f2311c406904369d72690b8998c39ee4cf758009fdddbcb' + 'af0db83e34ffd0325101042760d4a5e3bccacbc3a0ef42c997e42507bf4ba6a3') + +prepare() { + cd "${srcdir}/${pkgname}" + sed -i '/^groupname /s/mlocate/locate/' Makefile.am + ../gnulib/gnulib-tool --import # See file: ./HACKING + autoreconf --install +} + +build() { + cd "${srcdir}/${pkgname}" + ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib + make +} + +check() { + cd "${srcdir}/${pkgname}" + make check +} + +package() { + cd "${srcdir}/${pkgname}" + + make DESTDIR="${pkgdir}" install + + # fix group and permissions of /var/lib/mlocate; the Makefile does not + # do this because it uses a group name instead of a group id and fails + # https://lists.archlinux.org/pipermail/arch-general/2018-June/045165.html + chgrp 21 "${pkgdir}/var/lib/mlocate" + chmod 750 "${pkgdir}/var/lib/mlocate" + + chgrp 21 "${pkgdir}/usr/bin/locate" + chmod 2755 "${pkgdir}/usr/bin/locate" + ln -s locate "${pkgdir}/usr/bin/slocate" + + install -dm755 "${pkgdir}/var/lib" + install -dm750 -g21 "${pkgdir}/var/lib/locate" + + install -Dm644 ../updatedb.conf "${pkgdir}/etc/updatedb.conf" + install -Dm644 ../sysusers.d "${pkgdir}/usr/lib/sysusers.d/locate.conf" + install -Dm644 ../updatedb.timer "${pkgdir}/usr/lib/systemd/system/updatedb.timer" + install -Dm644 ../updatedb.service "${pkgdir}/usr/lib/systemd/system/updatedb.service" + + install -d "${pkgdir}/usr/lib/systemd/system/timers.target.wants" + ln -s ../updatedb.timer "${pkgdir}/usr/lib/systemd/system/timers.target.wants/updatedb.timer" +} diff --git a/mlocate/clean b/mlocate/clean new file mode 100644 index 0000000..eabd0cb --- /dev/null +++ b/mlocate/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mlocate,gnulib} diff --git a/mlocate/deps b/mlocate/deps new file mode 100644 index 0000000..3c9d3ac --- /dev/null +++ b/mlocate/deps @@ -0,0 +1,4 @@ +git +autoconf +automake +gettext diff --git a/mlocate/mlocate.install b/mlocate/mlocate.install new file mode 100644 index 0000000..5d2e798 --- /dev/null +++ b/mlocate/mlocate.install @@ -0,0 +1,7 @@ +post_upgrade() { + if (( $(vercmp $2 0.26.git.20170220-5) < 0 )); then + # fix group and permissions of /var/lib/mlocate + chgrp 21 var/lib/mlocate + chmod 750 var/lib/mlocate + fi +} diff --git a/mlocate/sysusers.d b/mlocate/sysusers.d new file mode 100644 index 0000000..3df3d20 --- /dev/null +++ b/mlocate/sysusers.d @@ -0,0 +1 @@ +g locate 21 - - diff --git a/mlocate/time b/mlocate/time new file mode 100644 index 0000000..fafebab --- /dev/null +++ b/mlocate/time @@ -0,0 +1,3 @@ +real 0m24.307s +user 0m20.447s +sys 0m2.972s diff --git a/mlocate/updatedb.conf b/mlocate/updatedb.conf new file mode 100644 index 0000000..11d430c --- /dev/null +++ b/mlocate/updatedb.conf @@ -0,0 +1,4 @@ +PRUNE_BIND_MOUNTS = "yes" +PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset cramfs debugfs devpts devtmpfs ecryptfs exofs ftpfs fuse fuse.encfs fuse.s3fs fuse.sshfs fusectl gfs gfs2 hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs shfs smbfs sockfs sshfs sysfs tmpfs ubifs udf usbfs vboxsf" +PRUNENAMES = ".git .hg .svn" +PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache /var/lib/pacman/local /var/lock /var/run /var/spool /var/tmp" diff --git a/mpfr/PKGBUILD b/mpfr/PKGBUILD new file mode 100644 index 0000000..4f2bf04 --- /dev/null +++ b/mpfr/PKGBUILD @@ -0,0 +1,55 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=mpfr +_pkgver=4.1.0 +_patchver=13 +pkgrel=02 +pkgver=${_pkgver}.p${_patchver} +pkgdesc='Multiple-precision floating-point library' +arch=(x86_64) +url='https://www.mpfr.org/' +depends=('glibc' 'gmp') +makedepends=('autoconf-archive' 'automake') +source=("https://ftp.gnu.org/gnu/mpfr/mpfr-${_pkgver}.tar.xz"{,.sig} + patches.diff) # wget https://www.mpfr.org/mpfr-4.1.0/allpatches -O patches.diff + +prepare() { + cd $pkgname-${_pkgver} + + patch -p1 < "$srcdir"/patches.diff + autoreconf -fiv +} + +build() { + cd $pkgname-${_pkgver} + ./configure --prefix=/usr \ + --enable-thread-safe \ + --enable-shared + make +} + +check() { + cd $pkgname-${_pkgver} + make check + make check-exported-symbols +} + +package() { + cd $pkgname-${_pkgver} + make DESTDIR="$pkgdir" install +} + +#---- license gpg-key sha256sums ---- + +license=('GPL3' 'LGPL3') + +# NOTE: key holder contacted about unsafe key (2021-05-03) +validpgpkeys=('07F3DBBECC1A39605078094D980C197698C3739D') # Vincent Lefevre + +sha256sums=(0c98a3f1732ff6ca4ea690552079da9c597872d30e96ec28414ee23c95558a7f # mpfr-4.1.0.tar.xz + 681220885640e2918a52a6d8ac1e3fd9dc2a7f6f62d5aae0d99665b981d84cff # mpfr-4.1.0.tar.xz.sig + 75af77904037442fcd3061a4fee2394194716c542e96989dcfac2445c842daf1) # patches.diff diff --git a/mpfr/PKGBUILD-arch b/mpfr/PKGBUILD-arch new file mode 100644 index 0000000..ce5d4f3 --- /dev/null +++ b/mpfr/PKGBUILD-arch @@ -0,0 +1,52 @@ +# Maintainer: David Runge +# Maintainer: Antonio Rojas +# Contributor: Allan McRae +# Contributor: damir + +pkgname=mpfr +_pkgver=4.1.0 +_patchver=13 +pkgrel=2 +pkgver=${_pkgver}.p${_patchver} +pkgdesc='Multiple-precision floating-point library' +arch=(x86_64) +url='https://www.mpfr.org/' +license=('GPL3' 'LGPL3') +depends=('glibc' 'gmp') +makedepends=('autoconf-archive') +source=("https://ftp.gnu.org/gnu/mpfr/mpfr-${_pkgver}.tar.xz"{,.sig} + patches.diff) # wget https://www.mpfr.org/mpfr-4.1.0/allpatches -O patches.diff +sha512sums=('1bd1c349741a6529dfa53af4f0da8d49254b164ece8a46928cdb13a99460285622d57fe6f68cef19c6727b3f9daa25ddb3d7d65c201c8f387e421c7f7bee6273' + 'SKIP' + 'f7504bbca6631c9e0eba74b7e410032aec9f4f45731c48b1622c8251797dcb05e76e547ccfa407a767b1c35f08a04b61e872a982e07121c82bc11fcb6e9c06c6') +b2sums=('41d1be0c4b557760f12a4525ad3a84b6e2cd6f0927c935fcfba577ac0490e582d1ae4b581dce58e21e705cf9d7c88373054d7fb7a94bb32c69b339f99a25dc68' + 'SKIP' + '3b1a1775619d5f4ec710f896596bcc2391707ec97c50d65acba2305c7e910756b2a63d476abf7877d97db9f5ed49991d23fd7ed278f08b7d96346640fb06d5d1') +# NOTE: key holder contacted about unsafe key (2021-05-03) +validpgpkeys=('07F3DBBECC1A39605078094D980C197698C3739D') # Vincent Lefevre + +prepare() { + cd $pkgname-${_pkgver} + + patch -p1 < "$srcdir"/patches.diff + autoreconf -fiv +} + +build() { + cd $pkgname-${_pkgver} + ./configure --prefix=/usr \ + --enable-thread-safe \ + --enable-shared + make +} + +check() { + cd $pkgname-${_pkgver} + make check + make check-exported-symbols +} + +package() { + cd $pkgname-${_pkgver} + make DESTDIR="$pkgdir" install +} diff --git a/mpfr/clean b/mpfr/clean new file mode 100644 index 0000000..309fd18 --- /dev/null +++ b/mpfr/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,mpfr*} diff --git a/mpfr/deps b/mpfr/deps new file mode 100644 index 0000000..7bd75a5 --- /dev/null +++ b/mpfr/deps @@ -0,0 +1,2 @@ +autoconf-archive +automake diff --git a/mpfr/key b/mpfr/key new file mode 100644 index 0000000..009c36d --- /dev/null +++ b/mpfr/key @@ -0,0 +1 @@ +gpg -v --recv-key 980C197698C3739D diff --git a/mpfr/patches.diff b/mpfr/patches.diff new file mode 100644 index 0000000..3ecb16f --- /dev/null +++ b/mpfr/patches.diff @@ -0,0 +1,2976 @@ +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:40:40.079363480 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:40:40.119363040 +0000 +@@ -0,0 +1 @@ ++decimal128-conv +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2020-07-10 11:52:33.000000000 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:40:40.119363040 +0000 +@@ -1 +1 @@ +-4.1.0 ++4.1.0-p1 +diff -Naurd mpfr-4.1.0-a/src/get_d128.c mpfr-4.1.0-b/src/get_d128.c +--- mpfr-4.1.0-a/src/get_d128.c 2020-04-08 22:39:35.000000000 +0000 ++++ mpfr-4.1.0-b/src/get_d128.c 2021-02-11 12:40:40.103363216 +0000 +@@ -40,22 +40,21 @@ + static _Decimal128 + get_decimal128_nan (void) + { +- return (_Decimal128) MPFR_DBL_NAN; ++ return 0.0dl / 0.0dl; + } + + /* construct the decimal128 Inf with given sign */ + static _Decimal128 + get_decimal128_inf (int negative) + { +- return (_Decimal128) (negative ? MPFR_DBL_INFM : MPFR_DBL_INFP); ++ return negative ? - 1.0dl / 0.0dl : 1.0dl / 0.0dl; + } + + /* construct the decimal128 zero with given sign */ + static _Decimal128 + get_decimal128_zero (int negative) + { +- _Decimal128 zero = 0; +- return (_Decimal128) (negative ? -zero : zero); ++ return negative ? - 0.0dl : 0.0dl; + } + + /* construct the decimal128 smallest non-zero with given sign: +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2020-07-10 11:52:33.000000000 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:40:40.115363084 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0" ++#define MPFR_VERSION_STRING "4.1.0-p1" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2020-07-10 11:52:33.000000000 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:40:40.119363040 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0"; ++ return "4.1.0-p1"; + } +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:43:51.761257868 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:43:51.801257430 +0000 +@@ -0,0 +1 @@ ++random_deviate +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:40:40.119363040 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:43:51.801257430 +0000 +@@ -1 +1 @@ +-4.1.0-p1 ++4.1.0-p2 +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:40:40.115363084 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:43:51.801257430 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p1" ++#define MPFR_VERSION_STRING "4.1.0-p2" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/random_deviate.c mpfr-4.1.0-b/src/random_deviate.c +--- mpfr-4.1.0-a/src/random_deviate.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/random_deviate.c 2021-02-11 12:43:51.789257562 +0000 +@@ -289,6 +289,7 @@ + mpfr_random_size_t p = mpfr_get_prec (z); /* Number of bits in result */ + mpz_t t; + int inex; ++ mpfr_exp_t negxe; + + if (n == 0) + { +@@ -370,14 +371,22 @@ + mpz_setbit (t, 0); /* Set the trailing bit so result is always inexact */ + if (neg) + mpz_neg (t, t); +- /* Is -x->e representable as a mpfr_exp_t? */ +- MPFR_ASSERTN (x->e <= (mpfr_uexp_t)(-1) >> 1); ++ /* Portable version of the negation of x->e, with a check of overflow. */ ++ if (MPFR_UNLIKELY (x->e > MPFR_EXP_MAX)) ++ { ++ /* Overflow, except when x->e = MPFR_EXP_MAX + 1 = - MPFR_EXP_MIN. */ ++ MPFR_ASSERTN (MPFR_EXP_MIN + MPFR_EXP_MAX == -1 && ++ x->e == (mpfr_random_size_t) MPFR_EXP_MAX + 1); ++ negxe = MPFR_EXP_MIN; ++ } ++ else ++ negxe = - (mpfr_exp_t) x->e; + /* + * Let mpfr_set_z_2exp do all the work of rounding to the requested + * precision, setting overflow/underflow flags, and returning the right + * inexact value. + */ +- inex = mpfr_set_z_2exp (z, t, -x->e, rnd); ++ inex = mpfr_set_z_2exp (z, t, negxe, rnd); + mpz_clear (t); + return inex; + } +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:40:40.119363040 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:43:51.801257430 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p1"; ++ return "4.1.0-p2"; + } +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:46:49.075316772 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:46:49.115316335 +0000 +@@ -0,0 +1 @@ ++set_z_2exp-overflow +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:43:51.801257430 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:46:49.115316335 +0000 +@@ -1 +1 @@ +-4.1.0-p2 ++4.1.0-p3 +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:43:51.801257430 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:46:49.115316335 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p2" ++#define MPFR_VERSION_STRING "4.1.0-p3" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/set_z_exp.c mpfr-4.1.0-b/src/set_z_exp.c +--- mpfr-4.1.0-a/src/set_z_exp.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/set_z_exp.c 2021-02-11 12:46:49.103316466 +0000 +@@ -28,10 +28,11 @@ + int + mpfr_set_z_2exp (mpfr_ptr f, mpz_srcptr z, mpfr_exp_t e, mpfr_rnd_t rnd_mode) + { +- mp_size_t fn, zn, dif, en; ++ mp_size_t fn, zn, dif; + int k, sign_z, inex; + mp_limb_t *fp, *zp; +- mpfr_exp_t exp; ++ mpfr_exp_t exp, nmax; ++ mpfr_uexp_t uexp; + + sign_z = mpz_sgn (z); + if (MPFR_UNLIKELY (sign_z == 0)) /* ignore the exponent for 0 */ +@@ -43,10 +44,15 @@ + MPFR_ASSERTD (sign_z == MPFR_SIGN_POS || sign_z == MPFR_SIGN_NEG); + + zn = ABSIZ(z); /* limb size of z */ +- /* compute en = floor(e/GMP_NUMB_BITS) */ +- en = (e >= 0) ? e / GMP_NUMB_BITS : (e + 1) / GMP_NUMB_BITS - 1; + MPFR_ASSERTD (zn >= 1); +- if (MPFR_UNLIKELY (zn + en > MPFR_EMAX_MAX / GMP_NUMB_BITS + 1)) ++ nmax = MPFR_EMAX_MAX / GMP_NUMB_BITS + 1; ++ /* Detect early overflow with zn + en > nmax, ++ where en = floor(e / GMP_NUMB_BITS). ++ This is checked without an integer overflow (even assuming some ++ future version of GMP, where limitations may be removed). */ ++ if (MPFR_UNLIKELY (e >= 0 ? ++ zn > nmax - e / GMP_NUMB_BITS : ++ zn + (e + 1) / GMP_NUMB_BITS - 1 > nmax)) + return mpfr_overflow (f, rnd_mode, sign_z); + /* because zn + en >= MPFR_EMAX_MAX / GMP_NUMB_BITS + 2 + implies (zn + en) * GMP_NUMB_BITS >= MPFR_EMAX_MAX + GMP_NUMB_BITS + 1 +@@ -64,8 +70,21 @@ + and exp = zn * GMP_NUMB_BITS + e - k + <= (zn + en) * GMP_NUMB_BITS - k + GMP_NUMB_BITS - 1 + <= MPFR_EMAX_MAX + 2 * GMP_NUMB_BITS - 1 */ +- exp = (mpfr_prec_t) zn * GMP_NUMB_BITS + e - k; ++ /* We need to compute exp = zn * GMP_NUMB_BITS + e - k with well-defined ++ operations (no integer overflows / no implementation-defined results). ++ The mathematical result of zn * GMP_NUMB_BITS may be larger than ++ the largest value of mpfr_exp_t while exp could still be less than ++ __gmpfr_emax. Thanks to early overflow detection, we can compute the ++ result in modular arithmetic, using mpfr_uexp_t, and convert it to ++ mpfr_exp_t. */ ++ uexp = (mpfr_uexp_t) zn * GMP_NUMB_BITS + (mpfr_uexp_t) e - k; ++ ++ /* Convert to signed in a portable way (see doc/README.dev). ++ On most platforms, this can be optimized to identity (no-op). */ ++ exp = uexp > MPFR_EXP_MAX ? -1 - (mpfr_exp_t) ~uexp : (mpfr_exp_t) uexp; ++ + /* The exponent will be exp or exp + 1 (due to rounding) */ ++ + if (MPFR_UNLIKELY (exp > __gmpfr_emax)) + return mpfr_overflow (f, rnd_mode, sign_z); + if (MPFR_UNLIKELY (exp + 1 < __gmpfr_emin)) +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:43:51.801257430 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:46:49.115316335 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p2"; ++ return "4.1.0-p3"; + } +diff -Naurd mpfr-4.1.0-a/tests/tset_z_exp.c mpfr-4.1.0-b/tests/tset_z_exp.c +--- mpfr-4.1.0-a/tests/tset_z_exp.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tset_z_exp.c 2021-02-11 12:46:49.103316466 +0000 +@@ -97,49 +97,149 @@ + mpfr_get_si is a rather indirect test of a low level routine. */ + + static void +-check (long i, mpfr_rnd_t rnd) ++check (long i, mpfr_rnd_t rnd, int reduced) + { +- mpfr_t f; ++ mpfr_t f1, f2, f3; + mpz_t z; +- mpfr_exp_t e; ++ mpfr_exp_t e, old_emin, old_emax; + int inex; ++ mpfr_flags_t flags; ++ ++ old_emin = mpfr_get_emin (); ++ old_emax = mpfr_get_emax (); + + /* using CHAR_BIT * sizeof(long) bits of precision ensures that + mpfr_set_z_2exp is exact below */ +- mpfr_init2 (f, CHAR_BIT * sizeof(long)); ++ mpfr_inits2 (CHAR_BIT * sizeof(long), f1, f2, f3, (mpfr_ptr) 0); + mpz_init (z); + mpz_set_ui (z, i); + /* the following loop ensures that no overflow occurs */ + do + e = randexp (); + while (e > mpfr_get_emax () - CHAR_BIT * sizeof(long)); +- inex = mpfr_set_z_2exp (f, z, e, rnd); +- if (inex != 0) ++ ++ mpfr_clear_flags (); ++ inex = mpfr_set_z_2exp (f1, z, e, rnd); ++ flags = __gmpfr_flags; ++ ++ if (inex != 0 || flags != 0 || ++ (mpfr_div_2si (f2, f1, e, rnd), mpfr_get_si (f2, MPFR_RNDZ) != i)) + { +- printf ("Error in mpfr_set_z_2exp for i=%ld, e=%ld," +- " wrong ternary value\n", i, (long) e); +- printf ("expected 0, got %d\n", inex); ++ printf ("Error in mpfr_set_z_2exp for i=%ld e=%" MPFR_EXP_FSPEC ++ "d rnd_mode=%d\n", i, (mpfr_eexp_t) e, rnd); ++ mpfr_set_si_2exp (f2, i, e, MPFR_RNDN); ++ printf ("expected "); mpfr_dump (f2); ++ printf ("with inex = %d and flags =", 0); ++ flags_out (0); ++ printf ("got "); mpfr_dump (f1); ++ printf ("with inex = %d and flags =", inex); ++ flags_out (flags); + exit (1); + } +- mpfr_div_2si (f, f, e, rnd); +- if (mpfr_get_si (f, MPFR_RNDZ) != i) ++ ++ if (reduced) + { +- printf ("Error in mpfr_set_z_2exp for i=%ld e=", i); +- if (e < LONG_MIN) +- printf ("( LONG_MAX) +- printf ("(>LONG_MAX)"); +- else +- printf ("%ld", (long) e); +- printf (" rnd_mode=%d\n", rnd); +- printf ("expected %ld\n", i); +- printf ("got "); mpfr_dump (f); +- exit (1); ++ mpfr_exp_t ef, emin, emax; ++ int inex2, inex3; ++ mpfr_flags_t flags2, flags3; ++ ++ ef = i == 0 ? 0 : mpfr_get_exp (f1); ++ for (emin = ef - 2; emin <= ef + 2; emin++) ++ for (emax = emin; emax <= ef + 2; emax++) ++ { ++ inex3 = mpfr_set (f3, f1, rnd); ++ MPFR_ASSERTN (inex3 == 0); ++ mpfr_set_emin (emin); ++ mpfr_set_emax (emax); ++ mpfr_clear_flags (); ++ inex2 = mpfr_set_z_2exp (f2, z, e, rnd); ++ flags2 = __gmpfr_flags; ++ mpfr_clear_flags (); ++ inex3 = mpfr_check_range (f3, 0, rnd); ++ flags3 = __gmpfr_flags; ++ if (!(mpfr_equal_p (f2, f3) && ++ SAME_SIGN (inex2, inex3) && ++ flags2 == flags3)) ++ { ++ printf ("Error in mpfr_set_z_2exp for i=%ld e=%" ++ MPFR_EXP_FSPEC "d rnd_mode=%d\nand emin=%" ++ MPFR_EXP_FSPEC "d emax=%" MPFR_EXP_FSPEC ++ "d\n", i, (mpfr_eexp_t) e, rnd, ++ (mpfr_eexp_t) emin, (mpfr_eexp_t) emax); ++ printf ("expected "); mpfr_dump (f3); ++ printf ("with inex = %d and flags =", inex3); ++ flags_out (flags3); ++ printf ("got "); mpfr_dump (f2); ++ printf ("with inex = %d and flags =", inex2); ++ flags_out (flags2); ++ exit (1); ++ } ++ } ++ mpfr_set_emin (old_emin); ++ mpfr_set_emax (old_emax); + } +- mpfr_clear (f); ++ ++ mpfr_clears (f1, f2, f3, (mpfr_ptr) 0); + mpz_clear (z); + } + ++static void ++check_huge (void) ++{ ++ if (getenv ("MPFR_CHECK_LARGEMEM") != NULL) ++ { ++ mpfr_t x; ++ mpz_t z; ++ long e; ++ ++ /* Increase tests_memory_limit to the maximum in order to avoid ++ an obvious failure due to insufficient memory. */ ++ tests_memory_limit = (size_t) -1; /* no memory limit */ ++ ++ mpfr_init2 (x, 32); ++ ++ /* In r14140, with a 32-bit ABI (GCC's -m32): ++ - With UBsan (-fsanitize=undefined -fno-sanitize-recover), ++ this fails with: ++ set_z_2exp.c:71:26: runtime error: signed integer overflow: ++ 67108864 * 32 cannot be represented in type 'long int' ++ - With -D_MPFR_EXP_FORMAT=4, this fails with: ++ Expected 0.10001000000000000000000000000000E5 ++ Got 0 ++ */ ++ mpz_init_set_ui (z, 17); ++ e = 0x7ffffff0; ++ mpz_mul_2exp (z, z, e); ++ mpz_add_ui (z, z, 1); ++ mpfr_set_z_2exp (x, z, -e, MPFR_RNDN); ++ if (mpfr_cmp_ui0 (x, 17) != 0) ++ { ++ printf ("Error 1 in check_huge\n"); ++ printf ("Expected 0.10001000000000000000000000000000E5\n"); ++ printf ("Got "); ++ mpfr_dump (x); ++ exit (1); ++ } ++ mpz_clear (z); ++ ++ mpz_init_set_ui (z, 17); ++ mpz_mul_2exp (z, z, 0xffffffb0); ++ mpz_add_ui (z, z, 1); ++ mpfr_set_z_2exp (x, z, -1, MPFR_RNDN); ++ if (! MPFR_IS_INF (x) || MPFR_IS_NEG (x)) ++ { ++ printf ("Error 2 in check_huge\n"); ++ printf ("Expected @Inf@\n"); ++ printf ("Got "); ++ mpfr_dump (x); ++ exit (1); ++ } ++ mpz_clear (z); ++ ++ mpfr_clear (x); ++ } ++} ++ + int + main (int argc, char *argv[]) + { +@@ -147,11 +247,13 @@ + + tests_start_mpfr (); + +- check (0, MPFR_RNDN); ++ check (0, MPFR_RNDN, 0); + for (j = 0; j < 200000; j++) +- check (randlimb () & LONG_MAX, RND_RAND ()); ++ check (randlimb () & LONG_MAX, RND_RAND (), j < 200); + check0 (); + ++ check_huge (); ++ + tests_end_mpfr (); + + return 0; +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:48:27.322243271 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:48:27.370242746 +0000 +@@ -0,0 +1 @@ ++prototypes +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:46:49.115316335 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:48:27.370242746 +0000 +@@ -1 +1 @@ +-4.1.0-p3 ++4.1.0-p4 +diff -Naurd mpfr-4.1.0-a/src/atan.c mpfr-4.1.0-b/src/atan.c +--- mpfr-4.1.0-a/src/atan.c 2020-04-22 15:27:07.000000000 +0000 ++++ mpfr-4.1.0-b/src/atan.c 2021-02-11 12:48:27.354242922 +0000 +@@ -56,7 +56,7 @@ + }; + + static void +-set_table (mpfr_t y, const mp_limb_t x[3]) ++set_table (mpfr_ptr y, const mp_limb_t x[3]) + { + mpfr_prec_t p = MPFR_PREC(y); + mp_size_t n = MPFR_PREC2LIMBS(p); +diff -Naurd mpfr-4.1.0-a/src/const_euler.c mpfr-4.1.0-b/src/const_euler.c +--- mpfr-4.1.0-a/src/const_euler.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/const_euler.c 2021-02-11 12:48:27.354242922 +0000 +@@ -181,7 +181,7 @@ + } + + int +-mpfr_const_euler_internal (mpfr_t x, mpfr_rnd_t rnd) ++mpfr_const_euler_internal (mpfr_ptr x, mpfr_rnd_t rnd) + { + mpfr_const_euler_bs_t sum; + mpz_t t, u, v; +diff -Naurd mpfr-4.1.0-a/src/eint.c mpfr-4.1.0-b/src/eint.c +--- mpfr-4.1.0-a/src/eint.c 2020-03-09 15:31:45.000000000 +0000 ++++ mpfr-4.1.0-b/src/eint.c 2021-02-11 12:48:27.354242922 +0000 +@@ -36,7 +36,7 @@ + Return PREC(y) when the truncated series does not converge. + */ + static mpfr_exp_t +-mpfr_eint_aux (mpfr_t y, mpfr_srcptr x) ++mpfr_eint_aux (mpfr_ptr y, mpfr_srcptr x) + { + mpfr_t eps; /* dynamic (absolute) error bound on t */ + mpfr_t erru, errs; +diff -Naurd mpfr-4.1.0-a/src/erandom.c mpfr-4.1.0-b/src/erandom.c +--- mpfr-4.1.0-a/src/erandom.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/erandom.c 2021-02-11 12:48:27.354242922 +0000 +@@ -80,7 +80,7 @@ + + /* return an exponential random deviate with mean 1 as a MPFR */ + int +-mpfr_erandom (mpfr_t z, gmp_randstate_t r, mpfr_rnd_t rnd) ++mpfr_erandom (mpfr_ptr z, gmp_randstate_t r, mpfr_rnd_t rnd) + { + mpfr_random_deviate_t x, p, q; + int inex; +diff -Naurd mpfr-4.1.0-a/src/fpif.c mpfr-4.1.0-b/src/fpif.c +--- mpfr-4.1.0-a/src/fpif.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/fpif.c 2021-02-11 12:48:27.354242922 +0000 +@@ -291,7 +291,8 @@ + * until one has integer types larger than 128 bits). + */ + static unsigned char* +-mpfr_fpif_store_exponent (unsigned char *buffer, size_t *buffer_size, mpfr_t x) ++mpfr_fpif_store_exponent (unsigned char *buffer, size_t *buffer_size, ++ mpfr_ptr x) + { + unsigned char *result; + mpfr_uexp_t uexp; +@@ -372,7 +373,7 @@ + * than 128 bits). + */ + static int +-mpfr_fpif_read_exponent_from_file (mpfr_t x, FILE * fh) ++mpfr_fpif_read_exponent_from_file (mpfr_ptr x, FILE * fh) + { + mpfr_exp_t exponent; + mpfr_uexp_t uexp; +@@ -456,7 +457,7 @@ + * format + */ + static unsigned char* +-mpfr_fpif_store_limbs (unsigned char *buffer, size_t *buffer_size, mpfr_t x) ++mpfr_fpif_store_limbs (unsigned char *buffer, size_t *buffer_size, mpfr_ptr x) + { + unsigned char *result; + mpfr_prec_t precision; +@@ -492,7 +493,7 @@ + * Assume buffer is not NULL. + */ + static void +-mpfr_fpif_read_limbs (mpfr_t x, unsigned char *buffer, size_t nb_byte) ++mpfr_fpif_read_limbs (mpfr_ptr x, unsigned char *buffer, size_t nb_byte) + { + size_t mp_bytes_per_limb; + size_t nb_partial_byte; +@@ -522,7 +523,7 @@ + * return 0 if successful + */ + int +-mpfr_fpif_export (FILE *fh, mpfr_t x) ++mpfr_fpif_export (FILE *fh, mpfr_ptr x) + { + int status; + unsigned char *buf; +@@ -582,7 +583,7 @@ + * Return 0 if the import was successful. + */ + int +-mpfr_fpif_import (mpfr_t x, FILE *fh) ++mpfr_fpif_import (mpfr_ptr x, FILE *fh) + { + int status; + mpfr_prec_t precision; +diff -Naurd mpfr-4.1.0-a/src/li2.c mpfr-4.1.0-b/src/li2.c +--- mpfr-4.1.0-a/src/li2.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/li2.c 2021-02-11 12:48:27.354242922 +0000 +@@ -31,7 +31,7 @@ + for determinating the relative error. + */ + static int +-li2_series (mpfr_t sum, mpfr_srcptr z, mpfr_rnd_t rnd_mode) ++li2_series (mpfr_ptr sum, mpfr_srcptr z, mpfr_rnd_t rnd_mode) + { + int i; + mpfr_t s, u, v, w; +diff -Naurd mpfr-4.1.0-a/src/lngamma.c mpfr-4.1.0-b/src/lngamma.c +--- mpfr-4.1.0-a/src/lngamma.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/lngamma.c 2021-02-11 12:48:27.354242922 +0000 +@@ -31,7 +31,7 @@ + precision should be >= 4. + */ + static void +-mpfr_gamma_alpha (mpfr_t s, mpfr_prec_t p) ++mpfr_gamma_alpha (mpfr_ptr s, mpfr_prec_t p) + { + MPFR_LOG_FUNC + (("p=%Pu", p), +diff -Naurd mpfr-4.1.0-a/src/mpfr-impl.h mpfr-4.1.0-b/src/mpfr-impl.h +--- mpfr-4.1.0-a/src/mpfr-impl.h 2020-06-10 21:50:12.000000000 +0000 ++++ mpfr-4.1.0-b/src/mpfr-impl.h 2021-02-11 12:48:27.354242922 +0000 +@@ -2474,7 +2474,8 @@ + __MPFR_DECLSPEC mpz_srcptr mpfr_bernoulli_cache (unsigned long); + __MPFR_DECLSPEC void mpfr_bernoulli_freecache (void); + +-__MPFR_DECLSPEC int mpfr_sincos_fast (mpfr_t, mpfr_t, mpfr_srcptr, mpfr_rnd_t); ++__MPFR_DECLSPEC int mpfr_sincos_fast (mpfr_ptr, mpfr_ptr, mpfr_srcptr, ++ mpfr_rnd_t); + + __MPFR_DECLSPEC double mpfr_scale2 (double, int); + +@@ -2485,7 +2486,7 @@ + mpfr_prec_t); + + __MPFR_DECLSPEC void mpfr_mpz_init (mpz_ptr); +-__MPFR_DECLSPEC void mpfr_mpz_init2 (mpz_t, mp_bitcnt_t); ++__MPFR_DECLSPEC void mpfr_mpz_init2 (mpz_ptr, mp_bitcnt_t); + __MPFR_DECLSPEC void mpfr_mpz_clear (mpz_ptr); + + __MPFR_DECLSPEC int mpfr_odd_p (mpfr_srcptr); +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:46:49.115316335 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:48:27.366242791 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p3" ++#define MPFR_VERSION_STRING "4.1.0-p4" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +@@ -781,8 +781,8 @@ + __MPFR_DECLSPEC int mpfr_strtofr (mpfr_ptr, const char *, char **, int, + mpfr_rnd_t); + +-__MPFR_DECLSPEC void mpfr_round_nearest_away_begin (mpfr_t); +-__MPFR_DECLSPEC int mpfr_round_nearest_away_end (mpfr_t, int); ++__MPFR_DECLSPEC void mpfr_round_nearest_away_begin (mpfr_ptr); ++__MPFR_DECLSPEC int mpfr_round_nearest_away_end (mpfr_ptr, int); + + __MPFR_DECLSPEC size_t mpfr_custom_get_size (mpfr_prec_t); + __MPFR_DECLSPEC void mpfr_custom_init (void *, mpfr_prec_t); +@@ -1080,10 +1080,12 @@ + #define mpfr_set_uj_2exp __gmpfr_set_uj_2exp + #define mpfr_get_sj __gmpfr_mpfr_get_sj + #define mpfr_get_uj __gmpfr_mpfr_get_uj +-__MPFR_DECLSPEC int mpfr_set_sj (mpfr_t, intmax_t, mpfr_rnd_t); +-__MPFR_DECLSPEC int mpfr_set_sj_2exp (mpfr_t, intmax_t, intmax_t, mpfr_rnd_t); +-__MPFR_DECLSPEC int mpfr_set_uj (mpfr_t, uintmax_t, mpfr_rnd_t); +-__MPFR_DECLSPEC int mpfr_set_uj_2exp (mpfr_t, uintmax_t, intmax_t, mpfr_rnd_t); ++__MPFR_DECLSPEC int mpfr_set_sj (mpfr_ptr, intmax_t, mpfr_rnd_t); ++__MPFR_DECLSPEC int mpfr_set_sj_2exp (mpfr_ptr, intmax_t, intmax_t, ++ mpfr_rnd_t); ++__MPFR_DECLSPEC int mpfr_set_uj (mpfr_ptr, uintmax_t, mpfr_rnd_t); ++__MPFR_DECLSPEC int mpfr_set_uj_2exp (mpfr_ptr, uintmax_t, intmax_t, ++ mpfr_rnd_t); + __MPFR_DECLSPEC intmax_t mpfr_get_sj (mpfr_srcptr, mpfr_rnd_t); + __MPFR_DECLSPEC uintmax_t mpfr_get_uj (mpfr_srcptr, mpfr_rnd_t); + +diff -Naurd mpfr-4.1.0-a/src/nrandom.c mpfr-4.1.0-b/src/nrandom.c +--- mpfr-4.1.0-a/src/nrandom.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/nrandom.c 2021-02-11 12:48:27.354242922 +0000 +@@ -155,7 +155,7 @@ + + /* return a normal random deviate with mean 0 and variance 1 as a MPFR */ + int +-mpfr_nrandom (mpfr_t z, gmp_randstate_t r, mpfr_rnd_t rnd) ++mpfr_nrandom (mpfr_ptr z, gmp_randstate_t r, mpfr_rnd_t rnd) + { + mpfr_random_deviate_t x, p, q; + int inex; +diff -Naurd mpfr-4.1.0-a/src/pool.c mpfr-4.1.0-b/src/pool.c +--- mpfr-4.1.0-a/src/pool.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/pool.c 2021-02-11 12:48:27.354242922 +0000 +@@ -35,7 +35,7 @@ + static MPFR_THREAD_ATTR __mpz_struct mpz_tab[MPFR_POOL_NENTRIES]; + + MPFR_HOT_FUNCTION_ATTR void +-mpfr_mpz_init (mpz_t z) ++mpfr_mpz_init (mpz_ptr z) + { + if (MPFR_LIKELY (n_alloc > 0)) + { +@@ -54,7 +54,7 @@ + } + + MPFR_HOT_FUNCTION_ATTR void +-mpfr_mpz_init2 (mpz_t z, mp_bitcnt_t n) ++mpfr_mpz_init2 (mpz_ptr z, mp_bitcnt_t n) + { + /* The condition on n is used below as the argument n will be ignored if + the mpz_t is obtained from the MPFR stack of previously used mpz_t. +@@ -82,7 +82,7 @@ + + + MPFR_HOT_FUNCTION_ATTR void +-mpfr_mpz_clear (mpz_t z) ++mpfr_mpz_clear (mpz_ptr z) + { + /* We only put objects with at most MPFR_POOL_MAX_SIZE in the mpz_t pool, + to avoid it takes too much memory (and anyway the speedup is mainly +diff -Naurd mpfr-4.1.0-a/src/random_deviate.c mpfr-4.1.0-b/src/random_deviate.c +--- mpfr-4.1.0-a/src/random_deviate.c 2021-02-11 12:43:51.789257562 +0000 ++++ mpfr-4.1.0-b/src/random_deviate.c 2021-02-11 12:48:27.354242922 +0000 +@@ -64,7 +64,7 @@ + + /* allocate and set to (0,1) */ + void +-mpfr_random_deviate_init (mpfr_random_deviate_t x) ++mpfr_random_deviate_init (mpfr_random_deviate_ptr x) + { + mpz_init (x->f); + x->e = 0; +@@ -72,21 +72,22 @@ + + /* reset to (0,1) */ + void +-mpfr_random_deviate_reset (mpfr_random_deviate_t x) ++mpfr_random_deviate_reset (mpfr_random_deviate_ptr x) + { + x->e = 0; + } + + /* deallocate */ + void +-mpfr_random_deviate_clear (mpfr_random_deviate_t x) ++mpfr_random_deviate_clear (mpfr_random_deviate_ptr x) + { + mpz_clear (x->f); + } + + /* swap two random deviates */ + void +-mpfr_random_deviate_swap (mpfr_random_deviate_t x, mpfr_random_deviate_t y) ++mpfr_random_deviate_swap (mpfr_random_deviate_ptr x, ++ mpfr_random_deviate_ptr y) + { + mpfr_random_size_t s; + unsigned long t; +@@ -107,7 +108,7 @@ + + /* ensure x has at least k bits */ + static void +-random_deviate_generate (mpfr_random_deviate_t x, mpfr_random_size_t k, ++random_deviate_generate (mpfr_random_deviate_ptr x, mpfr_random_size_t k, + gmp_randstate_t r, mpz_t t) + { + /* Various compile time checks on mpfr_random_deviate_t */ +@@ -223,7 +224,7 @@ + + /* return position of leading bit, counting from 1 */ + static mpfr_random_size_t +-random_deviate_leading_bit (mpfr_random_deviate_t x, gmp_randstate_t r) ++random_deviate_leading_bit (mpfr_random_deviate_ptr x, gmp_randstate_t r) + { + mpfr_random_size_t l; + random_deviate_generate (x, W, r, 0); +@@ -243,7 +244,7 @@ + + /* return kth bit of fraction, representing 2^-k */ + int +-mpfr_random_deviate_tstbit (mpfr_random_deviate_t x, mpfr_random_size_t k, ++mpfr_random_deviate_tstbit (mpfr_random_deviate_ptr x, mpfr_random_size_t k, + gmp_randstate_t r) + { + if (k == 0) +@@ -256,7 +257,8 @@ + + /* compare two random deviates, x < y */ + int +-mpfr_random_deviate_less (mpfr_random_deviate_t x, mpfr_random_deviate_t y, ++mpfr_random_deviate_less (mpfr_random_deviate_ptr x, ++ mpfr_random_deviate_ptr y, + gmp_randstate_t r) + { + mpfr_random_size_t k = 1; +@@ -280,7 +282,7 @@ + /* set mpfr_t z = (neg ? -1 : 1) * (n + x) */ + int + mpfr_random_deviate_value (int neg, unsigned long n, +- mpfr_random_deviate_t x, mpfr_t z, ++ mpfr_random_deviate_ptr x, mpfr_ptr z, + gmp_randstate_t r, mpfr_rnd_t rnd) + { + /* r is used to add as many bits as necessary to match the precision of z */ +diff -Naurd mpfr-4.1.0-a/src/random_deviate.h mpfr-4.1.0-b/src/random_deviate.h +--- mpfr-4.1.0-a/src/random_deviate.h 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/random_deviate.h 2021-02-11 12:48:27.354242922 +0000 +@@ -76,7 +76,7 @@ + /* set mpfr_t z = (neg ? -1 : 1) * (n + x) */ + __MPFR_DECLSPEC int + mpfr_random_deviate_value (int, unsigned long, +- mpfr_random_deviate_ptr, mpfr_t, ++ mpfr_random_deviate_ptr, mpfr_ptr, + gmp_randstate_t, mpfr_rnd_t); + + #if defined(__cplusplus) +diff -Naurd mpfr-4.1.0-a/src/rndna.c mpfr-4.1.0-b/src/rndna.c +--- mpfr-4.1.0-a/src/rndna.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/rndna.c 2021-02-11 12:48:27.354242922 +0000 +@@ -61,7 +61,7 @@ + and prepares rop to give it one more bit of precision + and to save its old value within it. */ + void +-mpfr_round_nearest_away_begin (mpfr_t rop) ++mpfr_round_nearest_away_begin (mpfr_ptr rop) + { + mpfr_t tmp; + mp_size_t xsize; +@@ -129,7 +129,7 @@ + copying it back the result of the applied function + and performing additional roundings. */ + int +-mpfr_round_nearest_away_end (mpfr_t rop, int inex) ++mpfr_round_nearest_away_end (mpfr_ptr rop, int inex) + { + mpfr_t tmp; + mp_size_t xsize; +diff -Naurd mpfr-4.1.0-a/src/set_sj.c mpfr-4.1.0-b/src/set_sj.c +--- mpfr-4.1.0-a/src/set_sj.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/src/set_sj.c 2021-02-11 12:48:27.354242922 +0000 +@@ -26,13 +26,13 @@ + #ifdef _MPFR_H_HAVE_INTMAX_T + + int +-mpfr_set_sj (mpfr_t x, intmax_t j, mpfr_rnd_t rnd) ++mpfr_set_sj (mpfr_ptr x, intmax_t j, mpfr_rnd_t rnd) + { + return mpfr_set_sj_2exp (x, j, 0, rnd); + } + + int +-mpfr_set_sj_2exp (mpfr_t x, intmax_t j, intmax_t e, mpfr_rnd_t rnd) ++mpfr_set_sj_2exp (mpfr_ptr x, intmax_t j, intmax_t e, mpfr_rnd_t rnd) + { + if (j >= 0) + return mpfr_set_uj_2exp (x, j, e, rnd); +diff -Naurd mpfr-4.1.0-a/src/set_str.c mpfr-4.1.0-b/src/set_str.c +--- mpfr-4.1.0-a/src/set_str.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/set_str.c 2021-02-11 12:48:27.354242922 +0000 +@@ -23,7 +23,7 @@ + #include "mpfr-impl.h" + + int +-mpfr_set_str (mpfr_t x, const char *str, int base, mpfr_rnd_t rnd) ++mpfr_set_str (mpfr_ptr x, const char *str, int base, mpfr_rnd_t rnd) + { + char *p; + +diff -Naurd mpfr-4.1.0-a/src/set_uj.c mpfr-4.1.0-b/src/set_uj.c +--- mpfr-4.1.0-a/src/set_uj.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/src/set_uj.c 2021-02-11 12:48:27.354242922 +0000 +@@ -29,13 +29,13 @@ + #define uintmaxpml (sizeof(uintmax_t) / sizeof(mp_limb_t)) + + int +-mpfr_set_uj (mpfr_t x, uintmax_t j, mpfr_rnd_t rnd) ++mpfr_set_uj (mpfr_ptr x, uintmax_t j, mpfr_rnd_t rnd) + { + return mpfr_set_uj_2exp (x, j, 0, rnd); + } + + int +-mpfr_set_uj_2exp (mpfr_t x, uintmax_t j, intmax_t e, mpfr_rnd_t rnd) ++mpfr_set_uj_2exp (mpfr_ptr x, uintmax_t j, intmax_t e, mpfr_rnd_t rnd) + { + int cnt, inex; + mp_size_t i, k; +diff -Naurd mpfr-4.1.0-a/src/sin_cos.c mpfr-4.1.0-b/src/sin_cos.c +--- mpfr-4.1.0-a/src/sin_cos.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/sin_cos.c 2021-02-11 12:48:27.354242922 +0000 +@@ -463,7 +463,7 @@ + Return err such that the relative error is bounded by 2^err ulps. + */ + static int +-sincos_aux (mpfr_t s, mpfr_t c, mpfr_srcptr x, mpfr_rnd_t rnd_mode) ++sincos_aux (mpfr_ptr s, mpfr_ptr c, mpfr_srcptr x, mpfr_rnd_t rnd_mode) + { + mpfr_prec_t prec_s, sh; + mpz_t Q, S, C, Q2, S2, C2, y; +@@ -577,7 +577,7 @@ + Assumes s differs from c. + */ + int +-mpfr_sincos_fast (mpfr_t s, mpfr_t c, mpfr_srcptr x, mpfr_rnd_t rnd) ++mpfr_sincos_fast (mpfr_ptr s, mpfr_ptr c, mpfr_srcptr x, mpfr_rnd_t rnd) + { + int inexs, inexc; + mpfr_t x_red, ts, tc; +diff -Naurd mpfr-4.1.0-a/src/strtofr.c mpfr-4.1.0-b/src/strtofr.c +--- mpfr-4.1.0-a/src/strtofr.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/strtofr.c 2021-02-11 12:48:27.354242922 +0000 +@@ -226,7 +226,7 @@ + BUT if it returns 0 (NAN or INF), the ternary value is also '0' + (ie NAN and INF are exact) */ + static int +-parse_string (mpfr_t x, struct parsed_string *pstr, ++parse_string (mpfr_ptr x, struct parsed_string *pstr, + const char **string, int base) + { + const char *str = *string; +@@ -451,7 +451,7 @@ + and the precision of x. + Returns the ternary value. */ + static int +-parsed_string_to_mpfr (mpfr_t x, struct parsed_string *pstr, mpfr_rnd_t rnd) ++parsed_string_to_mpfr (mpfr_ptr x, struct parsed_string *pstr, mpfr_rnd_t rnd) + { + mpfr_prec_t precx, prec, ysize_bits, pstr_size; + mpfr_exp_t exp; +@@ -934,7 +934,7 @@ + } + + int +-mpfr_strtofr (mpfr_t x, const char *string, char **end, int base, ++mpfr_strtofr (mpfr_ptr x, const char *string, char **end, int base, + mpfr_rnd_t rnd) + { + int res; +diff -Naurd mpfr-4.1.0-a/src/vasprintf.c mpfr-4.1.0-b/src/vasprintf.c +--- mpfr-4.1.0-a/src/vasprintf.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/src/vasprintf.c 2021-02-11 12:48:27.354242922 +0000 +@@ -963,7 +963,7 @@ + #define NDIGITS 8 + + MPFR_RETURNS_NONNULL static char * +-mpfr_get_str_wrapper (mpfr_exp_t *exp, int base, size_t n, const mpfr_t op, ++mpfr_get_str_wrapper (mpfr_exp_t *exp, int base, size_t n, mpfr_srcptr op, + const struct printf_spec spec) + { + size_t ndigits; +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:46:49.115316335 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:48:27.370242746 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p3"; ++ return "4.1.0-p4"; + } +diff -Naurd mpfr-4.1.0-a/src/zeta.c mpfr-4.1.0-b/src/zeta.c +--- mpfr-4.1.0-a/src/zeta.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/src/zeta.c 2021-02-11 12:48:27.354242922 +0000 +@@ -35,7 +35,7 @@ + sum(tc[i]*product((s+2j)*(s+2j-1)/n^2,j=1..i-1), i=1..p)*s*n^(-s-1) + */ + static void +-mpfr_zeta_part_b (mpfr_t b, mpfr_srcptr s, int n, int p, mpfr_t *tc) ++mpfr_zeta_part_b (mpfr_ptr b, mpfr_srcptr s, int n, int p, mpfr_t *tc) + { + mpfr_t s1, d, u; + unsigned long n2; +@@ -130,7 +130,7 @@ + n - an integer + Output: sum - a floating-point number approximating sum(1/i^s, i=1..n-1) */ + static void +-mpfr_zeta_part_a (mpfr_t sum, mpfr_srcptr s, int n) ++mpfr_zeta_part_a (mpfr_ptr sum, mpfr_srcptr s, int n) + { + mpfr_t u, s1; + int i; +@@ -158,7 +158,7 @@ + Output: z - Zeta(s) rounded to the precision of z with direction rnd_mode + */ + static int +-mpfr_zeta_pos (mpfr_t z, mpfr_srcptr s, mpfr_rnd_t rnd_mode) ++mpfr_zeta_pos (mpfr_ptr z, mpfr_srcptr s, mpfr_rnd_t rnd_mode) + { + mpfr_t b, c, z_pre, f, s1; + double beta, sd, dnep; +@@ -356,8 +356,8 @@ + At input, p is Pi rounded down. + The comments in the code are for rnd = RNDD. */ + static void +-mpfr_reflection_overflow (mpfr_t z, mpfr_t s1, const mpfr_t s, mpfr_t y, +- mpfr_t p, mpfr_rnd_t rnd) ++mpfr_reflection_overflow (mpfr_ptr z, mpfr_ptr s1, mpfr_srcptr s, mpfr_ptr y, ++ mpfr_ptr p, mpfr_rnd_t rnd) + { + mpz_t sint; + +@@ -432,7 +432,7 @@ + } + + int +-mpfr_zeta (mpfr_t z, mpfr_srcptr s, mpfr_rnd_t rnd_mode) ++mpfr_zeta (mpfr_ptr z, mpfr_srcptr s, mpfr_rnd_t rnd_mode) + { + mpfr_t z_pre, s1, y, p; + long add; +diff -Naurd mpfr-4.1.0-a/tests/tcmp2.c mpfr-4.1.0-b/tests/tcmp2.c +--- mpfr-4.1.0-a/tests/tcmp2.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tcmp2.c 2021-02-11 12:48:27.350242965 +0000 +@@ -24,7 +24,7 @@ + + /* set bit n of x to b, where bit 0 is the most significant one */ + static void +-set_bit (mpfr_t x, unsigned int n, int b) ++set_bit (mpfr_ptr x, unsigned int n, int b) + { + unsigned l; + mp_size_t xn; +diff -Naurd mpfr-4.1.0-a/tests/tdiv.c mpfr-4.1.0-b/tests/tdiv.c +--- mpfr-4.1.0-a/tests/tdiv.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tdiv.c 2021-02-11 12:48:27.350242965 +0000 +@@ -369,7 +369,7 @@ + /* given y = o(x/u), x, u, find the inexact flag by + multiplying y by u */ + static int +-get_inexact (mpfr_t y, mpfr_t x, mpfr_t u) ++get_inexact (mpfr_ptr y, mpfr_ptr x, mpfr_ptr u) + { + mpfr_t xx; + int inex; +diff -Naurd mpfr-4.1.0-a/tests/teq.c mpfr-4.1.0-b/tests/teq.c +--- mpfr-4.1.0-a/tests/teq.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/teq.c 2021-02-11 12:48:27.350242965 +0000 +@@ -23,7 +23,7 @@ + #include "mpfr-test.h" + + static void +-teq (mpfr_t x) ++teq (mpfr_ptr x) + { + mpfr_t y; + unsigned long k, px, mx; +diff -Naurd mpfr-4.1.0-a/tests/terandom_chisq.c mpfr-4.1.0-b/tests/terandom_chisq.c +--- mpfr-4.1.0-a/tests/terandom_chisq.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/terandom_chisq.c 2021-02-11 12:48:27.350242965 +0000 +@@ -26,7 +26,7 @@ + * exponential distribution. We only take differences of this function so the + * offset doesn't matter; here Phi(0) = 0. */ + static void +-exponential_cumulative (mpfr_t z, mpfr_t x, mpfr_rnd_t rnd) ++exponential_cumulative (mpfr_ptr z, mpfr_ptr x, mpfr_rnd_t rnd) + { + mpfr_neg (z, x, rnd); + mpfr_expm1 (z, z, rnd); +@@ -43,7 +43,7 @@ + * TAOCP, Vol 2, 3.3.1, Table 1. It more accurate than the similar formula, + * DLMF 8.11.10. */ + static void +-chisq_prob (mpfr_t q, long nu, mpfr_t chisqp) ++chisq_prob (mpfr_ptr q, long nu, mpfr_ptr chisqp) + { + mpfr_t t; + mpfr_rnd_t rnd; +@@ -170,7 +170,7 @@ + * this function. low precision means prec = 2, 3, or 4. High values of + * precision will result in integer overflow. */ + static long +-sequential (mpfr_t x) ++sequential (mpfr_ptr x) + { + long expt, prec; + +diff -Naurd mpfr-4.1.0-a/tests/tfmma.c mpfr-4.1.0-b/tests/tfmma.c +--- mpfr-4.1.0-a/tests/tfmma.c 2020-03-24 13:47:38.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tfmma.c 2021-02-11 12:48:27.350242965 +0000 +@@ -24,7 +24,7 @@ + + /* check both mpfr_fmma and mpfr_fmms */ + static void +-random_test (mpfr_t a, mpfr_t b, mpfr_t c, mpfr_t d, mpfr_rnd_t rnd) ++random_test (mpfr_ptr a, mpfr_ptr b, mpfr_ptr c, mpfr_ptr d, mpfr_rnd_t rnd) + { + mpfr_t ref, res, ab, cd; + int inex_ref, inex_res; +diff -Naurd mpfr-4.1.0-a/tests/tfmod.c mpfr-4.1.0-b/tests/tfmod.c +--- mpfr-4.1.0-a/tests/tfmod.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tfmod.c 2021-02-11 12:48:27.350242965 +0000 +@@ -62,8 +62,8 @@ + } + + static void +-test_failed (mpfr_t erem, mpfr_t grem, int eret, int gret, mpfr_t x, mpfr_t y, +- mpfr_rnd_t rnd) ++test_failed (mpfr_ptr erem, mpfr_ptr grem, int eret, int gret, ++ mpfr_ptr x, mpfr_ptr y, mpfr_rnd_t rnd) + { + printf ("error: mpfr_fmod (r, x, y, rnd)\n x = "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDD); +@@ -83,7 +83,7 @@ + } + + static void +-check (mpfr_t r0, mpfr_t x, mpfr_t y, mpfr_rnd_t rnd) ++check (mpfr_ptr r0, mpfr_ptr x, mpfr_ptr y, mpfr_rnd_t rnd) + { + int inex0, inex1; + mpfr_t r1; +diff -Naurd mpfr-4.1.0-a/tests/tfprintf.c mpfr-4.1.0-b/tests/tfprintf.c +--- mpfr-4.1.0-a/tests/tfprintf.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tfprintf.c 2021-02-11 12:48:27.350242965 +0000 +@@ -65,7 +65,7 @@ + const int prec_max_printf = 5000; + + static void +-check (FILE *fout, const char *fmt, mpfr_t x) ++check (FILE *fout, const char *fmt, mpfr_ptr x) + { + if (mpfr_fprintf (fout, fmt, x) == -1) + { +diff -Naurd mpfr-4.1.0-a/tests/tgamma.c mpfr-4.1.0-b/tests/tgamma.c +--- mpfr-4.1.0-a/tests/tgamma.c 2020-06-01 00:15:37.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tgamma.c 2021-02-11 12:48:27.350242965 +0000 +@@ -890,7 +890,7 @@ + computing with a working precision p2. Assume that x is not an + integer <= 2. */ + static void +-exp_lgamma (mpfr_t x, mpfr_prec_t p1, mpfr_prec_t p2) ++exp_lgamma (mpfr_ptr x, mpfr_prec_t p1, mpfr_prec_t p2) + { + mpfr_t yd, yu, zd, zu; + int inexd, inexu, sign; +diff -Naurd mpfr-4.1.0-a/tests/tnrandom_chisq.c mpfr-4.1.0-b/tests/tnrandom_chisq.c +--- mpfr-4.1.0-a/tests/tnrandom_chisq.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tnrandom_chisq.c 2021-02-11 12:48:27.350242965 +0000 +@@ -26,7 +26,7 @@ + * for the normal distribution. We only take differences of this function so + * the offset doesn't matter; here Phi(0) = 0. */ + static void +-normal_cumulative (mpfr_t z, mpfr_t x, mpfr_rnd_t rnd) ++normal_cumulative (mpfr_ptr z, mpfr_ptr x, mpfr_rnd_t rnd) + { + mpfr_sqrt_ui (z, 2, rnd); + mpfr_div (z, x, z, rnd); +@@ -44,7 +44,7 @@ + * TAOCP, Vol 2, 3.3.1, Table 1. It more accurate than the similar formula, + * DLMF 8.11.10. */ + static void +-chisq_prob (mpfr_t q, long nu, mpfr_t chisqp) ++chisq_prob (mpfr_ptr q, long nu, mpfr_ptr chisqp) + { + mpfr_t t; + mpfr_rnd_t rnd; +@@ -166,7 +166,7 @@ + * this function. low precision means prec = 2, 3, or 4. High values of + * precision will result in integer overflow. */ + static long +-sequential (mpfr_t x) ++sequential (mpfr_ptr x) + { + long expt, prec; + +diff -Naurd mpfr-4.1.0-a/tests/tprintf.c mpfr-4.1.0-b/tests/tprintf.c +--- mpfr-4.1.0-a/tests/tprintf.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tprintf.c 2021-02-11 12:48:27.350242965 +0000 +@@ -74,7 +74,7 @@ + int stdout_redirect; + + static void +-check (const char *fmt, mpfr_t x) ++check (const char *fmt, mpfr_ptr x) + { + if (mpfr_printf (fmt, x) == -1) + { +diff -Naurd mpfr-4.1.0-a/tests/trint.c mpfr-4.1.0-b/tests/trint.c +--- mpfr-4.1.0-a/tests/trint.c 2020-02-12 13:04:50.000000000 +0000 ++++ mpfr-4.1.0-b/tests/trint.c 2021-02-11 12:48:27.350242965 +0000 +@@ -367,7 +367,7 @@ + #endif + + static void +-err (const char *str, mp_size_t s, mpfr_t x, mpfr_t y, mpfr_prec_t p, ++err (const char *str, mp_size_t s, mpfr_ptr x, mpfr_ptr y, mpfr_prec_t p, + mpfr_rnd_t r, int trint, int inexact) + { + printf ("Error: %s\ns = %u, p = %u, r = %s, trint = %d, inexact = %d\nx = ", +diff -Naurd mpfr-4.1.0-a/tests/tsinh_cosh.c mpfr-4.1.0-b/tests/tsinh_cosh.c +--- mpfr-4.1.0-a/tests/tsinh_cosh.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tsinh_cosh.c 2021-02-11 12:48:27.350242965 +0000 +@@ -23,7 +23,7 @@ + #include "mpfr-test.h" + + static void +-failed (mpfr_t x, mpfr_t esh, mpfr_t gsh, mpfr_t ech, mpfr_t gch) ++failed (mpfr_ptr x, mpfr_ptr esh, mpfr_ptr gsh, mpfr_ptr ech, mpfr_ptr gch) + { + printf ("error : mpfr_sinh_cosh (x) x = "); + mpfr_out_str (stdout, 10, 0, x, MPFR_RNDD); +@@ -43,7 +43,7 @@ + + /* check against sinh, cosh */ + static void +-check (mpfr_t x, mpfr_rnd_t rnd) ++check (mpfr_ptr x, mpfr_rnd_t rnd) + { + mpfr_t s, c, sx, cx; + int isc, is, ic; +diff -Naurd mpfr-4.1.0-a/tests/tsqr.c mpfr-4.1.0-b/tests/tsqr.c +--- mpfr-4.1.0-a/tests/tsqr.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tsqr.c 2021-02-11 12:48:27.350242965 +0000 +@@ -33,7 +33,7 @@ + + static void + error1 (mpfr_rnd_t rnd, mpfr_prec_t prec, +- mpfr_t in, mpfr_t outmul, mpfr_t outsqr) ++ mpfr_t in, mpfr_ptr outmul, mpfr_ptr outsqr) + { + printf("ERROR: for %s and prec=%lu\nINPUT=", mpfr_print_rnd_mode(rnd), + (unsigned long) prec); +@@ -44,7 +44,7 @@ + } + + static void +-error2 (mpfr_rnd_t rnd, mpfr_prec_t prec, mpfr_t in, mpfr_t out, ++error2 (mpfr_rnd_t rnd, mpfr_prec_t prec, mpfr_ptr in, mpfr_ptr out, + int inexactmul, int inexactsqr) + { + printf("ERROR: for %s and prec=%lu\nINPUT=", mpfr_print_rnd_mode(rnd), +diff -Naurd mpfr-4.1.0-a/tests/tsum.c mpfr-4.1.0-b/tests/tsum.c +--- mpfr-4.1.0-a/tests/tsum.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tsum.c 2021-02-11 12:48:27.350242965 +0000 +@@ -59,7 +59,7 @@ + } + + static void +-get_exact_sum (mpfr_t sum, mpfr_t *tab, int n) ++get_exact_sum (mpfr_ptr sum, mpfr_t *tab, int n) + { + int i; + +@@ -1198,7 +1198,7 @@ + } + + static int +-mpfr_sum_naive (mpfr_t s, mpfr_t *x, int n, mpfr_rnd_t rnd) ++mpfr_sum_naive (mpfr_ptr s, mpfr_t *x, int n, mpfr_rnd_t rnd) + { + int ret, i; + switch (n) +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:50:22.384987438 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:50:22.424987002 +0000 +@@ -0,0 +1 @@ ++digamma-hugemem +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:48:27.370242746 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:50:22.424987002 +0000 +@@ -1 +1 @@ +-4.1.0-p4 ++4.1.0-p5 +diff -Naurd mpfr-4.1.0-a/src/digamma.c mpfr-4.1.0-b/src/digamma.c +--- mpfr-4.1.0-a/src/digamma.c 2020-06-18 17:17:18.000000000 +0000 ++++ mpfr-4.1.0-b/src/digamma.c 2021-02-11 12:50:22.412987133 +0000 +@@ -214,19 +214,27 @@ + (("x[%Pu]=%.*Rg rnd=%d", mpfr_get_prec(x), mpfr_log_prec, x, rnd_mode), + ("y[%Pu]=%.*Rg inexact=%d", mpfr_get_prec(y), mpfr_log_prec, y, inex)); + +- /* compute a precision q such that x+1 is exact */ +- if (MPFR_PREC(x) < MPFR_GET_EXP(x)) +- q = MPFR_EXP(x); +- else +- q = MPFR_PREC(x) + 1; +- +- /* for very large x, use |digamma(x) - log(x)| < 1/x < 2^(1-EXP(x)) */ +- if (MPFR_PREC(y) + 10 < MPFR_EXP(x)) ++ /* For very large x, use |digamma(x) - log(x)| < 1/x < 2^(1-EXP(x)). ++ However, for a fixed value of GUARD, MPFR_CAN_ROUND() might fail ++ with probability 1/2^GUARD, in which case the default code will ++ fail since it requires x+1 to be exact, thus a huge precision if ++ x is huge. There are two workarounds: ++ * either perform a Ziv's loop, by increasing GUARD at each step. ++ However, this might fail if x is moderately large, in which case ++ more terms of the asymptotic expansion would be needed. ++ * implement a full asymptotic expansion (with Ziv's loop). */ ++#define GUARD 30 ++ if (MPFR_PREC(y) + GUARD < MPFR_EXP(x)) + { + /* this ensures EXP(x) >= 3, thus x >= 4, thus log(x) > 1 */ +- mpfr_init2 (t, MPFR_PREC(y) + 10); +- mpfr_log (t, x, MPFR_RNDZ); +- if (MPFR_CAN_ROUND (t, MPFR_PREC(y) + 10, MPFR_PREC(y), rnd_mode)) ++ mpfr_init2 (t, MPFR_PREC(y) + GUARD); ++ mpfr_log (t, x, MPFR_RNDN); ++ /* |t - digamma(x)| <= 1/2*ulp(t) + |digamma(x) - log(x)| ++ <= 1/2*ulp(t) + 2^(1-EXP(x)) ++ <= 1/2*ulp(t) + 2^(-PREC(y)-GUARD) ++ <= ulp(t) ++ since |t| >= 1 thus ulp(t) >= 2^(1-PREC(y)-GUARD) */ ++ if (MPFR_CAN_ROUND (t, MPFR_PREC(y) + GUARD, MPFR_PREC(y), rnd_mode)) + { + inex = mpfr_set (y, t, rnd_mode); + mpfr_clear (t); +@@ -235,6 +243,21 @@ + mpfr_clear (t); + } + ++ /* compute a precision q such that x+1 is exact */ ++ if (MPFR_PREC(x) < MPFR_GET_EXP(x)) ++ { ++ /* The goal of the first assertion is to let the compiler ignore ++ the second one when MPFR_EMAX_MAX <= MPFR_PREC_MAX. */ ++ MPFR_ASSERTD (MPFR_EXP(x) <= MPFR_EMAX_MAX); ++ MPFR_ASSERTN (MPFR_EXP(x) <= MPFR_PREC_MAX); ++ q = MPFR_EXP(x); ++ } ++ else ++ q = MPFR_PREC(x) + 1; ++ ++ /* FIXME: q can be much too large, e.g. equal to the maximum exponent! */ ++ MPFR_LOG_MSG (("q=%Pu\n", q)); ++ + mpfr_init2 (x_plus_j, q); + + mpfr_init2 (t, p); +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:48:27.366242791 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:50:22.424987002 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p4" ++#define MPFR_VERSION_STRING "4.1.0-p5" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:48:27.370242746 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:50:22.424987002 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p4"; ++ return "4.1.0-p5"; + } +diff -Naurd mpfr-4.1.0-a/tests/tdigamma.c mpfr-4.1.0-b/tests/tdigamma.c +--- mpfr-4.1.0-a/tests/tdigamma.c 2020-06-18 17:17:18.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tdigamma.c 2021-02-11 12:50:22.412987133 +0000 +@@ -49,12 +49,54 @@ + mpfr_clear (y); + } + ++/* With some GMP_CHECK_RANDOMIZE values, test_generic triggers an error ++ tests_addsize(): too much memory (576460752303432776 bytes) ++ Each time on prec = 200, n = 3, xprec = 140. ++ The following test is a more general testcase. ++*/ ++static void ++bug20210206 (void) ++{ ++#define NPREC 4 ++ mpfr_t x, y[NPREC], z; ++ mpfr_exp_t emin, emax; ++ int i, precx, precy[NPREC] = { 200, 400, 520, 1416 }; ++ ++ emin = mpfr_get_emin (); ++ emax = mpfr_get_emax (); ++ set_emin (MPFR_EMIN_MIN); ++ set_emax (MPFR_EMAX_MAX); ++ ++ for (i = 0; i < NPREC; i++) ++ mpfr_init2 (y[i], precy[i]); ++ mpfr_init2 (z, precy[0]); ++ ++ for (precx = MPFR_PREC_MIN; precx < 150; precx++) ++ { ++ mpfr_init2 (x, precx); ++ mpfr_setmax (x, __gmpfr_emax); ++ for (i = 0; i < NPREC; i++) ++ mpfr_digamma (y[i], x, MPFR_RNDA); ++ mpfr_set (z, y[1], MPFR_RNDA); ++ MPFR_ASSERTN (mpfr_equal_p (y[0], z)); ++ mpfr_clear (x); ++ } ++ ++ for (i = 0; i < NPREC; i++) ++ mpfr_clear (y[i]); ++ mpfr_clear (z); ++ ++ set_emin (emin); ++ set_emax (emax); ++} ++ + int + main (int argc, char *argv[]) + { + tests_start_mpfr (); + + special (); ++ bug20210206 (); + + test_generic (MPFR_PREC_MIN, 200, 20); + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:52:52.519350662 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:52:52.563350183 +0000 +@@ -0,0 +1 @@ ++digamma-interm-zero +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:50:22.424987002 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:52:52.563350183 +0000 +@@ -1 +1 @@ +-4.1.0-p5 ++4.1.0-p6 +diff -Naurd mpfr-4.1.0-a/src/digamma.c mpfr-4.1.0-b/src/digamma.c +--- mpfr-4.1.0-a/src/digamma.c 2021-02-11 12:50:22.412987133 +0000 ++++ mpfr-4.1.0-b/src/digamma.c 2021-02-11 12:52:52.547350357 +0000 +@@ -296,21 +296,26 @@ + errt = mpfr_digamma_approx (t, x_plus_j); + expt = MPFR_GET_EXP (t); + mpfr_sub (t, t, u, MPFR_RNDN); +- if (MPFR_GET_EXP (t) < expt) +- errt += expt - MPFR_EXP(t); +- /* Warning: if u is zero (which happens when x_plus_j >= min at the +- beginning of the while loop above), EXP(u) is not defined. +- In this case we have no error from u. */ +- if (MPFR_NOTZERO(u) && MPFR_GET_EXP (t) < MPFR_GET_EXP (u)) +- erru += MPFR_EXP(u) - MPFR_EXP(t); +- if (errt > erru) +- errt = errt + 1; +- else if (errt == erru) +- errt = errt + 2; +- else +- errt = erru + 1; +- if (MPFR_CAN_ROUND (t, p - errt, MPFR_PREC(y), rnd_mode)) +- break; ++ /* Warning! t may be zero (more likely in small precision). Note ++ that in this case, this is an exact zero, not an underflow. */ ++ if (MPFR_NOTZERO(t)) ++ { ++ if (MPFR_GET_EXP (t) < expt) ++ errt += expt - MPFR_EXP(t); ++ /* Warning: if u is zero (which happens when x_plus_j >= min at the ++ beginning of the while loop above), EXP(u) is not defined. ++ In this case we have no error from u. */ ++ if (MPFR_NOTZERO(u) && MPFR_GET_EXP (t) < MPFR_GET_EXP (u)) ++ erru += MPFR_EXP(u) - MPFR_EXP(t); ++ if (errt > erru) ++ errt = errt + 1; ++ else if (errt == erru) ++ errt = errt + 2; ++ else ++ errt = erru + 1; ++ if (MPFR_CAN_ROUND (t, p - errt, MPFR_PREC(y), rnd_mode)) ++ break; ++ } + MPFR_ZIV_NEXT (loop, p); + mpfr_set_prec (t, p); + mpfr_set_prec (u, p); +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:50:22.424987002 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:52:52.559350226 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p5" ++#define MPFR_VERSION_STRING "4.1.0-p6" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:50:22.424987002 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:52:52.559350226 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p5"; ++ return "4.1.0-p6"; + } +diff -Naurd mpfr-4.1.0-a/tests/tdigamma.c mpfr-4.1.0-b/tests/tdigamma.c +--- mpfr-4.1.0-a/tests/tdigamma.c 2021-02-11 12:50:22.412987133 +0000 ++++ mpfr-4.1.0-b/tests/tdigamma.c 2021-02-11 12:52:52.547350357 +0000 +@@ -90,6 +90,26 @@ + set_emax (emax); + } + ++/* another test that fails with GMP_CHECK_RANDOMIZE=1612741376857003 ++ on revision 14398 */ ++static void ++bug20210208 (void) ++{ ++ mpfr_t x, y; ++ int inex; ++ ++ mpfr_init2 (x, 73); ++ mpfr_init2 (y, 1); ++ mpfr_set_str (x, "1.4613470547060071827450", 10, MPFR_RNDN); ++ mpfr_clear_flags (); ++ inex = mpfr_digamma (y, x, MPFR_RNDU); ++ MPFR_ASSERTN (mpfr_cmp_si_2exp (y, -1, -12) == 0); ++ MPFR_ASSERTN (inex > 0); ++ MPFR_ASSERTN (__gmpfr_flags == MPFR_FLAGS_INEXACT); ++ mpfr_clear (x); ++ mpfr_clear (y); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -97,6 +117,7 @@ + + special (); + bug20210206 (); ++ bug20210208 (); + + test_generic (MPFR_PREC_MIN, 200, 20); + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-11 12:53:38.382850990 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-11 12:53:38.426850512 +0000 +@@ -0,0 +1 @@ ++jn-interm-zero +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:52:52.563350183 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-11 12:53:38.426850512 +0000 +@@ -1 +1 @@ +-4.1.0-p6 ++4.1.0-p7 +diff -Naurd mpfr-4.1.0-a/src/jyn_asympt.c mpfr-4.1.0-b/src/jyn_asympt.c +--- mpfr-4.1.0-a/src/jyn_asympt.c 2020-07-10 10:33:32.000000000 +0000 ++++ mpfr-4.1.0-b/src/jyn_asympt.c 2021-02-11 12:53:38.410850685 +0000 +@@ -69,6 +69,8 @@ + MPFR_ZIV_INIT (loop, w); + for (;;) + { ++ int ok = 1; ++ + mpfr_set_prec (c, w); + mpfr_init2 (s, w); + mpfr_init2 (P, w); +@@ -92,6 +94,13 @@ + /* now s approximates sin(z)+cos(z), and c approximates sin(z)-cos(z), + with total absolute error bounded by 2^(1-w). */ + ++ /* if s or c is zero, MPFR_GET_EXP will fail below */ ++ if (MPFR_IS_ZERO(s) || MPFR_IS_ZERO(c)) ++ { ++ ok = 0; ++ goto clear; ++ } ++ + /* precompute 1/(8|z|) */ + mpfr_si_div (iz, MPFR_IS_POS(z) ? 1 : -1, z, MPFR_RNDN); /* err <= 1 */ + mpfr_div_2ui (iz, iz, 3, MPFR_RNDN); +@@ -257,6 +266,9 @@ + err = (err >= err2) ? err + 1 : err2 + 1; + /* the absolute error on c is bounded by 2^(err - w) */ + ++ err -= MPFR_GET_EXP (c); ++ ++ clear: + mpfr_clear (s); + mpfr_clear (P); + mpfr_clear (Q); +@@ -266,8 +278,7 @@ + mpfr_clear (err_s); + mpfr_clear (err_u); + +- err -= MPFR_GET_EXP (c); +- if (MPFR_LIKELY (MPFR_CAN_ROUND (c, w - err, MPFR_PREC(res), r))) ++ if (ok && MPFR_LIKELY (MPFR_CAN_ROUND (c, w - err, MPFR_PREC(res), r))) + break; + if (diverge != 0) + { +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:52:52.559350226 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-11 12:53:38.422850555 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p6" ++#define MPFR_VERSION_STRING "4.1.0-p7" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:52:52.559350226 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-11 12:53:38.426850512 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p6"; ++ return "4.1.0-p7"; + } +diff -Naurd mpfr-4.1.0-a/tests/tj0.c mpfr-4.1.0-b/tests/tj0.c +--- mpfr-4.1.0-a/tests/tj0.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tj0.c 2021-02-11 12:53:38.410850685 +0000 +@@ -27,6 +27,25 @@ + #define REDUCE_EMAX 262143 /* otherwise arg. reduction is too expensive */ + #include "tgeneric.c" + ++/* bug found in revision 14399 with GMP_CHECK_RANDOMIZE=1612721106588971 */ ++static void ++bug20210208 (void) ++{ ++ mpfr_t x, y; ++ int inex; ++ ++ mpfr_init2 (x, 79); ++ mpfr_init2 (y, 1); ++ mpfr_set_str (x, "2.552495117262005805960565e+02", 10, MPFR_RNDN); ++ mpfr_clear_flags (); ++ inex = mpfr_j0 (y, x, MPFR_RNDZ); ++ MPFR_ASSERTN (mpfr_cmp_si_2exp (y, -1, -5) == 0); ++ MPFR_ASSERTN (inex > 0); ++ MPFR_ASSERTN (__gmpfr_flags == MPFR_FLAGS_INEXACT); ++ mpfr_clear (x); ++ mpfr_clear (y); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -35,6 +54,8 @@ + + tests_start_mpfr (); + ++ bug20210208 (); ++ + mpfr_init (x); + mpfr_init (y); + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-17 17:22:34.594973310 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-17 17:22:34.702972090 +0000 +@@ -0,0 +1 @@ ++digamma-interm-zero2 +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-11 12:53:38.426850512 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-17 17:22:34.702972090 +0000 +@@ -1 +1 @@ +-4.1.0-p7 ++4.1.0-p8 +diff -Naurd mpfr-4.1.0-a/src/digamma.c mpfr-4.1.0-b/src/digamma.c +--- mpfr-4.1.0-a/src/digamma.c 2021-02-11 12:52:52.547350357 +0000 ++++ mpfr-4.1.0-b/src/digamma.c 2021-02-17 17:22:34.690972226 +0000 +@@ -173,16 +173,19 @@ + mpfr_digamma (v, u, MPFR_RNDN); /* error <= 1/2 ulp */ + expv = MPFR_GET_EXP (v); + mpfr_sub (v, v, t, MPFR_RNDN); +- if (MPFR_GET_EXP (v) < MPFR_GET_EXP (t)) +- e1 += MPFR_EXP(t) - MPFR_EXP(v); /* scale error for t wrt new v */ +- /* now take into account the 1/2 ulp error for v */ +- if (expv - MPFR_EXP(v) - 1 > e1) +- e1 = expv - MPFR_EXP(v) - 1; +- else +- e1 ++; +- e1 ++; /* rounding error for mpfr_sub */ +- if (MPFR_CAN_ROUND (v, p - e1, MPFR_PREC(y), rnd_mode)) +- break; ++ if (MPFR_NOTZERO(v)) ++ { ++ if (MPFR_GET_EXP (v) < MPFR_GET_EXP (t)) ++ e1 += MPFR_EXP(t) - MPFR_EXP(v); /* scale error for t wrt new v */ ++ /* now take into account the 1/2 ulp error for v */ ++ if (expv - MPFR_EXP(v) - 1 > e1) ++ e1 = expv - MPFR_EXP(v) - 1; ++ else ++ e1 ++; ++ e1 ++; /* rounding error for mpfr_sub */ ++ if (MPFR_CAN_ROUND (v, p - e1, MPFR_PREC(y), rnd_mode)) ++ break; ++ } + MPFR_ZIV_NEXT (loop, p); + mpfr_set_prec (t, p); + mpfr_set_prec (v, p); +@@ -416,10 +419,8 @@ + } + } + +- if (MPFR_IS_NEG(x)) +- inex = mpfr_digamma_reflection (y, x, rnd_mode); + /* if x < 1/2 we use the reflection formula */ +- else if (MPFR_EXP(x) < 0) ++ if (MPFR_IS_NEG(x) || MPFR_EXP(x) < 0) + inex = mpfr_digamma_reflection (y, x, rnd_mode); + else + inex = mpfr_digamma_positive (y, x, rnd_mode); +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-11 12:53:38.422850555 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-17 17:22:34.702972090 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p7" ++#define MPFR_VERSION_STRING "4.1.0-p8" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-11 12:53:38.426850512 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-17 17:22:34.702972090 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p7"; ++ return "4.1.0-p8"; + } +diff -Naurd mpfr-4.1.0-a/tests/tdigamma.c mpfr-4.1.0-b/tests/tdigamma.c +--- mpfr-4.1.0-a/tests/tdigamma.c 2021-02-11 12:52:52.547350357 +0000 ++++ mpfr-4.1.0-b/tests/tdigamma.c 2021-02-17 17:22:34.690972226 +0000 +@@ -110,6 +110,26 @@ + mpfr_clear (y); + } + ++/* another test that fails with GMP_CHECK_RANDOMIZE=1613197421465830 ++ on revision 14429 */ ++static void ++bug20210215 (void) ++{ ++ mpfr_t x, y; ++ int inex; ++ ++ mpfr_init2 (x, 510); ++ mpfr_init2 (y, 4); ++ mpfr_set_str (x, "-8.2923051438433494998166335341807999322052669984208422481227138906096000469898717007386115912802685588348601663465077353194268894939972221117314512518182580e+35", 10, MPFR_RNDN); ++ mpfr_clear_flags (); ++ inex = mpfr_digamma (y, x, MPFR_RNDU); ++ MPFR_ASSERTN (mpfr_cmp_ui0 (y, 88) == 0); ++ MPFR_ASSERTN (inex > 0); ++ MPFR_ASSERTN (__gmpfr_flags == MPFR_FLAGS_INEXACT); ++ mpfr_clear (x); ++ mpfr_clear (y); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -118,6 +138,7 @@ + special (); + bug20210206 (); + bug20210208 (); ++ bug20210215 (); + + test_generic (MPFR_PREC_MIN, 200, 20); + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-02-17 17:25:46.396981483 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-02-17 17:25:46.440981068 +0000 +@@ -0,0 +1 @@ ++jyn_asympt-interm-zero +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-17 17:22:34.702972090 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-02-17 17:25:46.440981068 +0000 +@@ -1 +1 @@ +-4.1.0-p8 ++4.1.0-p9 +diff -Naurd mpfr-4.1.0-a/src/jyn_asympt.c mpfr-4.1.0-b/src/jyn_asympt.c +--- mpfr-4.1.0-a/src/jyn_asympt.c 2021-02-11 12:53:38.410850685 +0000 ++++ mpfr-4.1.0-b/src/jyn_asympt.c 2021-02-17 17:25:46.424981219 +0000 +@@ -69,7 +69,7 @@ + MPFR_ZIV_INIT (loop, w); + for (;;) + { +- int ok = 1; ++ int ok = 0; + + mpfr_set_prec (c, w); + mpfr_init2 (s, w); +@@ -96,10 +96,7 @@ + + /* if s or c is zero, MPFR_GET_EXP will fail below */ + if (MPFR_IS_ZERO(s) || MPFR_IS_ZERO(c)) +- { +- ok = 0; +- goto clear; +- } ++ goto clear; /* with ok=0 */ + + /* precompute 1/(8|z|) */ + mpfr_si_div (iz, MPFR_IS_POS(z) ? 1 : -1, z, MPFR_RNDN); /* err <= 1 */ +@@ -227,6 +224,9 @@ + mpfr_sub (s, c, s, MPFR_RNDN); + #endif + } ++ if (MPFR_IS_ZERO(s)) ++ goto clear; /* with ok=0 */ ++ ok = 1; + if ((n & 2) != 0) + mpfr_neg (s, s, MPFR_RNDN); + if (MPFR_GET_EXP (s) > err) +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-17 17:22:34.702972090 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-02-17 17:25:46.436981105 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p8" ++#define MPFR_VERSION_STRING "4.1.0-p9" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-17 17:22:34.702972090 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-02-17 17:25:46.440981068 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p8"; ++ return "4.1.0-p9"; + } +diff -Naurd mpfr-4.1.0-a/tests/mpfr-test.h mpfr-4.1.0-b/tests/mpfr-test.h +--- mpfr-4.1.0-a/tests/mpfr-test.h 2020-06-29 13:57:32.000000000 +0000 ++++ mpfr-4.1.0-b/tests/mpfr-test.h 2021-02-17 17:25:46.424981219 +0000 +@@ -191,6 +191,8 @@ + + #define mpfr_cmp0(x,y) (MPFR_ASSERTN (!MPFR_IS_NAN (x) && !MPFR_IS_NAN (y)), mpfr_cmp (x,y)) + #define mpfr_cmp_ui0(x,i) (MPFR_ASSERTN (!MPFR_IS_NAN (x)), mpfr_cmp_ui (x,i)) ++#define mpfr_cmp_si_2exp0(x,i,e) (MPFR_ASSERTN (!MPFR_IS_NAN (x)), \ ++ mpfr_cmp_si_2exp (x,i,e)) + + /* define CHECK_EXTERNAL if you want to check mpfr against another library + with correct rounding. You'll probably have to modify mpfr_print_raw() +diff -Naurd mpfr-4.1.0-a/tests/tj1.c mpfr-4.1.0-b/tests/tj1.c +--- mpfr-4.1.0-a/tests/tj1.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tj1.c 2021-02-17 17:25:46.424981219 +0000 +@@ -55,14 +55,14 @@ + /* since |x| is just above 2^e, |j1(x)| is just above 2^(e-1), + thus y should be 2^(e-1) and the inexact flag should be + of opposite sign of x */ +- MPFR_ASSERTN(mpfr_cmp_si_2exp (y, sign, e - 1) == 0); ++ MPFR_ASSERTN(mpfr_cmp_si_2exp0 (y, sign, e - 1) == 0); + MPFR_ASSERTN(VSIGN (inex) * sign < 0); + } + else + { + /* here |y| should be 0.5*2^emin and the inexact flag should + have the sign of x */ +- MPFR_ASSERTN(mpfr_cmp_si_2exp (y, sign, e) == 0); ++ MPFR_ASSERTN(mpfr_cmp_si_2exp0 (y, sign, e) == 0); + MPFR_ASSERTN(VSIGN (inex) * sign > 0); + } + } +@@ -72,6 +72,26 @@ + mpfr_clear (y); + } + ++/* a test that fails with GMP_CHECK_RANDOMIZE=1613146232984428 ++ on revision 14429 */ ++static void ++bug20210215 (void) ++{ ++ mpfr_t x, y; ++ int inex; ++ ++ mpfr_init2 (x, 221); ++ mpfr_init2 (y, 1); ++ mpfr_set_str (x, "1.6484611511696130037307738844228498447763863563070374544054791168614e+01", 10, MPFR_RNDN); ++ mpfr_clear_flags (); ++ inex = mpfr_j1 (y, x, MPFR_RNDZ); ++ MPFR_ASSERTN (mpfr_cmp_si_2exp0 (y, -1, -9) == 0); ++ MPFR_ASSERTN (inex > 0); ++ MPFR_ASSERTN (__gmpfr_flags == MPFR_FLAGS_INEXACT); ++ mpfr_clear (x); ++ mpfr_clear (y); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -79,6 +99,8 @@ + + tests_start_mpfr (); + ++ bug20210215 (); ++ + test_small (); + + mpfr_init (x); +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-03-09 13:55:43.183158946 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-03-09 13:55:43.223158508 +0000 +@@ -0,0 +1 @@ ++macros +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-02-17 17:25:46.440981068 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-03-09 13:55:43.223158508 +0000 +@@ -1 +1 @@ +-4.1.0-p9 ++4.1.0-p10 +diff -Naurd mpfr-4.1.0-a/doc/mpfr.info mpfr-4.1.0-b/doc/mpfr.info +--- mpfr-4.1.0-a/doc/mpfr.info 2020-07-10 11:59:13.000000000 +0000 ++++ mpfr-4.1.0-b/doc/mpfr.info 2021-03-09 13:55:51.167071327 +0000 +@@ -3217,7 +3217,11 @@ + + Each function in this interface is also implemented as a macro for + efficiency reasons: for example ‘mpfr_custom_init (s, p)’ uses the +-macro, while ‘(mpfr_custom_init) (s, p)’ uses the function. ++macro, while ‘(mpfr_custom_init) (s, p)’ uses the function. Note that ++the macro may evaluate arguments multiple times (or none). Moreover, ++macros implementing functions with the ‘void’ return type may not be ++used in contexts where an expression is expected, e.g., inside ++‘for(...)’ or before a comma operator. + + Note 1: MPFR functions may still initialize temporary floating-point + numbers using ‘mpfr_init’ and similar functions. See Custom Allocation +@@ -4579,13 +4583,13 @@ + (line 115) + * mpfr_csch: Transcendental Functions. + (line 180) +-* mpfr_custom_get_exp: Custom Interface. (line 76) +-* mpfr_custom_get_kind: Custom Interface. (line 66) +-* mpfr_custom_get_significand: Custom Interface. (line 71) +-* mpfr_custom_get_size: Custom Interface. (line 37) +-* mpfr_custom_init: Custom Interface. (line 41) +-* mpfr_custom_init_set: Custom Interface. (line 48) +-* mpfr_custom_move: Custom Interface. (line 85) ++* mpfr_custom_get_exp: Custom Interface. (line 80) ++* mpfr_custom_get_kind: Custom Interface. (line 70) ++* mpfr_custom_get_significand: Custom Interface. (line 75) ++* mpfr_custom_get_size: Custom Interface. (line 41) ++* mpfr_custom_init: Custom Interface. (line 45) ++* mpfr_custom_init_set: Custom Interface. (line 52) ++* mpfr_custom_move: Custom Interface. (line 89) + * MPFR_DECL_INIT: Initialization Functions. + (line 77) + * mpfr_digamma: Transcendental Functions. +@@ -5165,19 +5169,19 @@ + Node: Memory Handling Functions155904 + Node: Compatibility with MPF157792 + Node: Custom Interface160961 +-Node: Internals165592 +-Node: API Compatibility167136 +-Node: Type and Macro Changes169084 +-Node: Added Functions172267 +-Node: Changed Functions177074 +-Node: Removed Functions184433 +-Node: Other Changes185163 +-Node: MPFR and the IEEE 754 Standard186864 +-Node: Contributors189481 +-Node: References192620 +-Node: GNU Free Documentation License194501 +-Node: Concept Index217095 +-Node: Function and Type Index223168 ++Node: Internals165852 ++Node: API Compatibility167396 ++Node: Type and Macro Changes169344 ++Node: Added Functions172527 ++Node: Changed Functions177334 ++Node: Removed Functions184693 ++Node: Other Changes185423 ++Node: MPFR and the IEEE 754 Standard187124 ++Node: Contributors189741 ++Node: References192880 ++Node: GNU Free Documentation License194761 ++Node: Concept Index217355 ++Node: Function and Type Index223428 +  + End Tag Table + +diff -Naurd mpfr-4.1.0-a/doc/mpfr.texi mpfr-4.1.0-b/doc/mpfr.texi +--- mpfr-4.1.0-a/doc/mpfr.texi 2020-07-10 11:52:33.000000000 +0000 ++++ mpfr-4.1.0-b/doc/mpfr.texi 2021-03-09 13:55:43.211158639 +0000 +@@ -3817,6 +3817,12 @@ + Each function in this interface is also implemented as a macro for + efficiency reasons: for example @code{mpfr_custom_init (s, p)} + uses the macro, while @code{(mpfr_custom_init) (s, p)} uses the function. ++Note that the macro may evaluate arguments multiple times (or none). ++Moreover, macros implementing functions with the @code{void} return type ++may not be used in contexts where an expression is expected, e.g., inside ++@code{for(...)} or before a comma operator. ++@c These limitations with macros cannot be avoided in a C90 compatible way. ++@c In the future, inline functions could be used. + + Note 1: MPFR functions may still initialize temporary floating-point numbers + using @code{mpfr_init} and similar functions. See Custom Allocation (GNU MP)@. +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-02-17 17:25:46.436981105 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-03-09 13:55:43.223158508 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p9" ++#define MPFR_VERSION_STRING "4.1.0-p10" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +@@ -833,23 +833,39 @@ + even if it produces faster and smaller code. */ + #ifndef MPFR_USE_NO_MACRO + +-/* Inlining these functions is both faster and smaller */ +-#define mpfr_nan_p(_x) ((_x)->_mpfr_exp == __MPFR_EXP_NAN) +-#define mpfr_inf_p(_x) ((_x)->_mpfr_exp == __MPFR_EXP_INF) +-#define mpfr_zero_p(_x) ((_x)->_mpfr_exp == __MPFR_EXP_ZERO) +-#define mpfr_regular_p(_x) ((_x)->_mpfr_exp > __MPFR_EXP_INF) ++/* In the implementation of these macros, we need to make sure that the ++ arguments are evaluated one time exactly and that type conversion is ++ done as it would be with a function. Tests should be added to ensure ++ that. ++ Note that the macros for the custom interface are not concerned; the ++ MPFR manual has been clarified. */ ++ ++/* Prevent x from being used as an lvalue. ++ Thanks to Wojtek Lerch and Tim Rentsch for the idea. */ ++#define MPFR_VALUE_OF(x) (0 ? (x) : (x)) ++ ++/* The following macro converts the argument to mpfr_srcptr, as in type ++ conversion for function parameters. But it will detect disallowed ++ implicit conversions, e.g. when the argument has an integer type. */ ++#define MPFR_SRCPTR(x) ((mpfr_srcptr) (0 ? (x) : (mpfr_srcptr) (x))) ++#define MPFR_GET_SIGN(_x) MPFR_VALUE_OF(MPFR_SIGN(MPFR_SRCPTR(_x))) ++ ++#define mpfr_nan_p(_x) (MPFR_SRCPTR(_x)->_mpfr_exp == __MPFR_EXP_NAN) ++#define mpfr_inf_p(_x) (MPFR_SRCPTR(_x)->_mpfr_exp == __MPFR_EXP_INF) ++#define mpfr_zero_p(_x) (MPFR_SRCPTR(_x)->_mpfr_exp == __MPFR_EXP_ZERO) ++#define mpfr_regular_p(_x) (MPFR_SRCPTR(_x)->_mpfr_exp > __MPFR_EXP_INF) ++ ++/* mpfr_sgn is documented as a macro, thus the following code is fine. ++ But it would be safer to regard it as a function in some future ++ MPFR version. */ + #define mpfr_sgn(_x) \ + ((_x)->_mpfr_exp < __MPFR_EXP_INF ? \ + (mpfr_nan_p (_x) ? mpfr_set_erangeflag () : (mpfr_void) 0), 0 : \ + MPFR_SIGN (_x)) + +-/* Prevent them from using as lvalues */ +-#define MPFR_VALUE_OF(x) (0 ? (x) : (x)) +-#define mpfr_get_prec(_x) MPFR_VALUE_OF((_x)->_mpfr_prec) +-#define mpfr_get_exp(_x) MPFR_VALUE_OF((_x)->_mpfr_exp) +-/* Note 1: If need be, the MPFR_VALUE_OF can be used for other expressions +- (of any type). Thanks to Wojtek Lerch and Tim Rentsch for the idea. +- Note 2: Defining mpfr_get_exp() as a macro has the effect to disable ++#define mpfr_get_prec(_x) MPFR_VALUE_OF(MPFR_SRCPTR(_x)->_mpfr_prec) ++#define mpfr_get_exp(_x) MPFR_VALUE_OF(MPFR_SRCPTR(_x)->_mpfr_exp) ++/* Note: Defining mpfr_get_exp() as a macro has the effect to disable + the check that the argument is a pure FP number (done in the function); + this increases the risk of undetected error and makes debugging more + complex. Is it really worth in practice? (Potential FIXME) */ +@@ -861,11 +877,17 @@ + + #define mpfr_cmp_ui(b,i) mpfr_cmp_ui_2exp((b),(i),0) + #define mpfr_cmp_si(b,i) mpfr_cmp_si_2exp((b),(i),0) +-#define mpfr_set(a,b,r) mpfr_set4(a,b,r,MPFR_SIGN(b)) ++#if __GNUC__ > 2 || __GNUC_MINOR__ >= 95 ++#define mpfr_set(a,b,r) \ ++ __extension__ ({ \ ++ mpfr_srcptr _p = (b); \ ++ mpfr_set4(a,_p,r,MPFR_SIGN(_p)); \ ++ }) ++#endif + #define mpfr_abs(a,b,r) mpfr_set4(a,b,r,1) +-#define mpfr_copysign(a,b,c,r) mpfr_set4(a,b,r,MPFR_SIGN(c)) ++#define mpfr_copysign(a,b,c,r) mpfr_set4(a,b,r,MPFR_GET_SIGN(c)) + #define mpfr_setsign(a,b,s,r) mpfr_set4(a,b,r,(s) ? -1 : 1) +-#define mpfr_signbit(x) (MPFR_SIGN(x) < 0) ++#define mpfr_signbit(x) (MPFR_GET_SIGN(x) < 0) + #define mpfr_cmp(b, c) mpfr_cmp3(b, c, 1) + #define mpfr_mul_2exp(y,x,n,r) mpfr_mul_2ui((y),(x),(n),(r)) + #define mpfr_div_2exp(y,x,n,r) mpfr_div_2ui((y),(x),(n),(r)) +diff -Naurd mpfr-4.1.0-a/src/ubf.c mpfr-4.1.0-b/src/ubf.c +--- mpfr-4.1.0-a/src/ubf.c 2020-02-12 01:38:57.000000000 +0000 ++++ mpfr-4.1.0-b/src/ubf.c 2021-03-09 13:55:43.211158639 +0000 +@@ -78,7 +78,7 @@ + mpfr_get_prec (b), mpfr_log_prec, b, + mpfr_get_prec (c), mpfr_log_prec, c), + ("a[%Pu]=%.*Rg", +- mpfr_get_prec (a), mpfr_log_prec, a)); ++ mpfr_get_prec ((mpfr_ptr) a), mpfr_log_prec, a)); + + MPFR_ASSERTD ((mpfr_ptr) a != b); + MPFR_ASSERTD ((mpfr_ptr) a != c); +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-02-17 17:25:46.440981068 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-03-09 13:55:43.223158508 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p9"; ++ return "4.1.0-p10"; + } +diff -Naurd mpfr-4.1.0-a/tests/mpfr-test.h mpfr-4.1.0-b/tests/mpfr-test.h +--- mpfr-4.1.0-a/tests/mpfr-test.h 2021-02-17 17:25:46.424981219 +0000 ++++ mpfr-4.1.0-b/tests/mpfr-test.h 2021-03-09 13:55:43.211158639 +0000 +@@ -92,6 +92,32 @@ + #define STRINGIZE(S) #S + #define MAKE_STR(S) STRINGIZE(S) + ++/* In C (but not C++), mpfr_ptr and mpfr_srcptr arguments can be provided ++ in a different pointer type, such as void *. For functions implemented ++ as macros, the type conversion for the function parameters will not be ++ done by the compiler, which means potential bugs in these implementations ++ if we forget to take these unusual cases into account. So we need to test ++ such arguments, in order to make sure that the arguments are converted to ++ the expected type when needed. ++ ++ However, at least when the function is not implemented as a macro (which ++ is the case when MPFR_USE_NO_MACRO is defined), such tests with void * ++ arguments are not valid in C++; therefore, we will not do the cast to ++ void * if the __cplusplus macro is defined. And with GCC compilers (and ++ compatible), we will ignore the -Wc++-compat option around these tests. ++ ++ Note: in the future, inline functions could be used instead of macros, ++ and such tests would become useless (except to detect compiler bugs). ++*/ ++#if defined (__cplusplus) ++#define VOIDP_CAST(X) (X) ++#else ++#define VOIDP_CAST(X) ((void *) (X)) ++#if defined (__GNUC__) ++#define IGNORE_CPP_COMPAT ++#endif ++#endif ++ + #if defined (__cplusplus) + extern "C" { + #endif +diff -Naurd mpfr-4.1.0-a/tests/tcopysign.c mpfr-4.1.0-b/tests/tcopysign.c +--- mpfr-4.1.0-a/tests/tcopysign.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tcopysign.c 2021-03-09 13:55:43.211158639 +0000 +@@ -26,26 +26,72 @@ + copysign_variant (mpfr_ptr z, mpfr_srcptr x, mpfr_srcptr y, + mpfr_rnd_t rnd_mode, int k) + { ++ mpfr_srcptr p; ++ int a = 0, b = 0, c = 0; ++ ++ /* invalid sign, to test that the sign is always correctly set */ ++ MPFR_SIGN (z) = 0; ++ ++ if (k >= 8) ++ { ++ MPFR_ASSERTN (MPFR_PREC (z) >= MPFR_PREC (x)); ++ mpfr_set (z, x, MPFR_RNDN); ++ p = z; ++ k -= 8; ++ } ++ else ++ p = x; ++ + mpfr_clear_flags (); + switch (k) + { + case 0: +- mpfr_copysign (z, x, y, MPFR_RNDN); ++ mpfr_copysign (z, p, y, rnd_mode); + return; + case 1: +- (mpfr_copysign) (z, x, y, MPFR_RNDN); ++ (mpfr_copysign) (z, p, y, rnd_mode); + return; + case 2: +- mpfr_setsign (z, x, mpfr_signbit (y), MPFR_RNDN); ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ mpfr_copysign ((a++, VOIDP_CAST(z)), ++ (b++, VOIDP_CAST(p)), ++ (c++, VOIDP_CAST(y)), rnd_mode); ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif ++ MPFR_ASSERTN (a == 1); ++ MPFR_ASSERTN (b == 1); ++ MPFR_ASSERTN (c == 1); + return; + case 3: +- mpfr_setsign (z, x, (mpfr_signbit) (y), MPFR_RNDN); ++ mpfr_setsign (z, p, mpfr_signbit (y), rnd_mode); + return; + case 4: +- (mpfr_setsign) (z, x, mpfr_signbit (y), MPFR_RNDN); ++ mpfr_setsign (z, p, (mpfr_signbit) (y), rnd_mode); + return; + case 5: +- (mpfr_setsign) (z, x, (mpfr_signbit) (y), MPFR_RNDN); ++ (mpfr_setsign) (z, p, mpfr_signbit (y), rnd_mode); ++ return; ++ case 6: ++ (mpfr_setsign) (z, p, (mpfr_signbit) (y), rnd_mode); ++ return; ++ case 7: ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ mpfr_setsign ((a++, VOIDP_CAST(z)), ++ (b++, VOIDP_CAST(p)), ++ mpfr_signbit ((c++, VOIDP_CAST(y))), rnd_mode); ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif ++ MPFR_ASSERTN (a == 1); ++ MPFR_ASSERTN (b == 1); ++ MPFR_ASSERTN (c == 1); + return; + } + } +@@ -64,7 +110,7 @@ + + for (i = 0; i <= 1; i++) + for (j = 0; j <= 1; j++) +- for (k = 0; k <= 5; k++) ++ for (k = 0; k < 16; k++) + { + mpfr_set_nan (x); + i ? MPFR_SET_NEG (x) : MPFR_SET_POS (x); +diff -Naurd mpfr-4.1.0-a/tests/texceptions.c mpfr-4.1.0-b/tests/texceptions.c +--- mpfr-4.1.0-a/tests/texceptions.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/texceptions.c 2021-03-09 13:55:43.211158639 +0000 +@@ -103,10 +103,26 @@ + check_get_prec (void) + { + mpfr_t x; ++ int i = 0; + + mpfr_init2 (x, 17); +- if (mpfr_get_prec (x) != 17 || (mpfr_get_prec)(x) != 17) ++ ++ if (mpfr_get_prec (x) != 17 || (mpfr_get_prec) (x) != 17) + PRINT_ERROR ("mpfr_get_prec"); ++ ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ ++ if (mpfr_get_prec ((i++, VOIDP_CAST(x))) != 17) ++ PRINT_ERROR ("mpfr_get_prec (2)"); ++ ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif ++ ++ MPFR_ASSERTN (i == 1); + mpfr_clear (x); + } + +diff -Naurd mpfr-4.1.0-a/tests/tisnan.c mpfr-4.1.0-b/tests/tisnan.c +--- mpfr-4.1.0-a/tests/tisnan.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tisnan.c 2021-03-09 13:55:43.211158639 +0000 +@@ -27,180 +27,235 @@ + main (void) + { + mpfr_t x; ++ int i = 0, j = 0; ++ ++ /* We need to check that when the function is implemented by a macro, ++ it behaves correctly. */ ++#define ARG (i++, VOIDP_CAST(x)) ++#define CHECK MPFR_ASSERTN (i == ++j) + + tests_start_mpfr (); + + mpfr_init (x); + ++#if 0 ++ /* The following should yield a compilation error when the functions ++ are implemented as macros. Change 0 to 1 above in order to test. */ ++ (void) (mpfr_nan_p (1L)); ++ (void) (mpfr_inf_p (1L)); ++ (void) (mpfr_number_p (1L)); ++ (void) (mpfr_zero_p (1L)); ++ (void) (mpfr_regular_p (1L)); ++#endif ++ ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ + /* check +infinity gives non-zero for mpfr_inf_p only */ + mpfr_set_ui (x, 1L, MPFR_RNDZ); + mpfr_div_ui (x, x, 0L, MPFR_RNDZ); +- if (mpfr_nan_p (x) || (mpfr_nan_p) (x) ) ++ if (mpfr_nan_p (x) || (mpfr_nan_p) (x) || mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(+Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) == 0) ++ CHECK; ++ if (!mpfr_inf_p (x) || !(mpfr_inf_p) (x) || !mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(+Inf) gives zero\n"); + exit (1); + } +- if (mpfr_number_p (x) || (mpfr_number_p) (x) ) ++ CHECK; ++ if (mpfr_number_p (x) || (mpfr_number_p) (x) || mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(+Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) || (mpfr_zero_p) (x) ) ++ CHECK; ++ if (mpfr_zero_p (x) || (mpfr_zero_p) (x) || mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_zero_p(+Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) || (mpfr_regular_p) (x) ) ++ CHECK; ++ if (mpfr_regular_p (x) || (mpfr_regular_p) (x) || mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(+Inf) gives non-zero\n"); + exit (1); + } ++ CHECK; + + /* same for -Inf */ + mpfr_neg (x, x, MPFR_RNDN); +- if (mpfr_nan_p (x) || (mpfr_nan_p(x))) ++ if (mpfr_nan_p (x) || (mpfr_nan_p) (x) || mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(-Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) == 0) ++ CHECK; ++ if (!mpfr_inf_p (x) || !(mpfr_inf_p) (x) || !mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(-Inf) gives zero\n"); + exit (1); + } +- if (mpfr_number_p (x) || (mpfr_number_p)(x) ) ++ CHECK; ++ if (mpfr_number_p (x) || (mpfr_number_p) (x) || mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(-Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) || (mpfr_zero_p)(x) ) ++ CHECK; ++ if (mpfr_zero_p (x) || (mpfr_zero_p) (x) || mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_zero_p(-Inf) gives non-zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) || (mpfr_regular_p) (x) ) ++ CHECK; ++ if (mpfr_regular_p (x) || (mpfr_regular_p) (x) || mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(-Inf) gives non-zero\n"); + exit (1); + } ++ CHECK; + + /* same for NaN */ + mpfr_sub (x, x, x, MPFR_RNDN); +- if (mpfr_nan_p (x) == 0) ++ if (!mpfr_nan_p (x) || !(mpfr_nan_p) (x) || !mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(NaN) gives zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) || (mpfr_inf_p)(x) ) ++ CHECK; ++ if (mpfr_inf_p (x) || (mpfr_inf_p) (x) || mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(NaN) gives non-zero\n"); + exit (1); + } +- if (mpfr_number_p (x) || (mpfr_number_p) (x) ) ++ CHECK; ++ if (mpfr_number_p (x) || (mpfr_number_p) (x) || mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(NaN) gives non-zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) || (mpfr_zero_p)(x) ) ++ CHECK; ++ if (mpfr_zero_p (x) || (mpfr_zero_p) (x) || mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_number_p(NaN) gives non-zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) || (mpfr_regular_p) (x) ) ++ CHECK; ++ if (mpfr_regular_p (x) || (mpfr_regular_p) (x) || mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(NaN) gives non-zero\n"); + exit (1); + } ++ CHECK; + + /* same for a regular number */ + mpfr_set_ui (x, 1, MPFR_RNDN); +- if (mpfr_nan_p (x) || (mpfr_nan_p)(x)) ++ if (mpfr_nan_p (x) || (mpfr_nan_p) (x) || mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(1) gives non-zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) || (mpfr_inf_p)(x) ) ++ CHECK; ++ if (mpfr_inf_p (x) || (mpfr_inf_p) (x) || mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(1) gives non-zero\n"); + exit (1); + } +- if (mpfr_number_p (x) == 0) ++ CHECK; ++ if (!mpfr_number_p (x) || !(mpfr_number_p) (x) || !mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(1) gives zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) || (mpfr_zero_p) (x) ) ++ CHECK; ++ if (mpfr_zero_p (x) || (mpfr_zero_p) (x) || mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_zero_p(1) gives non-zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) == 0 || (mpfr_regular_p) (x) == 0) ++ CHECK; ++ if (!mpfr_regular_p (x) || !(mpfr_regular_p) (x) || !mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(1) gives zero\n"); + exit (1); + } ++ CHECK; + + /* Same for +0 */ + mpfr_set_ui (x, 0, MPFR_RNDN); +- if (mpfr_nan_p (x) || (mpfr_nan_p)(x)) ++ if (mpfr_nan_p (x) || (mpfr_nan_p) (x) || mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(+0) gives non-zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) || (mpfr_inf_p)(x) ) ++ CHECK; ++ if (mpfr_inf_p (x) || (mpfr_inf_p) (x) || mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(+0) gives non-zero\n"); + exit (1); + } +- if (mpfr_number_p (x) == 0) ++ CHECK; ++ if (!mpfr_number_p (x) || !(mpfr_number_p) (x) || !mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(+0) gives zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) == 0 ) ++ CHECK; ++ if (!mpfr_zero_p (x) || !(mpfr_zero_p) (x) || !mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_zero_p(+0) gives zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) || (mpfr_regular_p) (x) ) ++ CHECK; ++ if (mpfr_regular_p (x) || (mpfr_regular_p) (x) || mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(+0) gives non-zero\n"); + exit (1); + } ++ CHECK; + + /* Same for -0 */ + mpfr_set_ui (x, 0, MPFR_RNDN); + mpfr_neg (x, x, MPFR_RNDN); +- if (mpfr_nan_p (x) || (mpfr_nan_p)(x)) ++ if (mpfr_nan_p (x) || (mpfr_nan_p) (x) || mpfr_nan_p (ARG)) + { + printf ("Error: mpfr_nan_p(-0) gives non-zero\n"); + exit (1); + } +- if (mpfr_inf_p (x) || (mpfr_inf_p)(x) ) ++ CHECK; ++ if (mpfr_inf_p (x) || (mpfr_inf_p) (x) || mpfr_inf_p (ARG)) + { + printf ("Error: mpfr_inf_p(-0) gives non-zero\n"); + exit (1); + } +- if (mpfr_number_p (x) == 0) ++ CHECK; ++ if (!mpfr_number_p (x) || !(mpfr_number_p) (x) || !mpfr_number_p (ARG)) + { + printf ("Error: mpfr_number_p(-0) gives zero\n"); + exit (1); + } +- if (mpfr_zero_p (x) == 0 ) ++ CHECK; ++ if (!mpfr_zero_p (x) || !(mpfr_zero_p) (x) || !mpfr_zero_p (ARG)) + { + printf ("Error: mpfr_zero_p(-0) gives zero\n"); + exit (1); + } +- if (mpfr_regular_p (x) || (mpfr_regular_p) (x) ) ++ CHECK; ++ if (mpfr_regular_p (x) || (mpfr_regular_p) (x) || mpfr_regular_p (ARG)) + { + printf ("Error: mpfr_regular_p(-0) gives non-zero\n"); + exit (1); + } ++ CHECK; ++ ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif + + mpfr_clear (x); + +diff -Naurd mpfr-4.1.0-a/tests/tset.c mpfr-4.1.0-b/tests/tset.c +--- mpfr-4.1.0-a/tests/tset.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tset.c 2021-03-09 13:55:43.207158683 +0000 +@@ -207,7 +207,7 @@ + static void + check_ternary_value (void) + { +- int p, q, rnd; ++ int k, p, q, rnd; + int inexact, cmp; + mpfr_t x, y; + +@@ -226,28 +226,45 @@ + { + if (rnd == MPFR_RNDF) /* the test below makes no sense */ + continue; +- inexact = mpfr_set (y, x, (mpfr_rnd_t) rnd); +- cmp = mpfr_cmp (y, x); +- if (((inexact == 0) && (cmp != 0)) || +- ((inexact > 0) && (cmp <= 0)) || +- ((inexact < 0) && (cmp >= 0))) +- { +- printf ("Wrong ternary value in mpfr_set for %s: expected" +- " %d, got %d\n", +- mpfr_print_rnd_mode ((mpfr_rnd_t) rnd), cmp, +- inexact); +- exit (1); +- } +- /* Test mpfr_set function too */ +- inexact = (mpfr_set) (y, x, (mpfr_rnd_t) rnd); +- cmp = mpfr_cmp (y, x); +- if (((inexact == 0) && (cmp != 0)) || +- ((inexact > 0) && (cmp <= 0)) || +- ((inexact < 0) && (cmp >= 0))) ++ for (k = 0; k < 3; k++) + { +- printf ("Wrong ternary value in mpfr_set(2): expected %d," +- " got %d\n", cmp, inexact); +- exit (1); ++ int a = 0, b = 0, c = 0; ++ ++ switch (k) ++ { ++ case 0: ++ inexact = mpfr_set (y, x, (mpfr_rnd_t) rnd); ++ break; ++ case 1: ++ inexact = (mpfr_set) (y, x, (mpfr_rnd_t) rnd); ++ break; ++ case 2: ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ inexact = mpfr_set ((a++, VOIDP_CAST(y)), ++ (b++, VOIDP_CAST(x)), ++ (c++, (mpfr_rnd_t) rnd)); ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif ++ MPFR_ASSERTN (a == 1); ++ MPFR_ASSERTN (b == 1); ++ MPFR_ASSERTN (c == 1); ++ break; ++ } ++ cmp = mpfr_cmp (y, x); ++ if (((inexact == 0) && (cmp != 0)) || ++ ((inexact > 0) && (cmp <= 0)) || ++ ((inexact < 0) && (cmp >= 0))) ++ { ++ printf ("Wrong ternary value in mpfr_set for %s (%d):" ++ " expected %d, got %d\n", ++ mpfr_print_rnd_mode ((mpfr_rnd_t) rnd), ++ k, cmp, inexact); ++ exit (1); ++ } + } + } + } +diff -Naurd mpfr-4.1.0-a/tests/tset_exp.c mpfr-4.1.0-b/tests/tset_exp.c +--- mpfr-4.1.0-a/tests/tset_exp.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tset_exp.c 2021-03-09 13:55:43.211158639 +0000 +@@ -28,6 +28,7 @@ + mpfr_t x; + int ret; + mpfr_exp_t emin, emax, e; ++ int i = 0; + + tests_start_mpfr (); + +@@ -63,6 +64,17 @@ + e = (mpfr_get_exp) (x); + MPFR_ASSERTN (e == emin); + ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wc++-compat" ++#endif ++ e = mpfr_get_exp ((i++, VOIDP_CAST(x))); ++#ifdef IGNORE_CPP_COMPAT ++#pragma GCC diagnostic pop ++#endif ++ MPFR_ASSERTN (e == emin); ++ MPFR_ASSERTN (i == 1); ++ + ret = mpfr_set_exp (x, -1); + MPFR_ASSERTN (ret == 0 && mpfr_cmp_ui_2exp (x, 1, -2) == 0); + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-03-09 13:58:00.889650773 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-03-09 13:58:00.937650249 +0000 +@@ -0,0 +1 @@ ++tset_sij +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-03-09 13:55:43.223158508 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-03-09 13:58:00.937650249 +0000 +@@ -1 +1 @@ +-4.1.0-p10 ++4.1.0-p11 +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-03-09 13:55:43.223158508 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-03-09 13:58:00.933650293 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p10" ++#define MPFR_VERSION_STRING "4.1.0-p11" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-03-09 13:55:43.223158508 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-03-09 13:58:00.933650293 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p10"; ++ return "4.1.0-p11"; + } +diff -Naurd mpfr-4.1.0-a/tests/tset_si.c mpfr-4.1.0-b/tests/tset_si.c +--- mpfr-4.1.0-a/tests/tset_si.c 2020-03-26 11:51:33.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tset_si.c 2021-03-09 13:58:00.917650467 +0000 +@@ -127,27 +127,29 @@ + power of 2 is exact, unless underflow/overflow occurs. + The tests on the exponent below avoid integer overflows + (ep[i] may take extreme values). */ +- e = mpfr_get_exp (x1); + mpfr_clear_flags (); +- if (j != 0 && ep[i] < __gmpfr_emin - e) /* underflow */ ++ if (j == 0) ++ goto zero; ++ e = MPFR_GET_EXP (x1); ++ if (ep[i] < __gmpfr_emin - e) /* underflow */ + { + mpfr_rnd_t r = + (rnd == MPFR_RNDN && +- (ep[i] < __gmpfr_emin - mpfr_get_exp (y) - 1 || ++ (ep[i] < __gmpfr_emin - MPFR_GET_EXP (y) - 1 || + IS_POW2 (sign * j))) ? + MPFR_RNDZ : (mpfr_rnd_t) rnd; + inex1 = mpfr_underflow (x1, r, sign); + flags1 = __gmpfr_flags; + } +- else if (j != 0 && ep[i] > __gmpfr_emax - e) /* overflow */ ++ else if (ep[i] > __gmpfr_emax - e) /* overflow */ + { + inex1 = mpfr_overflow (x1, (mpfr_rnd_t) rnd, sign); + flags1 = __gmpfr_flags; + } + else + { +- if (j != 0) +- mpfr_set_exp (x1, ep[i] + e); ++ mpfr_set_exp (x1, ep[i] + e); ++ zero: + flags1 = inex1 != 0 ? MPFR_FLAGS_INEXACT : 0; + } + +diff -Naurd mpfr-4.1.0-a/tests/tset_sj.c mpfr-4.1.0-b/tests/tset_sj.c +--- mpfr-4.1.0-a/tests/tset_sj.c 2020-06-01 10:39:52.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tset_sj.c 2021-03-09 13:58:00.917650467 +0000 +@@ -225,27 +225,29 @@ + power of 2 is exact, unless underflow/overflow occurs. + The tests on the exponent below avoid integer overflows + (ep[i] may take extreme values). */ +- e = mpfr_get_exp (x1); + mpfr_clear_flags (); +- if (j != 0 && ep[i] < __gmpfr_emin - e) /* underflow */ ++ if (j == 0) ++ goto zero; ++ e = MPFR_GET_EXP (x1); ++ if (ep[i] < __gmpfr_emin - e) /* underflow */ + { + mpfr_rnd_t r = + (rnd == MPFR_RNDN && +- (ep[i] < __gmpfr_emin - mpfr_get_exp (y) - 1 || ++ (ep[i] < __gmpfr_emin - MPFR_GET_EXP (y) - 1 || + IS_POW2 (sign * j))) ? + MPFR_RNDZ : (mpfr_rnd_t) rnd; + inex1 = mpfr_underflow (x1, r, sign); + flags1 = __gmpfr_flags; + } +- else if (j != 0 && ep[i] > __gmpfr_emax - e) /* overflow */ ++ else if (ep[i] > __gmpfr_emax - e) /* overflow */ + { + inex1 = mpfr_overflow (x1, (mpfr_rnd_t) rnd, sign); + flags1 = __gmpfr_flags; + } + else + { +- if (j != 0) +- mpfr_set_exp (x1, ep[i] + e); ++ mpfr_set_exp (x1, ep[i] + e); ++ zero: + flags1 = inex1 != 0 ? MPFR_FLAGS_INEXACT : 0; + } + } +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-04-23 09:49:34.648281897 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-04-23 09:49:34.696281616 +0000 +@@ -0,0 +1 @@ ++get_str_ndigits +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-03-09 13:58:00.937650249 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-04-23 09:49:34.696281616 +0000 +@@ -1 +1 @@ +-4.1.0-p11 ++4.1.0-p12 +diff -Naurd mpfr-4.1.0-a/src/get_str.c mpfr-4.1.0-b/src/get_str.c +--- mpfr-4.1.0-a/src/get_str.c 2020-06-18 17:17:18.000000000 +0000 ++++ mpfr-4.1.0-b/src/get_str.c 2021-04-23 09:49:34.680281710 +0000 +@@ -2484,6 +2484,8 @@ + size_t + mpfr_get_str_ndigits (int b, mpfr_prec_t p) + { ++ MPFR_SAVE_EXPO_DECL (expo); ++ + MPFR_ASSERTN (2 <= b && b <= 62); + + /* deal first with power of two bases, since even for those, mpfr_ceil_mul +@@ -2497,17 +2499,26 @@ + return 1 + (p + k - 2) / k; + } + ++ MPFR_SAVE_EXPO_MARK (expo); ++ + /* the value returned by mpfr_ceil_mul is guaranteed to be + 1 + ceil(p*log(2)/log(b)) for p < 186564318007 (it returns one more + for p=186564318007 and b=7 or 49) */ + MPFR_STAT_STATIC_ASSERT (MPFR_PREC_BITS >= 64 || MPFR_PREC_BITS <= 32); ++ if + #if MPFR_PREC_BITS >= 64 + /* 64-bit numbers are supported by the C implementation, so that we can + use the large constant below. If MPFR_PREC_BITS <= 32, the condition + is always satisfied, so that we do not need any test. */ +- if (MPFR_LIKELY (p < 186564318007)) ++ (MPFR_LIKELY (p < 186564318007)) ++#else ++ (1) + #endif +- return 1 + mpfr_ceil_mul (IS_POW2(b) ? p - 1 : p, b, 1); ++ { ++ size_t ret = 1 + mpfr_ceil_mul (IS_POW2(b) ? p - 1 : p, b, 1); ++ MPFR_SAVE_EXPO_FREE (expo); ++ return ret; ++ } + + /* Now p is large and b is not a power of two. The code below works for any + value of p and b, as long as b is not a power of two. Indeed, in such a +@@ -2541,6 +2552,8 @@ + mpfr_clear (d); + mpfr_clear (u); + } ++ ++ MPFR_SAVE_EXPO_FREE (expo); + return 1 + ret; + } + } +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-03-09 13:58:00.933650293 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-04-23 09:49:34.692281639 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p11" ++#define MPFR_VERSION_STRING "4.1.0-p12" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-03-09 13:58:00.933650293 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-04-23 09:49:34.696281616 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p11"; ++ return "4.1.0-p12"; + } +diff -Naurd mpfr-4.1.0-a/tests/tget_str.c mpfr-4.1.0-b/tests/tget_str.c +--- mpfr-4.1.0-a/tests/tget_str.c 2020-01-08 18:11:13.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tget_str.c 2021-04-23 09:49:34.680281710 +0000 +@@ -1311,6 +1311,33 @@ + mpfr_clear (x); + } + ++static void ++test_ndigits_aux (int b, mpfr_prec_t p, size_t expected_m) ++{ ++ size_t m; ++ mpfr_exp_t old_emin, old_emax, e[] = { MPFR_EMIN_MIN, 0, MPFR_EMAX_MAX }; ++ mpfr_flags_t flags; ++ int i; ++ ++ old_emin = mpfr_get_emin (); ++ old_emax = mpfr_get_emax (); ++ ++ i = randlimb () % (numberof (e) + 1); ++ if (i < numberof (e)) ++ { ++ set_emin (e[i]); ++ set_emax (e[i]); ++ } ++ ++ __gmpfr_flags = flags = randlimb () & MPFR_FLAGS_ALL; ++ m = mpfr_get_str_ndigits (b, p); ++ MPFR_ASSERTN (m == expected_m); ++ MPFR_ASSERTN (__gmpfr_flags == flags); ++ ++ set_emin (old_emin); ++ set_emax (old_emax); ++} ++ + /* test of mpfr_get_str_ndigits */ + static void + test_ndigits (void) +@@ -1319,61 +1346,61 @@ + + /* for b=2, we have 1 + ceil((p-1)*log(2)/log(b)) = p */ + for (p = MPFR_PREC_MIN; p <= 1024; p++) +- MPFR_ASSERTN(mpfr_get_str_ndigits (2, p) == p); ++ test_ndigits_aux (2, p, p); + + /* for b=4, we have 1 + ceil((p-1)*log(2)/log(b)) = 1 + ceil((p-1)/2) + = 1 + floor(p/2) */ + for (p = MPFR_PREC_MIN; p <= 1024; p++) +- MPFR_ASSERTN(mpfr_get_str_ndigits (4, p) == 1 + (p / 2)); ++ test_ndigits_aux (4, p, 1 + (p / 2)); + + /* for b=8, we have 1 + ceil((p-1)*log(2)/log(b)) = 1 + ceil((p-1)/3) + = 1 + floor((p+1)/3) */ + for (p = MPFR_PREC_MIN; p <= 1024; p++) +- MPFR_ASSERTN(mpfr_get_str_ndigits (8, p) == 1 + ((p + 1) / 3)); ++ test_ndigits_aux (8, p, 1 + ((p + 1) / 3)); + + /* for b=16, we have 1 + ceil((p-1)*log(2)/log(b)) = 1 + ceil((p-1)/4) + = 1 + floor((p+2)/4) */ + for (p = MPFR_PREC_MIN; p <= 1024; p++) +- MPFR_ASSERTN(mpfr_get_str_ndigits (16, p) == 1 + ((p + 2) / 4)); ++ test_ndigits_aux (16, p, 1 + ((p + 2) / 4)); + + /* for b=32, we have 1 + ceil((p-1)*log(2)/log(b)) = 1 + ceil((p-1)/5) + = 1 + floor((p+3)/5) */ + for (p = MPFR_PREC_MIN; p <= 1024; p++) +- MPFR_ASSERTN(mpfr_get_str_ndigits (32, p) == 1 + ((p + 3) / 5)); ++ test_ndigits_aux (32, p, 1 + ((p + 3) / 5)); + + /* error < 1e-3 */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (57, 35) == 8); ++ test_ndigits_aux (57, 35, 8); + + /* error < 1e-4 */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (31, 649) == 133); ++ test_ndigits_aux (31, 649, 133); + + /* error < 1e-5 */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (43, 5041) == 931); ++ test_ndigits_aux (43, 5041, 931); + + /* error < 1e-6 */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (41, 17771) == 3319); ++ test_ndigits_aux (41, 17771, 3319); + + /* 20th convergent of log(2)/log(3) */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 630138897) == 397573381); ++ test_ndigits_aux (3, 630138897, 397573381); + + #if MPFR_PREC_BITS >= 64 + /* 21st convergent of log(2)/log(3) */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 9809721694) == 6189245292); ++ test_ndigits_aux (3, 9809721694, 6189245292); + + /* 22nd convergent of log(2)/log(3) */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 10439860591) == 6586818672); ++ test_ndigits_aux (3, 10439860591, 6586818672); + + /* 23rd convergent of log(2)/log(3) */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 103768467013) == 65470613322); ++ test_ndigits_aux (3, 103768467013, 65470613322); + + /* 24th convergent of log(2)/log(3) */ +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 217976794617) == 137528045314); ++ test_ndigits_aux (3, 217976794617, 137528045314); + +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 1193652440098) == 753110839882); ++ test_ndigits_aux (3, 1193652440098, 753110839882); + +- MPFR_ASSERTN(mpfr_get_str_ndigits (3, 683381996816440) == 431166034846569); ++ test_ndigits_aux (3, 683381996816440, 431166034846569); + +- MPFR_ASSERTN(mpfr_get_str_ndigits (7, 186564318007) == 66455550933); ++ test_ndigits_aux (7, 186564318007, 66455550933); + #endif + } + +diff -Naurd mpfr-4.1.0-a/PATCHES mpfr-4.1.0-b/PATCHES +--- mpfr-4.1.0-a/PATCHES 2021-05-17 16:09:00.574477185 +0000 ++++ mpfr-4.1.0-b/PATCHES 2021-05-17 16:09:00.754476587 +0000 +@@ -0,0 +1 @@ ++vasprintf-prec-zero +diff -Naurd mpfr-4.1.0-a/VERSION mpfr-4.1.0-b/VERSION +--- mpfr-4.1.0-a/VERSION 2021-04-23 09:49:34.696281616 +0000 ++++ mpfr-4.1.0-b/VERSION 2021-05-17 16:09:00.754476587 +0000 +@@ -1 +1 @@ +-4.1.0-p12 ++4.1.0-p13 +diff -Naurd mpfr-4.1.0-a/src/mpfr.h mpfr-4.1.0-b/src/mpfr.h +--- mpfr-4.1.0-a/src/mpfr.h 2021-04-23 09:49:34.692281639 +0000 ++++ mpfr-4.1.0-b/src/mpfr.h 2021-05-17 16:09:00.754476587 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 4 + #define MPFR_VERSION_MINOR 1 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "4.1.0-p12" ++#define MPFR_VERSION_STRING "4.1.0-p13" + + /* User macros: + MPFR_USE_FILE: Define it to make MPFR define functions dealing +diff -Naurd mpfr-4.1.0-a/src/vasprintf.c mpfr-4.1.0-b/src/vasprintf.c +--- mpfr-4.1.0-a/src/vasprintf.c 2021-02-11 12:48:27.354242922 +0000 ++++ mpfr-4.1.0-b/src/vasprintf.c 2021-05-17 16:09:00.598477107 +0000 +@@ -635,7 +635,13 @@ + static int + buffer_cat (struct string_buffer *b, const char *s, size_t len) + { +- MPFR_ASSERTD (len > 0); ++ /* If len == 0, which is possible when outputting an integer 0 ++ (either a native one or mpfr_prec_t) with precision field = 0, ++ do nothing. This test is not necessary since the code below is ++ valid for len == 0, but this is safer, just in case. */ ++ if (len == 0) ++ return 0; ++ + MPFR_ASSERTD (len <= strlen (s)); + + if (buffer_incr_len (b, len)) +diff -Naurd mpfr-4.1.0-a/src/version.c mpfr-4.1.0-b/src/version.c +--- mpfr-4.1.0-a/src/version.c 2021-04-23 09:49:34.696281616 +0000 ++++ mpfr-4.1.0-b/src/version.c 2021-05-17 16:09:00.754476587 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "4.1.0-p12"; ++ return "4.1.0-p13"; + } +diff -Naurd mpfr-4.1.0-a/tests/tsprintf.c mpfr-4.1.0-b/tests/tsprintf.c +--- mpfr-4.1.0-a/tests/tsprintf.c 2020-04-08 22:39:35.000000000 +0000 ++++ mpfr-4.1.0-b/tests/tsprintf.c 2021-05-17 16:09:00.598477107 +0000 +@@ -193,6 +193,10 @@ + sprintf (buf, "%d", i); + check_vsprintf (buf, "%d", i); + ++ check_vsprintf ("0", "%d", 0); ++ check_vsprintf ("", "%.d", 0); ++ check_vsprintf ("", "%.0d", 0); ++ + sprintf (buf, "%e", d); + check_vsprintf (buf, "%e", d); + +@@ -227,9 +231,6 @@ + mpfr_prec_t p = 128; + mpfr_t x, y, z; + +- mpfr_init (z); +- mpfr_init2 (x, p); +- + /* specifier 'P' for precision */ + check_vsprintf ("128", "%Pu", p); + check_vsprintf ("00128", "%.5Pu", p); +@@ -247,9 +248,19 @@ + check_vsprintf ("0200:", "%0#+ -Po:", p); + check_vsprintf ("+0000128 :", "%0+ *.*Pd:", -9, 7, p); + check_vsprintf ("+12345 :", "%0+ -*.*Pd:", -9, -3, (mpfr_prec_t) 12345); ++ check_vsprintf ("0", "%Pu", (mpfr_prec_t) 0); + /* Do not add a test like "%05.1Pd" as MS Windows is buggy: when + a precision is given, the '0' flag must be ignored. */ + ++ /* specifier 'P' with precision field 0 */ ++ check_vsprintf ("128", "%.Pu", p); ++ check_vsprintf ("128", "%.0Pd", p); ++ /* check_vsprintf ("", "%.Pu", (mpfr_prec_t) 0); */ ++ check_vsprintf ("", "%.0Pd", (mpfr_prec_t) 0); ++ ++ mpfr_init (z); ++ mpfr_init2 (x, 128); ++ + /* special numbers */ + mpfr_set_inf (x, 1); + check_sprintf (pinf_str, "%Re", x); diff --git a/mpfr/time b/mpfr/time new file mode 100644 index 0000000..0bc9526 --- /dev/null +++ b/mpfr/time @@ -0,0 +1,5 @@ + +real 2m21.156s +user 3m43.152s +sys 0m15.736s + diff --git a/nano/PKGBUILD b/nano/PKGBUILD new file mode 100644 index 0000000..7524f8a --- /dev/null +++ b/nano/PKGBUILD @@ -0,0 +1,48 @@ +#!/usr/bin/bash +# JOBoRun : Jwm OpenBox Obarun RUNit +# Maintainer : Joe Bo Run +# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname" +# Website : https://pozol.eu +#-----------------------------------------| DESCRIPTION |--------------------------------------- + +pkgname=nano +pkgver=6.2 +pkgrel=01 +pkgdesc="Pico editor clone with enhancements" +arch=('x86_64') +groups=( jobbot base ) +url="https://www.nano-editor.org" +depends=('ncurses' 'file' 'sh') +backup=('etc/nanorc') +source=(https://www.nano-editor.org/dist/v6/${pkgname}-${pkgver}.tar.xz{,.asc} + jobo.nanorc) + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-color \ + --enable-nanorc \ + --enable-multibuffer + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install +# install -DTm644 "${srcdir}"/${pkgname}-${pkgver}/doc/sample.nanorc "${pkgdir}"/etc/nanorc +# we substituted our own colorized nanorc, basically uncommenting the colors proposed + install -DTm644 "${srcdir}"/jobo.nanorc "${pkgdir}"/etc/nanorc +} + +#---- license gpg-key sha256sums ---- + +license=('GPL') + +#validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7' # "Chris Allegretta " +# 'A7F6A64A67DA09EF92782DD79DF4862AF1175C5B' # "Benno Schulenberg " +validpgpkeys=('BFD009061E535052AD0DF2150D28D4D2A0ACE884') # "Benno Schulenberg " + +sha256sums=(2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3 # nano-6.2.tar.xz + d10bd9aced1c1c258c6c95a36f39d7587299ef6eba39b20a50982d83c7e9aec9 # nano-6.2.tar.xz.asc + b6c0a10c45766ec0afa5af5e2fca639bc08d2b06f62a4356402253e080d20f9a) # jobo.nanorc diff --git a/nano/PKGBUILD-arch b/nano/PKGBUILD-arch new file mode 100644 index 0000000..5eeb1d0 --- /dev/null +++ b/nano/PKGBUILD-arch @@ -0,0 +1,34 @@ +# Maintainer: Andreas Radke +# Contributor: Judd + +pkgname=nano +pkgver=6.2 +pkgrel=1 +pkgdesc="Pico editor clone with enhancements" +arch=('x86_64') +license=('GPL') +url="https://www.nano-editor.org" +depends=('ncurses' 'file' 'sh') +backup=('etc/nanorc') +source=(https://www.nano-editor.org/dist/v6/${pkgname}-${pkgver}.tar.xz{,.asc}) +sha256sums=('2bca1804bead6aaf4ad791f756e4749bb55ed860eec105a97fba864bc6a77cb3' + 'SKIP') +#validpgpkeys=('8DA6FE7BFA7A418AB3CB2354BCB356DF91009FA7') # "Chris Allegretta " +#validpgpkeys=('A7F6A64A67DA09EF92782DD79DF4862AF1175C5B') # "Benno Schulenberg " +validpgpkeys=('BFD009061E535052AD0DF2150D28D4D2A0ACE884') # "Benno Schulenberg " + +build() { + cd ${pkgname}-${pkgver} + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-color \ + --enable-nanorc \ + --enable-multibuffer + make +} + +package() { + cd ${pkgname}-${pkgver} + make DESTDIR="${pkgdir}" install + install -DTm644 "${srcdir}"/${pkgname}-${pkgver}/doc/sample.nanorc "${pkgdir}"/etc/nanorc +} diff --git a/nano/clean b/nano/clean new file mode 100644 index 0000000..06fa6a0 --- /dev/null +++ b/nano/clean @@ -0,0 +1 @@ +rm -rvf {src,pkg,nano*.tar.xz*} diff --git a/nano/deps b/nano/deps new file mode 100644 index 0000000..139597f --- /dev/null +++ b/nano/deps @@ -0,0 +1,2 @@ + + diff --git a/nano/jobo.nanorc b/nano/jobo.nanorc new file mode 100644 index 0000000..998cff6 --- /dev/null +++ b/nano/jobo.nanorc @@ -0,0 +1,309 @@ +## Sample initialization file for GNU nano. +## +## For the options that take parameters, the default value is shown. +## Other options are unset by default. To make sure that an option +## is disabled, you can use "unset