1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-27 05:10:36 +00:00
freebsd-ports/sysutils/tartarus/files/patch-bin__tartarus
Alexey Dokuchaev 000836e31f - Our date(1) does not support -r switch the way GNU date(1) does; instead of
pulling gdate(1) dependency use stat(1) command to obtain modification time
- Fix whitespace in Makefile, improve `do-install' target, and fix a typo and
  bogus EOL space in pkg-descr while I'm here

PR:	192072
2014-07-24 15:15:41 +00:00

116 lines
3.7 KiB
Plaintext

--- ./bin/tartarus.orig 2014-06-28 01:35:27.535761589 +0200
+++ ./bin/tartarus 2014-06-28 01:38:03.361776923 +0200
@@ -41,6 +41,8 @@
set -f
shopt -s nocasematch
+typeset -x PATH=/usr/local/bin:/usr/local/sbin:${PATH}
+
CMD_INCREMENTAL="no"
CMD_UPDATE="no"
PROFILE=""
@@ -527,7 +529,7 @@
#
# Disabling this option will stop Tartarus from checking its website for updates
# of itself.
-CHECK_FOR_UPDATE="yes"
+CHECK_FOR_UPDATE="no"
#
#=item FILE_LIST_CREATION
#
@@ -540,6 +542,37 @@
# This defines the directory lists of the processed files are placed in.
FILE_LIST_DIRECTORY=""
#
+#=item SFTP_AUTH_METHOD
+#
+# Defines SFTP authentication method: can be "password" or "pubkey"
+SFTP_AUTH_METHOD="password"
+#
+#=item SFTP_AUTH_PRIVKEY
+#
+# Defines SSH private key for authentication
+SFTP_AUTH_PRIVKEY=""
+#
+#=item SFTP_AUTH_PUBKEY
+#
+# Defines SSH public key for authentication
+SFTP_AUTH_PUBKEY=""
+#
+#=item SFTP_AUTH_PRIVKEY_TYPE
+#
+# Defines SSH private key type (PEM|DER|ENG)A
+# Defaults to PEM
+SFTP_AUTH_PRIVKEY_TYPE="PEM"
+#
+#=item SFTP_AUTH_PRIVKEY_PASS
+#
+# Defines SFTP_AUTH_PRIVKEY passphrase
+SFTP_AUTH_PRIVKEY_PASS=""
+#
+#=item SFTP_AUTH_HOSTPUBMD5
+#
+# Defines SFTP host MD5 pubkey
+SFTP_AUTH_HOSTPUBMD5=""
+#
#=back
#
#=cut
@@ -616,7 +649,7 @@
constructFilename() {
local INC=""
if isEnabled "$INCREMENTAL_BACKUP"; then
- local BASEDON=$(date -r "$INCREMENTAL_TIMESTAMP_FILE" '+%Y%m%d-%H%M')
+ local BASEDON=$(stat -f '%Sm' -t '%Y%m%d-%H%M' "$INCREMENTAL_TIMESTAMP_FILE")
INC="-inc-${BASEDON}"
fi
local CHUNK=""
@@ -638,10 +671,10 @@
case "$ASSEMBLY_METHOD" in
tar|"")
# use the traditional tar setup
- requireCommand tar || cleanup 1
+ requireCommand gtar || cleanup 1
collate() {
local TAROPTS="--no-unquote --no-recursion $TAR_OPTIONS"
- call tar cpf - $TAROPTS --null -T -
+ call gtar cpf - $TAROPTS --null -T -
local EXITCODE=$?
# exit code 1 means that some files have changed while backing them
# up, we think that is OK for now
@@ -678,17 +711,24 @@
# define storage procedure
storage() {
# stay silent, but print error messages if aborting
- local OPTS="-u $STORAGE_FTP_USER:$STORAGE_FTP_PASSWORD -s -S"
- if isEnabled "$STORAGE_FTP_USE_SSL"; then
- OPTS="$OPTS --ftp-ssl"
- fi
- if isEnabled "$STORAGE_FTP_SSL_INSECURE"; then
- OPTS="$OPTS -k"
- fi
+ local OPTS="-s -S -u $STORAGE_FTP_USER:"
local PROTO="ftp"
- if isEnabled "$STORAGE_FTP_USE_SFTP"; then
- PROTO="sftp"
- fi
+ [ "$SFTP_AUTH_METHOD" != "pubkey" && "$STORAGE_FTP_PASSWORD" != "" ] && OPTS="${OPTS}${STORAGE_FTP_PASSWORD}"
+ if isEnabled "$STORAGE_FTP_USE_SFTP"; then
+ PROTO="sftp"
+ if isEnabled "$STORAGE_FTP_SSL_INSECURE"; then
+ OPTS="$OPTS -k"
+ fi
+ [ "$SFTP_AUTH_PRIVKEY" != "" ] && OPTS="$OPTS --key $SFTP_AUTH_PRIVKEY"
+ [ "$SFTP_AUTH_PUBKEY" != "" ] && OPTS="$OPTS --pubkey $SFTP_AUTH_PUBKEY"
+ [ "$SFTP_AUTH_PRIVKEY_TYPE" != "" ] && OPTS="$OPTS --key-type $SFTP_AUTH_PRIVKEY_TYPE"
+ [ "$SFTP_AUTH_PRIVKEY_PASS" != "" ] && OPTS="$OPTS --pass $SFTP_AUTH_PRIVKEY_PASS"
+ [ "$SFTP_AUTH_HOSTPUBMD5" != "" ] && OPTS="$OPTS --hostpubmd5 $SFTP_AUTH_HOSTPUBMD5"
+ else
+ if isEnabled "$STORAGE_FTP_USE_SSL"; then
+ OPTS="$OPTS --ftp-ssl"
+ fi
+ fi
local FILE=$(constructFilename)
local URL="$PROTO://$STORAGE_FTP_SERVER/$STORAGE_FTP_DIR/$FILE"
debug "Uploading backup to $URL..."