1 # Created by: Alexander Moisseev <moiseev@mezonplus.ru>
8 MASTER_SITES= https://github.com/backuppc/backuppc/releases/download/${PORTVERSION}/ \
10 DISTNAME= BackupPC-${PORTVERSION}
12 MAINTAINER= moiseev@mezonplus.ru
13 COMMENT= Multi-platform backup to disk-based storage
16 LICENSE_FILE= ${WRKSRC}/LICENSE
18 RUN_DEPENDS= p5-CGI>0:www/p5-CGI \
19 p5-File-Listing>=0:sysutils/p5-File-Listing
21 CONFLICTS= backuppc-devel-[0-9]*
26 CPE_VENDOR= craig_barratt
33 CGIDIR?= ${PREFIX}/www/cgi-bin
35 SUB_FILES= pkg-deinstall pkg-message update.sh
36 SUB_LIST= CGIDIR=${CGIDIR}
38 PLIST_SUB+= CGIDIR=${CGIDIR:S,^${PREFIX}/,,} \
39 DISTVERSION=${DISTVERSION}
41 PORTDOCS= ChangeLog LICENSE README
43 OPTIONS_DEFINE= ARCHIVE_ZIP COMPRESS_ZLIB DOCS FILE_RSYNCP SMB \
47 OPTIONS_RADIO_GRAPHS= RRD_GRAPHS RRDTOOL
49 OPTIONS_DEFAULT= ARCHIVE_ZIP COMPRESS_ZLIB RRD_GRAPHS
51 ARCHIVE_ZIP_DESC= Perl module for Zip archive files
52 COMPRESS_ZLIB_DESC= Perl5 interface to zlib compression library
53 FILE_RSYNCP_DESC= Perl Rsync client
54 RRD_GRAPHS_DESC= Apply graphs patch (but not install RRDTool)
55 RRDTOOL_DESC= Use RRDTool to generate pool statistic graphs
56 SMB_DESC= NetBIOS Name lookup and Samba client
57 XML_RSS_DESC= Perl extension to manage RSS files
59 ARCHIVE_ZIP_RUN_DEPENDS= p5-Archive-Zip>=0:archivers/p5-Archive-Zip
60 COMPRESS_ZLIB_RUN_DEPENDS= p5-IO-Compress>=0:archivers/p5-IO-Compress
61 FILE_RSYNCP_RUN_DEPENDS= p5-File-RsyncP>=0:net/p5-File-RsyncP
62 RRDTOOL_RUN_DEPENDS= rrdtool:databases/rrdtool
63 SMB_USES= samba:run # nmblookup, smbclient
64 XML_RSS_RUN_DEPENDS= p5-XML-RSS>=0:textproc/p5-XML-RSS
65 RRD_GRAPHS_EXTRA_PATCHES= ${FILESDIR}/extra-patch-bin-BackupPC \
66 ${FILESDIR}/extra-patch-lib-BackupPC-CGI-GeneralInfo.pm
67 RRDTOOL_EXTRA_PATCHES= ${FILESDIR}/extra-patch-bin-BackupPC \
68 ${FILESDIR}/extra-patch-lib-BackupPC-CGI-GeneralInfo.pm
71 @${CP} ${WRKSRC}/configure.pl ${WRKSRC}/update.pl
75 -e 's|/etc/BackupPC\(/config.pl\)|${ETCDIR}\1|' \
76 -e 's|^\(foreach my $$dir ( qw(bin \)doc$$|\1${DOCSDIR_REL}|' \
77 -e 's|\($$DestDir$$Conf{InstallDir}/\)doc|\1${DOCSDIR_REL}|' \
78 ${WRKSRC}/configure.pl ${WRKSRC}/update.pl
79 @${REINPLACE_CMD} -E \
80 -e 's|^(use lib ")\.(/lib";)$$|\1${PREFIX}\2|' \
83 -e 's|STDERR "Please su |STDERR "Please su [-m] |' \
84 ${WRKSRC}/lib/BackupPC/Lib.pm
86 -e 's| you can use the -s| you can use the -m|' \
87 -e 's|option to su to explicitly run|option to su to run|' \
88 -e 's|su -s /bin/bash __BACKUPPCUSER__|su -m __BACKUPPCUSER__|' \
89 ${WRKSRC}/doc/BackupPC.html ${WRKSRC}/doc/BackupPC.pod
92 cd ${WRKSRC} && ${PERL} configure.pl \
94 --backuppc-user ${USERS} \
95 --bin-path perl=${PERL} \
96 --config-dir ${ETCDIR} \
98 --data-dir /var/db/BackupPC \
99 --dest-dir ${STAGEDIR} \
101 --html-dir ${WWWDIR} \
102 --html-dir-url /${PORTNAME} \
103 --install-dir ${PREFIX} \
104 --log-dir /var/log/BackupPC \
108 pod2man --section=1 --release=${PORTVERSION} \
109 --name=BackupPC --center="BackupPC user guide" \
110 ${WRKSRC}/doc/BackupPC.pod ${WRKSRC}/${PORTNAME}.1
111 ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
112 cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
113 ${CP} ${WRKSRC}/doc/BackupPC.html ${STAGEDIR}${WWWDIR}
114 ${RM} ${STAGEDIR}${ETCDIR}/config.pl
115 ${RM} ${STAGEDIR}${ETCDIR}/hosts
116 ${CP} ${WRKSRC}/conf/config.pl ${STAGEDIR}${ETCDIR}/config.pl.sample
117 ${CP} ${WRKSRC}/conf/hosts ${STAGEDIR}${ETCDIR}/hosts.sample
118 ${CP} ${WRKDIR}/update.sh ${STAGEDIR}${ETCDIR}/update.sh
119 ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/backuppc
120 ${CP} ${WRKSRC}/update.pl ${STAGEDIR}${PREFIX}/libexec/backuppc/update.pl
122 .include <bsd.port.mk>