| 1 | # -*- 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 |
|---|
| 2 | # $Id: Portfile 125016 2014-09-02 20:19:02Z mf2k@macports.org $ |
|---|
| 3 | |
|---|
| 4 | PortSystem 1.0 |
|---|
| 5 | PortGroup active_variants 1.1 |
|---|
| 6 | PortGroup perl5 1.0 |
|---|
| 7 | |
|---|
| 8 | name backuppc |
|---|
| 9 | categories sysutils |
|---|
| 10 | version 3.1.0 |
|---|
| 11 | revision 3 |
|---|
| 12 | maintainers nomaintainer |
|---|
| 13 | license GPL-2+ |
|---|
| 14 | homepage http://backuppc.sourceforge.net/ |
|---|
| 15 | |
|---|
| 16 | description BackupPC is a high-performance, enterprise-grade system for backing up Linux, WinXX and Mac OS X PCs and laptops to a server. |
|---|
| 17 | long_description ${description} BackupPC is highly configurable and easy to install and maintain. |
|---|
| 18 | |
|---|
| 19 | platforms darwin |
|---|
| 20 | |
|---|
| 21 | master_sites sourceforge |
|---|
| 22 | |
|---|
| 23 | # TODO: |
|---|
| 24 | # - remove 5.16 once we upgrade to 5.22 as default |
|---|
| 25 | # - remove the variants once mod_perl2 switches to 5.22 only |
|---|
| 26 | perl5.require_variant yes |
|---|
| 27 | perl5.conflict_variants yes |
|---|
| 28 | perl5.branches 5.16 5.22 |
|---|
| 29 | perl5.create_variants ${perl5.branches} |
|---|
| 30 | # TODO: this has to be the same branch as for mod_perl2 |
|---|
| 31 | perl5.default_branch 5.22 |
|---|
| 32 | require_active_variants mod_perl2 ${perl5.variant} |
|---|
| 33 | |
|---|
| 34 | depends_lib port:bzip2 \ |
|---|
| 35 | port:gnutar \ |
|---|
| 36 | port:gzip \ |
|---|
| 37 | port:mod_perl2 \ |
|---|
| 38 | port:openssh \ |
|---|
| 39 | port:p${perl5.major}-archive-zip \ |
|---|
| 40 | port:p${perl5.major}-compress-raw-zlib \ |
|---|
| 41 | port:p${perl5.major}-file-rsyncp \ |
|---|
| 42 | port:par2 \ |
|---|
| 43 | port:perl${perl5.major} \ |
|---|
| 44 | port:rsync \ |
|---|
| 45 | port:samba3 |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | distname BackupPC-${version} |
|---|
| 49 | |
|---|
| 50 | checksums rmd160 22d4cb6dd76f846fde489a301852f50e8db1ae1d \ |
|---|
| 51 | sha256 49a2744cb9aaf27b298ec3d2e83e46fdb86fb3596922beb3904cb6ae552c148a |
|---|
| 52 | |
|---|
| 53 | configure.args --batch \ |
|---|
| 54 | --backuppc-user=backuppc \ |
|---|
| 55 | --cgi-dir ${prefix}/var/wwwbackup/cgi-bin \ |
|---|
| 56 | --data-dir ${prefix}/var/backups \ |
|---|
| 57 | --dest-dir ${destroot} \ |
|---|
| 58 | --html-dir ${prefix}/var/wwwbackup/htdocs/backuppc \ |
|---|
| 59 | --html-dir-url /backuppc \ |
|---|
| 60 | --install-dir ${prefix} \ |
|---|
| 61 | --config-dir ${prefix}/etc/BackupPC |
|---|
| 62 | |
|---|
| 63 | patchfiles patch-configure.pl.diff \ |
|---|
| 64 | patch-lib-backuppc-cgi-view.pm.diff |
|---|
| 65 | |
|---|
| 66 | destroot.violate_mtree yes |
|---|
| 67 | |
|---|
| 68 | destroot.keepdirs ${destroot}${prefix}/var/backups \ |
|---|
| 69 | ${destroot}${prefix}/var/backups/cpool \ |
|---|
| 70 | ${destroot}${prefix}/var/backups/log \ |
|---|
| 71 | ${destroot}${prefix}/var/backups/trash \ |
|---|
| 72 | ${destroot}${prefix}/var/backups/pool \ |
|---|
| 73 | ${destroot}${prefix}/var/backups/pc \ |
|---|
| 74 | ${destroot}${prefix}/var/backups/ \ |
|---|
| 75 | ${destroot}${prefix}/var/log/BackupPC \ |
|---|
| 76 | ${destroot}${prefix}/var/wwwbackup/htdocs\ |
|---|
| 77 | ${destroot}${prefix}/var/wwwbackup/logs |
|---|
| 78 | |
|---|
| 79 | set hostname [exec "hostname"] |
|---|
| 80 | |
|---|
| 81 | pre-configure { |
|---|
| 82 | ui_debug "Hostname: ${hostname}" |
|---|
| 83 | configure.args-append --hostname ${hostname} |
|---|
| 84 | } |
|---|
| 85 | |
|---|
| 86 | configure { |
|---|
| 87 | reinplace "s|@@PREFIX@@|${prefix}|g" ${worksrcpath}/configure.pl |
|---|
| 88 | reinplace "s|@@PREFIX@@|${prefix}/|g" ${worksrcpath}/lib/BackupPC/CGI/View.pm |
|---|
| 89 | |
|---|
| 90 | addgroup backuppc |
|---|
| 91 | set gid [existsgroup backuppc] |
|---|
| 92 | adduser backuppc gid=${gid} realname=BackupPC |
|---|
| 93 | } |
|---|
| 94 | |
|---|
| 95 | build {} |
|---|
| 96 | |
|---|
| 97 | destroot { |
|---|
| 98 | # destroot for the web skeleton |
|---|
| 99 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup |
|---|
| 100 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/cgi-bin |
|---|
| 101 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/conf |
|---|
| 102 | xinstall -m 600 -g backuppc -o backuppc ${filespath}/httpd.conf ${destroot}${prefix}/var/wwwbackup/conf/ |
|---|
| 103 | |
|---|
| 104 | xinstall -m 600 -g backuppc -o backuppc ${filespath}/mime.types ${destroot}${prefix}/var/wwwbackup/conf |
|---|
| 105 | xinstall -m 600 -g backuppc -o backuppc ${filespath}/magic ${destroot}${prefix}/var/wwwbackup/conf |
|---|
| 106 | |
|---|
| 107 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/htdocs |
|---|
| 108 | xinstall -m 600 -g backuppc -o backuppc ${filespath}/favicon.ico ${destroot}${prefix}/var/wwwbackup/htdocs/ |
|---|
| 109 | |
|---|
| 110 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/wwwbackup/logs |
|---|
| 111 | |
|---|
| 112 | # destroot for backuppc |
|---|
| 113 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/backups |
|---|
| 114 | xinstall -d -m 770 -g backuppc -o backuppc ${destroot}${prefix}/var/log/BackupPC |
|---|
| 115 | |
|---|
| 116 | # create backup directory |
|---|
| 117 | system -W ${worksrcpath} "${prefix}/bin/perl${perl5.major} configure.pl ${configure.args}" |
|---|
| 118 | xinstall -d -m 755 ${destroot}${prefix}/share/doc/ |
|---|
| 119 | move ${destroot}${prefix}/doc ${destroot}${prefix}/share/doc/BackupPC |
|---|
| 120 | |
|---|
| 121 | # install the launch scripts |
|---|
| 122 | xinstall -d -m 755 ${destroot}/Library/LaunchDaemons |
|---|
| 123 | |
|---|
| 124 | xinstall ${filespath}/net.sourceforge.backuppc.plist \ |
|---|
| 125 | ${destroot}/Library/LaunchDaemons/ |
|---|
| 126 | |
|---|
| 127 | # Install extras |
|---|
| 128 | xinstall -d -m 755 ${destroot}${prefix}/share/BackupPC/extras |
|---|
| 129 | xinstall ${filespath}/backuppc_config_template.rb \ |
|---|
| 130 | ${destroot}${prefix}/share/BackupPC/extras |
|---|
| 131 | xinstall ${filespath}/backuppc_auth.conf ${destroot}${prefix}/share/BackupPC/extras |
|---|
| 132 | reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}${prefix}/share/BackupPC/extras/backuppc_auth.conf |
|---|
| 133 | |
|---|
| 134 | xinstall ${filespath}/org.macports.backuppc.apache2.plist \ |
|---|
| 135 | ${destroot}/Library/LaunchDaemons/ |
|---|
| 136 | reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}/Library/LaunchDaemons/org.macports.backuppc.apache2.plist |
|---|
| 137 | reinplace "s|@@CONFPATH@@|${prefix}/var/wwwbackup/conf/|g" ${destroot}/Library/LaunchDaemons/org.macports.backuppc.apache2.plist |
|---|
| 138 | reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}${prefix}/var/wwwbackup/conf/httpd.conf |
|---|
| 139 | reinplace "s|@@HOSTNAME@@|${hostname}|g" ${destroot}${prefix}/var/wwwbackup/conf/httpd.conf |
|---|
| 140 | reinplace "s|@@PREFIX@@|${prefix}|g" ${destroot}/Library/LaunchDaemons/net.sourceforge.backuppc.plist |
|---|
| 141 | } |
|---|
| 142 | |
|---|
| 143 | notes "There are several more things you will need to do: |
|---|
| 144 | |
|---|
| 145 | - Browse through the config file, ${prefix}/etc/BackupPC/config.pl, |
|---|
| 146 | and make sure all the settings are correct. In particular, |
|---|
| 147 | you will need to set \$Conf{CgiAdminUsers} so you have |
|---|
| 148 | administration privileges in the CGI interface. |
|---|
| 149 | |
|---|
| 150 | - Change the \$Conf{} |
|---|
| 151 | |
|---|
| 152 | - Edit the list of hosts to backup in ${prefix}/etc/BackupPC/hosts. |
|---|
| 153 | |
|---|
| 154 | - Read the documentation in ${prefix}/share/doc/BackupPC/BackupPC.html. |
|---|
| 155 | Please pay special attention to the security section. |
|---|
| 156 | |
|---|
| 157 | - Verify that the CGI script BackupPC_Admin runs correctly. You might |
|---|
| 158 | need to change the permissions or group ownership of BackupPC_Admin. |
|---|
| 159 | If this is an upgrade and you are using mod_perl, you will need |
|---|
| 160 | to restart Apache. Otherwise it will have stale code. |
|---|
| 161 | |
|---|
| 162 | - BackupPC should be ready to start. Don't forget to run it |
|---|
| 163 | as user backuppc! The installation also contains an |
|---|
| 164 | /Library/LaunchDaemons/net.sourceforge.backuppc.plist launchd |
|---|
| 165 | so that BackupPC can auto-start on boot. To enable this daemon |
|---|
| 166 | execute the following command: |
|---|
| 167 | cd /Library/LaunchDaemons |
|---|
| 168 | sudo launchctl load net.sourceforge.backuppc.plist |
|---|
| 169 | |
|---|
| 170 | - The data directory is set to ${prefix}/var/backups. Please ensure |
|---|
| 171 | You have enough space for your backups at this location. You may |
|---|
| 172 | wish to create a custom mount point point for you backup volume |
|---|
| 173 | if necessary. |
|---|
| 174 | |
|---|
| 175 | - To hide the backuppc user in the login window, you may execute |
|---|
| 176 | |
|---|
| 177 | defaults write /Library/Preferences/com.apple.loginwindow |
|---|
| 178 | |
|---|
| 179 | - Please see the ${prefix}/share/BackupPC/extras directory for client |
|---|
| 180 | setup scripts, sample apache.conf files, and more. |
|---|
| 181 | " |
|---|