Hello,
I've noticed the lack of a finger client in Parabola (even though there is a
finger daemon, ffingerd).
As such I've re-packaged one (patch attached to this email) based on the AUR
package (which in turn is based on a Debian package and patchset).
The only thing I'm not sure of is that the code uses the 4-clause BSD license,
which is apparently incompatible with the GPL but should still be free software.
I tried to look it up and understand if that still makes it FSDG-compliant (so
long it's not linked against) and I think it should be OK but I lack enough
knowledge to be 100% sure.

The PKGBUILD itself has been kept mostly unchanged, except adding a contributor
line and adding rewording the description to have "GNU/Linux" instead of
"Linux".

-- 
Kind Regards,
Wael Karram.


From 44862229b32022af304a28a8b903915d566e94a3 Mon Sep 17 00:00:00 2001
From: wael <[email protected]>
Date: Sun, 6 Nov 2022 09:12:16 +0200
Subject: [PATCH] Added PKGBUILD for bsd netkit finger.

---
 pcr/netkit-bsd-finger-ipv6/LICENSE           | 36 ++++++++++
 pcr/netkit-bsd-finger-ipv6/PKGBUILD          | 73 ++++++++++++++++++++
 pcr/netkit-bsd-finger-ipv6/finger.xinetd     |  9 +++
 pcr/netkit-bsd-finger-ipv6/fingerd.socket    | 11 +++
 pcr/netkit-bsd-finger-ipv6/[email protected]  |  8 +++
 pcr/netkit-bsd-finger-ipv6/fxputc-utf8.patch | 29 ++++++++
 6 files changed, 166 insertions(+)
 create mode 100644 pcr/netkit-bsd-finger-ipv6/LICENSE
 create mode 100644 pcr/netkit-bsd-finger-ipv6/PKGBUILD
 create mode 100644 pcr/netkit-bsd-finger-ipv6/finger.xinetd
 create mode 100644 pcr/netkit-bsd-finger-ipv6/fingerd.socket
 create mode 100644 pcr/netkit-bsd-finger-ipv6/[email protected]
 create mode 100644 pcr/netkit-bsd-finger-ipv6/fxputc-utf8.patch

diff --git a/pcr/netkit-bsd-finger-ipv6/LICENSE b/pcr/netkit-bsd-finger-ipv6/LICENSE
new file mode 100644
index 000000000..78254519a
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/LICENSE
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 1989 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Tony Nardo of the Johns Hopkins University/Applied Physics Lab.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ *    must display the following acknowledgement:
+ *      This product includes software developed by the University of
+ *      California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
diff --git a/pcr/netkit-bsd-finger-ipv6/PKGBUILD b/pcr/netkit-bsd-finger-ipv6/PKGBUILD
new file mode 100644
index 000000000..e0d8749dc
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/PKGBUILD
@@ -0,0 +1,73 @@
+# Maintainer (AUR): Mantas Mikulėnas <[email protected]>
+# Contributer (Parabola): Wael Karram <[email protected]>
+
+# Parabola changes and rationale:
+# Minor rewording to be FSDG-compliant.
+
+pkgname=netkit-bsd-finger-ipv6
+pkgver=0.17+deb17
+_pkgver=${pkgver%+*}
+pkgrel=1
+#pkgdesc="bsd-finger ported to Linux, with IPv6 and other Debian patches"
+pkgdesc="bsd-finger ported to GNU/Linux, with IPv6 and other Debian patches"
+arch=(i686 x86_64)
+url="ftp://ftp.linux.org.uk/pub/linux/Networking/netkit/";
+#license=(BSD)
+license=('BSD4')
+provides=(netkit-bsd-finger)
+conflicts=(netkit-bsd-finger)
+backup=(etc/xinetd.d/finger)
+source=("http://ftp.de.debian.org/debian/pool/main/b/bsd-finger/bsd-finger_${_pkgver}.orig.tar.bz2";
+        "http://ftp.de.debian.org/debian/pool/main/b/bsd-finger/bsd-finger_${pkgver/+deb/-}.debian.tar.xz";
+        "finger.xinetd"
+        "fingerd.socket"
+        "[email protected]"
+        "LICENSE"
+        "fxputc-utf8.patch")
+md5sums=('99ef35e79cad0d941d860a10498420fd'
+         '1fb6da7103b1d59b9b5d408b7978c0db'
+         'f6e07ede6acab481051f7bf51ce1fe8e'
+         '03675e125705fe7ca1424d7d0514e8d8'
+         '538dc00efa569de9fa36ca04a0880b62'
+         '5fc568418a0379fc3a358ed1c2523b44'
+         'ceb45b74b0a98a4b5dd2b143d69e88bc')
+sha256sums=('28b34d605d23ea687d79e0fc48c035abe80f88d9c1547e7aa46796d1081c0363'
+            '3d8cbc2127d99915e474137cebce08bda0f4bd13d57a4916d1a455dab10cce3c'
+            'ce8e90ac9e149e6696fe67766adc19c6f8973515ecafe9f3432f6588c064980d'
+            'e0d2febdfa1240893d88d7795f329cc8f3354a679c35e973c31d26970b9b095c'
+            '2c3e0f45ecea483b129288be96e17f5f45199d24611e8027ca29e13758fd68d3'
+            '3774a4bb6207edc124838915911bd139a78312336876a9fe59700216dfeb54b4'
+            '218ea0000348149ef6a7a9577b7688a32169cb2f57f297fe8218aef042cae0e4')
+
+prepare() {
+  cd "bsd-finger-${_pkgver}"
+
+  while read -r file; do
+     patch -p1 < "../debian/patches/$file"
+  done < "../debian/patches/series"
+
+  patch -p1 < "../fxputc-utf8.patch"
+
+  sed -i 's@include <sys/time.h>@include <time.h>@' finger/lprint.c
+  sed -i 's@include <sys/time.h>@include <time.h>@' finger/sprint.c
+}
+
+build() {
+  cd "bsd-finger-${_pkgver}"
+
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd "bsd-finger-${_pkgver}"
+
+  install -d "$pkgdir"/usr/{bin,share/man/{man1,man8}}
+  make INSTALLROOT="$pkgdir" SBINDIR=/usr/bin MANDIR=/usr/share/man install
+
+  cd "$srcdir"
+  install -Dm0644 LICENSE          "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+  install -Dm0644 fingerd.socket   "$pkgdir/usr/lib/systemd/system/fingerd.socket"
+  install -Dm0644 [email protected] "$pkgdir/usr/lib/systemd/system/[email protected]"
+  install -Dm0644 finger.xinetd    "$pkgdir/etc/xinetd.d/finger"
+}
diff --git a/pcr/netkit-bsd-finger-ipv6/finger.xinetd b/pcr/netkit-bsd-finger-ipv6/finger.xinetd
new file mode 100644
index 000000000..c1b8e8c8c
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/finger.xinetd
@@ -0,0 +1,9 @@
+service finger
+{
+	disable		= yes
+	socket_type	= stream
+	wait		= no
+	user		= nobody
+	server		= /usr/bin/in.fingerd
+	flags		= IPv6
+}
diff --git a/pcr/netkit-bsd-finger-ipv6/fingerd.socket b/pcr/netkit-bsd-finger-ipv6/fingerd.socket
new file mode 100644
index 000000000..f7c68e889
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/fingerd.socket
@@ -0,0 +1,11 @@
+[Unit]
+Description=Finger remote user information server
+Documentation=man:in.fingerd(8)
+Documentation=man:finger(1)
+
+[Socket]
+ListenStream=79
+Accept=yes
+
+[Install]
+WantedBy=sockets.target
diff --git a/pcr/netkit-bsd-finger-ipv6/[email protected] b/pcr/netkit-bsd-finger-ipv6/[email protected]
new file mode 100644
index 000000000..6bfaeb4b8
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/[email protected]
@@ -0,0 +1,8 @@
+[Unit]
+Description=Finger remote user information server
+Documentation=man:in.fingerd(8)
+Documentation=man:finger(1)
+
+[Service]
+ExecStart=/usr/bin/in.fingerd
+StandardInput=socket
diff --git a/pcr/netkit-bsd-finger-ipv6/fxputc-utf8.patch b/pcr/netkit-bsd-finger-ipv6/fxputc-utf8.patch
new file mode 100644
index 000000000..a322dc262
--- /dev/null
+++ b/pcr/netkit-bsd-finger-ipv6/fxputc-utf8.patch
@@ -0,0 +1,29 @@
+--- a/finger/display.c
++++ b/finger/display.c
+@@ -117,9 +117,12 @@ fxputc(FILE *f, int ch)
+ 	 * 
+ 	 * It would be nice if we could set the terminal to display in the
+ 	 * right charset, but we have no way to know what it is. feh.
++	 *
++	 * (Stripping of 128-159 is no longer necessary and in fact actively
++	 * harmful with UTF-8-capable terminals. Removed. --grawity)
+ 	 */
+ 	
+-	if (((ch&0x7f) >= 32 && (ch&0x7f) != 0x7f) || ch=='\t') {
++	if ((ch >= 32 && ch != 0x7f) || ch=='\t') {
+ 		putc(ch, f);
+ 		return;
+ 	}
+@@ -130,12 +133,6 @@ fxputc(FILE *f, int ch)
+ 		return;
+ 	}
+ 
+-	if (ch&0x80) {
+-		putc('M', f);
+-		putc('-', f);
+-		ch &= 0x7f;
+-	}
+-
+ 	putc('^', f);
+ 	if (ch==0x7f) putc('?', f);
+ 	else putc(ch+'@', f);
-- 
2.38.1

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Dev mailing list
[email protected]
https://lists.parabola.nu/mailman/listinfo/dev

Reply via email to