# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 # $Id: Portfile 125016 2014-09-02 20:19:02Z mf2k@macports.org $ PortSystem 1.0 name backuppc categories sysutils version 3.1.0 revision 2 set perl_version 5.16 maintainers nomaintainer license GPL-2+ homepage http://backuppc.sourceforge.net/ description BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and Mac OS X PCs and laptops to a server. long_description ${description} BackupPC is highly configurable and easy to install and maintain. platforms darwin master_sites sourceforge depends_lib port:bzip2 \ port:gnutar \ port:gzip \ port:mod_perl2 \ port:openssh \ port:p${perl_version}-archive-zip \ port:p${perl_version}-compress-raw-zlib \ port:p${perl_version}-file-rsyncp \ port:par2 \ port:perl${perl_version} \ port:rsync \ port:samba3 distname BackupPC-${version} checksums md5 84b4471852ef910768eae9963ef932d2 \ sha1 3bd6d637f4f08f2fda44a12668b91d47c4abb0a7 \ rmd160 22d4cb6dd76f846fde489a301852f50e8db1ae1d configure.args --batch \ --backuppc-user=backuppc \ --cgi-dir ${prefix}/var/wwwbackup/cgi-bin \ --data-dir ${prefix}/var/backups \ --dest-dir ${destroot} \ --html-dir ${prefix}/var/wwwbackup/htdocs/backuppc \ --html-dir-url /backuppc \ --install-dir ${prefix} \ --config-dir ${prefix}/etc/BackupPC patchfiles patch-configure.pl.diff \ patch-lib-backuppc-cgi-view.pm.diff destroot.violate_mtree yes destroot.keepdirs ${destroot}${prefix}/var/backups \ ${destroot}${prefix}/var/backups/cpool \ ${destroot}${prefix}/var/backups/log \ ${destroot}${prefix}/var/backups/trash \ ${destroot}${prefix}/var/backups/pool \ ${destroot}${prefix}/var/backups/pc \ ${destroot}${prefix}/var/backups/ \ ${destroot}${prefix}/var/log/BackupPC \ ${destroot}${prefix}/var/wwwbackup/htdocs\ ${destroot}${prefix}/var/wwwbackup/logs set hostname [exec "hostname"] pre-configure { ui_debug "Hostname: ${hostname}" configure.args-append --hostname ${hostname} } configure { reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure.pl reinplace "s|@@PREFIX@@|${prefix}/|g" ${worksrcpath}/lib/BackupPC/CGI/View.pm addgroup backuppc set gid [existsgroup backuppc] adduser backuppc gid=${gid} realname=BackupPC } build {} destroot { # destroot for the web skeleton xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/cgi-bin xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/conf xinstall -m 600 -g backuppc -o backuppc ${filespath}/httpd.conf ${destroot}${prefix}/var/wwwbackup/conf/ xinstall -m 600 -g backuppc -o backuppc ${filespath}/mime.types ${destroot}${prefix}/var/wwwbackup/conf xinstall -m 600 -g backuppc -o backuppc ${filespath}/magic ${destroot}${prefix}/var/wwwbackup/conf xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/htdocs xinstall -m 600 -g backuppc -o backuppc ${filespath}/favicon.ico ${destroot}${prefix}/var/wwwbackup/htdocs/ xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/logs # destroot for backuppc xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/backups xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/log/BackupPC # create backup directory system -W ${worksrcpath} "${prefix}/bin/perl${perl_version} configure.pl ${configure.args}" xinstall -d -m 755 ${destroot}${prefix}/share/doc/ move ${destroot}${prefix}/doc ${destroot}${prefix}/share/doc/BackupPC # install the launch scripts xinstall -d -m 755 ${destroot}/Library/LaunchDaemons xinstall ${filespath}/net.sourceforge.backuppc.plist \ ${destroot}/Library/LaunchDaemons/ # Install extras xinstall -d -m 755 ${destroot}${prefix}/share/BackupPC/extras xinstall ${filespath}/backuppc_config_template.rb \ ${destroot}${prefix}/share/BackupPC/extras xinstall ${filespath}/backuppc_auth.conf ${destroot}${prefix}/share/BackupPC/extras reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}${prefix}/share/BackupPC/extras/backuppc_auth.conf xinstall ${filespath}/org.macports.backuppc.apache2.plist \ ${destroot}/Library/LaunchDaemons/ reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}/Library/LaunchDaemons/org.macports.backuppc.apache2.plist reinplace "s|@@CONFPATH@@|${prefix}/var/wwwbackup/conf/|g" ${destroot}/Library/LaunchDaemons/org.macports.backuppc.apache2.plist reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}${prefix}/var/wwwbackup/conf/httpd.conf reinplace "s|@@HOSTNAME@@|${hostname}|g" ${destroot}${prefix}/var/wwwbackup/conf/httpd.conf reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}/Library/LaunchDaemons/net.sourceforge.backuppc.plist } notes "There are several more things you will need to do: - Browse through the config file, ${prefix}/etc/BackupPC/config.pl, and make sure all the settings are correct. In particular, you will need to set \$Conf{CgiAdminUsers} so you have administration privileges in the CGI interface. - Change the \$Conf{} - Edit the list of hosts to backup in ${prefix}/etc/BackupPC/hosts. - Read the documentation in ${prefix}/share/doc/BackupPC/BackupPC.html. Please pay special attention to the security section. - Verify that the CGI script BackupPC_Admin runs correctly. You might need to change the permissions or group ownership of BackupPC_Admin. If this is an upgrade and you are using mod_perl, you will need to restart Apache. Otherwise it will have stale code. - BackupPC should be ready to start. Don't forget to run it as user backuppc! The installation also contains an /Library/LaunchDaemons/net.sourceforge.backuppc.plist launchd so that BackupPC can auto-start on boot. To enable this daemon execute the following command: cd /Library/LaunchDaemons sudo launchctl load net.sourceforge.backuppc.plist - The data directory is set to ${prefix}/var/backups. Please ensure You have enough space for your backups at this location. You may wish to create a custom mount point point for you backup volume if necessary. - To hide the backuppc user in the login window, you may execute defaults write /Library/Preferences/com.apple.loginwindow - Please see the ${prefix}/share/BackupPC/extras directory for client setup scripts, sample apache.conf files, and more. "