From 582f337f8d50d6720058a40707409f5382dbf971 Mon Sep 17 00:00:00 2001
From: James Meyer <james.meyer@operamail.com>
Date: Thu, 16 Aug 2012 21:16:04 -0500
Subject: iana-etc rebuild to populate /etc/services

---
 abs/core/iana-etc/Makefile.patch |  11 ----
 abs/core/iana-etc/PKGBUILD       |  47 +++++++-------
 abs/core/iana-etc/newer.patch    | 133 +++++++++++++++++++++++++++++++++++++++
 3 files changed, 156 insertions(+), 35 deletions(-)
 delete mode 100644 abs/core/iana-etc/Makefile.patch
 create mode 100644 abs/core/iana-etc/newer.patch

diff --git a/abs/core/iana-etc/Makefile.patch b/abs/core/iana-etc/Makefile.patch
deleted file mode 100644
index b25bc26..0000000
--- a/abs/core/iana-etc/Makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Makefile.old	2010-07-23 04:16:11.000000000 -0300
-+++ Makefile	2010-07-23 04:16:11.000000000 -0300
-@@ -42,7 +42,7 @@
- 	    protocol-numbers.iana port-numbers.iana
- 
- protocol-numbers.iana:
--	$(AWK) -f get.gawk -v file=protocol-numbers >protocol-numbers.iana
-+	$(AWK) -f get.gawk -v file=protocol-numbers/protocol-numbers.txt >protocol-numbers.iana
- 	rm -f protocol-numbers
- 
- port-numbers.iana:
diff --git a/abs/core/iana-etc/PKGBUILD b/abs/core/iana-etc/PKGBUILD
index ef85afb..57849f0 100644
--- a/abs/core/iana-etc/PKGBUILD
+++ b/abs/core/iana-etc/PKGBUILD
@@ -1,37 +1,36 @@
-# $Id: PKGBUILD 129440 2011-06-27 17:40:46Z dan $
-# Maintainer: Thomas Bächler <thomas@archlinux.org>
+# $Id: PKGBUILD 164065 2012-07-26 15:21:18Z bisson $
+# Contributor: Thomas Bächler <thomas@archlinux.org>
+# Maintainer: Gaetan Bisson <bisson@archlinux.org>
+
 pkgname=iana-etc
 pkgver=2.30
-pkgrel=2
-pkgdesc="/etc/protocols and /etc/services provided by IANA"
+pkgrel=3
+pkgdesc='/etc/protocols and /etc/services provided by IANA'
+url='http://sethwklein.net/iana-etc.html'
 arch=('any')
-url="http://sethwklein.net/iana-etc"
 license=('custom')
-makedepends=('awk')
-source=(http://sethwklein.net/iana-etc-2.30.tar.bz2
-        Makefile.patch)
-sha256sums=('b9a6874fb20012836efef75452ef2acae624022d680feeb1994d73facba3f20d'
-            '3e6db7adb8a67b765b8be65825f2a0e6c525eb42367385193c678af6b75d0321')
+backup=('etc/'{protocols,services})
+source=("http://sethwklein.net/${pkgname}-${pkgver}.tar.bz2"
+        'newer.patch')
+sha1sums=('218593bcb9264014c4e397d838b2c218eac9df06'
+          '1e306cf77bc4e97cc020d6c53cb9de81c186a483')
 
 build() {
-  cd "$srcdir/$pkgname-$pkgver"
-
-  patch -p0 -i "$srcdir/Makefile.patch"
-  make get
-  make
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	patch -p1 -i ../newer.patch
+	make get
+	make
 }
 
 check() {
-  cd "$srcdir/$pkgname-$pkgver"
-
-  make test
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make test
 }
 
 package() {
-  cd "$srcdir/$pkgname-$pkgver"
-
-  make DESTDIR="$pkgdir" install
-  install -D -m644 COPYING "$pkgdir/usr/share/licenses/iana-etc/LICENSE"
+	cd "${srcdir}/${pkgname}-${pkgver}"
+	make DESTDIR="${pkgdir}" install
+	install -Dm644 COPYING "${pkgdir}/usr/share/licenses/iana-etc/LICENSE"
+	install -Dm644 port-numbers.iana "${pkgdir}/usr/share/iana-etc/port-numbers.iana"
+	install -Dm644 protocol-numbers.iana "${pkgdir}/usr/share/iana-etc/protocol-numbers.iana"
 }
-
-# vim:set ts=2 sw=2 et:
diff --git a/abs/core/iana-etc/newer.patch b/abs/core/iana-etc/newer.patch
new file mode 100644
index 0000000..6b623dc
--- /dev/null
+++ b/abs/core/iana-etc/newer.patch
@@ -0,0 +1,133 @@
+diff -Naur old/Makefile new/Makefile
+--- old/Makefile	2008-03-06 05:02:40.000000000 +1100
++++ new/Makefile	2012-07-23 03:20:19.009174483 +1000
+@@ -42,11 +42,11 @@
+ 	    protocol-numbers.iana port-numbers.iana
+ 
+ protocol-numbers.iana:
+-	$(AWK) -f get.gawk -v file=protocol-numbers >protocol-numbers.iana
++	$(AWK) -f get.gawk -v file=protocol-numbers/protocol-numbers.xml >protocol-numbers.iana
+ 	rm -f protocol-numbers
+ 
+ port-numbers.iana:
+-	$(AWK) -f get.gawk -v file=port-numbers >port-numbers.iana
++	$(AWK) -f get.gawk -v file=service-names-port-numbers/service-names-port-numbers.xml >port-numbers.iana
+ 	rm -f port-numbers
+ 
+ protocol-numbers:
+diff -Naur old/get.gawk new/get.gawk
+--- old/get.gawk	2008-03-06 05:04:18.000000000 +1100
++++ new/get.gawk	2012-07-23 03:20:19.009174483 +1000
+@@ -26,7 +26,7 @@
+ 	NR++
+ 
+ 	if (in_content) { print }
+-	if (/^$/)       { in_content=1 }
++	if (/^\r?$/)    { in_content=1 }
+     }
+ 
+     printf "\n" >"/dev/stderr"
+diff -Naur old/protocols.gawk new/protocols.gawk
+--- old/protocols.gawk	2006-11-15 05:20:26.000000000 +1100
++++ new/protocols.gawk	2012-07-23 03:22:13.479330458 +1000
+@@ -1,32 +1,13 @@
+-#!/usr/bin/gawk --re-interval -f
+-# the above doesn't work (stupid kernel) but serves as documentation
+-
+-# Copyright (c) 2003-2004, 2006 Seth W. Klein <sk@sethwklein.net>
+-# Licensed under the Open Software License version 3.0
+-# See the file COPYING in the distribution tarball or
+-# http://www.opensource.org/licenses/osl-3.0.txt
++#!/usr/bin/awk -f
+ 
+ BEGIN {
+-    if (strip == "yes") {
+-	strip = 1
+-	format = "%s\t%s\t%s\n"
+-	header_printed = 1
+-    } else {
+-	strip = 0
+-	print "# See also: protocols(5)" \
+-	    ", http://www.sethwklein.net/projects/iana-etc/\n#"
+-	format = "%-12s %3s %-12s # %s\n"
+-	header_printed = 0
+-    }
++	print "# See the full IANA XML file at: /usr/share/iana-etc/protocol-numbers.iana\n"
++	FS="[<>]"
+ }
+-{ sub(/\r/, "") }
+-match($0, /^[ \t]+([0-9]+)[ \t]{1,5}([^ \t]+)(.*)/, f) {
+-    if ( ! header_printed) {
+-	printf format, "# protocol", "num", "aliases", "comments"
+-	header_printed = 1;
+-    }
+-    sub(/^[ \t]*/, "", f[3])
+-    printf format, tolower(f[2]), f[1], f[2], f[3]
+-    next
++
++{
++	if (/<record/) { v=n=0 }
++	if (/<value/) v=$3
++	if (/<name/ && !($3~/ /)) n=$3
++	if (/<\/record/ && (v || n=="HOPOPT") && n) printf "%-12s %3i %s\n", tolower(n),v,n
+ }
+-!strip { print "# " $0 }
+diff -Naur old/services.gawk new/services.gawk
+--- old/services.gawk	2008-03-06 04:51:45.000000000 +1100
++++ new/services.gawk	2012-07-23 03:22:32.272685489 +1000
+@@ -1,44 +1,15 @@
+-#!/usr/bin/gawk -f
+-
+-# Copyright (c) 2003-2004, 2006, 2008 Seth W. Klein <sk@sethwklein.net>
+-# Licensed under the Open Software License version 3.0
+-# See the file COPYING in the distribution tarball or
+-# http://www.opensource.org/licenses/osl-3.0.txt
++#!/usr/bin/awk -f
+ 
+ BEGIN {
+-    if (strip == "yes") {
+-	strip = 1
+-    } else {
+-	strip = 0
+-	print "# See also: services(5)" \
+-	    ", http://www.sethwklein.net/projects/iana-etc/\n#"
+-    }
+-    while (getline <"port-aliases") {
+-	sub(/#.*/, "")
+-	if (/^[ \t]*$/) { continue }
+-	#                  1:name         2:protocol     3:aliases
+-	match($0, /^[ \t]*([^ \t]+)[ \t]+([^ \t]+)[ \t]+(.*)$/, f)
+-	aliases[f[1] " " f[2]] = " " f[3]
+-    }
++	print "# See the full IANA XML file at: /usr/share/iana-etc/port-numbers.iana\n"
++	FS="[<>]"
+ }
+-{ sub(/\r/, "") }
+-#           1:name               2:ws    3:port  4:range     5:proto  6:comment
+-match($0, /(^[[:alnum:]][^ \t]+)([ \t]+)([0-9]+)(-[0-9]+)?\/([^ \t]+)(.*)/, f) \
+-&& f[3] != "0" {
+-# port 0 means unallocated, per port-numbers
+-    name = f[1]
+-    whitespace = f[2]
+-    port = f[3]
+-    protocol = f[5]
+-    comment = f[6]
+-    if (strip) {
+-	whitespace = "\t"
+-	comment = ""
+-    } else if (length(comment) > 0)
+-	sub(/^[ \t]*/, "&# ", comment)
+-    print name whitespace port "/" protocol aliases[name " " protocol] comment
+-    next
++
++{
++	if (/<record/) { n=u=p=c=0 }
++	if (/<name/ && !/\(/) n=$3
++	if (/<number/) u=$3
++	if (/<protocol/) p=$3
++	if (/Unassigned/ || /Reserved/ || /historic/) c=1
++	if (/<\/record/ && n && u && p && !c) printf "%-15s %5i/%s\n", n,u,p # services
+ }
+-# comment out, prettily
+-!/^#/ { sub(/^ /, "#") || sub(/^/, "# ") }
+-!strip { print }
-- 
cgit v0.12

