Tweak sysutils/dateutils version 0.4.1
[dports.git] / sysutils / backuppc / Makefile
1 # Created by: Alexander Moisseev <moiseev@mezonplus.ru>
2 # $FreeBSD$
3
4 PORTNAME=       backuppc
5 PORTVERSION=    3.3.2
6 PORTREVISION=   2
7 CATEGORIES=     sysutils
8 MASTER_SITES=   https://github.com/backuppc/backuppc/releases/download/${PORTVERSION}/ \
9                 SF
10 DISTNAME=       BackupPC-${PORTVERSION}
11
12 MAINTAINER=     moiseev@mezonplus.ru
13 COMMENT=        Multi-platform backup to disk-based storage
14
15 LICENSE=        GPLv2
16 LICENSE_FILE=   ${WRKSRC}/LICENSE
17
18 RUN_DEPENDS=    p5-CGI>0:www/p5-CGI \
19                 p5-File-Listing>=0:sysutils/p5-File-Listing
20
21 CONFLICTS=      backuppc-devel-[0-9]*
22
23 USE_RC_SUBR=    backuppc
24
25 USES=           cpe perl5
26 CPE_VENDOR=     craig_barratt
27 NO_ARCH=        yes
28 NO_BUILD=       yes
29
30 USERS=          backuppc
31 GROUPS=         backuppc
32
33 CGIDIR?=        ${PREFIX}/www/cgi-bin
34
35 SUB_FILES=      pkg-deinstall pkg-message update.sh
36 SUB_LIST=       CGIDIR=${CGIDIR}
37
38 PLIST_SUB+=     CGIDIR=${CGIDIR:S,^${PREFIX}/,,} \
39                 DISTVERSION=${DISTVERSION}
40
41 PORTDOCS=       ChangeLog LICENSE README
42
43 OPTIONS_DEFINE=         ARCHIVE_ZIP COMPRESS_ZLIB DOCS FILE_RSYNCP SMB \
44                         XML_RSS
45
46 OPTIONS_RADIO=          GRAPHS
47 OPTIONS_RADIO_GRAPHS=   RRD_GRAPHS RRDTOOL
48
49 OPTIONS_DEFAULT=        ARCHIVE_ZIP COMPRESS_ZLIB RRD_GRAPHS
50
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
58
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
69
70 pre-patch:
71         @${CP} ${WRKSRC}/configure.pl ${WRKSRC}/update.pl
72
73 post-patch:
74         @${REINPLACE_CMD} \
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|' \
81                 ${WRKSRC}/update.pl
82         @${REINPLACE_CMD} \
83                 -e 's|STDERR "Please su |STDERR "Please su [-m] |' \
84                 ${WRKSRC}/lib/BackupPC/Lib.pm
85         @${REINPLACE_CMD} \
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
90
91 do-install:
92         cd ${WRKSRC} && ${PERL} configure.pl    \
93                 --batch                         \
94                 --backuppc-user ${USERS}        \
95                 --bin-path perl=${PERL}         \
96                 --config-dir ${ETCDIR}          \
97                 --cgi-dir ${CGIDIR}             \
98                 --data-dir /var/db/BackupPC     \
99                 --dest-dir ${STAGEDIR}          \
100                 --fhs                           \
101                 --html-dir ${WWWDIR}            \
102                 --html-dir-url /${PORTNAME}     \
103                 --install-dir ${PREFIX}         \
104                 --log-dir /var/log/BackupPC     \
105                 --no-set-perms                  \
106                 --uid-ignore
107
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
121
122 .include <bsd.port.mk>