aboutsummaryrefslogtreecommitdiff
path: root/tools/osx/preflight
diff options
context:
space:
mode:
Diffstat (limited to 'tools/osx/preflight')
-rwxr-xr-xtools/osx/preflight176
1 files changed, 0 insertions, 176 deletions
diff --git a/tools/osx/preflight b/tools/osx/preflight
deleted file mode 100755
index e1fa21081c..0000000000
--- a/tools/osx/preflight
+++ /dev/null
@@ -1,176 +0,0 @@
-#!/usr/bin/perl
-
-die("No HOME set, cannot install defaults.\n")
- if !$ENV{HOME};
-
-die("No XBMC_HOME set, cannot install defaults.\n")
- if !$ENV{'XBMC_HOME'};
-
-sub get_home {
- return $ENV{'HOME'} if defined $ENV{'HOME'};
-}
-
-sub get_extras {
- # XBMC_HOME is assumed to be always setup
- return $ENV{'XBMC_HOME'}."/extras/" if get_os() eq "osx";
- return;
-}
-
-sub get_xbmc_home {
- my $os = get_os();
- my $home = get_home();
- return if !defined $home;
- if ( $os eq "osx" ) {
- return $home."/Library/Application Support/XBMC";
- }
- elsif ( $os eq "linux" ) {
- return $home."/.xbmc";
- }
- return;
-}
-
-sub get_os {
- if ( defined $ENV{'OSTYPE'} && $ENV{'OSTYPE'} =~ /linux/ ) {
- return "linux";
- }
- return "osx";
-}
-
-sub get_userdata_path {
- my $xhome = get_xbmc_home();
- return if !defined $xhome;
- return "$xhome/userdata";
-}
-
-sub setup_sources {
- my $xbmchome = get_xbmc_home();
- my $userdata = get_userdata_path();
- my $sources = $userdata."/sources.xml";
-
- # check whether a sources.xml already exists, and if it does back it up
- if ( -f $sources ) {
- print STDERR "sources.xml found at \"$sources\", backing up\n";
- my $backup_sources = $sources.".".time().".xml";
- `cp -f \"$sources\" \"$backup_sources\"`;
- }
-
- # construct a sources.xml string
- my $sources_xml = get_sources_xml( get_default_sources() );
- if ( $sources_xml ) {
- open SOURCES, ">$sources" || exit;
- print SOURCES get_sources_xml( get_default_sources() );
- close SOURCES;
- }
-}
-
-sub get_sources_xml {
- my $sources = shift;
- my ($sourcetype, $source);
-
- return if !defined $sources;
-
- my $xml = "<sources>\n";
- while ( ($sourcetype, $source) = each ( %$sources ) ) {
- $xml .= (" " x 4)."<$sourcetype>\n";
- $xml .= (" " x 8)."<default></default>\n";
- my ($name, $path);
- while ( ($name, $path) = each( %{ $source } ) ) {
- $xml .= (" " x 8)."<source>\n";
- $xml .= (" " x 12)."<name>$name</name>\n";
- if ( $path =~ /(.*)\^\^(.*)/ ) {
- $xml .= (" " x 12)."<path>".$1."</path>\n";
- $xml .= (" " x 12)."<thumbnail>".$2."</thumbnail>\n";
- }
- else {
- $xml .= (" " x 12)."<path>".$path."</path>\n";
- }
- $xml .= (" " x 8)."</source>\n";
- }
- $xml .= (" " x 4)."</$sourcetype>\n";
- }
- $xml .= "</sources>\n";
- return $xml;
-}
-
-sub get_default_sources {
- my $sources = {};
- my $home = get_home();
- my $xbmchome = get_xbmc_home();
- return if !defined $xbmchome;
-
- $sources->{'programs'} = {};
- $sources->{'video'} = {};
- $sources->{'music'} = {};
- $sources->{'pictures'} = {};
- $sources->{'files'} = {};
-
- if ( get_os() eq "osx" ) {
-
- # Default sources for OS X
- $sources->{'music'}->{'Music'} = $home."/Music";
- $sources->{'music'}->{'Music Playlists'} = "special://musicplaylists";
- $sources->{'video'}->{'Movies'} = $home."/Movies";
- $sources->{'video'}->{'Video Playlists'} = "special://videoplaylists";
- $sources->{'pictures'}->{'Pictures'} = $home."/Pictures";
- }
- elsif ( get_os() eq "linux" ) {
-
- # Default source for Linux
- for my $key ( keys %$sources ) {
- $sources->{$key}->{'Media'} = "/media";
- $sources->{$key}->{'Home'} = "$home";
- $sources->{$key}->{'Desktop'} = "$home/Desktop";
- $sources->{$key}->{'Root'} = "/";
- }
- }
- return $sources;
-}
-
-sub first_xbmc_run() {
- my $home = get_xbmc_home();
- if ( ! -f "$home/.setup_complete" ) {
- return 1;
- }
- return;
-}
-
-sub first_xbmc_version_run() {
- my $home = get_xbmc_home();
- if ( ! -f "$home/.setup_complete" ) {
- return 1;
- }
- return;
-}
-
-sub setup_default_xbmc() {
- my $extras = get_extras();
- my $xhome = get_xbmc_home();
- my $userdata = get_userdata_path();
-
- die("No extras :(\n")
- if !defined $extras;
- die("No XBMC home folder :(\n")
- if !defined $xhome;
- die ("No userdata folder :(\n")
- if !defined $userdata;
-
- # create userdata directory if it doesn't exist
- `mkdir -p "$userdata"`;
- # copy extra stuff to xbmc's userdata directory
- `cp -fRv "$extras/user/" "$userdata"`;
-
- setup_sources();
- `touch -f "$xhome/.setup_complete"`;
-}
-
-sub setup_version_xbmc() {
- #TODO
-}
-
-if (first_xbmc_run()) {
- setup_default_xbmc();
-}
-
-if (first_xbmc_version_run()) {
- setup_version_xbmc();
-}