mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 01:26:39 -04:00
sysutils/rsyncrypto: improving Makefile
Requires archivers/gzip. The gzip in FreeBSD doesn't support --rsyncable flag. It requires a patch to use ${LOCALBASE}/bin/gzip. Add TEST_TARGET. Add LICENSE_FILE. Switch to DISTVERSION. Submitter takes maintainership. PR: 283817
This commit is contained in:
parent
119972ab41
commit
5640fc41d4
5 changed files with 66 additions and 30 deletions
|
@ -1,36 +1,47 @@
|
||||||
PORTNAME= rsyncrypto
|
PORTNAME= rsyncrypto
|
||||||
PORTVERSION= 1.14
|
DISTVERSION= 1.14
|
||||||
PORTREVISION= 2
|
PORTREVISION= 3
|
||||||
CATEGORIES= sysutils net
|
CATEGORIES= sysutils net
|
||||||
MASTER_SITES= SF
|
MASTER_SITES= SF
|
||||||
|
|
||||||
MAINTAINER= ports@FreeBSD.org
|
MAINTAINER= alster@vinterdalen.se
|
||||||
COMMENT= Rsync Friendly File Encryption
|
COMMENT= Rsync Friendly File Encryption
|
||||||
WWW= https://rsyncrypto.lingnu.com/
|
WWW= https://rsyncrypto.lingnu.com/ \
|
||||||
|
https://sourceforge.net/projects/rsyncrypto/
|
||||||
|
|
||||||
LICENSE= GPLv2+
|
LICENSE= GPLv2+
|
||||||
|
LICENSE_FILE= ${WRKSRC}/COPYING
|
||||||
|
|
||||||
|
BUILD_DEPENDS= ${GZIP_DEPENDS}
|
||||||
LIB_DEPENDS= libargtable2.so:devel/argtable
|
LIB_DEPENDS= libargtable2.so:devel/argtable
|
||||||
RUN_DEPENDS= rsync:net/rsync
|
RUN_DEPENDS= ${GZIP_DEPENDS} \
|
||||||
|
rsync:net/rsync
|
||||||
|
TEST_DEPENDS= ${GZIP_DEPENDS} \
|
||||||
|
bash:shells/bash
|
||||||
|
|
||||||
|
USES= compiler:c++11-lang gmake localbase shebangfix ssl tar:bzip2
|
||||||
|
|
||||||
|
SHEBANG_FILES= tests/regtest
|
||||||
|
|
||||||
USES= compiler:c++11-lang gmake localbase ssl tar:bzip2
|
|
||||||
GNU_CONFIGURE= yes
|
GNU_CONFIGURE= yes
|
||||||
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
|
|
||||||
|
|
||||||
PLIST_FILES= bin/rsyncrypto \
|
TEST_TARGET= test
|
||||||
bin/rsyncrypto_recover \
|
|
||||||
share/man/man1/rsyncrypto.1.gz \
|
# Just to make configure phase runtime checks happy
|
||||||
share/man/man1/rsyncrypto_recover.1.gz
|
BINARY_ALIAS= gzip=${LOCALBASE}/bin/gzip
|
||||||
|
|
||||||
PORTDOCS= AUTHORS ChangeLog NEWS README
|
PORTDOCS= AUTHORS ChangeLog NEWS README
|
||||||
|
|
||||||
OPTIONS_DEFINE= DOCS
|
OPTIONS_DEFINE= DOCS
|
||||||
|
|
||||||
|
GZIP_DEPENDS= ${LOCALBASE}/bin/gzip:archivers/gzip
|
||||||
|
|
||||||
|
# Use gzip from localbase, as gzip from base lacks support of needed --rsyncable option
|
||||||
post-patch:
|
post-patch:
|
||||||
# Inhibit the check for RSA_get0_factors() to support older OpenSSL versions
|
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/rsyncrypto.h
|
||||||
@${REINPLACE_CMD} -e '/RSA_get0_factors/,+49d' ${WRKSRC}/configure
|
|
||||||
|
|
||||||
post-install-DOCS-on:
|
post-install-DOCS-on:
|
||||||
@${MKDIR} ${STAGEDIR}${DOCSDIR}
|
${MKDIR} ${STAGEDIR}${DOCSDIR}
|
||||||
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
|
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
|
||||||
|
|
||||||
.include <bsd.port.mk>
|
.include <bsd.port.mk>
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- crypto.cpp.orig 2016-11-11 20:23:00 UTC
|
|
||||||
+++ crypto.cpp
|
|
||||||
@@ -155,9 +155,13 @@ std::unique_ptr<key> decrypt_header( file_t fromfd, RS
|
|
||||||
unsigned char *buff=filemap.get_uc()+sizeof(HEADER_ENCRYPTION_VERSION);
|
|
||||||
auto_array<unsigned char> decrypted(new unsigned char[headsize]);
|
|
||||||
|
|
||||||
+#if OPENSSL_VERSION_NUMBER < 0x10100000L
|
|
||||||
+ if( (prv->p==nullptr || prv->q==nullptr) ) {
|
|
||||||
+#else
|
|
||||||
const BIGNUM *p, *q;
|
|
||||||
RSA_get0_factors(prv, &p, &q);
|
|
||||||
if( (p==nullptr || q==nullptr) ) {
|
|
||||||
+#endif
|
|
||||||
// This is not a private key!
|
|
||||||
throw rscerror("Neither AES session key nor RSA private key present - cannot decrypt using only public key");
|
|
||||||
}
|
|
20
sysutils/rsyncrypto/files/patch-rsyncrypto.h
Normal file
20
sysutils/rsyncrypto/files/patch-rsyncrypto.h
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
--- rsyncrypto.h.orig 2016-11-27 18:44:10 UTC
|
||||||
|
+++ rsyncrypto.h
|
||||||
|
@@ -58,7 +58,7 @@ struct startup_options {
|
||||||
|
"Force a new key size, even if previous encryption used a different setting.");
|
||||||
|
argtable[i++]=noarch=arg_lit0( NULL, "no-archive-mode", "Do not try to preserve timestamps");
|
||||||
|
argtable[i++]=gzip=arg_file0( NULL, "gzip", "<file>",
|
||||||
|
- "Path to gzip-like program to use. Must accept a --rsyncable command option");
|
||||||
|
+ "Path to gzip-like program to use. Must accept a --rsyncable command option. Default is %%LOCALBASE%%/bin/gzip");
|
||||||
|
argtable[i++]=rem1=arg_rem( "Advanced options:", "" );
|
||||||
|
argtable[i++]=rollwin=arg_int0( NULL, "roll-win", "<n>", "Rollover window size. Default is 8192 byte");
|
||||||
|
argtable[i++]=rollmin=arg_int0( NULL, "roll-min", "<n>",
|
||||||
|
@@ -76,7 +76,7 @@ struct startup_options {
|
||||||
|
trim->ival[0]=1;
|
||||||
|
rollwin->ival[0]=8192;
|
||||||
|
rollmin->ival[0]=8192;
|
||||||
|
- gzip->filename[0]="gzip";
|
||||||
|
+ gzip->filename[0]="%%LOCALBASE%%/bin/gzip";
|
||||||
|
nenest->ival[0]=0;
|
||||||
|
}
|
||||||
|
}
|
17
sysutils/rsyncrypto/files/patch-rsyncrypto.man
Normal file
17
sysutils/rsyncrypto/files/patch-rsyncrypto.man
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--- rsyncrypto.man.orig 2008-10-22 11:34:49 UTC
|
||||||
|
+++ rsyncrypto.man
|
||||||
|
@@ -236,10 +236,10 @@ it. In order not to become rsync unfriendly due to the
|
||||||
|
it. In order not to become rsync unfriendly due to the compression,
|
||||||
|
\fBrsyncrypto\fP will search the path for an instance of
|
||||||
|
.BR gzip (1)
|
||||||
|
-that supports the \fB\-\-rsyncable\fP option. If the system's default gzip does
|
||||||
|
-not support this option (all Debian and derivatives, as well as some others, support it), use
|
||||||
|
-this option to tell \fBrsyncrypto\fP to use a different instance of gzip. The
|
||||||
|
-tests directory of rsyncrypto's source has a file called "gzip", that does NULL
|
||||||
|
+that supports the \fB\-\-rsyncable\fP option. FreeBSD base system's default gzip doesn't
|
||||||
|
+support this option, so this port builds with archivers/gzip from ports tree, which does.
|
||||||
|
+You still can use this option to tell \fBrsyncrypto\fP to use a different instance of gzip.
|
||||||
|
+The tests directory of rsyncrypto's source has a file called "gzip", that does NULL
|
||||||
|
compression by redirecting the input and output to
|
||||||
|
.BR cat (1).
|
||||||
|
.TP
|
4
sysutils/rsyncrypto/pkg-plist
Normal file
4
sysutils/rsyncrypto/pkg-plist
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
bin/rsyncrypto
|
||||||
|
bin/rsyncrypto_recover
|
||||||
|
share/man/man1/rsyncrypto.1.gz
|
||||||
|
share/man/man1/rsyncrypto_recover.1.gz
|
Loading…
Add table
Reference in a new issue