From dc9c30ff5a8e455939280553546a8ea5cf5318c8 Mon Sep 17 00:00:00 2001 From: Kyle Manna Date: Wed, 31 Aug 2016 09:57:42 -0700 Subject: [PATCH] google-authenticator: Manually build Alpine package * Build the Alpine package directly * Resolves #153 --- Dockerfile | 18 +++++++--- alpine/google-authenticator/APKBUILD | 52 ++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+), 4 deletions(-) create mode 100644 alpine/google-authenticator/APKBUILD diff --git a/Dockerfile b/Dockerfile index 289b1a0..2e63fdc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,11 +5,21 @@ FROM alpine:3.4 MAINTAINER Kyle Manna -RUN echo "http://dl-4.alpinelinux.org/alpine/edge/community/" >> /etc/apk/repositories && \ - echo "http://dl-4.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories && \ - apk add --update openvpn iptables bash easy-rsa openvpn-auth-pam google-authenticator pamtester && \ +RUN echo "http://dl-4.alpinelinux.org/alpine/edge/testing/" >> /etc/apk/repositories && \ + apk add --update openvpn iptables bash easy-rsa openvpn-auth-pam pamtester && \ ln -s /usr/share/easy-rsa/easyrsa /usr/local/bin && \ - rm -rf /tmp/* /var/tmp/* /var/cache/apk/* + rm -rf /tmp/* /var/tmp/* /var/cache/apk/* /var/cache/distfiles/* + +COPY alpine /tmp/local +RUN adduser -D -G abuild abuild && \ + chown -R abuild:abuild /tmp/local && \ + apk add --update alpine-sdk && \ + su -s /bin/bash -c 'cd /tmp/local/google-authenticator && abuild-keygen -a && abuild -Fr' abuild && \ + cp /home/abuild/.abuild/abuild*.pub /etc/apk/keys/ && \ + apk add /home/abuild/packages/local/x86_64/google-authenticator-20160207-r1.apk && \ + apk del --purge --rdepends alpine-sdk && rm -rf /home/abuild && \ + rm -rf /tmp/* /var/tmp/* /var/cache/apk/* /var/cache/distfiles/* + # Needed by scripts ENV OPENVPN /etc/openvpn diff --git a/alpine/google-authenticator/APKBUILD b/alpine/google-authenticator/APKBUILD new file mode 100644 index 0000000..712a57d --- /dev/null +++ b/alpine/google-authenticator/APKBUILD @@ -0,0 +1,52 @@ +# Contributor: Fabio Napoleoni +# Maintainer: +pkgname=google-authenticator +pkgver=20160207 +pkgrel=1 +pkgdesc="Google Authenticator PAM module" +url="https://github.com/google/google-authenticator" +arch="all" +license="ASL 2.0" +depends= +depends_dev= +makedepends="$depends_dev autoconf automake libtool linux-pam-dev m4 openssl-dev" +install= +subpackages="$pkgname-doc" +source="https://github.com/google/google-authenticator/archive/c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip" + +_builddir="$srcdir"/$pkgname-c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425/libpam + +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" + ./bootstrap.sh || return 1 + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --libdir=/lib \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + || return 1 + + make || return 1 +} + +package() { + cd "$_builddir" + make DESTDIR="$pkgdir" install || return 1 +} + +md5sums="33d3cbd0488bcb4f50b34b5670deffae c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip" +sha256sums="e32abe693e54195bdb6aca52783e6e1c239e67296876ac59211a59e4608338b8 c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip" +sha512sums="b44a626e6cc5d8e27685f5d39b5d33f49fc7070331db7b458d3ee40723972821bb8ed5458f27a287dc664d162acf1f8f9a36ca3b1bf767f2bbf27d4f538e9872 c0404dcdbda9ab9e4f0b8451ecdd44eee8db2425.zip"