aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvsevolod <vsevolod@FreeBSD.org>2017-04-25 00:24:13 +0800
committervsevolod <vsevolod@FreeBSD.org>2017-04-25 00:24:13 +0800
commit9f5c2fc82d02e5405490e9414e6b3f06930b3563 (patch)
treec76bfbb5495dae504a0ddad6e6a4f6bc7ef43f01
parent5f7539d7a7c2ef484b75841c3f3ece690e191bcc (diff)
downloadfreebsd-ports-gnome-9f5c2fc82d02e5405490e9414e6b3f06930b3563.tar.gz
freebsd-ports-gnome-9f5c2fc82d02e5405490e9414e6b3f06930b3563.tar.zst
freebsd-ports-gnome-9f5c2fc82d02e5405490e9414e6b3f06930b3563.zip
- Add a port of the 4.x series of BackupPC
BackupPC is a fast, enterprise-grade backup system. It provides a web-based user interface. It supports several platforms (Unix-like, Windows, MacOSX) to backup to a disk-based storage. No client-side software is necessary, as the BackupPC server uses several protocols (smb, rsync, tar and ftp) native to the client OS. File-level deduplication combined with optional compression minimizes the disk space needed to store the backups and disk I/O and enables synthetic backups to reduce network traffic. BackupPC is not a block-level backup system but performs file-based backup and restore. Thus it is not suitable for backup of disk images or raw disk partitions. BackupPC supports laptop environments with clients on dynamic IP addresses (DHCP) not always connected to the network. WWW: http://backuppc.sourceforge.net/ Users of the sysutils/backuppc port should read http://backuppc.sourceforge.net/BackupPC-4.0.0.html#BackupPC-4.0 PR: 217638 Submitted by: Alexander Moisseev <moiseev at mezonplus.ru>
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/backuppc-devel/Makefile83
-rw-r--r--sysutils/backuppc-devel/distinfo5
-rw-r--r--sysutils/backuppc-devel/files/patch-bin-BackupPC_rrdUpdate57
-rw-r--r--sysutils/backuppc-devel/files/patch-doc-BackupPC.pod8
-rw-r--r--sysutils/backuppc-devel/files/patch-lib_BackupPC_Lib.pm20
-rw-r--r--sysutils/backuppc-devel/files/patch-lib_BackupPC_Xfer_Smb.pm33
-rw-r--r--sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm11
-rw-r--r--sysutils/backuppc-devel/files/patch-update.pl276
-rw-r--r--sysutils/backuppc-devel/files/pkg-message.in10
-rw-r--r--sysutils/backuppc-devel/files/update.sh.in5
-rw-r--r--sysutils/backuppc-devel/pkg-descr2
-rw-r--r--sysutils/backuppc-devel/pkg-plist7
-rw-r--r--sysutils/backuppc4/Makefile94
-rw-r--r--sysutils/backuppc4/distinfo3
-rw-r--r--sysutils/backuppc4/files/backuppc.in29
-rw-r--r--sysutils/backuppc4/files/patch-lib__BackupPC__CGI__View.pm11
-rw-r--r--sysutils/backuppc4/files/pkg-deinstall.in21
-rw-r--r--sysutils/backuppc4/files/pkg-message.in27
-rw-r--r--sysutils/backuppc4/files/update.sh.in15
-rw-r--r--sysutils/backuppc4/pkg-descr19
-rw-r--r--sysutils/backuppc4/pkg-plist151
22 files changed, 420 insertions, 468 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 769ecbd7baeb..9bf308d3a61d 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -64,6 +64,7 @@
SUBDIR += b43-fwcutter
SUBDIR += backupchecker
SUBDIR += backuppc
+ SUBDIR += backuppc4
SUBDIR += backuppc-devel
SUBDIR += bacula-bat
SUBDIR += bacula-client
diff --git a/sysutils/backuppc-devel/Makefile b/sysutils/backuppc-devel/Makefile
index 4e23774af7eb..87532bf9b1f4 100644
--- a/sysutils/backuppc-devel/Makefile
+++ b/sysutils/backuppc-devel/Makefile
@@ -2,12 +2,9 @@
# $FreeBSD$
PORTNAME= backuppc
-DISTVERSION= 4.0.0alpha3
-PORTREVISION= 7
+PORTVERSION= 4.1.2.20170424
CATEGORIES= sysutils
-MASTER_SITES= SF/${PORTNAME}/${PORTNAME}-beta/${DISTVERSION}
PKGNAMESUFFIX= -devel
-DISTNAME= BackupPC-${DISTVERSION}
MAINTAINER= moiseev@mezonplus.ru
COMMENT= Multi-platform backup to disk-based storage
@@ -15,15 +12,23 @@ COMMENT= Multi-platform backup to disk-based storage
LICENSE= GPLv3
LICENSE_FILE= ${WRKSRC}/LICENSE
+EXTRACT_DEPENDS= p5-BackupPC-XS>=0.53:sysutils/p5-BackupPC-XS
RUN_DEPENDS= p5-File-Listing>=0:sysutils/p5-File-Listing \
- p5-BackupPC-XS>=0.30:sysutils/p5-BackupPC-XS
+ p5-BackupPC-XS>=0.53:sysutils/p5-BackupPC-XS
-CONFLICTS= backuppc-[0-9]*
+CONFLICTS= backuppc-[0-9]* backuppc4-[0-9]*
USE_RC_SUBR= backuppc
+USE_GITHUB= yes
+GH_TAGNAME= 92469a6
+
+WRKSRC_SUBDIR= dist/BackupPC-${PORTVERSION}
+
USES= perl5
+USE_PERL5= extract
NO_BUILD= yes
+NO_ARCH= yes
USERS= backuppc
GROUPS= backuppc
@@ -37,55 +42,29 @@ SUB_LIST= CGIDIR=${CGIDIR}
PLIST_SUB+= CGIDIR=${CGIDIR:S,^${PREFIX}/,,} \
DISTVERSION=${DISTVERSION}
-PORTDOCS= ChangeLog LICENSE README
+PORTDOCS= ChangeLog LICENSE README.md
-OPTIONS_DEFINE= ARCHIVE_ZIP DOCS RSYNC_BPC NMBLOOKUP \
- RRDTOOL SMBCLIENT XML_RSS
-OPTIONS_DEFAULT= ARCHIVE_ZIP
+OPTIONS_DEFINE= ARCHIVE_ZIP DOCS RSYNC_BPC \
+ RRDTOOL SMB XML_RSS
-ARCHIVE_ZIP_DESC= Perl module for Zip archive files
-RSYNC_BPC_DESC= Modified rsync that used as part of BackupPC
-NMBLOOKUP_DESC= NetBIOS Name lookup tool
-RRDTOOL_DESC= Round Robin Database Tools
-SMBCLIENT_DESC= Samba client
-XML_RSS_DESC= Perl extension to manage RSS files
+OPTIONS_DEFAULT= ARCHIVE_ZIP
-.include <bsd.port.options.mk>
+ARCHIVE_ZIP_DESC= Install Perl module for Zip archive files
+RSYNC_BPC_DESC= Install modified rsync that used as part of BackupPC
+RRDTOOL_DESC= Install Round Robin Database Tools
+SMB_DESC= Install Samba (for "smb" transfer and NetBIOS lookup)
+XML_RSS_DESC= Install Perl extension to manage RSS files
-.if ${PORT_OPTIONS:MARCHIVE_ZIP}
-RUN_DEPENDS+= p5-Archive-Zip>=0:archivers/p5-Archive-Zip
-.endif
-.if ${PORT_OPTIONS:MRSYNC_BPC}
-RUN_DEPENDS+= rsync-bpc>=3.0.9.3:net/rsync-bpc
-.endif
-.if ${PORT_OPTIONS:MNMBLOOKUP} || ${PORT_OPTIONS:MSMBCLIENT}
-USES+= samba:run # nmblookup, smbclient
-.endif
-.if ${PORT_OPTIONS:MRRDTOOL}
-RUN_DEPENDS+= rrdtool:databases/rrdtool
-.endif
-.if ${PORT_OPTIONS:MXML_RSS}
-RUN_DEPENDS+= p5-XML-RSS>=0:textproc/p5-XML-RSS
-.endif
+ARCHIVE_ZIP_RUN_DEPENDS= p5-Archive-Zip>=0:archivers/p5-Archive-Zip
+RSYNC_BPC_RUN_DEPENDS= rsync-bpc>=3.0.9.6:net/rsync-bpc
+RRDTOOL_RUN_DEPENDS= rrdtool:databases/rrdtool
+SMB_USES= samba:run # nmblookup, smbclient
+XML_RSS_RUN_DEPENDS= p5-XML-RSS>=0:textproc/p5-XML-RSS
-pre-patch:
- @${CP} ${WRKSRC}/configure.pl ${WRKSRC}/update.pl
-
-post-patch:
- @${REINPLACE_CMD} \
- -e 's|/etc/BackupPC\(/config.pl\)|${ETCDIR}\1|' \
- ${WRKSRC}/configure.pl ${WRKSRC}/update.pl
- @${REINPLACE_CMD} -E \
- -e 's|^(use lib ")\.(/lib";)$$|\1${PREFIX}\2|' \
- ${WRKSRC}/update.pl
- @${REINPLACE_CMD} \
- -e 's|STDERR "Please su |STDERR "Please su [-m] |' \
- ${WRKSRC}/lib/BackupPC/Lib.pm
- @${REINPLACE_CMD} \
- -e 's| you can use the -s| you can use the -m|' \
- -e 's|option to su to explicitly run|option to su to run|' \
- -e 's|su -s /bin/bash __BACKUPPCUSER__|su -m __BACKUPPCUSER__|' \
- ${WRKSRC}/doc/BackupPC.html ${WRKSRC}/doc/BackupPC.pod
+post-extract:
+ cd ${WRKDIR}/${PORTNAME}-${GH_TAGNAME} && ${PERL} makeDist \
+ --nosyntaxCheck \
+ --version ${PORTVERSION}
do-install:
cd ${WRKSRC} && ${PERL} configure.pl \
@@ -112,11 +91,9 @@ do-install:
${CP} ${WRKSRC}/doc/BackupPC.html ${STAGEDIR}${WWWDIR}
${RM} ${STAGEDIR}${ETCDIR}/config.pl
${RM} ${STAGEDIR}${ETCDIR}/hosts
- ${CP} ${WRKSRC}/conf/config.pl ${STAGEDIR}${ETCDIR}/config.pl.sample
- ${CP} ${WRKSRC}/conf/hosts ${STAGEDIR}${ETCDIR}/hosts.sample
${CP} ${WRKDIR}/update.sh ${STAGEDIR}${ETCDIR}/update.sh
${MKDIR} ${STAGEDIR}${PREFIX}/libexec/backuppc
- ${CP} ${WRKSRC}/update.pl ${STAGEDIR}${PREFIX}/libexec/backuppc/update.pl
+ ${CP} ${WRKSRC}/configure.pl ${STAGEDIR}${PREFIX}/libexec/backuppc/configure.pl
.include <bsd.port.pre.mk>
diff --git a/sysutils/backuppc-devel/distinfo b/sysutils/backuppc-devel/distinfo
index 0331ffcbb492..971a60cd1957 100644
--- a/sysutils/backuppc-devel/distinfo
+++ b/sysutils/backuppc-devel/distinfo
@@ -1,2 +1,3 @@
-SHA256 (BackupPC-4.0.0alpha3.tar.gz) = 3e63ad375465425f97179152d09e91963cced8b5ca7e400290b81decf83a902e
-SIZE (BackupPC-4.0.0alpha3.tar.gz) = 583970
+TIMESTAMP = 1493016668
+SHA256 (backuppc-backuppc-4.1.2.20170424-92469a6_GH0.tar.gz) = 4220ddf5744396ae7bd6ed9458a8a560e07ddf2556736d5d57cd5651aa4bfccc
+SIZE (backuppc-backuppc-4.1.2.20170424-92469a6_GH0.tar.gz) = 540110
diff --git a/sysutils/backuppc-devel/files/patch-bin-BackupPC_rrdUpdate b/sysutils/backuppc-devel/files/patch-bin-BackupPC_rrdUpdate
deleted file mode 100644
index 3289e88e4f3a..000000000000
--- a/sysutils/backuppc-devel/files/patch-bin-BackupPC_rrdUpdate
+++ /dev/null
@@ -1,57 +0,0 @@
---- ./bin/BackupPC_rrdUpdate.orig 2013-12-09 17:06:45.000000000 +0400
-+++ ./bin/BackupPC_rrdUpdate 2013-12-10 12:24:41.000000000 +0400
-@@ -109,7 +109,7 @@
- }
- $sizeTot = $sizeTot / 1024;
-
-- print $bpc->cmdSystemOrEval(
-+ if ( $err = $bpc->cmdSystemOrEval(
- [
- $Conf{RrdToolPath},
- "update", $RRDFile,
-@@ -119,13 +119,17 @@
- . $Info{"poolKb"} . ":"
- . $Info{"pool4Kb"} . ":"
- . $Info{"cpool4Kb"}
-- ]);
-- printf("%sRRD updated:"
-+ ]) ) {
-+ print "$err";
-+ }
-+ else {
-+ printf("%sRRD updated:"
- . " date %s; cpoolKb %f; total %f;"
- . " poolKb %f; pool4Kb %f; cpool4Kb %f\n",
- $bpc->timeStamp,
- $NowRnd1, $Info{"cpoolKb"}, $sizeTot,
- $Info{"poolKb"}, $Info{"pool4Kb"}, $Info{"cpool4Kb"});
-+ }
- }
-
- #
-@@ -140,7 +144,7 @@
- #
- # Get each pool max value from RRD
- #
-- $bpc->cmdSystemOrEval(
-+ $bpc->cmdSystemOrEvalLong(
- [
- $Conf{RrdToolPath},
- "graphv", "-",
-@@ -158,7 +162,7 @@
- if ( $_[0] =~ /^print\[([0-3])\] = "([.0-9]+)"$/ ) {
- $poolMax[$1] = $2 unless ( $2 == 0 );
- }
-- });
-+ }, 1, undef);
-
- my $poolSizeGraph = [
- "$Conf{RrdToolPath}",
-@@ -228,6 +232,6 @@
- print("Can't open/create $LogDir/poolUsage$weeks.png\n");
- return;
- }
-- $bpc->cmdSystemOrEval($poolSizeGraph, sub { print $fdOut $_[0] });
-+ $bpc->cmdSystemOrEvalLong($poolSizeGraph, sub { print $fdOut $_[0] }, 1, undef);
- close($fdOut);
- }
diff --git a/sysutils/backuppc-devel/files/patch-doc-BackupPC.pod b/sysutils/backuppc-devel/files/patch-doc-BackupPC.pod
deleted file mode 100644
index 529c1f409674..000000000000
--- a/sysutils/backuppc-devel/files/patch-doc-BackupPC.pod
+++ /dev/null
@@ -1,8 +0,0 @@
---- doc/BackupPC.pod.orig 2014-05-13 17:40:09.000000000 +0400
-+++ doc/BackupPC.pod 2014-05-13 17:40:27.000000000 +0400
-@@ -1,3 +1,5 @@
-+=encoding ISO8859-1
-+
- =head1 BackupPC Introduction
-
- This documentation describes BackupPC version 3.3.0,
diff --git a/sysutils/backuppc-devel/files/patch-lib_BackupPC_Lib.pm b/sysutils/backuppc-devel/files/patch-lib_BackupPC_Lib.pm
deleted file mode 100644
index 85871ea49636..000000000000
--- a/sysutils/backuppc-devel/files/patch-lib_BackupPC_Lib.pm
+++ /dev/null
@@ -1,20 +0,0 @@
---- lib/BackupPC/Lib.pm.orig 2016-11-08 08:12:44 UTC
-+++ lib/BackupPC/Lib.pm
-@@ -1097,7 +1097,7 @@ sub cmdVarSubstitute
- #
- # Replace scalar variables first
- #
-- $arg =~ s[\${(\w+)}(\+?)]{
-+ $arg =~ s[\$\{(\w+)}(\+?)]{
- exists($vars->{$1}) && ref($vars->{$1}) ne "ARRAY"
- ? ($2 eq "+" ? $bpc->shellEscape($vars->{$1}) : $vars->{$1})
- : "\${$1}$2"
-@@ -1106,7 +1106,7 @@ sub cmdVarSubstitute
- # Now replicate any array arguments; this just works for just one
- # array var in each argument.
- #
-- if ( $arg =~ m[(.*)\${(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
-+ if ( $arg =~ m[(.*)\$\{(\w+)}(\+?)(.*)] && ref($vars->{$2}) eq "ARRAY" ) {
- my $pre = $1;
- my $var = $2;
- my $esc = $3;
diff --git a/sysutils/backuppc-devel/files/patch-lib_BackupPC_Xfer_Smb.pm b/sysutils/backuppc-devel/files/patch-lib_BackupPC_Xfer_Smb.pm
deleted file mode 100644
index 9a013abb8550..000000000000
--- a/sysutils/backuppc-devel/files/patch-lib_BackupPC_Xfer_Smb.pm
+++ /dev/null
@@ -1,33 +0,0 @@
---- lib/BackupPC/Xfer/Smb.pm.orig 2013-12-01 20:58:20 UTC
-+++ lib/BackupPC/Xfer/Smb.pm
-@@ -216,7 +216,7 @@ sub readOutput
- # This section is highly dependent on the version of smbclient.
- # If you upgrade Samba, make sure that these regexp are still valid.
- #
-- if ( /^\s*(-?\d+) \(\s*\d+[.,]\d kb\/s\) (.*)$/ ) {
-+ if ( /^\s*(-?\d+) \(\s*\d+[.,]\d kb\/s\) (.*)$/ || /^tar:(\d+)\s+\+\+\+ (.*)$/ ) {
- my $sambaFileSize = $1;
- my $pcFileName = $2;
- (my $fileName = $pcFileName) =~ s/\\/\//g;
-@@ -229,7 +229,9 @@ sub readOutput
- $t->{byteCnt} += $2;
- $t->{fileCnt}++;
- $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 1 );
-- } elsif ( /^\s*tar: dumped \d+ files/ ) {
-+ } elsif ( /^\s*tar: dumped \d+ files/
-+ || /Total bytes received: \d+/i
-+ || /tar_process done, err = 0/ ) {
- $t->{xferOK} = 1;
- $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 0 );
- } elsif ( /^\s*tar: restored \d+ files/ ) {
-@@ -269,6 +271,10 @@ sub readOutput
- } elsif ( /^\s*directory \\/i ) {
- $t->{XferLOG}->write(\"$_\n") if ( $t->{logLevel} >= 2 );
- } elsif ( /smb: \\>/
-+ || /^tar:\d+\s/
-+ || /^ NTLMSSP_/
-+ || /^GENSEC backend /
-+ || /^doing parameter /
- || /^\s*added interface/i
- || /^\s*tarmode is now/i
- || /^\s*Total bytes written/i
diff --git a/sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm b/sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm
index 3318ba50c636..455f1c1c9850 100644
--- a/sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm
+++ b/sysutils/backuppc-devel/files/patch-lib__BackupPC__CGI__View.pm
@@ -9,14 +9,3 @@
} elsif ( $host ne "" ) {
if ( !defined($In{num}) ) {
# get the latest LOG file
-@@ -148,6 +148,10 @@ sub action
- }
- $s =~ s/[\n\r]+//g;
- if ( $s =~ /smb: \\>/
-+ || $s =~ /^tar:\d+\s/
-+ || $s =~ /^ NTLMSSP_/
-+ || $s =~ /^GENSEC backend /
-+ || $s =~ /^doing parameter /
- || $s =~ /^\s*(\d+) \(\s*\d+\.\d kb\/s\) (.*)$/
- || $s =~ /^tar: dumped \d+ files/
- || $s =~ /^\s*added interface/i
diff --git a/sysutils/backuppc-devel/files/patch-update.pl b/sysutils/backuppc-devel/files/patch-update.pl
deleted file mode 100644
index 4e66f9cf3a54..000000000000
--- a/sysutils/backuppc-devel/files/patch-update.pl
+++ /dev/null
@@ -1,276 +0,0 @@
---- ./update.pl.orig 2014-09-03 13:36:33.000000000 +0400
-+++ ./update.pl 2014-09-03 13:56:16.000000000 +0400
-@@ -222,7 +222,7 @@
- if ( $ConfigPath ne "" && -r $ConfigPath ) {
- (my $confDir = $ConfigPath) =~ s{/[^/]+$}{};
- die("BackupPC::Lib->new failed\n")
-- if ( !($bpc = BackupPC::Lib->new(".", ".", $confDir, 1)) );
-+ if ( !($bpc = BackupPC::Lib->new(".", $opts{"install-dir"}, $confDir, 1)) );
- %Conf = $bpc->Conf();
- %OrigConf = %Conf;
- if ( !$opts{fhs} ) {
-@@ -494,239 +494,21 @@
-
- print <<EOF;
-
--Ok, we're about to:
--
-- - install the binaries, lib and docs in $Conf{InstallDir},
-- - create the data directory $Conf{TopDir},
-- - create/update the config.pl file $Conf{ConfDir}/config.pl,
-- - optionally install the cgi-bin interface.
-+Ok, we're about to create/update the config.pl file $Conf{ConfDir}/config.pl.
-
- EOF
-
- exit unless prompt("--> Do you want to continue?", "y") =~ /y/i;
-
- #
--# Create install directories
--#
--foreach my $dir ( qw(bin share/doc/BackupPC
-- lib/BackupPC/CGI
-- lib/BackupPC/Config
-- lib/BackupPC/Lang
-- lib/BackupPC/Storage
-- lib/BackupPC/Xfer
-- lib/BackupPC/Zip
-- lib/Net/FTP
-- ) ) {
-- next if ( -d "$DestDir$Conf{InstallDir}/$dir" );
-- mkpath("$DestDir$Conf{InstallDir}/$dir", 0, 0755);
-- if ( !-d "$DestDir$Conf{InstallDir}/$dir"
-- || !my_chown($Uid, $Gid, "$DestDir$Conf{InstallDir}/$dir") ) {
-- die("Failed to create or chown $DestDir$Conf{InstallDir}/$dir\n");
-- } else {
-- print("Created $DestDir$Conf{InstallDir}/$dir\n");
-- }
--}
--
--#
--# Create CGI image directory
--#
--foreach my $dir ( ($Conf{CgiImageDir}) ) {
-- next if ( $dir eq "" || -d "$DestDir$dir" );
-- mkpath("$DestDir$dir", 0, 0755);
-- if ( !-d "$DestDir$dir" || !my_chown($Uid, $Gid, "$DestDir$dir") ) {
-- die("Failed to create or chown $DestDir$dir");
-- } else {
-- print("Created $DestDir$dir\n");
-- }
--}
--
--#
--# Create other directories
--#
--foreach my $dir ( (
-- "$Conf{TopDir}",
-- "$Conf{TopDir}/pool",
-- "$Conf{TopDir}/cpool",
-- "$Conf{TopDir}/pc",
-- "$Conf{ConfDir}",
-- "$Conf{LogDir}",
-- "$Conf{RunDir}",
-- ) ) {
-- mkpath("$DestDir$dir", 0, 0750) if ( !-d "$DestDir$dir" );
-- if ( !-d "$DestDir$dir"
-- || !my_chown($Uid, $Gid, "$DestDir$dir") ) {
-- die("Failed to create or chown $DestDir$dir\n");
-- } else {
-- print("Created $DestDir$dir\n");
-- }
--}
--
--printf("Installing binaries in $DestDir$Conf{InstallDir}/bin\n");
--foreach my $prog ( qw(
-- bin/BackupPC
-- bin/BackupPC_Admin_SCGI
-- bin/BackupPC_archive
-- bin/BackupPC_archiveHost
-- bin/BackupPC_archiveStart
-- bin/BackupPC_attribPrint
-- bin/BackupPC_backupDelete
-- bin/BackupPC_backupDuplicate
-- bin/BackupPC_dump
-- bin/BackupPC_fixupBackupSummary
-- bin/BackupPC_fsck
-- bin/BackupPC_ls
-- bin/BackupPC_nightly
-- bin/BackupPC_poolCntPrint
-- bin/BackupPC_refCountUpdate
-- bin/BackupPC_restore
-- bin/BackupPC_rrdUpdate
-- bin/BackupPC_sendEmail
-- bin/BackupPC_serverMesg
-- bin/BackupPC_tarCreate
-- bin/BackupPC_tarExtract
-- bin/BackupPC_zcat
-- bin/BackupPC_zipCreate
-- ) ) {
-- InstallFile($prog, "$DestDir$Conf{InstallDir}/$prog", 0555);
--}
--
--#
--# remove old pre-v4 programs
--#
--foreach my $prog ( qw(
-- bin/BackupPC_link
-- bin/BackupPC_tarPCCopy
-- bin/BackupPC_trashClean
-- bin/BackupPC_compressPool
-- ) ) {
-- unlink("$DestDir$Conf{InstallDir}/$prog");
--}
--
--printf("Installing library in $DestDir$Conf{InstallDir}/lib\n");
--foreach my $lib ( qw(
-- lib/BackupPC/Config/Meta.pm
-- lib/BackupPC/DirOps.pm
-- lib/BackupPC/Lib.pm
-- lib/BackupPC/Storage.pm
-- lib/BackupPC/View.pm
-- lib/BackupPC/Xfer/Archive.pm
-- lib/BackupPC/Xfer/Ftp.pm
-- lib/BackupPC/Xfer/Protocol.pm
-- lib/BackupPC/Xfer/Rsync.pm
-- lib/BackupPC/Xfer/Smb.pm
-- lib/BackupPC/Xfer/Tar.pm
-- lib/BackupPC/Xfer.pm
-- lib/BackupPC/Zip/FileMember.pm
-- lib/Net/FTP/AutoReconnect.pm
-- lib/Net/FTP/RetrHandle.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/Lib.pm
-- lib/BackupPC/CGI/LOGlist.pm
-- lib/BackupPC/CGI/Queue.pm
-- lib/BackupPC/CGI/ReloadServer.pm
-- lib/BackupPC/CGI/Restore.pm
-- lib/BackupPC/CGI/RestoreFile.pm
-- lib/BackupPC/CGI/RestoreInfo.pm
-- lib/BackupPC/CGI/RSS.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/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/ja.pm
-- lib/BackupPC/Lang/nl.pm
-- lib/BackupPC/Lang/pl.pm
-- lib/BackupPC/Lang/pt_br.pm
-- lib/BackupPC/Lang/ru.pm
-- lib/BackupPC/Lang/uk.pm
-- lib/BackupPC/Lang/zh_CN.pm
-- lib/BackupPC/Storage/Text.pm
-- ) ) {
-- InstallFile($lib, "$DestDir$Conf{InstallDir}/$lib", 0444);
--}
--
--#
--# remove old pre-v4 libraries
--#
--foreach my $lib ( qw(
-- lib/BackupPC/Attrib.pm
-- lib/BackupPC/Config.pm
-- lib/BackupPC/FileZIO.pm
-- lib/BackupPC/PoolWrite.pm
-- lib/BackupPC/Xfer/RsyncDigest.pm
-- lib/BackupPC/Xfer/RsyncFileIO.pm
-- ) ) {
-- unlink("$DestDir$Conf{InstallDir}/$lib");
--}
--
--#
- # clean pid and sock files from old location (they are now in $Conf{RunDir}, and they
- # get re-created each time BackupPC starts, so it's ok if RunDir eq LogDir).
- #
- unlink("$DestDir$Conf{LogDir}/BackupPC.pid") if ( -f "$DestDir$Conf{LogDir}/BackupPC.pid" );
- unlink("$DestDir$Conf{LogDir}/BackupPC.sock") if ( -e "$DestDir$Conf{LogDir}/BackupPC.sock" );
-
--if ( $Conf{CgiImageDir} ne "" ) {
-- printf("Installing images in $DestDir$Conf{CgiImageDir}\n");
-- foreach my $img ( <images/*> ) {
-- (my $destImg = $img) =~ s{^images/}{};
-- InstallFile($img, "$DestDir$Conf{CgiImageDir}/$destImg", 0444, 1);
-- }
--
-- #
-- # Install new CSS file, making a backup copy if necessary
-- #
-- my $cssBackup = "$DestDir$Conf{CgiImageDir}/BackupPC_stnd.css.pre-4.0.0alpha3";
-- if ( -f "$DestDir$Conf{CgiImageDir}/BackupPC_stnd.css" && !-f $cssBackup ) {
-- rename("$DestDir$Conf{CgiImageDir}/BackupPC_stnd.css", $cssBackup);
-- }
-- InstallFile("conf/BackupPC_stnd.css",
-- "$DestDir$Conf{CgiImageDir}/BackupPC_stnd.css", 0444, 0);
-- InstallFile("conf/BackupPC_stnd_orig.css",
-- "$DestDir$Conf{CgiImageDir}/BackupPC_stnd_orig.css", 0444, 0);
-- InstallFile("conf/sorttable.js",
-- "$DestDir$Conf{CgiImageDir}/sorttable.js", 0444, 0);
--}
--
--printf("Making init.d scripts\n");
--foreach my $init ( qw(gentoo-backuppc gentoo-backuppc.conf linux-backuppc
-- solaris-backuppc debian-backuppc freebsd-backuppc
-- freebsd-backuppc2 suse-backuppc slackware-backuppc ) ) {
-- InstallFile("init.d/src/$init", "init.d/$init", 0444);
--}
--
--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}/share/doc/BackupPC\n");
--foreach my $doc ( qw(BackupPC.pod BackupPC.html) ) {
-- InstallFile("doc/$doc", "$DestDir$Conf{InstallDir}/share/doc/BackupPC/$doc", 0444);
-- #
-- # clean up files from old directory
-- #
-- unlink("$DestDir$Conf{InstallDir}/doc/$doc") if ( -f "$DestDir$Conf{InstallDir}/doc/$doc" );
--}
--#
--# clean up old directory (ok if it quietly fails if there are other files in that directory)
--#
--rmdir("$DestDir$Conf{InstallDir}/doc") if ( -d "$DestDir$Conf{InstallDir}/doc" );
--
- printf("Installing config.pl and hosts in $DestDir$Conf{ConfDir}\n");
--InstallFile("conf/hosts", "$DestDir$Conf{ConfDir}/hosts", 0644)
-+InstallFile("$DestDir$Conf{ConfDir}/hosts.sample", "$DestDir$Conf{ConfDir}/hosts", 0644)
- if ( !-f "$DestDir$Conf{ConfDir}/hosts" );
-
- #
-@@ -735,7 +517,7 @@
- # parameters and deleting ones that are no longer needed.
- #
- my $dest = "$DestDir$Conf{ConfDir}/config.pl";
--my ($distConf, $distVars) = ConfigParse("conf/config.pl");
-+my ($distConf, $distVars) = ConfigParse("$DestDir$Conf{ConfDir}/config.pl.sample");
- my ($oldConf, $oldVars);
- my ($newConf, $newVars) = ($distConf, $distVars);
- if ( -f $dest ) {
-@@ -974,13 +756,6 @@
- die("can't chown $Uid, $Gid $dest\n") unless my_chown($Uid, $Gid, $dest);
- }
-
--if ( $Conf{CgiDir} ne "" ) {
-- printf("Installing cgi script BackupPC_Admin in $DestDir$Conf{CgiDir}\n");
-- mkpath("$DestDir$Conf{CgiDir}", 0, 0755);
-- InstallFile("cgi-bin/BackupPC_Admin", "$DestDir$Conf{CgiDir}/BackupPC_Admin",
-- 04554);
--}
--
- print <<EOF;
-
- Ok, it looks like we are finished. There are several more things you
diff --git a/sysutils/backuppc-devel/files/pkg-message.in b/sysutils/backuppc-devel/files/pkg-message.in
index 45e12bcf3cb6..d5713288a2f8 100644
--- a/sysutils/backuppc-devel/files/pkg-message.in
+++ b/sysutils/backuppc-devel/files/pkg-message.in
@@ -14,12 +14,14 @@
This file system needs to be big enough
to accommodate all the PCs you expect to backup.
+ - BackupPC 4 creates a large number of files with negative group permissions.
+ To avoid excessive daily security run output consider adding the following
+ line to /etc/periodic.conf:
+
+ daily_status_security_neggrpperm_enable="NO"
+
- Users of Samba 4 smbclient should change debug level for smbclient
restore command to 5 ('-d 5') in the main configuration, for instance
$Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 5 -c tarmode\\ full -Tx -';
-
- and set in the each host's configuration
-
- $Conf{BackupZeroFilesIsFatal} = '0';
==========================================================================
diff --git a/sysutils/backuppc-devel/files/update.sh.in b/sysutils/backuppc-devel/files/update.sh.in
index cfbe07366f59..6b30338eeed3 100644
--- a/sysutils/backuppc-devel/files/update.sh.in
+++ b/sysutils/backuppc-devel/files/update.sh.in
@@ -1,6 +1,9 @@
#!/bin/sh
-perl %%PREFIX%%/libexec/backuppc/update.pl \
+PERL5LIB=%%PREFIX%%/lib; export PERL5LIB
+
+perl %%PREFIX%%/libexec/backuppc/configure.pl \
+ --config-only \
--bin-path perl=%%PREFIX%%/bin/perl \
--config-dir %%ETCDIR%% \
--cgi-dir %%CGIDIR%% \
diff --git a/sysutils/backuppc-devel/pkg-descr b/sysutils/backuppc-devel/pkg-descr
index 053b617b3483..717fd6ee7bd8 100644
--- a/sysutils/backuppc-devel/pkg-descr
+++ b/sysutils/backuppc-devel/pkg-descr
@@ -16,4 +16,4 @@ images or raw disk partitions.
BackupPC supports laptop environments with clients on dynamic
IP addresses (DHCP) not always connected to the network.
-WWW: http://backuppc.sourceforge.net
+WWW: http://backuppc.sourceforge.net/
diff --git a/sysutils/backuppc-devel/pkg-plist b/sysutils/backuppc-devel/pkg-plist
index b6bf27012b30..bf4458b9018b 100644
--- a/sysutils/backuppc-devel/pkg-plist
+++ b/sysutils/backuppc-devel/pkg-plist
@@ -11,6 +11,7 @@ bin/BackupPC_dump
bin/BackupPC_fixupBackupSummary
bin/BackupPC_fsck
bin/BackupPC_ls
+bin/BackupPC_migrateV3toV4
bin/BackupPC_nightly
bin/BackupPC_poolCntPrint
bin/BackupPC_refCountUpdate
@@ -115,13 +116,15 @@ man/man1/backuppc.1.gz
%%WWWDIR%%/1111111.gif
%%WWWDIR%%/BackupPC.html
%%WWWDIR%%/BackupPC_stnd.css
-%%WWWDIR%%/BackupPC_stnd_orig.css
+%%WWWDIR%%/BackupPC_retro_v2.css
+%%WWWDIR%%/BackupPC_retro_v3.css
%%WWWDIR%%/favicon.ico
%%WWWDIR%%/icon-dir.png
%%WWWDIR%%/icon-file.png
%%WWWDIR%%/icon-hardlink.png
%%WWWDIR%%/icon-symlink.png
%%WWWDIR%%/logo.gif
+%%WWWDIR%%/logo320.png
%%WWWDIR%%/sorttable.js
@owner backuppc
@group backuppc
@@ -144,5 +147,5 @@ man/man1/backuppc.1.gz
@group
@mode 0544
%%ETCDIR%%/update.sh
-libexec/backuppc/update.pl
+libexec/backuppc/configure.pl
@mode
diff --git a/sysutils/backuppc4/Makefile b/sysutils/backuppc4/Makefile
new file mode 100644
index 000000000000..4bb34ffe12a0
--- /dev/null
+++ b/sysutils/backuppc4/Makefile
@@ -0,0 +1,94 @@
+# Created by: Alexander Moisseev <moiseev@mezonplus.ru>
+# $FreeBSD$
+
+PORTNAME= backuppc
+PORTVERSION= 4.1.1
+CATEGORIES= sysutils
+MASTER_SITES= SF
+PKGNAMESUFFIX= 4
+DISTNAME= BackupPC-${DISTVERSION}
+
+MAINTAINER= moiseev@mezonplus.ru
+COMMENT= Multi-platform backup to disk-based storage
+
+LICENSE= GPLv3
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+RUN_DEPENDS= p5-File-Listing>=0:sysutils/p5-File-Listing \
+ p5-BackupPC-XS>=0.50:sysutils/p5-BackupPC-XS
+
+CONFLICTS= backuppc-[0-9]* backuppc-devel-[0-9]*
+
+USE_RC_SUBR= backuppc
+
+USES= perl5
+NO_BUILD= yes
+NO_ARCH= yes
+
+USERS= backuppc
+GROUPS= backuppc
+
+DOCSDIR= ${PREFIX}/share/doc/BackupPC
+CGIDIR?= ${PREFIX}/www/cgi-bin
+
+SUB_FILES= pkg-deinstall pkg-message update.sh
+SUB_LIST= CGIDIR=${CGIDIR}
+
+PLIST_SUB+= CGIDIR=${CGIDIR:S,^${PREFIX}/,,} \
+ DISTVERSION=${DISTVERSION}
+
+PORTDOCS= ChangeLog LICENSE README.md
+
+OPTIONS_DEFINE= ARCHIVE_ZIP DOCS RSYNC_BPC \
+ RRDTOOL SMB XML_RSS
+
+OPTIONS_DEFAULT= ARCHIVE_ZIP
+
+ARCHIVE_ZIP_DESC= Install Perl module for Zip archive files
+RSYNC_BPC_DESC= Install modified rsync that used as part of BackupPC
+RRDTOOL_DESC= Install Round Robin Database Tools
+SMB_DESC= Install Samba (for "smb" transfer and NetBIOS lookup)
+XML_RSS_DESC= Install Perl extension to manage RSS files
+
+ARCHIVE_ZIP_RUN_DEPENDS= p5-Archive-Zip>=0:archivers/p5-Archive-Zip
+RSYNC_BPC_RUN_DEPENDS= rsync-bpc>=3.0.9.5:net/rsync-bpc
+RRDTOOL_RUN_DEPENDS= rrdtool:databases/rrdtool
+SMB_USES= samba:run # nmblookup, smbclient
+XML_RSS_RUN_DEPENDS= p5-XML-RSS>=0:textproc/p5-XML-RSS
+
+do-install:
+ cd ${WRKSRC} && ${PERL} configure.pl \
+ --batch \
+ --backuppc-user ${USERS} \
+ --bin-path perl=${PERL} \
+ --config-dir ${ETCDIR} \
+ --cgi-dir ${CGIDIR} \
+ --data-dir /var/db/BackupPC \
+ --dest-dir ${STAGEDIR} \
+ --fhs \
+ --html-dir ${WWWDIR} \
+ --html-dir-url /${PORTNAME} \
+ --install-dir ${PREFIX} \
+ --log-dir /var/log/BackupPC \
+ --no-set-perms \
+ --uid-ignore
+
+ pod2man --section=1 --release=${PORTVERSION} \
+ --name=BackupPC --center="BackupPC user guide" \
+ ${WRKSRC}/doc/BackupPC.pod ${WRKSRC}/${PORTNAME}.1
+ ${INSTALL_MAN} ${WRKSRC}/${PORTNAME}.1 ${STAGEDIR}${MANPREFIX}/man/man1
+ cd ${WRKSRC} && ${INSTALL_MAN} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+ ${CP} ${WRKSRC}/doc/BackupPC.html ${STAGEDIR}${WWWDIR}
+ ${RM} ${STAGEDIR}${ETCDIR}/config.pl
+ ${RM} ${STAGEDIR}${ETCDIR}/hosts
+ ${CP} ${WRKDIR}/update.sh ${STAGEDIR}${ETCDIR}/update.sh
+ ${MKDIR} ${STAGEDIR}${PREFIX}/libexec/backuppc
+ ${CP} ${WRKSRC}/configure.pl ${STAGEDIR}${PREFIX}/libexec/backuppc/configure.pl
+
+.include <bsd.port.pre.mk>
+
+.if ${PERL_LEVEL} >= 502200
+RUN_DEPENDS+= p5-CGI>0:www/p5-CGI
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/sysutils/backuppc4/distinfo b/sysutils/backuppc4/distinfo
new file mode 100644
index 000000000000..58ae77dfc34e
--- /dev/null
+++ b/sysutils/backuppc4/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1493015326
+SHA256 (BackupPC-4.1.1.tar.gz) = dc3eff90345a77a2438b285be78239e10275cf9647707808531ad9999e303789
+SIZE (BackupPC-4.1.1.tar.gz) = 619302
diff --git a/sysutils/backuppc4/files/backuppc.in b/sysutils/backuppc4/files/backuppc.in
new file mode 100644
index 000000000000..9b73df7c2522
--- /dev/null
+++ b/sysutils/backuppc4/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"
+
+. /etc/rc.subr
+
+name="backuppc"
+rcvar=backuppc_enable
+
+load_rc_config $name
+
+: ${backuppc_enable:="NO"}
+: ${backuppc_flags:="-d"}
+: ${backuppc_user:="backuppc"}
+: ${backuppc_group:="backuppc"}
+: ${backuppc_config:="%%ETCDIR%%/config.pl"}
+
+command_interpreter="%%PREFIX%%/bin/perl"
+command="%%PREFIX%%/bin/BackupPC"
+
+required_files="${backuppc_config}"
+pidfile="/var/run/BackupPC/BackupPC.pid"
+
+run_rc_command "$1"
diff --git a/sysutils/backuppc4/files/patch-lib__BackupPC__CGI__View.pm b/sysutils/backuppc4/files/patch-lib__BackupPC__CGI__View.pm
new file mode 100644
index 000000000000..455f1c1c9850
--- /dev/null
+++ b/sysutils/backuppc4/files/patch-lib__BackupPC__CGI__View.pm
@@ -0,0 +1,11 @@
+--- lib/BackupPC/CGI/View.pm.orig 2013-12-01 20:58:20 UTC
++++ lib/BackupPC/CGI/View.pm
+@@ -102,7 +102,7 @@ sub action
+ $file = $bpc->ConfDir() . "/hosts";
+ $linkHosts = 1;
+ } elsif ( $type eq "docs" ) {
+- $file = $bpc->InstallDir() . "/share/doc/BackupPC/BackupPC.html";
++ $file = "$Conf{CgiImageDir}/BackupPC.html";
+ } elsif ( $host ne "" ) {
+ if ( !defined($In{num}) ) {
+ # get the latest LOG file
diff --git a/sysutils/backuppc4/files/pkg-deinstall.in b/sysutils/backuppc4/files/pkg-deinstall.in
new file mode 100644
index 000000000000..337d97f207ef
--- /dev/null
+++ b/sysutils/backuppc4/files/pkg-deinstall.in
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+echo
+echo "======================================================================="
+echo " If you are permanently removing BackupPC, you should manually delete:"
+echo " - the backuppc user/group: pw userdel backuppc"
+if [ -d %%ETCDIR%% ]; then
+ echo " - BackupPC configuration: rm -r %%ETCDIR%%"
+fi
+if [ -d /var/db/BackupPC ]; then
+ echo " - BackupPC data directory: rm -r /var/db/BackupPC"
+fi
+if [ -d /var/log/BackupPC ]; then
+ echo " - BackupPC logs directory: rm -r /var/log/BackupPC"
+fi
+echo "======================================================================="
+echo
diff --git a/sysutils/backuppc4/files/pkg-message.in b/sysutils/backuppc4/files/pkg-message.in
new file mode 100644
index 000000000000..d5713288a2f8
--- /dev/null
+++ b/sysutils/backuppc4/files/pkg-message.in
@@ -0,0 +1,27 @@
+==========================================================================
+ - If this is a new installation or version upgrade,
+ to create/update configuration you should run
+
+ %%ETCDIR%%/update.sh
+
+ - Add the following line to /etc/rc.conf to enable BackupPC:
+
+ backuppc_enable="YES"
+
+ - Data directory is /var/db/BackupPC
+
+ This is where all the backup data is stored.
+ This file system needs to be big enough
+ to accommodate all the PCs you expect to backup.
+
+ - BackupPC 4 creates a large number of files with negative group permissions.
+ To avoid excessive daily security run output consider adding the following
+ line to /etc/periodic.conf:
+
+ daily_status_security_neggrpperm_enable="NO"
+
+ - Users of Samba 4 smbclient should change debug level for smbclient
+ restore command to 5 ('-d 5') in the main configuration, for instance
+
+ $Conf{SmbClientRestoreCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 5 -c tarmode\\ full -Tx -';
+==========================================================================
diff --git a/sysutils/backuppc4/files/update.sh.in b/sysutils/backuppc4/files/update.sh.in
new file mode 100644
index 000000000000..6b30338eeed3
--- /dev/null
+++ b/sysutils/backuppc4/files/update.sh.in
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+PERL5LIB=%%PREFIX%%/lib; export PERL5LIB
+
+perl %%PREFIX%%/libexec/backuppc/configure.pl \
+ --config-only \
+ --bin-path perl=%%PREFIX%%/bin/perl \
+ --config-dir %%ETCDIR%% \
+ --cgi-dir %%CGIDIR%% \
+ --data-dir /var/db/BackupPC \
+ --fhs \
+ --html-dir %%WWWDIR%% \
+ --html-dir-url /backuppc \
+ --install-dir %%PREFIX%% \
+ --log-dir /var/log/BackupPC
diff --git a/sysutils/backuppc4/pkg-descr b/sysutils/backuppc4/pkg-descr
new file mode 100644
index 000000000000..717fd6ee7bd8
--- /dev/null
+++ b/sysutils/backuppc4/pkg-descr
@@ -0,0 +1,19 @@
+BackupPC is a fast, enterprise-grade backup system. It provides
+a web-based user interface. It supports several platforms (Unix-like,
+Windows, MacOSX) to backup to a disk-based storage.
+
+No client-side software is necessary, as the BackupPC server uses
+several protocols (smb, rsync, tar and ftp) native to the client OS.
+
+File-level deduplication combined with optional compression minimizes
+the disk space needed to store the backups and disk I/O and enables
+synthetic backups to reduce network traffic.
+
+BackupPC is not a block-level backup system but performs file-based
+backup and restore. Thus it is not suitable for backup of disk
+images or raw disk partitions.
+
+BackupPC supports laptop environments with clients on dynamic
+IP addresses (DHCP) not always connected to the network.
+
+WWW: http://backuppc.sourceforge.net/
diff --git a/sysutils/backuppc4/pkg-plist b/sysutils/backuppc4/pkg-plist
new file mode 100644
index 000000000000..bf4458b9018b
--- /dev/null
+++ b/sysutils/backuppc4/pkg-plist
@@ -0,0 +1,151 @@
+@mode 0555
+bin/BackupPC
+bin/BackupPC_Admin_SCGI
+bin/BackupPC_archive
+bin/BackupPC_archiveHost
+bin/BackupPC_archiveStart
+bin/BackupPC_attribPrint
+bin/BackupPC_backupDelete
+bin/BackupPC_backupDuplicate
+bin/BackupPC_dump
+bin/BackupPC_fixupBackupSummary
+bin/BackupPC_fsck
+bin/BackupPC_ls
+bin/BackupPC_migrateV3toV4
+bin/BackupPC_nightly
+bin/BackupPC_poolCntPrint
+bin/BackupPC_refCountUpdate
+bin/BackupPC_restore
+bin/BackupPC_rrdUpdate
+bin/BackupPC_sendEmail
+bin/BackupPC_serverMesg
+bin/BackupPC_tarCreate
+bin/BackupPC_tarExtract
+bin/BackupPC_zcat
+bin/BackupPC_zipCreate
+@mode 0444
+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/Meta.pm
+lib/BackupPC/DirOps.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/ja.pm
+lib/BackupPC/Lang/nl.pm
+lib/BackupPC/Lang/pl.pm
+lib/BackupPC/Lang/pt_br.pm
+lib/BackupPC/Lang/ru.pm
+lib/BackupPC/Lang/uk.pm
+lib/BackupPC/Lang/zh_CN.pm
+lib/BackupPC/Lib.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/Smb.pm
+lib/BackupPC/Xfer/Tar.pm
+lib/BackupPC/Zip/FileMember.pm
+lib/Net/FTP/AutoReconnect.pm
+lib/Net/FTP/RetrHandle.pm
+man/man1/backuppc.1.gz
+%%PORTDOCS%%%%DOCSDIR%%/BackupPC.html
+%%PORTDOCS%%%%DOCSDIR%%/BackupPC.pod
+%%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.html
+%%WWWDIR%%/BackupPC_stnd.css
+%%WWWDIR%%/BackupPC_retro_v2.css
+%%WWWDIR%%/BackupPC_retro_v3.css
+%%WWWDIR%%/favicon.ico
+%%WWWDIR%%/icon-dir.png
+%%WWWDIR%%/icon-file.png
+%%WWWDIR%%/icon-hardlink.png
+%%WWWDIR%%/icon-symlink.png
+%%WWWDIR%%/logo.gif
+%%WWWDIR%%/logo320.png
+%%WWWDIR%%/sorttable.js
+@owner backuppc
+@group backuppc
+@mode 04554
+%%CGIDIR%%/BackupPC_Admin
+@mode
+@dir /var/run/BackupPC
+@dir /var/log/BackupPC
+@dir /var/db/BackupPC/cpool
+@dir /var/db/BackupPC/pc
+@dir /var/db/BackupPC/pool
+@dir /var/db/BackupPC
+@comment .sample files actually are templates for the configuration script
+@comment and should not be installed as working configuration files.
+@mode 0640
+%%ETCDIR%%/config.pl.sample
+@mode 0644
+%%ETCDIR%%/hosts.sample
+@owner
+@group
+@mode 0544
+%%ETCDIR%%/update.sh
+libexec/backuppc/configure.pl
+@mode