aboutsummaryrefslogtreecommitdiffstats
path: root/testing/apt-dater-host/initial-support-for-alpine.patch
diff options
context:
space:
mode:
Diffstat (limited to 'testing/apt-dater-host/initial-support-for-alpine.patch')
-rw-r--r--testing/apt-dater-host/initial-support-for-alpine.patch269
1 files changed, 0 insertions, 269 deletions
diff --git a/testing/apt-dater-host/initial-support-for-alpine.patch b/testing/apt-dater-host/initial-support-for-alpine.patch
deleted file mode 100644
index 196b8066f9..0000000000
--- a/testing/apt-dater-host/initial-support-for-alpine.patch
+++ /dev/null
@@ -1,269 +0,0 @@
-From 05dde83e45d64a82b89e5c10b0f74b28f424379a Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Sun, 10 Jul 2016 13:44:15 +0200
-Subject: [PATCH] initial support for Alpine Linux (apk)
-
-Note that Alpine host code is not implemented in Perl as that is not
-present on an Alpine Linux system by default.
-
-Implements ADP 0.6
-
----
-This patch is backported from upstream.
----
- apk/Makefile | 9 ++
- apk/apt-dater-host | 212 +++++++++++++++++++++++++++++++++++++++++++++
- apk/apt-dater-host-sudoers | 9 ++
- 3 files changed, 230 insertions(+)
- create mode 100644 apk/Makefile
- create mode 100755 apk/apt-dater-host
- create mode 100644 apk/apt-dater-host-sudoers
-
-diff --git a/apk/Makefile b/apk/Makefile
-new file mode 100644
-index 0000000..227f366
---- /dev/null
-+++ b/apk/Makefile
-@@ -0,0 +1,9 @@
-+clean:
-+
-+install:
-+ install -D -m0755 apt-dater-host \
-+ $(DESTDIR)/usr/bin/apt-dater-host
-+
-+ install -m0750 -d $(DESTDIR)/etc/sudoers.d
-+ install -m0640 apt-dater-host-sudoers \
-+ $(DESTDIR)/etc/sudoers.d/apt-dater-host
-diff --git a/apk/apt-dater-host b/apk/apt-dater-host
-new file mode 100755
-index 0000000..a5862ae
---- /dev/null
-+++ b/apk/apt-dater-host
-@@ -0,0 +1,212 @@
-+#!/bin/sh
-+
-+# apt-dater - terminal-based remote package update manager
-+#
-+# Implementation of the protocol described in
-+# https://github.com/DE-IBH/apt-dater-host/blob/master/doc/ADP-0.6
-+# using Busybox ash, awk and sed for use with Alpine Linux
-+#
-+# Author:
-+# Henrik Riomar <henrik.riomar@gmail.com>
-+#
-+# Copyright Holder:
-+# 2016 (C) Henrik Riomar
-+#
-+# License:
-+# This program is free software; you can redistribute it and/or modify
-+# it under the terms of the GNU General Public License as published by
-+# the Free Software Foundation; either version 2 of the License, or
-+# (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this package; if not, write to the Free Software
-+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+#
-+
-+ADP_VERSION="0.6"
-+ROOT_CMD="sudo"
-+APK_CMD="/sbin/apk"
-+
-+err=255 # exit code returned by Perl from die()
-+
-+# LSBREL: ${Distri}|{Version}|${Codename}
-+get_lsbrel()
-+{
-+ name=$(awk -F= '/^ID/ {print $NF}' /etc/os-release)
-+ version=$(awk -F= '/^VERSION_ID/ {print $NF}' /etc/os-release)
-+ echo "LSBREL: ${name}|${version}|"
-+}
-+
-+# PRL: ${URI}
-+get_prl()
-+{
-+ sed -n 's/^http/PRL: http/p' /etc/apk/repositories
-+}
-+
-+# check if a pkg is held back
-+is_held()
-+{
-+ grep -E -q ^$1\= /etc/apk/world
-+}
-+
-+# check if $1 > $2
-+newer_then()
-+{
-+ [ x"$($APK_CMD version -t $1 $2)" = x">" ] && return 0
-+
-+ return 1
-+}
-+
-+# STATUS: ${Package}|${InstVersion}|${Status}...
-+get_pkg_stat()
-+{
-+ tmp=$(mktemp)
-+ $APK_CMD version -v | grep -v "^Installed:" > $tmp
-+ $APK_CMD info | while read -r pkg
-+ do
-+ line=$(grep -E "^${pkg}-[0-9]" $tmp)
-+ new_ver=$(echo $line | awk '{print $NF}')
-+ cur_ver=$(echo $line | awk '{print $1}' | sed "s/$pkg-//")
-+ if [ x"$new_ver" = x"$cur_ver" ]; then
-+ echo "STATUS: $pkg|$cur_ver|i"
-+ elif is_held $pkg; then
-+ echo "STATUS: $pkg|$cur_ver|h"
-+ elif [ x"$new_ver" = x"?" ]; then
-+ echo "STATUS: $pkg|$cur_ver|x"
-+ elif newer_then $new_ver $cur_ver; then
-+ echo "STATUS: $pkg|$cur_ver|u=$new_ver"
-+ else
-+ # newer installed ($cur_ver) than available,
-+ # ADP 0.6 does not describe this case
-+ # x should be suitable for now.
-+ echo "STATUS: $pkg|$cur_ver|x"
-+ fi
-+ done
-+ rm $tmp
-+}
-+
-+# VIRT: ${Name}
-+get_virt()
-+{
-+ virt=$(dmesg | awk '/Hypervisor detected:/ {print $NF}')
-+ if [ -n "$virt" ]; then
-+ echo "VIRT: $virt"
-+ else
-+ echo "VIRT: Unknown"
-+ fi
-+}
-+
-+# UNAME: ${KERNEL-NAME}|${MACHINE}
-+get_uname()
-+{
-+ echo "UNAME: $(uname -s)|$(uname -m)"
-+}
-+
-+# KERNELINFO: ${Code} ${Release}
-+get_kern()
-+{
-+ # 0 - latest running
-+ # 1 - reboot
-+ # 9 - Unknown
-+ running=$(uname -r)
-+ flavor=$(uname -r | awk -F- '{print $NF}')
-+ vmlinuz="/boot/vmlinuz-$flavor"
-+ if [ -r $vmlinuz ]; then
-+ installed=$($APK_CMD info --who-owns $vmlinuz | grep -E -o "[0-9]+.[0-9]+.[0-9]+-r[0-9]")
-+ with_r=$(echo $running | sed -e "s/[0-9]-${flavor}$/r&/g" | sed "s/-${flavor}//")
-+ if [ x"$($APK_CMD version -t $with_r $installed)" = x'=' ]; then
-+ echo "KERNELINFO: 0 $running"
-+ else
-+ echo "KERNELINFO: 1 $running"
-+ fi
-+ else
-+ echo "KERNELINFO: 9 $running"
-+ fi
-+
-+}
-+
-+# FORBID: ${Operations}
-+check_forbid()
-+{
-+ echo "FORBID: 0"
-+}
-+
-+# ADPROTO: ${ProtoVersion}
-+say_hi()
-+{
-+ echo "ADPROTO: $ADP_VERSION"
-+}
-+
-+do_status()
-+{
-+ get_lsbrel
-+ get_prl
-+ get_virt
-+ get_uname
-+ check_forbid
-+ get_pkg_stat
-+ get_kern
-+}
-+
-+run_as_root()
-+{
-+ err_str="ADPERR:"
-+ interactive=$1
-+ [ $interactive -eq 1 ] && err_str="ERROR:"
-+ shift
-+
-+ proxy="/etc/profile.d/proxy.sh"
-+ [ -r $proxy ] && source $proxy
-+
-+ cmd="$ROOT_CMD $*"
-+ $cmd
-+ ret=$?
-+ if [ $ret -ne 0 ]; then
-+ echo "$err_str \"$cmd\" returned $ret"
-+ exit $err
-+ fi
-+}
-+
-+
-+if [ -z "$1" ]; then
-+ echo "Don't call this script directly!"
-+ exit $err
-+fi
-+
-+case "$1" in
-+ refresh)
-+ say_hi
-+ run_as_root 0 $APK_CMD update
-+ do_status
-+ ;;
-+
-+ status)
-+ say_hi
-+ do_status
-+ ;;
-+
-+ upgrade)
-+ run_as_root 1 $APK_CMD upgrade
-+ ;;
-+
-+ install)
-+ shift
-+ echo "Installing PKG: $*"
-+ run_as_root 1 $APK_CMD add $*
-+ ;;
-+
-+ kernel)
-+ say_hi
-+ get_kern
-+ ;;
-+
-+ *)
-+ echo Invalid command \'$1\'\!
-+ exit $err
-+ ;;
-+esac
-diff --git a/apk/apt-dater-host-sudoers b/apk/apt-dater-host-sudoers
-new file mode 100644
-index 0000000..6fc868c
---- /dev/null
-+++ b/apk/apt-dater-host-sudoers
-@@ -0,0 +1,9 @@
-+# apt-dater-host sudoers.d config file
-+# ------------------------------------
-+#
-+
-+# Keep http_proxy environment variable
-+#Defaults env_keep += http_proxy
-+
-+# Allow members of group adm to execute the apk command
-+%adm ALL=NOPASSWD: /sbin/apk