annotate web/geeqie-install-debian.sh @ 2821:0c4659cd6d32

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