Mercurial > hg > forks > geeqie
annotate web/geeqie-install-debian.sh @ 2804:c7a8c086862b
Enhanced script for compiling on Debian systems
author | Colin Clark <colin.clark@cclark.uk> |
---|---|
date | Fri, 27 Jul 2018 16:49:58 +0100 |
parents | |
children | 7fa597d9c65b |
rev | line source |
---|---|
2804
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
1 #!/bin/bash |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
2 version="2018-07-26" |
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 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
14 -c --commit Checkout and compile commit ident |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
15 -t --tag Checkout and compile tag (e.g. v1.4 or v1.3) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
16 ' |
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 # Essential for compiling |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
19 essential_array=( |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
20 "git" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
21 "build-essential" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
22 "autoconf" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
23 "libglib2.0-0" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
24 "intltool" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
25 ) |
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 # Optional for both GTK2 and GTK3 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
28 optional_array=( |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
29 "LCMS (for color management)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
30 "liblcms2-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
31 "exiv2 (for exif handling)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
32 "libgexiv2-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
33 "lua (for --remote commands)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
34 "liblua5.1-0-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
35 "libffmpegthumbnailer (for mpeg thumbnails)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
36 "libffmpegthumbnailer-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
37 "libtiff (for tiff support)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
38 "libtiff-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
39 "libjpeg (for jpeg support" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
40 "libjpeg-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
41 "librsvg2 (for viewing .svg images" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
42 "librsvg2-common" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
43 "libwmf (for viewing .wmf images)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
44 "libwmf0.2-7-gtk" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
45 "exiftran (for image rotation)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
46 "exiftran" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
47 "imagemagick (for image rotation)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
48 "imagemagick" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
49 "ufraw (for RAW file handling)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
50 "ufraw" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
51 "markdown (for generating README help file)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
52 "markdown" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
53 ) |
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 # Optional for GTK3 only |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
56 optional_gtk3_array=( |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
57 "libchamplain gtk (for GPS maps)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
58 "libchamplain-gtk-0.12-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
59 "libchamplain (for GPS maps)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
60 "libchamplain-0.12-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
61 "libpoppler (for pdf file preview)" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
62 "libpoppler-glib-dev" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
63 ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
64 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
65 # Optional pixbuf loaders |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
66 optional_loaders_array=( |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
67 ".webp WebP images" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
68 "webp" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
69 ".psd Photoshop images" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
70 "psd" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
71 ".xcf Gimp files" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
72 "xcf" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
73 ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
74 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
75 install_essential() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
76 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
77 arraylength=${#essential_array[@]} |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
78 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
|
79 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
80 res=$(dpkg-query --show --showformat='${Status}' ${essential_array[$i]} 2>&1) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
81 if [[ $res != "install ok installed"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
82 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
83 sudo apt-get --assume-yes install ${essential_array[$i]} |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
84 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
85 done |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
86 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
87 if [[ $1 == "GTK3" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
88 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
89 res=$(dpkg-query --show --showformat='${Status}' "libgtk-3-dev" 2>&1) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
90 if [[ $res != "install ok installed"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
91 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
92 sudo apt-get --assume-yes install libgtk-3-dev |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
93 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
94 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
95 res=$(dpkg-query --show --showformat='${Status}' "libgtk2.0-dev" 2>&1) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
96 if [[ $res != "install ok installed"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
97 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
98 sudo apt-get --assume-yes install libgtk2.0-dev |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
99 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
100 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
101 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
102 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
103 install_options() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
104 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
105 if [ -n "$options" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
106 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
107 OLDIFS=$IFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
108 IFS='|' |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
109 set $options |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
110 while [ $# -gt 0 ]; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
111 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
112 sudo apt-get --assume-yes install $1 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
113 shift |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
114 done |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
115 IFS=$OLDIFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
116 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
117 return |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
118 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
119 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
120 install_webp() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
121 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
122 rm -rf webp-pixbuf-loader-master |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
123 sudo apt-get --assume-yes install libglib2.0-dev libgdk-pixbuf2.0-dev libwebp-dev |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
124 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
|
125 unzip master.zip |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
126 cd webp-pixbuf-loader-master |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
127 ./waf configure |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
128 ./waf build |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
129 sudo ./waf install |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
130 sudo gdk-pixbuf-query-loaders --update-cache |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
131 cd - |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
132 rm -rf webp-pixbuf-loader-master |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
133 rm master.zip |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
134 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
135 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
136 install_psd() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
137 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
138 rm -rf gdk-pixbuf-psd |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
139 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
|
140 cd gdk-pixbuf-psd |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
141 ./autogen.sh |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
142 make |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
143 sudo make install |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
144 sudo gdk-pixbuf-query-loaders --update-cache |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
145 cd - |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
146 rm -rf gdk-pixbuf-psd |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
147 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
148 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
149 install_xcf() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
150 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
151 rm -rf xcf-pixbuf-loader |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
152 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
|
153 cd xcf-pixbuf-loader |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
154 ./autogen.sh |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
155 make |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
156 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
157 # There must be a better way... |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
158 loader_locn=$(gdk-pixbuf-query-loaders | grep "LoaderDir" | tr -d '#[:space:]') |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
159 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
160 OLDIFS=$IFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
161 IFS='=' |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
162 set $loader_locn |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
163 OLDIFS=$IFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
164 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
165 if [ -d $2 ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
166 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
167 sudo cp .libs/libioxcf.so $2 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
168 sudo gdk-pixbuf-query-loaders --update-cache |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
169 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
170 cd - |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
171 rm -rf xcf-pixbuf-loader |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
172 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
173 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
174 install_extra_loaders() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
175 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
176 if [ -n "$extra_loaders" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
177 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
178 OLDIFS=$IFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
179 IFS='|' |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
180 set $extra_loaders |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
181 while [ $# -gt 0 ]; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
182 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
183 case $1 in |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
184 "webp" ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
185 install_webp |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
186 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
187 "psd" ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
188 install_psd |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
189 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
190 "xcf" ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
191 install_xcf |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
192 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
193 esac |
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 shift |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
196 done |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
197 IFS=$OLDIFS |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
198 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
199 return |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
200 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
201 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
202 uninstall() |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
203 { |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
204 current_dir=$(basename $PWD) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
205 if [[ $current_dir == "geeqie" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
206 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
207 sudo make uninstall |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
208 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 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
209 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
210 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
211 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
212 cd .. |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
213 sudo rm -rf geeqie |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
214 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
215 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
216 zenity --title="Uninstall Geeqie" --width=370 --text="This is not a geeqie installation folder!\n\n$PWD" --warning 2>/dev/null |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
217 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
218 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
219 } |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
220 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
221 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
222 # Entry point |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
223 # Parse the comand line |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
224 OPTS=$(getopt -o vhc:t: --long version,help,commit:,tag: -- "$@") |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
225 eval set -- "$OPTS" |
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 while true; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
228 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
229 case "$1" in |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
230 -v | --version ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
231 echo "$version" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
232 exit |
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 -h | --help ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
235 echo "$description" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
236 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
237 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
238 -c | --commit ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
239 COMMIT="$2" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
240 shift |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
241 shift |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
242 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
243 -t | --tag ) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
244 TAG="$2" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
245 shift; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
246 shift |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
247 ;; |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
248 * ) break |
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 esac |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
251 done |
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 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
|
254 if [ -d "geeqie" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
255 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
256 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
|
257 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
258 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
259 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
260 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
261 # 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
|
262 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
|
263 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
264 mode="update" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
265 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
266 # 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
|
267 if [ -d ".git" ] || [ -d "src" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
268 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
269 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
|
270 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
271 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
272 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
273 mode="install" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
274 fi |
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 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
277 if [[ $mode == "install" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
278 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
279 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
|
280 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
281 title="Install Geeqie and dependencies" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
282 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
283 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
|
284 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
285 title="Update Geeqie and re-install" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
286 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
287 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
288 # 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
|
289 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
290 gtk_version=$(zenity --title="$title" --width=370 --text="$message" --list --radiolist --column "" --column "" TRUE "GTK3 (required for GPS maps and pdf preview)" FALSE "GTK2" FALSE "Uninstall" --cancel-label="Cancel" --ok-label="OK" --hide-header 2>/dev/null) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
291 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
292 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
293 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
294 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
295 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
296 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
297 if [[ $gtk_version == "Uninstall" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
298 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
299 uninstall |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
300 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
301 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
302 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
303 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
|
304 zen_pid=$! |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
305 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
306 # 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
|
307 arraylength=${#optional_array[@]} |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
308 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
|
309 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
310 res=$(dpkg-query --show --showformat='${Status}' ${optional_array[$i+1]} 2>&1) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
311 if [[ $res != "install ok installed"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
312 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
313 if [ -z "$option_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
314 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
315 option_string=$'TRUE\n'"${optional_array[$i]}"$'\n'"${optional_array[$i+1]}" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
316 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
317 option_string="$option_string"$'\nTRUE\n'"${optional_array[$i]}"$'\n'"${optional_array[$i+1]}" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
318 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
319 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
320 done |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
321 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
322 # 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
|
323 if [[ "$gtk_version" == "GTK3"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
324 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
325 arraylength=${#optional_gtk3_array[@]} |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
326 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
|
327 do |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
328 res=$(dpkg-query --show --showformat='${Status}' ${optional_gtk3_array[$i+1]} 2>&1) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
329 if [[ $res != "install ok installed"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
330 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
331 if [ -z "$option_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
332 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
333 option_string=$'TRUE\n'"${optional_gtk3_array[$i]}"$'\n'"${optional_gtk3_array[$i+1]}" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
334 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
335 option_string="$option_string"$'\nTRUE\n'"${optional_gtk3_array[$i]}"$'\n'"${optional_gtk3_array[$i+1]}" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
336 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
337 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
338 done |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
339 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
340 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
341 # Get the optional loaders not yet installed |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
342 ((i=0)) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
343 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
|
344 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
345 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
346 if [ -z "$loaders_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
347 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
348 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
|
349 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
350 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
|
351 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
352 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
353 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
354 ((i=i+2)) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
355 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
|
356 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
357 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
358 if [ -z "$loaders_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
359 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
360 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
|
361 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
362 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
|
363 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
364 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
365 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
366 ((i=i+2)) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
367 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
|
368 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
369 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
370 if [ -z "$loaders_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
371 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
372 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
|
373 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
374 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
|
375 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
376 fi |
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 kill $zen_pid 2>/dev/null |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
379 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
380 # Ask the user which options to install |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
381 if [ -n "$option_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
382 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
383 options=$(echo "$option_string" | zenity --title="$title" --width=370 --height=400 --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) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
384 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
385 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
386 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
387 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
388 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
389 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
390 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
391 # 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
|
392 if [ -n "$loaders_string" ] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
393 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
394 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
|
395 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
396 if [[ $? == 1 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
397 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
398 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
399 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
400 fi |
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 install_essential $gtk_version |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
403 install_options |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
404 install_extra_loaders |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
405 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
406 if [[ $mode == "install" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
407 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
408 ret=$(git clone git://www.geeqie.org/geeqie.git) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
409 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
410 git checkout master |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
411 ret=$(git pull) |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
412 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
413 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
414 if [[ $? != 0 ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
415 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
416 echo "$ret" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
417 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
418 fi |
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 if [[ $mode == "install" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
421 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
422 cd geeqie |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
423 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
424 sudo make uninstall |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
425 sudo make maintainer-clean |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
426 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
427 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
428 if [[ "$COMMIT" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
429 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
430 git checkout "$COMMIT" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
431 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
432 if [[ "TAG" ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
433 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
434 git checkout "$TAG" |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
435 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
436 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
437 if [[ $gtk_version == "GTK3"* ]] |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
438 then |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
439 ./autogen.sh |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
440 else |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
441 ./autogen.sh --disable-gtk3 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
442 fi |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
443 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
444 make -j |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
445 sudo make install |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
446 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
447 exit |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
448 |
c7a8c086862b
Enhanced script for compiling on Debian systems
Colin Clark <colin.clark@cclark.uk>
parents:
diff
changeset
|
449 |