9 |
9 |
exit -1
|
10 |
10 |
fi
|
11 |
11 |
|
12 |
|
GVSIG_INSTALLTION="$PWD"
|
|
12 |
GVSIG_INSTALL_FOLDER="$PWD"
|
13 |
13 |
TARGET_FOLDER="/tmp/gvsig-deb"
|
14 |
14 |
|
15 |
15 |
function message() {
|
16 |
16 |
echo $@
|
17 |
17 |
}
|
18 |
18 |
|
|
19 |
|
|
20 |
initArchitecture() {
|
|
21 |
architecture=""
|
|
22 |
cd "$GVSIG_INSTALL_FOLDER"
|
|
23 |
eval $(find . -name package.info -exec grep "architecture=[^a]" {} ';' | sort | head -n 1)
|
|
24 |
if [ "${architecture}" == "" ] ; then
|
|
25 |
echo "Can't determine the gvSIG installation architecture." >&2
|
|
26 |
exit 1
|
|
27 |
fi
|
|
28 |
if [ "${architecture/*x86_64*/x86_64}" == "x86_64" ] ; then
|
|
29 |
GVSIG_ARCHITECTURE="amd64"
|
|
30 |
else
|
|
31 |
GVSIG_ARCHITECTURE="x86"
|
|
32 |
fi
|
|
33 |
cd - >/dev/null
|
|
34 |
}
|
|
35 |
|
|
36 |
CORE_VERSION=$(echo lib/org.gvsig.andami-*.jar)
|
|
37 |
CORE_VERSION=${CORE_VERSION/lib\/org.gvsig.andami-/}
|
|
38 |
CORE_VERSION=${CORE_VERSION/.jar/}
|
|
39 |
GVSIG_VERSION=$(sed -n 's/^version=\(.*\)/\1/p' package.info)
|
|
40 |
GVSIG_BUILDNUMBER=$(sed -n 's/^buildNumber=\(.*\)/\1/p' package.info)
|
|
41 |
initArchitecture
|
|
42 |
|
|
43 |
|
|
44 |
sudo rm -rf "$TARGET_FOLDER"
|
|
45 |
mkdir -p "$TARGET_FOLDER/DEBIAN"
|
|
46 |
sed "s/\${GVSIG_ARCHITECTURE}/${GVSIG_ARCHITECTURE}/
|
|
47 |
s/\${GVSIG_VERSION}/${GVSIG_VERSION}/
|
|
48 |
s/\${GVSIG_BUILDNUMBER}/${GVSIG_BUILDNUMBER}/
|
|
49 |
s/\${CORE_VERSION}/${CORE_VERSION}/" "$GVSIG_INSTALL_FOLDER/tools/debian.control" >"$TARGET_FOLDER/DEBIAN/control"
|
|
50 |
|
19 |
51 |
#=============================
|
20 |
52 |
# Load debian.control values
|
21 |
53 |
#
|
22 |
54 |
typeset -l Package
|
23 |
|
eval $(sed -n 's/\([A-Za-z0-9]*\)[ ]*:[ ]*\(.*\)/\1="\2"/p' "$GVSIG_INSTALLTION/tools/debian.control")
|
|
55 |
eval $(sed -n 's/\([A-Za-z0-9]*\)[ ]*:[ ]*\(.*\)/\1="\2"/p' "$TARGET_FOLDER/DEBIAN/control")
|
24 |
56 |
|
25 |
57 |
#=============================
|
26 |
58 |
# Prepare target folder
|
27 |
59 |
|
28 |
|
message "Prepare package folder in $TARGET_FOLDER"
|
29 |
|
sudo rm -rf "$TARGET_FOLDER"
|
30 |
|
mkdir -p "$TARGET_FOLDER"
|
|
60 |
message "Prepare package folder in $TARGET_FOLDER"
|
31 |
61 |
|
32 |
62 |
mkdir -p "$TARGET_FOLDER/DEBIAN"
|
33 |
63 |
mkdir -p "$TARGET_FOLDER/usr/bin"
|
... | ... | |
42 |
72 |
|
43 |
73 |
message "Create gvsig launcher in $TARGET_FOLDER/usr/local/bin"
|
44 |
74 |
echo "#!/bin/sh
|
45 |
|
exec /usr/local/lib/${Package}/default/gvSIG.sh
|
|
75 |
exec /usr/local/lib/${Package}/default/gvSIG.sh \$@
|
46 |
76 |
" > "$TARGET_FOLDER/usr/local/bin/${Package}"
|
47 |
77 |
|
48 |
78 |
#============================================
|
... | ... | |
53 |
83 |
ln -s "../local/bin/${Package}" .
|
54 |
84 |
|
55 |
85 |
#============================================
|
56 |
|
# Link installation to default folder
|
|
86 |
# Link installation to default folder
|
57 |
87 |
|
58 |
88 |
message "Link installation to default folder"
|
59 |
89 |
cd "$TARGET_FOLDER/usr/local/lib/${Package}"
|
... | ... | |
78 |
108 |
message "Create desktop file, icon and menu entry file"
|
79 |
109 |
|
80 |
110 |
DesktopCategory="Graphics"
|
81 |
|
cp "$GVSIG_INSTALLTION/gvsig-icon48x48.png" "$TARGET_FOLDER/usr/share/pixmaps/${Package}.png"
|
|
111 |
cp "$GVSIG_INSTALL_FOLDER/gvsig-icon48x48.png" "$TARGET_FOLDER/usr/share/pixmaps/${Package}.png"
|
82 |
112 |
|
83 |
113 |
cat <<EOF-menu >"$TARGET_FOLDER/usr/share/menu/${Package}"
|
84 |
114 |
?package(${Package}):command="/usr/local/bin/${Package}" icon="/usr/share/pixmaps/${Package}.png" needs="X11" section="Applications/${DesktopCategory}" title="gvSIG desktop" hotkey="gvSIG"
|
85 |
115 |
EOF-menu
|
86 |
|
|
|
116 |
|
87 |
117 |
cat <<EOF-desktop-file >"$TARGET_FOLDER/usr/share/applications/${Package}.desktop"
|
88 |
118 |
Name=gvSIG desktop
|
89 |
119 |
Version=${Version}
|
... | ... | |
91 |
121 |
Comment=
|
92 |
122 |
Icon=/usr/share/pixmaps/${Package}.png
|
93 |
123 |
Type=Application
|
94 |
|
Terminal=false
|
|
124 |
Terminal=false
|
95 |
125 |
StartupNotify=true
|
96 |
126 |
Encoding=UTF-8
|
97 |
127 |
Categories=${DesktopCategory};
|
... | ... | |
101 |
131 |
# Copy files to target folder
|
102 |
132 |
|
103 |
133 |
message "Copy installation files..."
|
104 |
|
cd "$GVSIG_INSTALLTION"
|
|
134 |
cd "$GVSIG_INSTALL_FOLDER"
|
105 |
135 |
|
106 |
|
cp "tools/debian.control" "$TARGET_FOLDER/DEBIAN/control"
|
107 |
136 |
cp -R . "$TARGET_FOLDER/usr/local/lib/${Package}/${Version}-${Architecture}"
|
108 |
137 |
|
109 |
138 |
#============================================
|
110 |
139 |
|