summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFredrick Brennan2023-06-21 01:50:03 -0400
committerFredrick Brennan2023-06-21 01:53:50 -0400
commit724f305e6f8c9df9213850ad319ca5ef225d7add (patch)
tree759507c92d267bbbebbccdb3a4d490f3b561666a
parent20b3c93d780ff07589b0e5acff2795664d8e420e (diff)
downloadaur-724f305e6f8c9df9213850ad319ca5ef225d7add.tar.gz
v0.0.20 pkgrel 5
Adds a check for all the envvars the package uses.
-rw-r--r--.SRCINFO28
-rw-r--r--.gitignore2
-rw-r--r--PKGBUILD57
-rwxr-xr-xsensible-envvars9
-rw-r--r--sensible-utils.install24
5 files changed, 88 insertions, 32 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4c57dcabe305..1ced94b50792 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,49 +1,55 @@
pkgbase = sensible-utils
pkgdesc = Utilities for sensible alternative selection
pkgver = 0.0.20
- pkgrel = 4
+ pkgrel = 5
url = http://packages.debian.org/source/sid/sensible-utils
arch = any
license = GPL
checkdepends = ed
checkdepends = dash
makedepends = po4a
+ makedepends = findutils
depends = bash
depends = coreutils
source = sensible-utils_0.0.20_.tar.xz::http://ftp.debian.org/debian/pool/main/s/sensible-utils/sensible-utils_0.0.20.tar.xz
source = sensible-utils_0.0.20_.dsc::http://ftp.debian.org/debian/pool/main/s/sensible-utils/sensible-utils_0.0.20.dsc
+ source = sensible-utils.install
+ source = sensible-envvars
validpgpkeys = 5D0187B940A245BAD7B0F56A003A1A2DAA41085F
b2sums = e65419e7f157f64249b429806a4d48c02c5f492fb2dbdae1a8e4966dca964a4b1b9b6fdb555f03fabb6cd219238022821a64b15f11582ffdf115fa15ab6e3e0e
b2sums = 8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09
+ b2sums = 7ce44eb32d7630155bdf0b6bb0dcb7263c74c5d7050ace953559efdb97448b8105d971c0b721ce34033cda3f32263e524ebfded39a6b7a02652a73bc29d46b98
+ b2sums = 8a213b98cc6d432af30ecf58d91ae88f151f2824274702f7e1bde6119b45effc4a0b15907459c9f8f1ee5af94de862e6dec579b4f07d168aaa658443764a1f19
-pkgname = sensible-browser
+pkgname = sensible-utils
+ pkgdesc = Utilities for sensible alternative selection (metapackage)
+ install = sensible-utils.install
depends = bash
depends = coreutils
+ depends = sensible-browser
+ depends = sensible-editor
+ depends = sensible-pager
+ depends = sensible-terminal
depends = sensible-utils-data
-pkgname = sensible-editor
+pkgname = sensible-browser
depends = bash
depends = coreutils
depends = sensible-utils-data
-pkgname = sensible-pager
+pkgname = sensible-editor
depends = bash
depends = coreutils
depends = sensible-utils-data
-pkgname = sensible-terminal
+pkgname = sensible-pager
depends = bash
depends = coreutils
depends = sensible-utils-data
-pkgname = sensible-utils
- pkgdesc = Utilities for sensible alternative selection (metapackage)
+pkgname = sensible-terminal
depends = bash
depends = coreutils
- depends = sensible-browser
- depends = sensible-editor
- depends = sensible-pager
- depends = sensible-terminal
depends = sensible-utils-data
pkgname = sensible-utils-data
diff --git a/.gitignore b/.gitignore
index 322cb7cbd2b4..7b2892ca5e07 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
!/.SRCINFO
!/PKGBUILD
!/sensible-utils*.asc
+!/*.install
+!/sensible-envvars
diff --git a/PKGBUILD b/PKGBUILD
index d777d10ba610..8fb4490bb3f1 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,30 +4,37 @@
# Contributor: Brian BIdulock <bidulock@openss7.org>
pkgbase=sensible-utils
-_pkgname='sensible-browser sensible-editor sensible-pager sensible-terminal'
-declare -g -a pkgname=($_pkgname)
-pkgname+=(sensible-utils sensible-utils-data)
+pkgname=(sensible-utils sensible-browser sensible-editor sensible-pager sensible-terminal sensible-utils-data)
+# This is the above minus the pkgbase name, for use in sensible-utils packaging command.
+_pkgname=(sensible-browser sensible-editor sensible-pager sensible-terminal sensible-utils-data)
pkgver=0.0.20
-_debianextra=''
-pkgrel=4
+_debianextra='' # Do not remove even if empty as sometimes Debian puts e.g. +1, their version of a pkgrel.
+pkgrel=5
pkgdesc="Utilities for sensible alternative selection"
arch=('any')
url="http://packages.debian.org/source/sid/sensible-utils"
license=('GPL')
depends=('bash' 'coreutils')
-makedepends=('po4a')
-checkdepends=('ed' 'dash')
+makedepends=('po4a'
+ # for xargs
+ 'findutils')
+checkdepends=('ed'
+ # see comment in check() function
+ 'dash')
_dirname=${pkgbase}_${pkgver}_$pkgrel_${_debianextra}
source=("$_dirname.tar.xz::http://ftp.debian.org/debian/pool/main/s/$pkgbase/${pkgbase}_${pkgver}${_debianextra}.tar.xz"
- "$_dirname.dsc::http://ftp.debian.org/debian/pool/main/s/$pkgbase/${pkgbase}_${pkgver}${_debianextra}.dsc")
+ "$_dirname.dsc::http://ftp.debian.org/debian/pool/main/s/$pkgbase/${pkgbase}_${pkgver}${_debianextra}.dsc"
+ sensible-utils.install
+ sensible-envvars)
+# (n)vim command to regenerate:
+# :'<,'>! makepkg --geninteg 2>&1 | perl -pe '$_=~s/^[\s]*(==>|->).*//g; $_=~s/^[\s]*$//d'
b2sums=('e65419e7f157f64249b429806a4d48c02c5f492fb2dbdae1a8e4966dca964a4b1b9b6fdb555f03fabb6cd219238022821a64b15f11582ffdf115fa15ab6e3e0e'
- '8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09')
+ '8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09'
+ '7ce44eb32d7630155bdf0b6bb0dcb7263c74c5d7050ace953559efdb97448b8105d971c0b721ce34033cda3f32263e524ebfded39a6b7a02652a73bc29d46b98'
+ '8a213b98cc6d432af30ecf58d91ae88f151f2824274702f7e1bde6119b45effc4a0b15907459c9f8f1ee5af94de862e6dec579b4f07d168aaa658443764a1f19')
+# Bastien ROUCARIÈS <rouca@debian.org>
validpgpkeys=('5D0187B940A245BAD7B0F56A003A1A2DAA41085F')
-prepare() {
- return 0
-}
-
build() {
cd ${pkgbase}-${pkgver}${_debianextra}
export -n EDITOR VISUAL PAGER TERMINAL_EMULATOR BROWSER
@@ -35,21 +42,26 @@ build() {
make
}
+# This trick is needed as the fork-bomb test only works if /bin/sh == /bin/dash,
+# which it isn't on Arch but is on Debian!
check() {
cd ${pkgbase}-${pkgver}${_debianextra}
- test -L sh || ln -s /bin/dash sh
OLDPATH="$PATH"
- export PATH=.:"$PATH"
+ TEMPDIR=`mktemp -d`
+ >&2 echo Made tempdir "$TEMPDIR".
+ ln -s /bin/dash "$TEMPDIR/sh"
+ export PATH="$TEMPDIR:$PATH"
sed -i -e 's@#!/bin/sh@#!/usr/bin/env sh@' ./sensible-editor
- env -i make -k check
+ env -i make check
sed -i -e 's@#!/usr/bin/env sh@#!/bin/sh@' ./sensible-editor
export PATH="$OLDPATH"
+ rm -rv "$TEMPDIR"
}
_package_sensible() {
cd ${pkgbase}-${pkgver}${_debianextra}
pkgdesc="$pkgdesc (${pkgname##*-})"
- export -n EDITOR VISUAL
+ export -n EDITOR VISUAL PAGER TERMINAL_EMULATOR BROWSER
make DESTDIR="$pkgdir/" install
shopt -s globstar
cd "$pkgdir"
@@ -82,10 +94,13 @@ package_sensible-utils-data() {
}
package_sensible-utils() {
+ shopt -s extglob
+ local rms
+ rms='!(sensible-utils)'
pkgdesc="$pkgdesc (metapackage)"
- depends+=($_pkgname sensible-utils-data)
- mkdir -p "$pkgdir/usr/share/sensible-utils"
- echo 1 > "$pkgdir/usr/share/sensible-utils/.ARCH"
+ depends+=(${_pkgname[@]})
+ install=sensible-utils.install
+ install -Dm0755 "$srcdir/sensible-envvars" "$pkgdir/usr/share/sensible-utils/sensible-envvars"
}
-# vim:set ts=2 sw=2 et:
+# vim:set syntax=bash ts=2 sw=2 et:
diff --git a/sensible-envvars b/sensible-envvars
new file mode 100755
index 000000000000..7c9fb96944b3
--- /dev/null
+++ b/sensible-envvars
@@ -0,0 +1,9 @@
+#!/bin/bash
+declare -g -A SENSIBLEENVVARS
+
+SENSIBLEENVVARS=([sensible-browser]=BROWSER
+ [sensible-editor]=EDITOR
+ [sensible-pager]=PAGER
+ [sensible-terminal]=TERMINAL_EMULATOR)
+
+# vim:set ts=2 sw=2 et:
diff --git a/sensible-utils.install b/sensible-utils.install
new file mode 100644
index 000000000000..395f4549dd3e
--- /dev/null
+++ b/sensible-utils.install
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+source /usr/share/sensible-utils/sensible-envvars
+
+post_install() {
+ for cmd in ${!SENSIBLEENVVARS[*]}; do
+ local cmdpath
+ cmdpath="$(which $cmd)"
+ [[ -n "$cmdpath" ]] || continue
+ local envvar
+ envvar="${SENSIBLEENVVARS["$cmd"]}"
+ if [[ -z "$envvar" ]]; then
+ continue
+ fi
+ [[ -z "${!envvar}" ]] && echo "$cmdpath requires $envvar be set in the environment to work properly!"
+ done
+}
+
+post_upgrade() {
+ post_install "$@"
+}
+
+# vim:set ts=2 sw=2 et:
+