[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] Allow ftpsync/archvsync autobyhand handling



---
 config/debian/dak.conf        |  7 ++++
 scripts/debian/byhand-ftpsync | 83 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 90 insertions(+)
 create mode 100755 scripts/debian/byhand-ftpsync

diff --git a/config/debian/dak.conf b/config/debian/dak.conf
index cd83b44..4fa828e 100644
--- a/config/debian/dak.conf
+++ b/config/debian/dak.conf
@@ -178,6 +178,13 @@ AutomaticByHandPackages {
     Script "/srv/ftp-master.debian.org/dak/scripts/debian/byhand-debian-faq";
   };
 
+  "ftpsync" {
+    Source "archvsync";
+    Section "byhand";
+    Extension "tar.gz";
+    Script "/srv/ftp-master.debian.org/dak/scripts/debian/byhand-ftpsync";
+  };
+
   "debian-installer-images" {
     Source "debian-installer";
     Section "raw-installer";
diff --git a/scripts/debian/byhand-ftpsync b/scripts/debian/byhand-ftpsync
new file mode 100755
index 0000000..8dc773f
--- /dev/null
+++ b/scripts/debian/byhand-ftpsync
@@ -0,0 +1,83 @@
+#! /bin/bash
+#
+# byhand-debian-faq - automatic BYHAND handling for debian-faq
+#
+# This file is part of dak.
+#
+# Copyright 2017, Joerg Jaspert <joerg@debian.org>
+
+# 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 program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+set -e
+set -u
+
+export SCRIPTVARS=/srv/ftp-master.debian.org/dak/config/debian/vars
+. ${SCRIPTVARS}
+
+scriptname=byhand-ftpsync
+
+if [ $# -lt 5 ]; then
+    echo "usage: ${scriptname} <byhand-file> <version> <arch> <changes-file> <suite>" >&2
+    exit 1
+fi
+
+byhand_path="${1}"
+byhand_file="${byhand_path##*/}"
+version="${2}"
+architecture="${3}"
+changes="${4}"
+suite="${5}"
+GNUPGHOME="${base}/s3kr1t/dot-gnupg"
+
+case "${suite}" in
+    unstable|sid)
+        : # okay
+        ;;
+    *)
+        echo "$0: not targeted at unstable" >&2
+        exit 1
+        ;;
+esac
+
+# Check validity of version number
+# Expected: YYYYMMDD
+if ! echo "$VERSION" | grep -Eq "^[0-9]{8}$"; then
+	error "Invalid version: '$VERSION'"
+fi
+
+if [[ ! "${byhand_file}" =~ ^ftpsync-20[0-9]{6}.tar.gz$ ]]; then
+    echo "$0: unknown file '${byhand_file}'" >&2
+    exit 1
+fi
+
+target="${ftpdir}/project/ftpsync/"
+if [ ! -d "${target}" ]; then
+    mkdir -p "${target}"
+fi
+
+# Use --remove-destination to avoid problems with the fact that the target may
+# be a hardlink and in that case we'd update multiple suites together
+cp --remove-destination "${byhand_path}" "${target}"
+cd ${target}
+chmod 0644 "${byhand_file}"
+ln -sf ${target} ftpsync-current.tar.gz
+echo ${version} > LATEST.VERSION
+
+for csum in md5sum sha512sum; do
+    /usr/bin/${csum} * | grep -v 'sum' > ${csum}
+    SIGNINGKEY=2B90D010
+    GNUPGHOME=${GNUPGHOME} gpg --no-options  --batch --no-tty --armour --default-key ${SIGNINGKEY} --clearsign -o "${TARGET}/${csum}.txt" "${TARGET}/${csum}"
+    mv "${TARGET}/${csum}.txt" "${TARGET}/${csum}"
+done
-- 
2.1.4


Reply to: