aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-09-23 03:44:32 +0000
committerPhilip M. Gollucci <pgollucci@FreeBSD.org>2010-09-23 03:44:32 +0000
commitb57bac69863705d77b78102e09a4019aeea4c12e (patch)
tree0a8f41940b89f6a0cf2920d1f8d7650e0f3af2ee
parent9c1b0b33c2b230677794985c90e4db1861069152 (diff)
downloadports-b57bac69863705d77b78102e09a4019aeea4c12e.tar.gz
ports-b57bac69863705d77b78102e09a4019aeea4c12e.zip
BackupPC is a high-performance, enterprise-grade system for backing up Linux,
WinXX and MacOSX PCs and laptops to a server's disk. BackupPC is highly configurable and easy to install and maintain. PR: ports/149907 Submitted by: Alexander Moisseev <moiseev@mezonplus.ru>
Notes
Notes: svn path=/head/; revision=261680
-rw-r--r--GIDs1
-rw-r--r--UIDs1
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/backuppc/Makefile116
-rw-r--r--sysutils/backuppc/distinfo3
-rw-r--r--sysutils/backuppc/files/backuppc.in29
-rw-r--r--sysutils/backuppc/files/patch-configure.pl31
-rw-r--r--sysutils/backuppc/pkg-descr5
-rw-r--r--sysutils/backuppc/pkg-plist140
9 files changed, 327 insertions, 0 deletions
diff --git a/GIDs b/GIDs
index e6ebf16b106a..a7ceaa132c72 100644
--- a/GIDs
+++ b/GIDs
@@ -106,6 +106,7 @@ frontbase:*:276:
mrtg:*:279:
hobbit:*:280:
prelude:*:281:
+backuppc:*:300:
_sphinx:*:312:
dkfilter:*:325:
wildfire:*:340:
diff --git a/UIDs b/UIDs
index b9028b7dfad6..c40bef7cf30b 100644
--- a/UIDs
+++ b/UIDs
@@ -116,6 +116,7 @@ frontbase:*:276:276::0:0:FrontBase Daemon:/usr/local/FrontBase/Databases:/bin/sh
mrtg:*:279:279::0:0:MRTG daemon:/nonexistent:/usr/sbin/nologin
hobbit:*:280:280::0:0:Hobbit Monitor:/nonexistent:/usr/sbin/nologin
prelude:*:281:281::0:0:Prelude user:/nonexistent:/usr/sbin/nologin
+backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin
_sphinx:*:312:312::0:0:Sphinxsearch Owner:/nonexistent:/usr/sbin/nologin
dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin
_pma:*:336:80::0:0:phpMyAdmin Owner:/nonexistent:/usr/sbin/nologin
diff --git a/sysutils/Makefile b/sysutils/Makefile
index dd75f89d7371..40186138b6b2 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -47,6 +47,7 @@
SUBDIR += avfs
SUBDIR += b43-fwcutter
SUBDIR += backupme
+ SUBDIR += backuppc
SUBDIR += bacula-bat
SUBDIR += bacula-client
SUBDIR += bacula-docs
diff --git a/sysutils/backuppc/Makefile b/sysutils/backuppc/Makefile
new file mode 100644
index 000000000000..87acbad6dbc2
--- /dev/null
+++ b/sysutils/backuppc/Makefile
@@ -0,0 +1,116 @@
+# New ports collection makefile for: BackupPC
+# Date created: 19 Aug 2010
+# Whom: Alexander Moisseev <moiseev@mezonplus.ru>
+#
+# $FreeBSD$
+#
+
+PORTNAME= backuppc
+PORTVERSION= 3.2.0
+CATEGORIES= sysutils
+MASTER_SITES= SF
+MASTER_SITE_SUBDIR= ${PORTNAME}/${PORTNAME}/${PORTVERSION}
+DISTNAME= BackupPC-${PORTVERSION}
+
+MAINTAINER= moiseev@mezonplus.ru
+COMMENT= System for backing PCs and laptops to a server
+
+NO_BUILD= yes
+NO_PACKAGE= Complex site specific configuration for config.pl required
+
+USE_PERL5= 5.8.0+
+USE_RC_SUBR= backuppc
+
+USERS= backuppc
+GROUPS= backuppc
+
+BPC_CGIDIR?= ${PREFIX}/www/cgi-bin
+BPC_DATADIR?= /var/db/data/BackupPC
+
+PORTDOCS= ChangeLog LICENSE README BackupPC.html BackupPC.pod
+
+MAN1= ${PORTNAME}.1
+
+OPTIONS= COMPRESS_ZLIB "Perl5 interface to zlib compression library" on \
+ ARCHIVE_ZIP "Perl module for Zip archive files" on \
+ FILE_RSYNCP "Perl Rsync client" off \
+ SMBCLIENT "Samba client" off \
+ NMBLOOKUP "NetBIOS Name lookup tool" off \
+ XML_RSS "Perl extension to manage RSS files" off
+
+.include <bsd.port.options.mk>
+
+.if defined(WITH_COMPRESS_ZLIB)
+RUN_DEPENDS+= p5-IO-Compress>=0:${PORTSDIR}/archivers/p5-IO-Compress
+.endif
+.if defined(WITH_ARCHIVE_ZIP)
+RUN_DEPENDS+= ${SITE_PERL}/Archive/Zip.pm:${PORTSDIR}/archivers/p5-Archive-Zip
+.endif
+.if defined(WITH_FILE_RSYNCP)
+RUN_DEPENDS+= ${SITE_PERL}/mach/File/RsyncP.pm:${PORTSDIR}/net/p5-File-RsyncP
+.endif
+.if defined(WITH_SMBCLIENT)
+RUN_DEPENDS+= smbclient:${PORTSDIR}/net/samba-smbclient
+.endif
+.if defined(WITH_NMBLOOKUP)
+RUN_DEPENDS+= nmblookup:${PORTSDIR}/net/samba-nmblookup
+.endif
+.if defined(WITH_XML_RSS)
+RUN_DEPENDS+= ${SITE_PERL}/XML/RSS.pm:${PORTSDIR}/textproc/p5-XML-RSS
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e 's,/etc/BackupPC/config.pl,${ETCDIR}/config.pl,' \
+ ${WRKSRC}/configure.pl
+ @${REINPLACE_CMD} \
+ -e 's,"/doc/BackupPC.html","/${DOCSDIR_REL}/BackupPC.html",' \
+ ${WRKSRC}/lib/BackupPC/CGI/View.pm
+
+pre-install:
+ @${ECHO_MSG}
+ @${ECHO_MSG} ">>> -----------------------------------------------------------------------"
+ @${ECHO_MSG} ">>> You can use the following variables to tweak installation-time options:"
+ @${ECHO_MSG} ">>> BPC_CGIDIR"
+ @${ECHO_MSG} ">>> BPC_DATADIR"
+ @${ECHO_MSG} ">>> -----------------------------------------------------------------------"
+ @${ECHO_MSG} ">>> If this is an upgrade make sure the full path of the existing BackupPC"
+ @${ECHO_MSG} ">>> configuration directory is ${ETCDIR}"
+ @${ECHO_MSG} ">>> -----------------------------------------------------------------------"
+ @${ECHO_MSG}
+
+do-install:
+ @cd ${WRKSRC} && ${PERL} configure.pl \
+ --batch \
+ --backuppc-user ${USERS} \
+ --config-dir ${ETCDIR} \
+ --cgi-dir ${BPC_CGIDIR} \
+ --data-dir ${BPC_DATADIR} \
+ --fhs \
+ --html-dir ${WWWDIR} \
+ --html-dir-url /${PORTNAME} \
+ --install-dir ${PREFIX} \
+ --log-dir /var/log/BackupPC
+
+post-install:
+ @${EXEC} pod2man --section=1 --release=${PORTVERSION} --name=BackupPC --center=BackupPC" user guide" ${WRKSRC}/BackupPC.pod ${WRKSRC}/${PORTNAME}.1
+ ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${MANPREFIX}/man/man1
+
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DOCSDIR}
+ @cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${DOCSDIR}
+.endif
+
+ @${ECHO_MSG}
+ @${ECHO_MSG} ">>> ----------------------------------------------------------"
+ @${ECHO_MSG} ">>> Add the following line to /etc/rc.conf to enable BackupPC:"
+ @${ECHO_MSG} ">>> backuppc_enable=\"YES\""
+ @${ECHO_MSG} ">>>"
+ @${ECHO_MSG} ">>> Data directory is ${BPC_DATADIR}"
+ @${ECHO_MSG} ">>> This is where all the PC backup data is stored."
+ @${ECHO_MSG} ">>> This file system needs to be big enough"
+ @${ECHO_MSG} ">>> to accommodate all the PCs you expect to backup."
+ @${ECHO_MSG} ">>> ----------------------------------------------------------"
+ @${ECHO_MSG}
+
+.include <bsd.port.mk>
diff --git a/sysutils/backuppc/distinfo b/sysutils/backuppc/distinfo
new file mode 100644
index 000000000000..7f4de4440338
--- /dev/null
+++ b/sysutils/backuppc/distinfo
@@ -0,0 +1,3 @@
+MD5 (BackupPC-3.2.0.tar.gz) = 4b77610d8d1130daf0892fc7134be985
+SHA256 (BackupPC-3.2.0.tar.gz) = cbd8e7ac4e0ce5e9c3784c491fcad3cdaf15b3868a3ab4c871748ec402dc9562
+SIZE (BackupPC-3.2.0.tar.gz) = 511394
diff --git a/sysutils/backuppc/files/backuppc.in b/sysutils/backuppc/files/backuppc.in
new file mode 100644
index 000000000000..4cf10491af6d
--- /dev/null
+++ b/sysutils/backuppc/files/backuppc.in
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# PROVIDE: backuppc
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following line to /etc/rc.conf to enable BackupPC:
+# backuppc_enable="YES"
+
+. %%RC_SUBR%%
+
+name="backuppc"
+rcvar=`set_rcvar`
+
+load_rc_config $name
+
+: ${backuppc_enable:="NO"}
+: ${backuppc_flags:="-d"}
+: ${backuppc_user:="backuppc"}
+: ${BackupPC_group:="backuppc"}
+: ${BackupPC_config:="%%ETCDIR%%/config.pl"}
+
+command_interpreter="/usr/bin/perl"
+command="%%PREFIX%%/bin/BackupPC"
+
+required_files="${backuppc_config}"
+pidfile="/var/log/BackupPC/BackupPC.pid"
+
+run_rc_command "$1"
diff --git a/sysutils/backuppc/files/patch-configure.pl b/sysutils/backuppc/files/patch-configure.pl
new file mode 100644
index 000000000000..c676eab2256d
--- /dev/null
+++ b/sysutils/backuppc/files/patch-configure.pl
@@ -0,0 +1,31 @@
+--- configure.pl.orig 2010-07-31 21:52:58.000000000 +0400
++++ configure.pl 2010-08-16 15:34:17.000000000 +0400
+@@ -241,6 +241,7 @@
+ $Conf{InstallDir} ||= $opts{"install-dir"} || "/usr/local/BackupPC";
+ $Conf{LogDir} ||= $opts{"log-dir"} || "$Conf{TopDir}/log";
+ }
++ $Conf{LogDir} = $opts{"log-dir"};
+
+ #
+ # These are the programs whose paths we need to find
+@@ -521,7 +521,7 @@
+ #
+ # Create install directories
+ #
+-foreach my $dir ( qw(bin doc
++foreach my $dir ( qw(bin
+ lib/BackupPC/CGI
+ lib/BackupPC/Config
+ lib/BackupPC/Lang
+@@ -689,9 +689,9 @@
+ printf("Making Apache configuration file for suid-perl\n");
+ InstallFile("httpd/src/BackupPC.conf", "httpd/BackupPC.conf", 0644);
+
+-printf("Installing docs in $DestDir$Conf{InstallDir}/doc\n");
++printf("Installing docs in WRKSRC\n");
+ foreach my $doc ( qw(BackupPC.pod BackupPC.html) ) {
+- InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/doc/$doc", 0444);
++ InstallFile("doc/$doc", "./$doc", 0444);
+ }
+
+ printf("Installing config.pl and hosts in $DestDir$Conf{ConfDir}\n");
diff --git a/sysutils/backuppc/pkg-descr b/sysutils/backuppc/pkg-descr
new file mode 100644
index 000000000000..7f4c9d9de09b
--- /dev/null
+++ b/sysutils/backuppc/pkg-descr
@@ -0,0 +1,5 @@
+BackupPC is a high-performance, enterprise-grade system for backing up Linux,
+WinXX and MacOSX PCs and laptops to a server's disk.
+BackupPC is highly configurable and easy to install and maintain.
+
+WWW: http://backuppc.sourceforge.net
diff --git a/sysutils/backuppc/pkg-plist b/sysutils/backuppc/pkg-plist
new file mode 100644
index 000000000000..1089797e8c65
--- /dev/null
+++ b/sysutils/backuppc/pkg-plist
@@ -0,0 +1,140 @@
+bin/BackupPC
+bin/BackupPC_archive
+bin/BackupPC_archiveHost
+bin/BackupPC_archiveStart
+bin/BackupPC_attribPrint
+bin/BackupPC_dump
+bin/BackupPC_fixupBackupSummary
+bin/BackupPC_link
+bin/BackupPC_nightly
+bin/BackupPC_restore
+bin/BackupPC_sendEmail
+bin/BackupPC_serverMesg
+bin/BackupPC_tarCreate
+bin/BackupPC_tarExtract
+bin/BackupPC_tarPCCopy
+bin/BackupPC_trashClean
+bin/BackupPC_zcat
+bin/BackupPC_zipCreate
+lib/BackupPC/Attrib.pm
+lib/BackupPC/CGI/AdminOptions.pm
+lib/BackupPC/CGI/Archive.pm
+lib/BackupPC/CGI/ArchiveInfo.pm
+lib/BackupPC/CGI/Browse.pm
+lib/BackupPC/CGI/DirHistory.pm
+lib/BackupPC/CGI/EditConfig.pm
+lib/BackupPC/CGI/EmailSummary.pm
+lib/BackupPC/CGI/GeneralInfo.pm
+lib/BackupPC/CGI/HostInfo.pm
+lib/BackupPC/CGI/LOGlist.pm
+lib/BackupPC/CGI/Lib.pm
+lib/BackupPC/CGI/Queue.pm
+lib/BackupPC/CGI/RSS.pm
+lib/BackupPC/CGI/ReloadServer.pm
+lib/BackupPC/CGI/Restore.pm
+lib/BackupPC/CGI/RestoreFile.pm
+lib/BackupPC/CGI/RestoreInfo.pm
+lib/BackupPC/CGI/StartServer.pm
+lib/BackupPC/CGI/StartStopBackup.pm
+lib/BackupPC/CGI/StopServer.pm
+lib/BackupPC/CGI/Summary.pm
+lib/BackupPC/CGI/View.pm
+lib/BackupPC/Config.pm
+lib/BackupPC/Config/Meta.pm
+lib/BackupPC/FileZIO.pm
+lib/BackupPC/Lang/cz.pm
+lib/BackupPC/Lang/de.pm
+lib/BackupPC/Lang/en.pm
+lib/BackupPC/Lang/es.pm
+lib/BackupPC/Lang/fr.pm
+lib/BackupPC/Lang/it.pm
+lib/BackupPC/Lang/nl.pm
+lib/BackupPC/Lang/pl.pm
+lib/BackupPC/Lang/pt_br.pm
+lib/BackupPC/Lang/zh_CN.pm
+lib/BackupPC/Lib.pm
+lib/BackupPC/PoolWrite.pm
+lib/BackupPC/Storage.pm
+lib/BackupPC/Storage/Text.pm
+lib/BackupPC/View.pm
+lib/BackupPC/Xfer.pm
+lib/BackupPC/Xfer/Archive.pm
+lib/BackupPC/Xfer/Ftp.pm
+lib/BackupPC/Xfer/Protocol.pm
+lib/BackupPC/Xfer/Rsync.pm
+lib/BackupPC/Xfer/RsyncDigest.pm
+lib/BackupPC/Xfer/RsyncFileIO.pm
+lib/BackupPC/Xfer/Smb.pm
+lib/BackupPC/Xfer/Tar.pm
+lib/BackupPC/Zip/FileMember.pm
+lib/Net/FTP/AutoReconnect.pm
+lib/Net/FTP/RetrHandle.pm
+%%WWWDIR%%/0000000.gif
+%%WWWDIR%%/0000011.gif
+%%WWWDIR%%/0001000.gif
+%%WWWDIR%%/0010000.gif
+%%WWWDIR%%/0010001.gif
+%%WWWDIR%%/0011000.gif
+%%WWWDIR%%/0011001.gif
+%%WWWDIR%%/1000000.gif
+%%WWWDIR%%/1000100.gif
+%%WWWDIR%%/1001000.gif
+%%WWWDIR%%/1001100.gif
+%%WWWDIR%%/1010000.gif
+%%WWWDIR%%/1010001.gif
+%%WWWDIR%%/1011000.gif
+%%WWWDIR%%/1100000.gif
+%%WWWDIR%%/1100100.gif
+%%WWWDIR%%/1100101.gif
+%%WWWDIR%%/1100110.gif
+%%WWWDIR%%/1100111.gif
+%%WWWDIR%%/1101000.gif
+%%WWWDIR%%/1101100.gif
+%%WWWDIR%%/1101101.gif
+%%WWWDIR%%/1101110.gif
+%%WWWDIR%%/1101111.gif
+%%WWWDIR%%/1110000.gif
+%%WWWDIR%%/1110001.gif
+%%WWWDIR%%/1110100.gif
+%%WWWDIR%%/1110101.gif
+%%WWWDIR%%/1110110.gif
+%%WWWDIR%%/1110111.gif
+%%WWWDIR%%/1111000.gif
+%%WWWDIR%%/1111001.gif
+%%WWWDIR%%/1111100.gif
+%%WWWDIR%%/1111101.gif
+%%WWWDIR%%/1111110.gif
+%%WWWDIR%%/1111111.gif
+%%WWWDIR%%/BackupPC_stnd.css
+%%WWWDIR%%/BackupPC_stnd_orig.css
+%%WWWDIR%%/favicon.ico
+%%WWWDIR%%/icon-dir.png
+%%WWWDIR%%/icon-file.png
+%%WWWDIR%%/icon-hardlink.png
+%%WWWDIR%%/icon-symlink.png
+%%WWWDIR%%/logo.gif
+%%WWWDIR%%/sorttable.js
+www/cgi-bin/BackupPC_Admin
+%%ETCDIR%%/hosts
+%%ETCDIR%%/config.pl
+@dirrm %%ETCDIR%%
+@dirrmtry www/cgi-bin
+@dirrmtry %%WWWDIR%%
+@dirrmtry share/doc/backuppc
+@dirrmtry lib/Net/FTP
+@dirrmtry lib/Net
+@dirrm lib/BackupPC/Zip
+@dirrm lib/BackupPC/Xfer
+@dirrm lib/BackupPC/Storage
+@dirrm lib/BackupPC/Lang
+@dirrm lib/BackupPC/Config
+@dirrm lib/BackupPC/CGI
+@dirrm lib/BackupPC
+@unexec echo
+@unexec echo "If you are permanently removing BackupPC, you should manually delete:"
+@unexec echo
+@unexec echo " 1) the backuppc user/group: pw userdel backuppc"
+@unexec echo " 2) BackupPC configuration: rm -rf %%PREFIX%%/%%ETCDIR%%"
+@unexec echo " 3) BackupPC data directory: rm -rf /data/BackupPC"
+@unexec echo " 4) BackupPC logs directory: rm -rf /var/log/BackupPC"
+@unexec echo