annotate web/geeqie-install-debian.sh @ 2865:cb5326e72117

Ref #631: Compilation script for all distributions https://github.com/BestImageViewer/geeqie/issues/631 Reference to all-distros script included in README. Full list of dependencies still not included.
author Colin Clark <colin.clark@cclark.uk>
date Sun, 18 Nov 2018 17:38:10 +0000
parents 8521d2405863
children
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"
2865
cb5326e72117 Ref #631: Compilation script for all distributions
Colin Clark <colin.clark@cclark.uk>
parents: 2856
diff changeset
60 "gphoto2 (for tethered photography and camera download plugins)"
2856
8521d2405863 Plugin for tethered photography
Colin Clark <colin.clark@cclark.uk>
parents: 2848
diff changeset
61 "gphoto2"
2865
cb5326e72117 Ref #631: Compilation script for all distributions
Colin Clark <colin.clark@cclark.uk>
parents: 2856
diff changeset
62 "libimage-exiftool-perl (for jpeg extraction plugin)"
cb5326e72117 Ref #631: Compilation script for all distributions
Colin Clark <colin.clark@cclark.uk>
parents: 2856
diff changeset
63 "libimage-exiftool-perl"
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
64 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
65
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
66 # Optional for GTK3 only
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
67 optional_gtk3_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
68 "libchamplain gtk (for GPS maps)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
69 "libchamplain-gtk-0.12-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
70 "libchamplain (for GPS maps)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
71 "libchamplain-0.12-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
72 "libpoppler (for pdf file preview)"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
73 "libpoppler-glib-dev"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
74 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
75
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
76 # Optional pixbuf loaders
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
77 optional_loaders_array=(
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
78 ".webp WebP images"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
79 "webp"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
80 ".psd Photoshop images"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
81 "psd"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
82 ".xcf Gimp files"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
83 "xcf"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
84 )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
85
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
86 ####################################################################
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
87 # Get System Info
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
88 # 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
89 ####################################################################
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
90 lowercase()
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 echo "$1" | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
93 }
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 systemProfile()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
96 {
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
97 OS=`lowercase \`uname\``
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
98 KERNEL=`uname -r`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
99 MACH=`uname -m`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
100
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
101 if [ "${OS}" == "windowsnt" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
102 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
103 OS=windows
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
104 elif [ "${OS}" == "darwin" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
105 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
106 OS=mac
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
107 else
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
108 OS=`uname`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
109 if [ "${OS}" = "SunOS" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
110 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
111 OS=Solaris
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
112 ARCH=`uname -p`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
113 OSSTR="${OS} ${REV}(${ARCH} `uname -v`)"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
114 elif [ "${OS}" = "AIX" ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
115 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
116 OSSTR="${OS} `oslevel` (`oslevel -r`)"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
117 elif [ "${OS}" = "Linux" ]
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 if [ -f /etc/redhat-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
120 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
121 DistroBasedOn='RedHat'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
122 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
123 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
124 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
125 elif [ -f /etc/SuSE-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
126 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
127 DistroBasedOn='SuSe'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
128 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
129 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
130 elif [ -f /etc/mandrake-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
131 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
132 DistroBasedOn='Mandrake'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
133 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
134 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
135 elif [ -f /etc/debian_version ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
136 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
137 DistroBasedOn='Debian'
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
138 if [ -f /etc/lsb-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
139 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
140 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
141 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
142 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
143 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
144 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
145 if [ -f /etc/UnitedLinux-release ]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
146 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
147 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
148 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
149 OS=`lowercase $OS`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
150 DistroBasedOn=`lowercase $DistroBasedOn`
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
151 readonly OS
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
152 readonly DIST
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
153 readonly DistroBasedOn
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
154 readonly PSUEDONAME
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
155 readonly REV
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
156 readonly KERNEL
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
157 readonly MACH
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
158 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
159 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
160 }
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
161
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
162 install_essential()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
163 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
164 arraylength=${#essential_array[@]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
165 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
166 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
167 package_query ${essential_array[$i]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
168 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
169 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
170 package_install ${essential_array[$i]}
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
171 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
172 done
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
173
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
174 if [[ $1 == "GTK3" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
175 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
176 package_query "libgtk-3-dev"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
177 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
178 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
179 package_install libgtk-3-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
180 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
181 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
182 package_query "libgtk2.0-dev"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
183 if [ $? != 0 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
184 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
185 package_install libgtk2.0-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
186 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
187 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
188 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
189
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
190 install_options()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
191 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
192 if [ -n "$options" ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
193 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
194 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
195 IFS='|'
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
196 set $options
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
197 while [ $# -gt 0 ];
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
198 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
199 package_install $1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
200 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
201 done
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
202 IFS=$OLDIFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
203 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
204 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
205
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
206 install_webp()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
207 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
208 rm -rf webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
209 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
210 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
211 unzip master.zip
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
212 cd webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
213 ./waf configure
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
214 ./waf build
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
215 sudo --askpass ./waf install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
216 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
217 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
218 rm -rf webp-pixbuf-loader-master
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
219 rm master.zip
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
220 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
221
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
222 install_psd()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
223 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
224 rm -rf gdk-pixbuf-psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
225 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
226 cd gdk-pixbuf-psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
227 ./autogen.sh
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
228 make
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
229 sudo --askpass make install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
230 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
231 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
232 rm -rf gdk-pixbuf-psd
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
233 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
234
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
235 install_xcf()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
236 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
237 rm -rf xcf-pixbuf-loader
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
238 package_install libbz2-dev
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
239 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
240 cd xcf-pixbuf-loader
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
241 ./autogen.sh
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
242 make
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
243
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
244 # There must be a better way...
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
245 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
246
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
247 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
248 IFS='='
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
249 set $loader_locn
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
250 OLDIFS=$IFS
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
251
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
252 if [ -d $2 ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
253 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
254 sudo --askpass cp .libs/libioxcf.so $2
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
255 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
256 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
257 cd -
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
258 rm -rf xcf-pixbuf-loader
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
259 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
260
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
261 install_extra_loaders()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
262 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
263 if [ -n "$extra_loaders" ]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
264 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
265 OLDIFS=$IFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
266 IFS='|'
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
267 set $extra_loaders
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
268 while [ $# -gt 0 ];
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
269 do
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
270 case $1 in
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
271 "webp" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
272 install_webp
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
273 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
274 "psd" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
275 install_psd
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
276 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
277 "xcf" )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
278 install_xcf
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
279 ;;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
280 esac
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
281
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
282 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
283 done
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
284 IFS=$OLDIFS
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
285 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
286 return
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
287 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
288
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
289 uninstall()
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
290 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
291 current_dir=$(basename $PWD)
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
292 if [[ $current_dir == "geeqie" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
293 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
294 sudo --askpass make uninstall
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
295 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
296
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
297 if [[ $? == 1 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
298 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
299 cd ..
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
300 sudo --askpass rm -rf geeqie
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
301 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
302 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
303 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
304 fi
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
305
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
306 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
307 }
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
308
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
309 package_query()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
310 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
311 if [[ $DistroBasedOn == "debian" ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
312 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
313 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
314 if [[ "$res" == "install ok installed"* ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
315 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
316 status=0
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
317 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
318 status=1
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
319 fi
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
320 fi
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
321 return $status
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
322 }
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
323
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
324 package_install()
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
325 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
326 if [[ $DistroBasedOn == "debian" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
327 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
328 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
329 fi
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
330 }
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
331
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
332 exit_install()
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
333 {
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
334 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
335 #~ 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
336
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
337 if [[ -p $zen_pipe ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
338 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
339 echo "100" > $zen_pipe
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
340 echo "#End" > $zen_pipe
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
341 fi
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 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
344
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
345 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
346
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
347 exit 1
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
348 }
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
349
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
350 # Entry point
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
351
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
352 # 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
353 ls $PWD >/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
354 if [[ $? != 0 ]]
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
355 then
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
356 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
357
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
358 exit
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
359 fi
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
360
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
361 # Check system type
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
362 systemProfile
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
363 if [[ $DistroBasedOn != "debian" ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
364 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
365 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
366 Operating System: $OS
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
367 Distribution: $DIST
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
368 Psuedoname: $PSUEDONAME
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
369 Revision: $REV
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
370 DistroBasedOn: $DistroBasedOn
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
371 Kernel: $KERNEL
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
372 Machine: $MACH" 2>/dev/null
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
373
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
374 exit
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
375 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
376
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
377 # Parse the comand line
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
378 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
379 eval set -- "$OPTS"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
380
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
381 while true;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
382 do
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
383 case "$1" in
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
384 -v | --version )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
385 echo "$version"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
386 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
387 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
388 -h | --help )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
389 echo "$description"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
390 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
391 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
392 -c | --commit )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
393 COMMIT="$2"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
394 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
395 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
396 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
397 -t | --tag )
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
398 TAG="$2"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
399 shift;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
400 shift
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
401 ;;
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
402 -b | --back )
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
403 BACK="$2"
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
404 shift;
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
405 shift
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
406 ;;
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
407 -d | --debug )
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
408 DEBUG="$2"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
409 shift;
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
410 shift
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
411 ;;
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
412 * ) break
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
413 ;;
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
414 esac
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
415 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
416
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
417 # 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
418 if [ -d "geeqie" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
419 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
420 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
421
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
422 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
423 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
424
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
425 # 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
426 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
427 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
428 mode="update"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
429 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
430 # 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
431 if [ -d ".git" ] || [ -d "src" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
432 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
433 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
434
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
435 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
436 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
437 mode="install"
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
438 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
439 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
440
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
441 # Use GTK3 as default
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
442 gk2_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
443 gtk3_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
444
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
445 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
446 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
447 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
448
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
449 title="Install Geeqie and dependencies"
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
450 install_option=TRUE
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
451 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
452 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
453
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
454 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
455 install_option=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
456
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
457 # 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
458 if [[ -f config.log ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
459 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
460 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
461 if [[ $? != 0 ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
462 then
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
463 gtk2_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
464 gtk3_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
465 else
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
466 gtk2_installed=TRUE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
467 gtk3_installed=FALSE
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
468 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
469 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
470 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
471
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
472 # 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
473
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
474 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
475
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
476 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
477 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
478 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
479 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
480
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
481 # 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
482 # 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
483 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
484 echo $'#!/bin/bash
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
485 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
486 if [[ $? > 0 ]]
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
487 then
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
488 exit 1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
489 fi
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
490 \n' > $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
491 chmod +x $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
492 export SUDO_ASKPASS=$install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
493
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
494 if [[ $gtk_version == "Uninstall" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
495 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
496 uninstall
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
497 exit
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
498 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
499
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
500 # 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
501 rm install.log 2>/dev/null
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
502 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
503
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
504 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
505 zen_pid=$!
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
506
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
507 # 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
508 arraylength=${#optional_array[@]}
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
509 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
510 do
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
511 package_query ${optional_array[$i+1]}
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
512 if [ $? != 0 ]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
513 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
514 if [ -z "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
515 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
516 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
517 else
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
518 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
519 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
520 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
521 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
522
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
523 # 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
524 if [[ "$gtk_version" == "GTK3"* ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
525 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
526 arraylength=${#optional_gtk3_array[@]}
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
527 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
528 do
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
529 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
530 if [ $? != 0 ]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
531 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
532 if [ -z "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
533 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
534 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
535 else
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
536 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
537 fi
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 done
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
540 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
541
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
542 # Get the optional loaders not yet installed
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
543 ((i=0))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
544 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
545 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
546 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
547 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
548 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
549 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
550 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
551 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
552
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
553 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
554 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
555
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
556 ((i=i+2))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
557 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
558 if [[ $? == 1 ]]
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 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
561 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
562 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
563 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
564 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
565 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
566 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
567
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
568 ((i=i+2))
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
569 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
570 if [[ $? == 1 ]]
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 if [ -z "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
573 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
574 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
575 else
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
576 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
577 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
578 fi
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 kill $zen_pid 2>/dev/null
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
581
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
582 # Ask the user which options to install
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
583 if [ -n "$option_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
584 then
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
585 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
586
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
587 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
588 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
589 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
590 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
591 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
592
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
593 # 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
594 if [ -n "$loaders_string" ]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
595 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
596 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
597
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
598 if [[ $? == 1 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
599 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
600 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
601 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
602 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
603
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
604 # Start of Zenity progress section
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
605 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
606 mkfifo $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
607 (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
608
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
609 echo "2" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
610 echo "#Installing essential libraries..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
611
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
612 install_essential $gtk_version
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
613
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
614 echo "4" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
615 echo "#Installing options..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
616
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
617 install_options
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
618
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
619 echo "6" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
620 echo "#Installing extra loaders..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
621
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
622 install_extra_loaders
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
623
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
624 echo "10" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
625 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
626
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
627 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
628 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
629 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
630 else
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
631 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
632 if [[ $? != 0 ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
633 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
634 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
635 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
636 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
637 fi
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
638 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
639 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
640
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
641 if [[ $? != 0 ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
642 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
643 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
644 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
645 exit_install
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
646 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
647
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
648 echo "20" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
649 echo "#Cleaning installed version..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
650
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
651 if [[ $mode == "install" ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
652 then
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
653 cd geeqie
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
654 else
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
655 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
656 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
657 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
658
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
659 echo "30" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
660 echo "#Checkout required version..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
661
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
662 if [[ "$BACK" ]]
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
663 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
664 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
665 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
666 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
667 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
668 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
669 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
670 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
671 elif [[ "$COMMIT" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
672 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
673 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
674 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
675 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
676 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
677 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
678 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
679 fi
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
680 elif [[ "$TAG" ]]
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
681 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
682 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
683 if [[ $? != 0 ]]
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
684 then
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
685 echo "error"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
686 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
687 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
688 exit_install
2807
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
689 exit
7fa597d9c65b Revised script for compiling on Debian system
Colin Clark <colin.clark@cclark.uk>
parents: 2804
diff changeset
690 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
691 fi
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
692 if [[ "$DEBUG" == "yes" ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
693 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
694 debug_opt=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
695 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
696 debug_opt="--disable-debug-log"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
697 fi
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
698
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
699 echo "40" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
700 echo "#Creating configuration files..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
701
2804
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
702 if [[ $gtk_version == "GTK3"* ]]
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
703 then
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
704 ./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
705 else
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
706 ./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
707 fi
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
708
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
709 echo "60" > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
710 echo "#Compiling..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
711
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
712 export CFLAGS=$CFLAGS" -Wno-deprecated-declarations"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
713 export CXXFLAGS=$CXXFLAGS" -Wno-deprecated-declarations"
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
714 make -j >>$install_log 2>&1
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
715
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
716 if [[ $? != 0 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
717 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
718 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
719 exit_install
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
720 exit
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
721 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
722
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
723 echo "90 " > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
724 echo "#Installing Geeqie..." > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
725
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
726 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
727
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
728 # 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
729 zonedetect_message="ZoneDetect database not loaded"
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
730 if [[ -d "/usr/local/lib/geeqie" ]]
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 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
733 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
734 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
735 if [[ $? == 0 ]]
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
736 then
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
737 zonedetect_message=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
738 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
739 else
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
740 zonedetect_message=""
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
741 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
742 fi
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
743
2810
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
744 rm $install_pass_script
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
745 mv -f $install_log install.log;
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
746
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
747 echo "100 " > $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
748 rm $zen_pipe
8438d30abd31 Script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents: 2807
diff changeset
749
2821
0c4659cd6d32 Remove ZoneDetect .bin file from repository
Colin Clark <colin.clark@cclark.uk>
parents: 2810
diff changeset
750 (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
751
c7a8c086862b Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff changeset
752 exit