From e975641dc85c14821d222e376edcc3017da269aa Mon Sep 17 00:00:00 2001 From: Henrik Riomar Date: Wed, 10 Jan 2018 08:29:11 +0100 Subject: testing/apt-dater-host: upgrade to 1.0.1 Drop patches that are now in upstream --- ...add-some-unit-tests-called-via-make-check.patch | 94 ------- ...packages-installed-with-Repository_pinnin.patch | 39 --- ...ine-package-can-be-held-back-with-as-well.patch | 26 -- testing/apt-dater-host/APKBUILD | 23 +- .../initial-support-for-alpine.patch | 269 --------------------- testing/apt-dater-host/try-to-use-virt-what.patch | 56 ----- 6 files changed, 3 insertions(+), 504 deletions(-) delete mode 100644 testing/apt-dater-host/0001-apk-add-some-unit-tests-called-via-make-check.patch delete mode 100644 testing/apt-dater-host/0002-apk-handle-packages-installed-with-Repository_pinnin.patch delete mode 100644 testing/apt-dater-host/0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch delete mode 100644 testing/apt-dater-host/initial-support-for-alpine.patch delete mode 100644 testing/apt-dater-host/try-to-use-virt-what.patch (limited to 'testing') diff --git a/testing/apt-dater-host/0001-apk-add-some-unit-tests-called-via-make-check.patch b/testing/apt-dater-host/0001-apk-add-some-unit-tests-called-via-make-check.patch deleted file mode 100644 index 39d2ee7704..0000000000 --- a/testing/apt-dater-host/0001-apk-add-some-unit-tests-called-via-make-check.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 93ce508fdd073f652d148425eb1f4bf48edd7cee Mon Sep 17 00:00:00 2001 -From: Henrik Riomar -Date: Wed, 15 Mar 2017 06:38:05 +0100 -Subject: [PATCH] apk: add some unit tests, called via "make check" - ---- - apk/Makefile | 3 +++ - apk/apt-dater-host | 6 +++++- - apk/test-apt-dater-host | 36 ++++++++++++++++++++++++++++++++++++ - 3 files changed, 44 insertions(+), 1 deletion(-) - create mode 100755 apk/test-apt-dater-host - -diff --git a/apk/Makefile b/apk/Makefile -index 227f366..dfe7d9e 100644 ---- a/apk/Makefile -+++ b/apk/Makefile -@@ -1,5 +1,8 @@ - clean: - -+check: -+ ./test-apt-dater-host -+ - install: - install -D -m0755 apt-dater-host \ - $(DESTDIR)/usr/bin/apt-dater-host -diff --git a/apk/apt-dater-host b/apk/apt-dater-host -index 2164dea..e0c9b65 100755 ---- a/apk/apt-dater-host -+++ b/apk/apt-dater-host -@@ -10,7 +10,7 @@ - # Henrik Riomar - # - # Copyright Holder: --# 2016 (C) Henrik Riomar -+# 2016,2017 (C) Henrik Riomar - # - # License: - # This program is free software; you can redistribute it and/or modify -@@ -212,6 +212,10 @@ case "$1" in - get_kern - ;; - -+ source-only) -+ # do nothing (used for unit testing) -+ ;; -+ - *) - echo Invalid command \'$1\'\! - exit $err -diff --git a/apk/test-apt-dater-host b/apk/test-apt-dater-host -new file mode 100755 -index 0000000..eef6d2b ---- /dev/null -+++ b/apk/test-apt-dater-host -@@ -0,0 +1,36 @@ -+#!/usr/bin/env bats -+ -+source ./apt-dater-host source-only -+ -+check_tag() -+{ -+ TAG=$1 -+ STR=$2 -+ [ $(echo $STR | grep -E -v -c "^$TAG:") -eq 0 ] -+} -+ -+@test "say_hi()" { -+ result="$(say_hi)" -+ check_tag ADPROTO $result -+ [ "$result" = "ADPROTO: 0.6" ] -+} -+ -+@test "get_lsbrel()" { -+ result="$(get_lsbrel)" -+ check_tag LSBREL $result -+} -+ -+@test "get_pkg_stat()" { -+ result="$(get_pkg_stat)" -+ check_tag STATUS $result -+} -+ -+@test "get_virt()" { -+ result="$(get_virt)" -+ check_tag VIRT $result -+} -+ -+@test "get_kern()" { -+ result="$(get_kern)" -+ check_tag KERNELINFO $result -+} --- -2.13.0 - diff --git a/testing/apt-dater-host/0002-apk-handle-packages-installed-with-Repository_pinnin.patch b/testing/apt-dater-host/0002-apk-handle-packages-installed-with-Repository_pinnin.patch deleted file mode 100644 index e8682613d1..0000000000 --- a/testing/apt-dater-host/0002-apk-handle-packages-installed-with-Repository_pinnin.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 28d424bdd838821c38170fe9120b9ceec809e8da Mon Sep 17 00:00:00 2001 -From: Henrik Riomar -Date: Fri, 19 May 2017 17:22:17 +0200 -Subject: [PATCH] apk: handle packages installed with Repository_pinning - -If the package is pinned the last element of the version -line will contain @, strip that before getting the -version number. - -https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management#Repository_pinning ---- - apk/apt-dater-host | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/apk/apt-dater-host b/apk/apt-dater-host -index e0c9b65..cc0a1eb 100755 ---- a/apk/apt-dater-host -+++ b/apk/apt-dater-host -@@ -10,7 +10,7 @@ - # Henrik Riomar - # - # Copyright Holder: --# 2016,2017 (C) Henrik Riomar -+# 2016, 2017 (C) Henrik Riomar - # - # License: - # This program is free software; you can redistribute it and/or modify -@@ -71,7 +71,7 @@ get_pkg_stat() - $APK_CMD info | while read -r pkg - do - line=$(grep -E "^${pkg}-[0-9]" $tmp) -- new_ver=$(echo $line | awk '{print $NF}') -+ new_ver=$(echo $line | sed 's/ @.\+$//' | 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" --- -2.13.0 - diff --git a/testing/apt-dater-host/0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch b/testing/apt-dater-host/0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch deleted file mode 100644 index bf0dc11009..0000000000 --- a/testing/apt-dater-host/0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 77f70cd961923e9caa5e5a83bf32eeb5ea125255 Mon Sep 17 00:00:00 2001 -From: Henrik Riomar -Date: Fri, 19 May 2017 17:28:24 +0200 -Subject: [PATCH] apk: an alpine package can be held back with < as well - -https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management#Holding_a_specific_package_back ---- - apk/apt-dater-host | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/apk/apt-dater-host b/apk/apt-dater-host -index cc0a1eb..25c9fb8 100755 ---- a/apk/apt-dater-host -+++ b/apk/apt-dater-host -@@ -52,7 +52,7 @@ get_prl() - # check if a pkg is held back - is_held() - { -- grep -E -q ^$1\= /etc/apk/world -+ grep -E -q -e ^$1\= -e ^$1\< /etc/apk/world - } - - # check if $1 > $2 --- -2.13.0 - diff --git a/testing/apt-dater-host/APKBUILD b/testing/apt-dater-host/APKBUILD index adc245dcdd..5997903c1c 100644 --- a/testing/apt-dater-host/APKBUILD +++ b/testing/apt-dater-host/APKBUILD @@ -1,8 +1,8 @@ # Contributor: Henrik Riomar # Maintainer: Henrik Riomar pkgname=apt-dater-host -pkgver=1.0.0 -pkgrel=5 +pkgver=1.0.1 +pkgrel=0 pkgdesc="Host helper application for apt-dater" url="https://github.com/DE-IBH/apt-dater-host" arch="noarch" @@ -10,23 +10,11 @@ license="GPL-2.0-or-later" checkdepends="bats checkbashisms" subpackages="$pkgname-doc" source="$pkgname-$pkgver.tar.gz::https://github.com/DE-IBH/$pkgname/archive/v$pkgver.tar.gz - initial-support-for-alpine.patch - try-to-use-virt-what.patch - 0001-apk-add-some-unit-tests-called-via-make-check.patch - 0002-apk-handle-packages-installed-with-Repository_pinnin.patch - 0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch apt-dater-host-fix-bashisms.patch " builddir="$srcdir/$pkgname-$pkgver" -prepare() { - default_prepare - - cd "$builddir" - chmod a+x apk/test-apt-dater-host -} - check() { cd "$builddir"/apk make check @@ -42,10 +30,5 @@ package() { install -d -m0755 "$pkgdir"/usr/share/man/man1 install -m0644 "$pkgname".1 "$pkgdir"/usr/share/man/man1 } -sha512sums="db750d1c33e425de315ecfe4d7d1a177b64432070ce355adfe24ebf7510f4f3d64522f57578a1157394255ec4c13d5d6fd20639dfdf2a69a94f9364ec1b1a6c8 apt-dater-host-1.0.0.tar.gz -8f427b0f6bf240b753e66e61f4ff069ae5fb46ea2c87df5b0ba6126ccb21d3b104b37af8260da0925eabedecf7e43fee2adf57fb6b1112c309c84817aa8a74c9 initial-support-for-alpine.patch -105b10a811a39b78ed8764318bceb7c44f7dd9781f49bd7b8ce09fc7011e3dd88b41037a5a82f9b05b1324914fab4baa87c836f613cafea606554abe7b35c139 try-to-use-virt-what.patch -d316c9cb8d465112b7c838103a6d0fe5acf437819bf3a7e8d51a2e317cded71d53a36f6db980f71f5aa789ee28c9ffbfd2af2a333e3ae16fcd4ac05cf48c84bc 0001-apk-add-some-unit-tests-called-via-make-check.patch -ee606e48869c83b4f36515e3ffc23be1f99779aab848414601cf86722122fa2c433283dba6872571ec47af1a0b83d38f21dfa054221f7196b0273e7fce4904e5 0002-apk-handle-packages-installed-with-Repository_pinnin.patch -bea084d448e1679e3910cb642177182a5ae75505b334b909989a4cdfaf1b5059286f90fcfcd39deb3e504a1816e5ba662e4c4c4f229493847a666396d1138f36 0003-apk-an-alpine-package-can-be-held-back-with-as-well.patch +sha512sums="52d48ade6758cb1150be2f21ed4c9831b4254ccc749ae865321abea077737a49ff7aeefb4e643aa289d953d2847dcf83e94837fe510fa8f8bfe19cfda0fd9dbc apt-dater-host-1.0.1.tar.gz 6f695e1b1785f88217b5a32c509b5cb3c7a3f70069b042ad9770a4c1e86c4477abab2763579130f65e0c880976eb9f292bed3b42dda0d25e801696db479e55e8 apt-dater-host-fix-bashisms.patch" 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 -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 -+# -+# 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 diff --git a/testing/apt-dater-host/try-to-use-virt-what.patch b/testing/apt-dater-host/try-to-use-virt-what.patch deleted file mode 100644 index 96aa1de5c3..0000000000 --- a/testing/apt-dater-host/try-to-use-virt-what.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 7e48746242b55da3fb215d74f0eb69ea0afddc81 Mon Sep 17 00:00:00 2001 -From: Henrik Riomar -Date: Thu, 16 Feb 2017 23:22:09 +0100 -Subject: [PATCH] apk; try to use virt-what - -If searching dmesg for Hypervisor info fails, try -virt-what detection (if installed). - -While at it fix the sudoers file - -Upstream-Issue: https://github.com/DE-IBH/apt-dater-host/pull/17 ---- - apk/apt-dater-host | 9 ++++++++- - apk/apt-dater-host-sudoers | 2 +- - 2 files changed, 9 insertions(+), 2 deletions(-) - -diff --git a/apk/apt-dater-host b/apk/apt-dater-host -index a5862ae..2164dea 100755 ---- a/apk/apt-dater-host -+++ b/apk/apt-dater-host -@@ -31,6 +31,7 @@ - ADP_VERSION="0.6" - ROOT_CMD="sudo" - APK_CMD="/sbin/apk" -+VIRT_WHAT_CMD="/usr/sbin/virt-what --test-root=/" - - err=255 # exit code returned by Perl from die() - -@@ -97,7 +98,13 @@ get_virt() - if [ -n "$virt" ]; then - echo "VIRT: $virt" - else -- echo "VIRT: Unknown" -+ virt=$($VIRT_WHAT_CMD 2> /dev/null) -+ ret=$? -+ if [ -z "$virt" ]; then -+ [ $ret -eq 0 ] && echo "VIRT: Physical" || echo "VIRT: Unknown" -+ else -+ echo "VIRT: $(echo $virt | awk '{print $1}')" -+ fi - fi - } - -diff --git a/apk/apt-dater-host-sudoers b/apk/apt-dater-host-sudoers -index 6fc868c..ba3dd3d 100644 ---- a/apk/apt-dater-host-sudoers -+++ b/apk/apt-dater-host-sudoers -@@ -6,4 +6,4 @@ - #Defaults env_keep += http_proxy - - # Allow members of group adm to execute the apk command --%adm ALL=NOPASSWD: /sbin/apk -+#%adm ALL=NOPASSWD: /sbin/apk --- -2.11.1 - -- cgit v1.2.3