v0.0.20 pkgrel 5

Adds a check for all the envvars the package uses.
This commit is contained in:
Fredrick Brennan
2023-06-21 01:50:03 -04:00
parent 20b3c93d78
commit 724f305e6f
5 changed files with 88 additions and 32 deletions

View File

@@ -1,20 +1,36 @@
pkgbase = sensible-utils pkgbase = sensible-utils
pkgdesc = Utilities for sensible alternative selection pkgdesc = Utilities for sensible alternative selection
pkgver = 0.0.20 pkgver = 0.0.20
pkgrel = 4 pkgrel = 5
url = http://packages.debian.org/source/sid/sensible-utils url = http://packages.debian.org/source/sid/sensible-utils
arch = any arch = any
license = GPL license = GPL
checkdepends = ed checkdepends = ed
checkdepends = dash checkdepends = dash
makedepends = po4a makedepends = po4a
makedepends = findutils
depends = bash depends = bash
depends = coreutils 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_.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_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 validpgpkeys = 5D0187B940A245BAD7B0F56A003A1A2DAA41085F
b2sums = e65419e7f157f64249b429806a4d48c02c5f492fb2dbdae1a8e4966dca964a4b1b9b6fdb555f03fabb6cd219238022821a64b15f11582ffdf115fa15ab6e3e0e b2sums = e65419e7f157f64249b429806a4d48c02c5f492fb2dbdae1a8e4966dca964a4b1b9b6fdb555f03fabb6cd219238022821a64b15f11582ffdf115fa15ab6e3e0e
b2sums = 8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09 b2sums = 8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09
b2sums = 7ce44eb32d7630155bdf0b6bb0dcb7263c74c5d7050ace953559efdb97448b8105d971c0b721ce34033cda3f32263e524ebfded39a6b7a02652a73bc29d46b98
b2sums = 8a213b98cc6d432af30ecf58d91ae88f151f2824274702f7e1bde6119b45effc4a0b15907459c9f8f1ee5af94de862e6dec579b4f07d168aaa658443764a1f19
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-browser pkgname = sensible-browser
depends = bash depends = bash
@@ -36,15 +52,5 @@ pkgname = sensible-terminal
depends = coreutils depends = coreutils
depends = sensible-utils-data depends = sensible-utils-data
pkgname = sensible-utils
pkgdesc = Utilities for sensible alternative selection (metapackage)
depends = bash
depends = coreutils
depends = sensible-browser
depends = sensible-editor
depends = sensible-pager
depends = sensible-terminal
depends = sensible-utils-data
pkgname = sensible-utils-data pkgname = sensible-utils-data
depends = bash depends = bash

2
.gitignore vendored
View File

@@ -3,3 +3,5 @@
!/.SRCINFO !/.SRCINFO
!/PKGBUILD !/PKGBUILD
!/sensible-utils*.asc !/sensible-utils*.asc
!/*.install
!/sensible-envvars

View File

@@ -4,30 +4,37 @@
# Contributor: Brian BIdulock <bidulock@openss7.org> # Contributor: Brian BIdulock <bidulock@openss7.org>
pkgbase=sensible-utils pkgbase=sensible-utils
_pkgname='sensible-browser sensible-editor sensible-pager sensible-terminal' pkgname=(sensible-utils sensible-browser sensible-editor sensible-pager sensible-terminal sensible-utils-data)
declare -g -a pkgname=($_pkgname) # This is the above minus the pkgbase name, for use in sensible-utils packaging command.
pkgname+=(sensible-utils sensible-utils-data) _pkgname=(sensible-browser sensible-editor sensible-pager sensible-terminal sensible-utils-data)
pkgver=0.0.20 pkgver=0.0.20
_debianextra='' _debianextra='' # Do not remove even if empty as sometimes Debian puts e.g. +1, their version of a pkgrel.
pkgrel=4 pkgrel=5
pkgdesc="Utilities for sensible alternative selection" pkgdesc="Utilities for sensible alternative selection"
arch=('any') arch=('any')
url="http://packages.debian.org/source/sid/sensible-utils" url="http://packages.debian.org/source/sid/sensible-utils"
license=('GPL') license=('GPL')
depends=('bash' 'coreutils') depends=('bash' 'coreutils')
makedepends=('po4a') makedepends=('po4a'
checkdepends=('ed' 'dash') # for xargs
'findutils')
checkdepends=('ed'
# see comment in check() function
'dash')
_dirname=${pkgbase}_${pkgver}_$pkgrel_${_debianextra} _dirname=${pkgbase}_${pkgver}_$pkgrel_${_debianextra}
source=("$_dirname.tar.xz::http://ftp.debian.org/debian/pool/main/s/$pkgbase/${pkgbase}_${pkgver}${_debianextra}.tar.xz" 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' b2sums=('e65419e7f157f64249b429806a4d48c02c5f492fb2dbdae1a8e4966dca964a4b1b9b6fdb555f03fabb6cd219238022821a64b15f11582ffdf115fa15ab6e3e0e'
'8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09') '8b122921916df3f4c138b99ac5183cae686e01be985db0ad2c77e3faff619779aecc596c6936c9f73f73ff3c73cf5ce30654df9158ce15caccd4ed0e0f50de09'
'7ce44eb32d7630155bdf0b6bb0dcb7263c74c5d7050ace953559efdb97448b8105d971c0b721ce34033cda3f32263e524ebfded39a6b7a02652a73bc29d46b98'
'8a213b98cc6d432af30ecf58d91ae88f151f2824274702f7e1bde6119b45effc4a0b15907459c9f8f1ee5af94de862e6dec579b4f07d168aaa658443764a1f19')
# Bastien ROUCARIÈS <rouca@debian.org>
validpgpkeys=('5D0187B940A245BAD7B0F56A003A1A2DAA41085F') validpgpkeys=('5D0187B940A245BAD7B0F56A003A1A2DAA41085F')
prepare() {
return 0
}
build() { build() {
cd ${pkgbase}-${pkgver}${_debianextra} cd ${pkgbase}-${pkgver}${_debianextra}
export -n EDITOR VISUAL PAGER TERMINAL_EMULATOR BROWSER export -n EDITOR VISUAL PAGER TERMINAL_EMULATOR BROWSER
@@ -35,21 +42,26 @@ build() {
make 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() { check() {
cd ${pkgbase}-${pkgver}${_debianextra} cd ${pkgbase}-${pkgver}${_debianextra}
test -L sh || ln -s /bin/dash sh
OLDPATH="$PATH" 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 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 sed -i -e 's@#!/usr/bin/env sh@#!/bin/sh@' ./sensible-editor
export PATH="$OLDPATH" export PATH="$OLDPATH"
rm -rv "$TEMPDIR"
} }
_package_sensible() { _package_sensible() {
cd ${pkgbase}-${pkgver}${_debianextra} cd ${pkgbase}-${pkgver}${_debianextra}
pkgdesc="$pkgdesc (${pkgname##*-})" pkgdesc="$pkgdesc (${pkgname##*-})"
export -n EDITOR VISUAL export -n EDITOR VISUAL PAGER TERMINAL_EMULATOR BROWSER
make DESTDIR="$pkgdir/" install make DESTDIR="$pkgdir/" install
shopt -s globstar shopt -s globstar
cd "$pkgdir" cd "$pkgdir"
@@ -82,10 +94,13 @@ package_sensible-utils-data() {
} }
package_sensible-utils() { package_sensible-utils() {
shopt -s extglob
local rms
rms='!(sensible-utils)'
pkgdesc="$pkgdesc (metapackage)" pkgdesc="$pkgdesc (metapackage)"
depends+=($_pkgname sensible-utils-data) depends+=(${_pkgname[@]})
mkdir -p "$pkgdir/usr/share/sensible-utils" install=sensible-utils.install
echo 1 > "$pkgdir/usr/share/sensible-utils/.ARCH" 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:

9
sensible-envvars Executable file
View File

@@ -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:

24
sensible-utils.install Normal file
View File

@@ -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: