#!/usr/local/bin/perl -w
###########################################
# binlinks -- create softlinks to scripts
# Mike Schilli, 2015 (m@perlmeister.com)
###########################################
use strict;
use File::Basename;
use Sysadm::Install qw(mkd);

my($home)    = glob "~";
my $home_bin = "$home/bin";

while(<DATA>) {
  chomp;

  my($linkbase, $src) = split ' ', $_;

  $src        = "$home/$src";
  my $binpath = "$home_bin/$linkbase";

  if(-l $binpath) {
    warn "$binpath already exists";
    next;
  } elsif (-e $binpath) {
    warn "$binpath already exists, " .
      "but not a link!";
    next;
  }

  if(! -d dirname($binpath)) {
    mkd dirname($binpath);
  }

  symlink $src, $binpath or
    die "Cannot link $binpath->$src ($!)";
}

__DATA__
binlinks git/myrepo/binlinks/binlinks
tmpl git/myrepo/tmpl/tmpl
