1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-29 05:38:00 +00:00

Update sysutils/tartarus to 0.9.8_1

- New RUN_DEPENDS
- SFTP pubkey authentication
- Turned off "CHECK_FOR_UPDATE" by default
- Proper handling of "-u" for CURL

PR:		1941450
Submitted by:	Juraj Lutter <otis@sk.FreeBSD.org> (maintainer)
Approved by:	eadler (mentor)
This commit is contained in:
Jonathan Chu 2014-06-30 03:08:21 +00:00
parent 338c9a8c8d
commit 188e112039
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=359799
2 changed files with 110 additions and 1 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= tartarus
PORTVERSION= 0.9.8
PORTREVISION= 1
CATEGORIES= sysutils
MASTER_SITES= http://wertarbyte.de/tartarus/ \
http://ftp.wilbury.sk/pub/FreeBSD/local/distfiles/
@ -13,7 +14,9 @@ COMMENT= Wrappers around common unix tools for simplified backup solution
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/COPYING
RUN_DEPENDS= ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash
RUN_DEPENDS= ${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash \
${LOCALBASE}/bin/gtar:${PORTSDIR}/archivers/gtar \
${LOCALBASE}/bin/curl:${PORTSDIR}/ftp/curl
USES= gmake perl5 shebangfix tar:bzip2
SHEBANG_FILES= ${WRKSRC}/bin/*

View File

@ -0,0 +1,106 @@
--- ./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
@@ -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..."