Subject: [alpine-aports] [PATCH] testing/diod: new aport

From: Pavel Renev <[email-masked]>
Date: Wed, 28 Oct 2015 21:26:27 +0300

http://github.com/chaos/diod
diod is a multi-threaded, user space file server that speaks 9P2000.L protocol.
---
 testing/diod/APKBUILD | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
 testing/diod/diod     |  7 +++++++
 2 files changed, 60 insertions(+)
 create mode 100644 testing/diod/APKBUILD
 create mode 100755 testing/diod/diod

diff --git a/testing/diod/APKBUILD b/testing/diod/APKBUILD
new file mode 100644
index 0000000..bc289fb
--- /dev/null
+++ b/testing/diod/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: An2Q ZaVok <[email-masked]>
+# Maintainer:
+pkgname=diod
+pkgver=1.0.24
+pkgrel=0
+pkgdesc="diod is a multi-threaded, user space file server that speaks 9P2000.L protocol."
+url="http://github.com/chaos/diod"
+arch="all"
+license="GPLv2"
+depends="lua5.1 libcap"
+depends_dev="attr-dev lua5.1-dev"
+makedepends="$depends_dev"
+install=""
+subpackages="$pkgname-doc"
+source="https://github.com/chaos/diod/archive/master.zip
+diod"
+
+_builddir="$srcdir"/diod-master
+prepare() {
+	local i
+	cd "$_builddir"
+	for i in $source; do
+		case $i in
+		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+		esac
+	done
+}
+
+build() {
+	cd "$_builddir"
+	./autogen.sh || return 1
+	./configure --prefix=/usr/ --sysconfdir=/etc --sbindir=/usr/bin CFLAGS=-O2 || return 1
+	make || return 1
+}
+
+package() {
+	cd "$_builddir"
+	make DESTDIR="$pkgdir" install || return 1
+	ln -s /usr/bin/diodmount "$pkgdir"/usr/bin/mount.diod
+	#replacing systemd.service with openrc script
+	rm -rf "$pkgdir/etc/systemd"
+	mkdir "$pkgdir/etc/init.d"
+	cp "$srcdir/diod" "$pkgdir/etc/init.d"
+	chmod +x "$pkgdir/etc/init.d"
+
+}
+
+md5sums="a31cf0aba61eb6c293a0f15c093cfbec  master.zip
+18f81219f1a64ac596ff94e595689d43  diod"
+sha256sums="297684512f6c00d2c835357e946f1961030019d5836e56911c8aeca090d72451  master.zip
+48d8db2ffc992a2bc8f4d5446e804004932a0050cfd9d6e7b85824474e43b9b6  diod"
+sha512sums="36488bf4a6b42b1cf8bc8b5370ea913084b59394258c9337ae3d11015d4d71cf60d71366445b208e026baaf96aec8679ee9efda7a43c8b06bc54a47dc45aba8f  master.zip
+963721cb06a5761101387b869f7513ffcfd2cd0e1b1bb57fb3c987d18827bc4bac6e66556b9ae6c67d3581c04565052aed410513fb2294d1e1fa235bbd7aaf9c  diod"
diff --git a/testing/diod/diod b/testing/diod/diod
new file mode 100755
index 0000000..44de6b7
--- /dev/null
+++ b/testing/diod/diod
@@ -0,0 +1,7 @@
+#!/sbin/runscript
+
+start() {
+	ebegin
+		start-stop-daemon --start -p /var/run/diod.pid -mbx /usr/bin/diod -- -f
+	eend $?
+}
-- 
2.6.1

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Natanael Copa <[email-masked]>
Date: Wed, 4 Nov 2015 10:54:38 +0100

On Wed, 28 Oct 2015 21:26:27 +0300

>  create mode 100755 testing/diod/diod

Seems like there are missing dependency for automake autoconf:

Running aclocal ... 
./autogen.sh: line 4: aclocal: not found
Running autoheader ... 
sh: automake: not found
autoheader: error: AC_CONFIG_HEADERS not found in configure.ac
Running automake ... 
./autogen.sh: line 10: automake: not found
Running autoconf ... 
configure.ac:9: error: possibly undefined macro: X_AC_META
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:10: error: possibly undefined macro: X_AC_EXPAND_INSTALL_DIRS
configure.ac:15: error: possibly undefined macro: AM_INIT_AUTOMAKE
configure.ac:20: error: possibly undefined macro: AM_SILENT_RULES
configure.ac:21: error: possibly undefined macro: AM_CONFIG_HEADER
configure.ac:22: error: possibly undefined macro: AM_MAINTAINER_MODE
configure.ac:31: error: possibly undefined macro: AM_PROG_CC_C_O
configure.ac:65: error: possibly undefined macro: X_AC_CHECK_PTHREADS
configure.ac:66: error: possibly undefined macro: X_AC_WRAP
configure.ac:67: error: possibly undefined macro: X_AC_CURSES
configure.ac:68: error: possibly undefined macro: X_AC_CHECK_COND_LIB
configure.ac:70: error: possibly undefined macro: X_AC_TCMALLOC
configure.ac:74: error: possibly undefined macro: X_AC_RDMATRANS
Cleaning up ...
mv: can't rename 'aclocal.m4': No such file or directory
Now run ./configure to configure diod for your environment.
configure: error: cannot find install-sh, install.sh, or shtool in config "."/config
>>> ERROR: diod: all failed

> +++ b/testing/diod/APKBUILD

you probably dont need libcap as depends as it should be pulled in automatically.

> +source="https://github.com/chaos/diod/archive/master.zip

we cannot use 'master.zip' as source tarball. It is dynamically
generated from git master HEAD. Which means next person trying to build
this might get something else and checksum will fail.

We should use releases or git tags.

---