# pilot-link 0.12.1
# =================
# Version 0.11.8 was released on June 17, 2003. Version 0.12.0 was released
# August 25, 2006 Development seems to have picked up again, hooray!
# (I have a Palm Tungsten C and an old Palm Vx)
# Slackware 8.1's 'pilot-link' package includes version 0.9.5, 9.0's
# includes 0.11.5, and 9.1, 10.0, 10.1, 10.2, and 11.0's include 0.11.8
# Prerequisites:
# bison
# If --enable-libusb:
# libusb >= 0.1
# udev >= 070
# If --enable-conduits:
# libpng
# popt
# iconv
# readline
# If --with-*:
# Perl (if you pass --with-perl)
# Java (if you pass --with-java)
# Tcl (if you pass --with-tcl)
# Python (if you pass --with-python)
# You can also download it (Bittorrent, Azureus, etc.) using Bittorrent:
# http://torrents.pilot-link.org/pilot-link-0.12.1.tar.bz2.torrent
cd
test -f installed/pilot-link-0.12.1.tar.bz2 &&
mv installed/pilot-link-0.12.1.tar.bz2 .
test ! -f pilot-link-0.12.1.tar.bz2 &&
wget http://downloads.pilot-link.org/pilot-link-0.12.1.tar.bz2
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "pilot-link-*" -exec rm -r {} \;
tar xjvf ~/pilot-link-0.12.1.tar.bz2
cd pilot-link-0.12.1
test $UID = 0 && chown -R root:root .
chmod -R u+w .
# If you have a USB cradle, you can either use the kernel's 'visor' module
# (CONFIG_USB_SERIAL_VISOR), or as of 0.12.x, you can use libusb. I use
# libusb myself. If you don't go with libusb, leave off --enable-libusb
# below.
# If you don't have Perl, Java, TCL, or Python installed, leave off the
# appropriate configure option(s) below.
# I left off --with-tcl=/usr/lib for pilot-link 0.12.1 because the Tcl
# bindings haven't been updated for pilot-link 0.12.x yet and don't build
# for me as-is. And, AFAIK, I don't use them with anything anyway - unless
# gnome-pilot, j-pilot, etc. use them, but I use the pilot-link commandline
# utils most of the time anyway...
# FYI, I passed --with-python (I have 2.4.3 installed), configure saw it,
# but I got this for some reason:
# Python support.......... : no
# I don't need Python support either, so I'll check on that next time...
# You can probably build them manually using disttools, see
# bindings/Python/README.
# As of 0.12.0, several binaries have been renamed to pilot-* or have been
# removed altogether, so remove the old ones. If this is your first time
# installing pilot-link, this is not necessary.
for oldfile in addresses ccexample debugsh dlpsh hinotes memos money2qif \
pi-csd pi-getram pi-getrom pi-getromtoken pi-nredir pilot-archive \
pilot-datebook pilot-prc pitclsh reminders; do
rm -f /usr/bin/${oldfile} /usr/man/man1/${oldfile}.1
done
# Remove Slackware package and old library files
test -x /sbin/removepkg && /sbin/removepkg pilot-link
( cd /usr/lib ; rm -f libpisock++.* libpisock.* libpisync.* libpitcl.* )
# Install it
make install
ldconfig
chown -R $USER .
# If you're going to set it up with libusb, make sure usbfs is mounted
# (run 'mount | grep usbfs').
#
# Also if you're using libusb, and you're using udev, add "blacklist visor"
# to /etc/modprobe.conf (or to a file in /etc/modprobe.d/) and then run
# 'depmod -a'. If you use hotplug, add "visor" to
# /etc/hotplug/blacklist and restart it. This will prevent them from
# loading the 'visor' module, potentially causing trouble with libusb.
# Also, make sure it is not already loaded (run 'lsmod | grep visor').
# If you're using libusb and you have a /etc/profile.d/pilot-link.sh from an
# older version of pilot-link, you can remove it. If you're not, make sure
# the info in it is still going to be accurate.
test -f /etc/profile.d/pilot-link.sh &&
rm -f /etc/profile.d/pilot-link.sh
# Now create a group for people that can use the Palm device. Name it
# whatever you like. I use <drumroll>... "palm".
getent group | grep "^palm:" > /dev/null 2>&1 || groupadd palm
gpasswd -a jason palm
# If you use udev, open up doc/60-libpisock.rules in a text editor and
# change all occurances of 'dialout' with whatever you named your new
# group. Then copy that file into /etc/udev/rules.d/ This will do it
# for you if you named the group 'palm':
cat doc/60-libpisock.rules | sed 's/dialout/palm/' > \
/etc/udev/rules.d/60-libpisock.rules
#
# And if you're ready for it, restart udev.
## If you're using libusb:
## Now to list files on the Palm:
# pilot-xfer -p usb: -l
## To back up your Palm:
# pilot-xfer -p usb: -b $HOME/backup/palm
# If you will be using pilot-link as a non-root user, as you should be, make
# sure that the device that your Palm cradle is connected to is writeable by
# the users that should have access to it. If you use static devices,
# change the permissions of the device file(s) in /dev, if you use udev,
# update your rules files in /etc/udev/rules.d to do it (or the change
# will go away when you re-place the Palm in the cradle or reboot).
#
# Make the static device file read/writeable by everyone:
# Serial Palm cradle on /dev/ttyS0 (COM1):
# chmod 666 /dev/ttyS0
# USB Palm cradle:
# chmod 666 /dev/ttyUSB0 /dev/ttyUSB1
#
# or another example - create a 'palm group', add users 'jason' and 'ann' to
# that group, and make the device read/write-able by root and the 'palm'
# group. This is already taken care of in the libusb/udev example above.
# getent group | grep "^palm:" > /dev/null 2>&1 || groupadd palm
# gpasswd -a jason palm
# gpasswd -a ann palm
# chown root:palm /dev/ttyUSB0 /dev/ttyUSB1
# chmod 660 /dev/ttyUSB0 /dev/ttyUSB1
#
# However you do it, keep in mind that if you run it as a non-root user in
# an X-Term, you may find that it doesn't work because it isn't obeying the
# secondary group. Making it a login shell will fix that. If you're logged
# in as 'jason', run "su - jason", then try it again. Or run it as root.
# Or change the permissions of the device (the static /dev/whatever or udev
# rules) to 666.
# With static device files, you can symlink the device so certain apps that
# use /dev/pilot as a default won't need configuration changes. If you use
# libusb with udev, you don't need a symlink. Instead, tell apps that are
# a front-end for pilot-link to run "pilot-xfer -p usb:" instead of using a
# device file. If you do need a symlink to be created by udev, you can put
# a SYMLINK definition in the rules file.
#
# Create a symlink for a serial cradle static device file:
# ln -sf /dev/ttyS0 /dev/pilot
# Create a symlink for a USB cradle static device file:
# ln -sf /dev/ttyUSB1 /dev/pilot
# Set a few environment variables so pilot-link doesn't have to guess, and
# so you can use less commandline options. This is not necessary if you
# use libusb.
cat << EOF > /etc/profile.d/pilot-link.sh
#!/bin/sh
PILOTPORT=/dev/pilot
PILOTRATE=115200
export PILOTPORT PILOTRATE
EOF
chmod 755 /etc/profile.d/pilot-link.sh
# Become yourself again
exit
# Update your non-root account's shell
test -f /etc/profile.d/pilot-link.sh && . /etc/profile.d/pilot-link.sh