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

From: Alexander Belkov <[email-masked]>
Date: Thu, 4 Feb 2016 10:38:41 +0000

http://packages.qa.debian.org/a/at.html
AT and batch delayed command scheduling utility and daemon
---
 testing/at/10-Makefile.in-1.patch | 11 ++++++
 testing/at/10-parsetime.l-1.patch | 11 ++++++
 testing/at/10-parsetime.y-1.patch | 12 ++++++
 testing/at/APKBUILD               | 79 +++++++++++++++++++++++++++++++++++++++
 testing/at/at.allow               |  1 +
 testing/at/at.initd               | 27 +++++++++++++
 testing/at/at.pre-install         | 16 ++++++++
 7 files changed, 157 insertions(+)
 create mode 100644 testing/at/10-Makefile.in-1.patch
 create mode 100644 testing/at/10-parsetime.l-1.patch
 create mode 100644 testing/at/10-parsetime.y-1.patch
 create mode 100644 testing/at/APKBUILD
 create mode 100644 testing/at/at.allow
 create mode 100644 testing/at/at.initd
 create mode 100644 testing/at/at.pre-install

diff --git a/testing/at/10-Makefile.in-1.patch b/testing/at/10-Makefile.in-1.patch
new file mode 100644
index 0000000..efe662a
--- /dev/null
+++ b/testing/at/10-Makefile.in-1.patch
@@ -0,0 +1,11 @@
+--- at-3.1.16/Makefile.in.orig
++++ at-3.1.16/Makefile.in
+@@ -12,7 +12,7 @@
+ man1dir		= $(mandir)/man1
+ man5dir		= $(mandir)/man5
+ man8dir		= $(mandir)/man8
+-docdir		= $(prefix)/doc
++docdir		= $(prefix)/share/doc
+ atdocdir	= $(docdir)/at
+ etcdir		= @ETCDIR@
+ systemdsystemunitdir = @systemdsystemunitdir@
diff --git a/testing/at/10-parsetime.l-1.patch b/testing/at/10-parsetime.l-1.patch
new file mode 100644
index 0000000..30fda69
--- /dev/null
+++ b/testing/at/10-parsetime.l-1.patch
@@ -0,0 +1,11 @@
+--- at-3.1.16/parsetime.l.orig
++++ at-3.1.16/parsetime.l
+@@ -32,6 +32,8 @@
+     } while(0)
+ %}
+ 
++%option noyywrap
++
+ %%
+ 
+ now		{ COPY_TOK ; return NOW; }
diff --git a/testing/at/10-parsetime.y-1.patch b/testing/at/10-parsetime.y-1.patch
new file mode 100644
index 0000000..33e3da2
--- /dev/null
+++ b/testing/at/10-parsetime.y-1.patch
@@ -0,0 +1,12 @@
+--- at-3.1.16/parsetime.orig.y
++++ at-3.1.16/parsetime.y
+@@ -17,6 +17,9 @@
+ extern int yylex();
+ 
+ int add_date(int number, int period);
++#ifndef __isleap
++#define __isleap(year) ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0))
++#endif
+ %}
+ 
+ %union {
diff --git a/testing/at/APKBUILD b/testing/at/APKBUILD
new file mode 100644
index 0000000..3152a3e
--- /dev/null
+++ b/testing/at/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Alexander Belkov <[email-masked]>
+# Maintainer:
+pkgname=at
+pkgver=3.1.16
+pkgrel=2
+pkgdesc="AT and batch delayed command scheduling utility and daemon"
+url="http://packages.qa.debian.org/a/at.html"
+arch="all"
+license="GPL"
+makedepends="ssmtp flex-dev byacc"
+depends_dev=""
+install="${pkgname}.pre-install"
+options=suid
+subpackages="at-doc"
+source="http://http.debian.net/debian/pool/main/a/at/at_$pkgver.orig.tar.gz
+	10-parsetime.l-1.patch
+	10-parsetime.y-1.patch
+	10-Makefile.in-1.patch
+	at.allow
+	at.initd
+	$install
+	"
+
+_builddir="${srcdir}/at-${pkgver}"
+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"
+	LEXLIB=-lfl \
+	./configure --prefix=/usr \
+	            --sbindir=/usr/sbin \
+		    --with-daemon_username=at \
+		    --with-daemon_groupname=at \
+	            --with-jobdir=/var/spool/atd \
+		    --with-atspool=/var/spool/atd || return 1
+	make || return 1
+}
+
+package() {
+	cd "$_builddir"
+
+	/usr/bin/install -D -o root -g at -m 640 "$srcdir"/at.allow \
+		"$pkgdir"/etc/at.allow || return 1
+
+	make IROOT="$pkgdir" install || return 1
+
+	/usr/bin/install -m 755 -D "$srcdir"/at.initd \
+		"$pkgdir"/etc/init.d/at || return 1
+}
+
+md5sums="d05da75d9b75d93917ffb16ab48b1e19  at_3.1.16.orig.tar.gz
+abb292896ed30e1f248dfebf4c4a6fb8  10-parsetime.l-1.patch
+39823f4034d2b5b2000ca717938f930f  10-parsetime.y-1.patch
+519f72f88e58b5ce79aff376ec90fcc9  10-Makefile.in-1.patch
+74cc1c60799e0a786ac7094b532f01b1  at.allow
+1fdebfd6f648bcc0ea6a8f65acca483b  at.initd
+3d32764a34e2d36d8ea9788bb15302d5  at.pre-install"
+sha256sums="cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1  at_3.1.16.orig.tar.gz
+0f2bc8e5dbbc55d2b45a1d1bd5bb753180539d37e298d062daf090b055e84494  10-parsetime.l-1.patch
+baad966d910912a2c516fcb13f6f09b032e3ed4f677158e943c99f35cd31d9d8  10-parsetime.y-1.patch
+9ef0710b066f02665819d03ac85c161398b8eef3558a4645481c1e926cb41f79  10-Makefile.in-1.patch
+53175bcc0524f37b47062fafdda28e3f8eb91d519ca0a184ca71bbebe72f969a  at.allow
+8d2ff3dd363c951c808138b49b37156197822003f6ddf7a96838d543a906e7c2  at.initd
+e08e691f914686cd17b3066e19e985b8f2eb84b668f011b1f0d43b7a2f3ff470  at.pre-install"
+sha512sums="d63132536d01153c4b38499b316c8a7980cd47a75b00fb5edc6e41f24345f97b55b20e5801d50f1bde2f337acc7bdb7e318456c241415e7b7bddee7e51e68ad5  at_3.1.16.orig.tar.gz
+5a8b180075be604e70d7ef311da9f143425a5e669c8fc5e58b43177fdbb0108e3ad4c5d1edea68c9b013fd92fbbad7f9dd1ea0da51ffb1e745ff9ffa244f3401  10-parsetime.l-1.patch
+130e1cf3c309516d7c3eed2af24a208f82db2367df7c594001695943e8408f77d6b33597e16e128b5c4a9732f3b8c2d5225e7c3b0265512b2b1a92b24b83fcbc  10-parsetime.y-1.patch
+40bdb7726b904a82125ce68971d995a623ee2fad42f7092ade227c08ba1bc07a50e184677b66c8b9375aa97370ef9dcd6f583a4f857962630e8cf51bdb7a9ef4  10-Makefile.in-1.patch
+21e1bc024bd76c76b68e04614c6def5b03fd4b658e59bfde065b464b520f463711b795455e3a5c81a8a1946b2bca2f83d6c19300a4d3326ce17959a7cbc0846a  at.allow
+4c0a9854acabe1226306b776e315c119775f026f699364d1a20a90e454576bf411ac2c55c9899bd1a5630be2618d692d80250fe3a124e1dcc4fd557302191881  at.initd
+e2ef43a9265f5e3a2d876de5f751d7011424e6b6c0948da29b268c16e67240802b948e6f1bd6a79e989282b27fe5ff0873a8deca1896288b6b93780d86cde82f  at.pre-install"
diff --git a/testing/at/at.allow b/testing/at/at.allow
new file mode 100644
index 0000000..d8649da
--- /dev/null
+++ b/testing/at/at.allow
@@ -0,0 +1 @@
+root
diff --git a/testing/at/at.initd b/testing/at/at.initd
new file mode 100644
index 0000000..dcaa6cf
--- /dev/null
+++ b/testing/at/at.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+# Sample init.d file for alpine linux.
+
+name=atd
+daemon=/usr/sbin/$name
+
+depend() {
+	after localmount
+}
+
+start() {
+	ebegin "Starting command schedulng daemon ${name}"
+		start-stop-daemon --start --quiet \
+			--pidfile /var/run/${name}.pid \
+			--exec ${daemon}
+	eend $?
+}
+
+stop() {
+	ebegin "Stopping command schedulng daemon ${name}"
+		start-stop-daemon --stop --quiet \
+			--pidfile /var/run/$name.pid \
+			--exec ${daemon}
+	eend $?
+}
+
diff --git a/testing/at/at.pre-install b/testing/at/at.pre-install
new file mode 100644
index 0000000..058a9d0
--- /dev/null
+++ b/testing/at/at.pre-install
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+if ! getent group at >/dev/null; then
+	addgroup -S at 2>/dev/null
+fi
+
+if ! getent passwd at >/dev/null; then
+	adduser -H -s /bin/false -D at 2>/dev/null
+fi
+
+if [ -z `echo " $(groups at) " | grep ' at '`] ; then
+	addgroup at at 2>/dev/null
+fi
+
+exit 0
+
-- 
2.6.4

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

---

From: Alexander Belkov <[email-masked]>
Date: Wed, 10 Feb 2016 11:09:54 +0000

This is original version of the new aport. Corrections suggested by Leonardo Arena (gratefully accepted) follow in the successive patch in session.
Failed to put everything in a single patch - not a git-profi so far :/

---

---