annotate web/geeqie-install-debian.sh @ 2856:8521d2405863

Plugin for tethered photography Basic tethered photography using gphoto2
author Colin Clark <colin.clark@cclark.uk>
date Tue, 23 Oct 2018 19:44:36 +0100
parents ed4e22060177
children cb5326e72117
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
1 #!/bin/bash
2856
8521d2405863 Plugin for tethered photography
Colin Clark <colin.clark@cclark.uk>
parents: 2848
diff changeset
2 version="2018-10-23"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
3 description=$'
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
4 Geeqie is an image viewer.
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
5 This script will download, compile, and install Geeqie on Debian-based systems.
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
6 If run from a folder that already contains the Geeqie sources, the source
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
7 code will be updated from the repository.
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
8 Dialogs allow the user to install additional features, including
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
9 additional pixbuf loaders.
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
10
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
11 Command line options are:
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
12 -v --version The version of this file
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
13 -h --help Output this text
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
14 -c --commit=ID Checkout and compile commit ID
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
15 -t --tag=TAG Checkout and compile TAG (e.g. v1.4 or v1.3)
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
16 -b --back=N Checkout commit -N (e.g. "-b 1" for last-but-one commit)
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
17 -d --debug=yes Compile with debug output
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
18 '
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
19
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
20 # Essential for compiling
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
21 essential_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
22 "git"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
23 "build-essential"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
24 "autoconf"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
25 "libglib2.0-0"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
26 "intltool"
2828
ce8f3b3e1f95 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2821
diff changeset
27 "libtool"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
28 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
29
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
30 # Optional for both GTK2 and GTK3
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
31 optional_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
32 "LCMS (for color management)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
33 "liblcms2-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
34 "exiv2 (for exif handling)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
35 "libgexiv2-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
36 "lua (for --remote commands)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
37 "liblua5.1-0-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
38 "libffmpegthumbnailer (for mpeg thumbnails)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
39 "libffmpegthumbnailer-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
40 "libtiff (for tiff support)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
41 "libtiff-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
42 "libjpeg (for jpeg support"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
43 "libjpeg-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
44 "librsvg2 (for viewing .svg images"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
45 "librsvg2-common"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
46 "libwmf (for viewing .wmf images)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
47 "libwmf0.2-7-gtk"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
48 "exiftran (for image rotation)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
49 "exiftran"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
50 "imagemagick (for image rotation)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
51 "imagemagick"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
52 "ufraw (for RAW file handling)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
53 "ufraw"
2848
ed4e22060177 Fix #635: Export in JPG
Colin Clark <colin.clark@cclark.uk>
parents: 2828
diff changeset
54 "exiv2 command line (for jpeg export)"
ed4e22060177 Fix #635: Export in JPG
Colin Clark <colin.clark@cclark.uk>
parents: 2828
diff changeset
55 "exiv2"
ed4e22060177 Fix #635: Export in JPG
Colin Clark <colin.clark@cclark.uk>
parents: 2828
diff changeset
56 "jpgicc (for jpeg export color correction)"
ed4e22060177 Fix #635: Export in JPG
Colin Clark <colin.clark@cclark.uk>
parents: 2828
diff changeset
57 "liblcms2-utils"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
58 "markdown (for generating README help file)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
59 "markdown"
2856
8521d2405863 Plugin for tethered photography
Colin Clark <colin.clark@cclark.uk>
parents: 2848
diff changeset
60 "gphoto2 (for tethered photography)"
8521d2405863 Plugin for tethered photography
Colin Clark <colin.clark@cclark.uk>
parents: 2848
diff changeset
61 "gphoto2"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
62 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
63
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
64 # Optional for GTK3 only
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
65 optional_gtk3_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
66 "libchamplain gtk (for GPS maps)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
67 "libchamplain-gtk-0.12-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
68 "libchamplain (for GPS maps)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
69 "libchamplain-0.12-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
70 "libpoppler (for pdf file preview)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
71 "libpoppler-glib-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
72 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
73
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
74 # Optional pixbuf loaders
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
75 optional_loaders_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
76 ".webp WebP images"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
77 "webp"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
78 ".psd Photoshop images"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
79 "psd"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
80 ".xcf Gimp files"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
81 "xcf"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
82 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
83
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
84 ####################################################################
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
85 # Get System Info
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
86 # Derived from: https://github.com/coto/server-easy-install (GPL)
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
87 ####################################################################
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
88 lowercase()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
89 {
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
90 echo "$1" | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
91 }
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
92
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
93 systemProfile()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
94 {
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
95 OS=`lowercase \`uname\``
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
96 KERNEL=`uname -r`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
97 MACH=`uname -m`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
98
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
99 if [ "${OS}" == "windowsnt" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
100 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
101 OS=windows
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
102 elif [ "${OS}" == "darwin" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
103 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
104 OS=mac
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
105 else
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
106 OS=`uname`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
107 if [ "${OS}" = "SunOS" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
108 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
109 OS=Solaris
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
110 ARCH=`uname -p`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
111 OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
112 elif [ "${OS}" = "AIX" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
113 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
114 OSSTR="${OS} `oslevel` (`oslevel -r`)"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
115 elif [ "${OS}" = "Linux" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
116 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
117 if [ -f /etc/redhat-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
118 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
119 DistroBasedOn='RedHat'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
120 DIST=`cat /etc/redhat-release |sed s/\ release.*//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
121 PSUEDONAME=`cat /etc/redhat-release | sed s/.*\(// | sed s/\)//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
122 REV=`cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
123 elif [ -f /etc/SuSE-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
124 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
125 DistroBasedOn='SuSe'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
126 PSUEDONAME=`cat /etc/SuSE-release | tr "\n" ' '| sed s/VERSION.*//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
127 REV=`cat /etc/SuSE-release | tr "\n" ' ' | sed s/.*=\ //`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
128 elif [ -f /etc/mandrake-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
129 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
130 DistroBasedOn='Mandrake'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
131 PSUEDONAME=`cat /etc/mandrake-release | sed s/.*\(// | sed s/\)//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
132 REV=`cat /etc/mandrake-release | sed s/.*release\ // | sed s/\ .*//`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
133 elif [ -f /etc/debian_version ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
134 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
135 DistroBasedOn='Debian'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
136 if [ -f /etc/lsb-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
137 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
138 DIST=`cat /etc/lsb-release | grep '^DISTRIB_ID' | awk -F= '{ print $2 }'`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
139 PSUEDONAME=`cat /etc/lsb-release | grep '^DISTRIB_CODENAME' | awk -F= '{ print $2 }'`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
140 REV=`cat /etc/lsb-release | grep '^DISTRIB_RELEASE' | awk -F= '{ print $2 }'`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
141 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
142 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
143 if [ -f /etc/UnitedLinux-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
144 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
145 DIST="${DIST}[`cat /etc/UnitedLinux-release | tr "\n" ' ' | sed s/VERSION.*//`]"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
146 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
147 OS=`lowercase $OS`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
148 DistroBasedOn=`lowercase $DistroBasedOn`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
149 readonly OS
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
150 readonly DIST
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
151 readonly DistroBasedOn
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
152 readonly PSUEDONAME
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
153 readonly REV
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
154 readonly KERNEL
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
155 readonly MACH
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
156 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
157 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
158 }
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
159
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
160 install_essential()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
161 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
162 arraylength=${#essential_array[@]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
163 for (( i=0; i<${arraylength}; i=i+1 ));
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
164 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
165 package_query ${essential_array[$i]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
166 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
167 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
168 package_install ${essential_array[$i]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
169 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
170 done
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
171
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
172 if [[ $1 == "GTK3" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
173 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
174 package_query "libgtk-3-dev"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
175 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
176 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
177 package_install libgtk-3-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
178 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
179 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
180 package_query "libgtk2.0-dev"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
181 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
182 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
183 package_install libgtk2.0-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
184 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
185 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
186 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
187
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
188 install_options()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
189 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
190 if [ -n "$options" ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
191 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
192 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
193 IFS='|'
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
194 set $options
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
195 while [ $# -gt 0 ];
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
196 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
197 package_install $1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
198 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
199 done
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
200 IFS=$OLDIFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
201 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
202 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
203
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
204 install_webp()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
205 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
206 rm -rf webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
207 package_install libglib2.0-dev libgdk-pixbuf2.0-dev libwebp-dev python-minimal
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
208 wget https://github.com/aruiz/webp-pixbuf-loader/archive/master.zip
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
209 unzip master.zip
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
210 cd webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
211 ./waf configure
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
212 ./waf build
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
213 sudo --askpass ./waf install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
214 sudo --askpass gdk-pixbuf-query-loaders --update-cache
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
215 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
216 rm -rf webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
217 rm master.zip
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
218 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
219
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
220 install_psd()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
221 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
222 rm -rf gdk-pixbuf-psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
223 git clone https://github.com/and-rom/gdk-pixbuf-psd.git
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
224 cd gdk-pixbuf-psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
225 ./autogen.sh
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
226 make
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
227 sudo --askpass make install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
228 sudo --askpass gdk-pixbuf-query-loaders --update-cache
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
229 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
230 rm -rf gdk-pixbuf-psd
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
231 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
232
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
233 install_xcf()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
234 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
235 rm -rf xcf-pixbuf-loader
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
236 package_install libbz2-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
237 git clone https://github.com/StephaneDelcroix/xcf-pixbuf-loader.git
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
238 cd xcf-pixbuf-loader
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
239 ./autogen.sh
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
240 make
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
241
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
242 # There must be a better way...
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
243 loader_locn=$(gdk-pixbuf-query-loaders | grep "LoaderDir" | tr -d '#[:space:]')
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
244
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
245 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
246 IFS='='
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
247 set $loader_locn
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
248 OLDIFS=$IFS
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
249
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
250 if [ -d $2 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
251 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
252 sudo --askpass cp .libs/libioxcf.so $2
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
253 sudo --askpass gdk-pixbuf-query-loaders --update-cache
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
254 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
255 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
256 rm -rf xcf-pixbuf-loader
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
257 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
258
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
259 install_extra_loaders()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
260 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
261 if [ -n "$extra_loaders" ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
262 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
263 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
264 IFS='|'
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
265 set $extra_loaders
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
266 while [ $# -gt 0 ];
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
267 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
268 case $1 in
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
269 "webp" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
270 install_webp
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
271 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
272 "psd" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
273 install_psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
274 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
275 "xcf" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
276 install_xcf
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
277 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
278 esac
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
279
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
280 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
281 done
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
282 IFS=$OLDIFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
283 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
284 return
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
285 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
286
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
287 uninstall()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
288 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
289 current_dir=$(basename $PWD)
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
290 if [[ $current_dir == "geeqie" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
291 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
292 sudo --askpass make uninstall
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
293 zenity --title="Uninstall Geeqie" --width=370 --text="WARNING.\nThis will delete folder:\n\n$PWD\n\nand all sub-folders!" --question --ok-label="Cancel" --cancel-label="OK" 2>/dev/null
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
294
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
295 if [[ $? == 1 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
296 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
297 cd ..
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
298 sudo --askpass rm -rf geeqie
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
299 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
300 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
301 zenity --title="Uninstall Geeqie" --width=370 --text="This is not a geeqie installation folder!\n\n$PWD" --warning 2>/dev/null
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
302 fi
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
303
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
304 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
305 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
306
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
307 package_query()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
308 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
309 if [[ $DistroBasedOn == "debian" ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
310 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
311 res=$(dpkg-query --show --showformat='${Status}' $1 2>>$install_log)
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
312 if [[ "$res" == "install ok installed"* ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
313 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
314 status=0
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
315 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
316 status=1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
317 fi
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
318 fi
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
319 return $status
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
320 }
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
321
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
322 package_install()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
323 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
324 if [[ $DistroBasedOn == "debian" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
325 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
326 sudo --askpass apt-get --assume-yes install $@ >>$install_log 2>&1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
327 fi
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
328 }
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
329
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
330 exit_install()
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
331 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
332 rm $install_pass_script >/dev/null 2>&1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
333 #~ rm $install_log >/dev/null 2>&1
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
334
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
335 if [[ -p $zen_pipe ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
336 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
337 echo "100" > $zen_pipe
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
338 echo "#End" > $zen_pipe
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
339 fi
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
340
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
341 zenity --title="$title" --width=370 --text=$'Geeqie is not installed\nLog file: '$install_log --info 2>/dev/null
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
342
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
343 rm $zen_pipe >/dev/null 2>&1
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
344
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
345 exit 1
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
346 }
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
347
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
348 # Entry point
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
349
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
350 # If uninstall has been run, maybe the current directory no longer exists
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
351 ls $PWD >/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
352 if [[ $? != 0 ]]
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
353 then
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
354 zenity --error --title="Install Geeqie and dependencies" --width=370 --text="Folder $PWD does not exist!" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
355
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
356 exit
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
357 fi
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
358
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
359 # Check system type
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
360 systemProfile
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
361 if [[ $DistroBasedOn != "debian" ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
362 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
363 zenity --error --title="Install Geeqie and dependencies" --width=370 --text="Unknown operating system:\n
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
364 Operating System: $OS
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
365 Distribution: $DIST
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
366 Psuedoname: $PSUEDONAME
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
367 Revision: $REV
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
368 DistroBasedOn: $DistroBasedOn
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
369 Kernel: $KERNEL
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
370 Machine: $MACH" 2>/dev/null
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
371
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
372 exit
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
373 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
374
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
375 # Parse the comand line
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
376 OPTS=$(getopt -o vhc:t:b:d: --long version,help,commit:,tag:,back:,debug: -- "$@")
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
377 eval set -- "$OPTS"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
378
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
379 while true;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
380 do
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
381 case "$1" in
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
382 -v | --version )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
383 echo "$version"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
384 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
385 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
386 -h | --help )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
387 echo "$description"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
388 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
389 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
390 -c | --commit )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
391 COMMIT="$2"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
392 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
393 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
394 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
395 -t | --tag )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
396 TAG="$2"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
397 shift;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
398 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
399 ;;
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
400 -b | --back )
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
401 BACK="$2"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
402 shift;
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
403 shift
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
404 ;;
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
405 -d | --debug )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
406 DEBUG="$2"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
407 shift;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
408 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
409 ;;
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
410 * ) break
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
411 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
412 esac
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
413 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
414
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
415 # If a Geeqie folder already exists here, warn the user
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
416 if [ -d "geeqie" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
417 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
418 zenity --info --title="Install Geeqie and dependencies" --width=370 --text="This script is for use on Ubuntu and other\nDebian-based installations.\nIt will download, compile, and install Geeqie source\ncode and its dependencies.\n\nA sub-folder named \"geeqie\" will be created in the\nfolder this script is run from, and the source code\nwill be downloaded to that sub-folder.\n\nA sub-folder of that name already exists.\nPlease try another folder." 2>/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
419
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
420 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
421 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
422
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
423 # If it looks like a Geeqie download folder, assume an update
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
424 if [ -d ".git" ] && [ -d "src" ] && [ -f "geeqie.1" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
425 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
426 mode="update"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
427 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
428 # If it looks like something else is already installed here, warn the user
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
429 if [ -d ".git" ] || [ -d "src" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
430 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
431 zenity --info --title="Install Geeqie and dependencies" --width=370 --text="This script is for use on Ubuntu and other\nDebian-based installations.\nIt will download, compile, and install Geeqie source\ncode and its dependencies.\n\nIt looks like you are running this script from a folder which already has software installed.\n\nPlease try another folder." 2>/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
432
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
433 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
434 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
435 mode="install"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
436 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
437 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
438
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
439 # Use GTK3 as default
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
440 gk2_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
441 gtk3_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
442
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
443 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
444 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
445 message="This script is for use on Ubuntu and other\nDebian-based installations.\nIt will download, compile, and install Geeqie source\ncode and its dependencies.\n\nA sub-folder named \"geeqie\" will be created in the\nfolder this script is run from, and the source code\nwill be downloaded to that sub-folder.\n\nIn this dialog you must select whether to compile\nfor GTK2 or GTK3.\nIf you want to use GPS maps or pdf preview,\nyou must choose GTK3.\nThe GTK2 version has a slightly different\nlook-and-feel compared to the GTK3 version,\nbut otherwise has the same features.\nYou may easily switch between the two after\ninstallation.\n\nIn subsequent dialogs you may choose which\noptional features to install."
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
446
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
447 title="Install Geeqie and dependencies"
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
448 install_option=TRUE
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
449 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
450 message="This script is for use on Ubuntu and other\nDebian-based installations.\nIt will update the Geeqie source code and its\ndependencies, and will compile and install Geeqie.\n\nYou may also switch the installed version from\nGTK2 to GTK3 and vice versa.\n\nIn this dialog you must select whether to compile\nfor GTK2 or GTK3.\nIf you want to use GPS maps or pdf preview,\nyou must choose GTK3.\nThe GTK2 version has a slightly different\nlook-and-feel compared to the GTK3 version,\nbut otherwise has the same features.\n\nIn subsequent dialogs you may choose which\noptional features to install."
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
451
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
452 title="Update Geeqie and re-install"
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
453 install_option=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
454
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
455 # When updating, use previous installation as default
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
456 if [[ -f config.log ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
457 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
458 grep gtk-2.0 config.log >/dev/null
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
459 if [[ $? != 0 ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
460 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
461 gtk2_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
462 gtk3_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
463 else
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
464 gtk2_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
465 gtk3_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
466 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
467 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
468 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
469
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
470 # Ask whether to install GTK2 or GTK3 or uninstall
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
471
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
472 gtk_version=$(zenity --title="$title" --width=370 --text="$message" --list --radiolist --column "" --column "" "$gtk3_installed" "GTK3 (required for GPS maps and pdf preview)" "$gtk2_installed" "GTK2" FALSE "Uninstall" --cancel-label="Cancel" --ok-label="OK" --hide-header 2>/dev/null)
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
473
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
474 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
475 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
476 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
477 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
478
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
479 # Environment variable SUDO_ASKPASS cannot be "zenity --password",
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
480 # so create a temporary script containing the command
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
481 install_pass_script=$(mktemp --tmpdir geeqie_install_XXXXXX.sh)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
482 echo $'#!/bin/bash
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
483 zenity --password --title=\"'$title$'\" --width=370 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
484 if [[ $? > 0 ]]
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
485 then
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
486 exit 1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
487 fi
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
488 \n' > $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
489 chmod +x $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
490 export SUDO_ASKPASS=$install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
491
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
492 if [[ $gtk_version == "Uninstall" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
493 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
494 uninstall
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
495 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
496 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
497
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
498 # Put the install log in tmp, to avoid writing to PWD during a new install
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
499 rm install.log 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
500 install_log=$(mktemp --tmpdir geeqie_install_XXXXXX.log)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
501
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
502 sleep 100 | zenity --title="$title" --text="Checking for installed files" --width=370 --progress --pulsate 2>/dev/null &
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
503 zen_pid=$!
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
504
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
505 # Get the standard options that are not yet installed
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
506 arraylength=${#optional_array[@]}
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
507 for (( i=0; i<${arraylength}; i=i+2 ));
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
508 do
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
509 package_query ${optional_array[$i+1]}
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
510 if [ $? != 0 ]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
511 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
512 if [ -z "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
513 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
514 option_string="$install_option"$'\n'"${optional_array[$i]}"$'\n'"${optional_array[$i+1]}"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
515 else
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
516 option_string="$option_string"$'\n'"$install_option"$'\n'"${optional_array[$i]}"$'\n'"${optional_array[$i+1]}"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
517 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
518 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
519 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
520
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
521 # If GTK3 required, get the GTK3 options not yet installed
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
522 if [[ "$gtk_version" == "GTK3"* ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
523 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
524 arraylength=${#optional_gtk3_array[@]}
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
525 for (( i=0; i<${arraylength}; i=i+2 ));
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
526 do
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
527 package_query ${optional_gtk3_array[$i+1]}
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
528 if [ $? != 0 ]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
529 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
530 if [ -z "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
531 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
532 option_string="$install_option"$'\n'"${optional_gtk3_array[$i]}"$'\n'"${optional_gtk3_array[$i+1]}"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
533 else
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
534 option_string="$option_string"$'\n'"$install_option"$'\n'"${optional_gtk3_array[$i]}"$'\n'"${optional_gtk3_array[$i+1]}"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
535 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
536 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
537 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
538 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
539
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
540 # Get the optional loaders not yet installed
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
541 ((i=0))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
542 gdk-pixbuf-query-loaders | grep WebP >/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
543 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
544 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
545 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
546 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
547 loaders_string=$'FALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
548 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
549 loaders_string="$loaders_string"$'\nFALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
550
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
551 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
552 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
553
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
554 ((i=i+2))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
555 gdk-pixbuf-query-loaders | grep psd >/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
556 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
557 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
558 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
559 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
560 loaders_string=$'FALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
561 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
562 loaders_string="$loaders_string"$'\nFALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
563 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
564 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
565
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
566 ((i=i+2))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
567 gdk-pixbuf-query-loaders | grep xcf >/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
568 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
569 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
570 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
571 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
572 loaders_string=$'FALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
573 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
574 loaders_string="$loaders_string"$'\nFALSE\n'"${optional_loaders_array[$i]}"$'\n'"${optional_loaders_array[$i+1]}"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
575 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
576 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
577
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
578 kill $zen_pid 2>/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
579
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
580 # Ask the user which options to install
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
581 if [ -n "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
582 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
583 options=$(echo "$option_string" | zenity --title="$title" --width=400 --height=500 --list --checklist --text 'Select which library files to install:' --column='Select' --column='Library files' --column='Library' --hide-column=3 --print-column=3 2>/dev/null)
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
584
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
585 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
586 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
587 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
588 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
589 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
590
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
591 # Ask the user which extra loaders to install
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
592 if [ -n "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
593 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
594 extra_loaders=$(echo "$loaders_string" | zenity --title="$title" --width=370 --height=400 --list --checklist --text 'These loaders are not part of the main repository,\nbut are known to work to some extent.' --column='Select' --column='Library files' --column='Library' --hide-column=3 --print-column=3 2>/dev/null)
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
595
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
596 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
597 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
598 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
599 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
600 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
601
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
602 # Start of Zenity progress section
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
603 zen_pipe=$(mktemp --dry-run --tmpdir geeqie_install_pipe_XXXXXX)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
604 mkfifo $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
605 (tail -f $zen_pipe 2>/dev/null) | zenity --progress --title="$title" --width=370 --text="Installing options..." --auto-close --auto-kill --percentage=0 2>/dev/null &
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
606
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
607 echo "2" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
608 echo "#Installing essential libraries..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
609
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
610 install_essential $gtk_version
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
611
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
612 echo "4" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
613 echo "#Installing options..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
614
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
615 install_options
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
616
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
617 echo "6" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
618 echo "#Installing extra loaders..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
619
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
620 install_extra_loaders
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
621
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
622 echo "10" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
623 echo "#Getting new sources from server..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
624
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
625 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
626 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
627 ret=$(git clone git://www.geeqie.org/geeqie.git >>$install_log 2>&1)
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
628 else
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
629 git checkout master >>$install_log 2>&1
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
630 if [[ $? != 0 ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
631 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
632 git_error=$(tail -n5 $install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
633 zenity --title="$title" --width=370 --height=400 --error --text=$'Git error:\n\n'"$git_error" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
634 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
635 fi
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
636 ret=$(git pull >>$install_log 2>&1)
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
637 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
638
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
639 if [[ $? != 0 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
640 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
641 git_error=$(tail -n5 $install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
642 zenity --title="$title" --width=370 --height=400 --error --text=$'Git error:\n\n'"$git_error" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
643 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
644 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
645
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
646 echo "20" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
647 echo "#Cleaning installed version..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
648
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
649 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
650 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
651 cd geeqie
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
652 else
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
653 sudo --askpass make uninstall >>$install_log 2>&1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
654 sudo --askpass make maintainer-clean >>$install_log 2>&1
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
655 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
656
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
657 echo "30" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
658 echo "#Checkout required version..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
659
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
660 if [[ "$BACK" ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
661 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
662 ret=$(git checkout master~"$BACK" >>$install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
663 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
664 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
665 git_error=$(tail -n5 $install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
666 zenity --title="$title" --width=370 --height=400 --error --text=$'Git error:\n\n'"$git_error" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
667 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
668 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
669 elif [[ "$COMMIT" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
670 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
671 ret=$(git checkout "$COMMIT" >>$install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
672 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
673 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
674 git_error=$(tail -n5 $install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
675 zenity --title="$title" --width=370 --height=400 --error --text=$'Git error:\n\n'"$git_error" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
676 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
677 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
678 elif [[ "$TAG" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
679 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
680 ret=$(git checkout "$TAG" >>$install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
681 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
682 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
683 echo "error"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
684 git_error=$(tail -n5 $install_log 2>&1)
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
685 zenity --title="$title" --width=370 --height=400 --error --text=$'Git error:\n\n'"$git_error" 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
686 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
687 exit
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
688 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
689 fi
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
690 if [[ "$DEBUG" == "yes" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
691 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
692 debug_opt=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
693 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
694 debug_opt="--disable-debug-log"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
695 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
696
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
697 echo "40" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
698 echo "#Creating configuration files..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
699
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
700 if [[ $gtk_version == "GTK3"* ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
701 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
702 ./autogen.sh "$debug_opt" >>$install_log 2>&1
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
703 else
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
704 ./autogen.sh "$debug_opt" --disable-gtk3 >>$install_log 2>&1
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
705 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
706
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
707 echo "60" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
708 echo "#Compiling..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
709
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
710 export CFLAGS=$CFLAGS" -Wno-deprecated-declarations"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
711 export CXXFLAGS=$CXXFLAGS" -Wno-deprecated-declarations"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
712 make -j >>$install_log 2>&1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
713
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
714 if [[ $? != 0 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
715 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
716 zenity --title="$title" --width=370 --height=400 --error --text=$'Compile error' 2>/dev/null
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
717 exit_install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
718 exit
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
719 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
720
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
721 echo "90 " > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
722 echo "#Installing Geeqie..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
723
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
724 sudo --askpass make install >>$install_log 2>&1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
725
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
726 # This is a temporary fix until the ZoneDetect project releases its source code
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
727 zonedetect_message="ZoneDetect database not loaded"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
728 if [[ -d "/usr/local/lib/geeqie" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
729 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
730 if [[ ! -f "/usr/local/lib/geeqie/timezone21.bin" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
731 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
732 sudo --askpass wget --directory-prefix=/usr/local/lib/geeqie/ https://github.com/BertoldVdb/ZoneDetect/raw/master/database/timezone21.bin >>$install_log 2>&1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
733 if [[ $? == 0 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
734 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
735 zonedetect_message=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
736 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
737 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
738 zonedetect_message=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
739 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
740 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
741
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
742 rm $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
743 mv -f $install_log install.log;
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
744
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
745 echo "100 " > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
746 rm $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
747
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
748 (for i in $(seq 0 4 100); do echo "$i"; sleep 0.1; done) | zenity --progress --title="$title" --width=370 --text="Geeqie installation complete...\n$zonedetect_message" --auto-close --percentage=0 2>/dev/null
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
749
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
750 exit