Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
# $Id$ PortSystem 1.0 name ASSP #version 1.5.1.8 version 1.6.5.3 categories mail maintainers hostwizard.com:scott description Anti-Spam SMTP Proxy (ASSP) Server long_description The Anti-Spam SMTP Proxy (ASSP) Server is an open \ source, platform-independent SMTP Proxy server which \ implements whitelists and Bayesian filtering to rid \ the planet of the blight of unsolicited email (UCE). \ UCE must be stopped at the SMTP server. Anti-spam \ tools must be adaptive to new spam and customized \ for each sites mail patterns. This free, \ easy-to-use tool works with any mail transport and \ achieves these goals requiring no operator \ intervention after the initial setup phase. homepage http://assp.sourceforge.net/ platforms darwin master_sites sourceforge livecheck.regex "ASSP Installation ASSP (\\d+(?:\\.\\d+)*) released" use_zip yes checksums md5 a0474866056978f5efa639c5e82f7df5 \ sha1 2475ad9fdf9649aa532495ac0179adb2996d9845 \ rmd160 4e41579909b02be7aa0d7464c8325fc3c1b2c872 depends_run bin:perl:perl5.8 distname ASSP_${version}-Install worksrcdir ${distname}/ASSP set assp_base ${prefix}/var/ASSP # This distribution is just perl files use_configure no #port:p5-compress-zlib \ depends_lib port:p5-io-compress \ port:p5-digest-md5 \ port:p5-digest-sha1 \ port:p5-email-mime-modifier \ port:p5-email-send \ port:p5-email-valid \ port:p5-file-readbackwards \ port:p5-io-socket-ssl \ port:p5-libwww-perl \ port:p5-mail-spf \ port:p5-mail-srs \ port:p5-net \ port:p5-net-cidr-lite \ port:p5-net-dns \ port:p5-net-ip-match-regexp \ port:p5-net-senderbase \ port:p5-net-syslog \ port:p5-perl-ldap \ port:p5-sys-syslog \ port:p5-tie-dbi \ port:p5-time-hires \ port:p5-io-socket-ssl \ port:p5-email-send \ port:p5-text-iconv \ port:p5-io-socket-inet6 ui_info " MY DEBUG: worksrcdir: ${worksrcdir}" ui_info " MY DEBUG: worksrcpath: ${worksrcpath}" ui_info " MY DEBUG: destroot: ${destroot}" ui_info " MY DEBUG: prefix: ${prefix}" # Convert DOS line endings, original port had this feature, maintaining it # for reasons I am not entirely sure, but updated it to be easier to maintain pre-patch { ui_info " MY DEBUG: Starting pre-patch" # ASSP comes with out of date docs in ASSP/docs # A bug in MacPorts http://trac.macports.org/ticket/17098 # fails on anything if there are spaces in filenames # Kill the docs directory, we do not neet it file delete -force "${worksrcpath}/docs" # This is not Windows, get rid of it file delete -force "${worksrcpath}/addservice.pl" # fs-traverse /*\rules/*\ # Run the worksrcpath, replace out all DOS line endings in # files matching a file extension fs-traverse file ${worksrcpath} { set file_extensions {*.pl *.sh *.txt *.dat} foreach file_extension $file_extensions { if [string match -nocase $file_extension $file] { ui_info " MY DEBUG: fs-traverse found MATCH: $file, -> reinplace it" reinplace "s%\r%%" $file reinplace "s%^#!.*perl%#![binaryInPath perl]%" ${file} reinplace "s%/usr/local/assp%${assp_base}%" ${file} } } } # Patch the 'assp.cfg.defaults' file to use the correct user and group reinplace "s|runAsUser:=|runAsUser:=_assp|" ${worksrcpath}/assp.cfg.defaults reinplace "s|runAsGroup:=|runAsGroup:=_assp|" ${worksrcpath}/assp.cfg.defaults ui_info " MY DEBUG: Ending pre-patch" } configure {} build {} pre-destroot { addgroup _assp set gid [existsgroup _assp] adduser _assp gid=${gid} realname=ASSP Proxy home=${prefix}/var/ASSP } destroot { # Creae the directory where all ASSP files and subdirectories are to live ui_info " MY DEBUG: Making ${destroot}${assp_base}" xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base} # Intall the assp.cfg.defaults file xinstall -o _assp -g _assp -m 0755 -W ${worksrcpath} \ assp.cfg.defaults \ ${destroot}${assp_base} # Intall the root level perl files xinstall -o _assp -g _assp -m 0755 -W ${worksrcpath} \ assp.pl move2num.pl rebuildspamdb.pl stat.pl \ ${destroot}${assp_base} # Create 'files' directory in ASSP base, install everything in it xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base}/files foreach file [glob -directory ${worksrcpath}/files *] { xinstall -o _assp -g _assp -m 0644 $file ${destroot}${assp_base}/files } # Create 'reports' directory in ASSP base, install everything in it xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base}/reports foreach file [glob -directory ${worksrcpath}/reports *] { xinstall -m 0644 $file ${destroot}${assp_base}/reports } # Create 'images' directory in ASSP base, install everything in it xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base}/images foreach file [glob -directory ${worksrcpath}/images *] { xinstall -m 0644 $file ${destroot}${assp_base}/images } # Create empty directories in ASSP base xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base}/logs #xinstall -m 0644 ${worksrcpath}/mod_inst.pl ${destroot}${assp_base}/logs/mod_inst.pl set empty_dirs {docs certs errors logs notes notspam okmail pb quarantine spam} foreach empty_dir $empty_dirs { ui_info " MY DEBUG: Making empty dir at ${destroot}${assp_base}/$empty_dir" xinstall -d -o _assp -g _assp -m 0755 ${destroot}${assp_base}/$empty_dir destroot.keepdirs-append ${destroot}${assp_base}/${empty_dir} } } pre-install { addgroup _assp set gid [existsgroup _assp] adduser _assp gid=${gid} realname=ASSP Proxy home=${prefix}/var/ASSP } post-activate { # The user and group in 'assp.cfg.defaults' was changed, id this is a new # install, copy it to active if {![file exists ${assp_base}/assp.cfg]} { file copy ${assp_base}/assp.cfg.defaults \ ${assp_base}/assp.cfg ui_msg " ======================================================================== ASSP has been installed correctly, a startup item has been installed... You can test it now with cd ${prefix}/var/ASSP ${prefix}/bin/perl assp.pl Point your browser to http://127.0.0.1:55555/ -- put anything you like in the username and use the password nospam4me to connect. If everything is working correctly you will see a beautifully formatted configuration screen with all of ASSP's fabulous features spelled out for you in painful detail. Simply click the options you want, type a few customizations if you like and you're on your way. At a minimum you'll want to change values for 'Web Admin Password,' 'Accept All Mail,' 'Local Domains,' 'Spam Error,' and 'Spam Addresses.' The password for your server is posted in bold on the internet for EVERYONE to see, so if you don't change it, you deserve what you get. Also remember to press Enter or click the button at the bottom to register your changes - simply clearing a checkbox doesn't send the change to ASSP. See ${homepage} for more information. ======================================================================== " } }
This paste will be private.
From the Design Piracy series on my blog: