MacOSX::File and psync

MacOSX::File is a perl module that allows you to get and set HFS+ file attributes. And psync is a perl script that uses MacOSX::File to implement inclemental backup and restore.

To find about MacOSX::File in details, check

Installing MacOSX::File

There are two methods to install this module. CPAN is easier and more recommended.

Via CPAN module

  1. Install Developer Kit if you have not. This is needed to compile the perl module below. (Binary distribution may be available in future)
  2. invoke CPAN shell via
    sudo perl -MCPAN -e shell
  3. If this is your first time using CPAN module, It will ask you several questions, mainly about network. Answer them.
  4. type
    install MacOSX::File
    And CPAN module will download, compile, test and install the module all for you.

Manual Installation

If you have a problem using CPAN, you can still install it as follows.

tar zxvf MacOSX-File-x.xx.tar.gz
cd MacOSX-File-x.xx
perl Makefile.PL
make test
sudo make install

Attention: Panther Users

I have several reports that the current version does not compile on Panther (Mac OS X v10.3). has investigated the problem and submitted me a patch. I will release Panther-compatible version eventually but for the time being, use the patch below. Thank you, emoy!

tar zxvf MacOSX-File-x.xx.tar.gz
cd MacOSX-File-x.xx
curl -O
patch -p1 < panther.pat
perl Makefile.PL
make CC=gcc2
make test
sudo make install

Murali Karthick Vadivelu has reported that CC=gcc2 is required to build properly. Thank you for your report.

Very unfortunately I do not have an access to Panther release yet. Plus I am extremely busy recently. I will eventually release an official Panther-ready version so please be patient

Binary Package

Is now available here as

Just double-click the .pkg file in the disk image and follow the instruction.

CAVEAT: This package does not work with Panther (Mac OS X 10.3)

PsyncX -- GUI frontend

PsyncX a GUI frontend to psync by David Baker. If you hate terminal but still need what psync (and MacOSX::File) has to offer, go get one!.