jobcore/iana-etc/PKGBUILD

65 lines
2.4 KiB
Bash

#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobcore/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=iana-etc
pkgver=20231117
_protocols=protocol-numbers-20231107
_ports=service-names-port-numbers-${pkgver}
pkgrel=01
pkgdesc='/etc/protocols and /etc/services provided by IANA'
url='https://www.iana.org/protocols'
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" }
(/<record/) { v=n="" }
(/<value/) { v=$3 }
(/<name/ && $3!~/ /) { n=$3 }
(/<\/record/ && n && v!="") { printf "%-12s %3i %s\n", tolower(n),v,n }
' ${_protocols}.xml > "${pkgdir}/etc/protocols"
gawk -F"[<>]" '
BEGIN { print "# Full data: /usr/share/iana-etc/port-numbers.iana\n" }
(/<record/) { n=u=p=c="" }
(/<name/ && !/\(/) { n=$3 }
(/<number/) { u=$3 }
(/<protocol/) { p=$3 }
(/Unassigned/ || /Reserved/ || /historic/) { c=1 }
(/<\/record/ && n && u && p && !c) { printf "%-15s %5i/%s\n", n,u,p }
' ${_ports}.xml > "${pkgdir}/etc/services"
}
#---- arch license gpg-key & sha256sums ----
arch=('any')
license=('custom:none')
sha256sums=(3ccb6b8ab4e43954ce87c9d5d22b96bfb9c46976f6ebfc4b7e2800ff8bb2acb1 # service-names-port-numbers-20231117.xml
01aee83ab0efd18d9c92b9497c8eaec454471a9613dbb66b1e859313ea75e68d # protocol-numbers-20231117.xml
dd37e92942d5a4024f1c77df49d61ca77fc6284691814903a741785df61f78cb) # LICENSE
## c52134929d64336c108720a552f81f014dc5679a382dbf3c9a77fa49c5f021ff iana-etc-20231117-01-any.pkg.tar.lz
## 9b778578168169bc059d415837dac7dc68ce94c1c0678843d7e4125444dc0b08 iana-etc-20231117-01-any.pkg.tar.lz