| Name |
iana-etc |
| Description |
/etc/protocols and /etc/services provided by IANA |
| Version |
20260203-1 |
| Package Base |
iana-etc |
| Homepage |
https://www.iana.org/protocols |
| Maintainers |
['Jelle van der Waa <jelle@archlinux.org>'] |
| Contributors |
['Gaetan Bisson <bisson@archlinux.org>', 'Thomas Bächler <thomas@archlinux.org>'] |
| Distro-repo |
https://gitlab.archlinux.org/archlinux/packaging/packages/iana-etc |
| Sources |
['https://sources.archlinux.org/other/packages/iana-etc/protocol-numbers-20250712.xml', 'https://sources.archlinux.org/other/packages/iana-etc/service-names-port-numbers-20260214.xml', 'license-from-upstream'] |
| Dependencies |
[] |
| Optional-Dependencies |
[] |
| Build-Dependencies |
[] |
| Provides |
[] |
| Builddate |
04-02-2026 18:16:10 |
| Architecture |
any |
| Distro-Version |
|
| Licenses |
['custom:none'] |
| Hash |
e692f1d4f1d5982b31ce9db26dc78a7e06db6ab4705135186a8650aac41b1e14 |
# Contributor: Thomas Bächler <thomas@archlinux.org>
# Contributor: Gaetan Bisson <bisson@archlinux.org>
# Maintainer: Jelle van der Waa <jelle@archlinux.org>
pkgname=iana-etc
pkgver=20260214
_ports=service-names-port-numbers-${pkgver}
_protocols=protocol-numbers-20250712
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-from-upstream')
sha256sums=('231b37308038faecae197580278b14b0a66186097b850cbb26b22fa5fb7aa64c'
'ae8e9a2d0e18c3a34640d71ccfdae68c8f2e38704c80affd30c86f59d15d7b31'
'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-from-upstream "${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"
}