annotate web/geeqie-install-debian.sh @ 2828:ce8f3b3e1f95

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