annotate web/geeqie-install-debian.sh @ 2810:8438d30abd31

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