1261
by Colin Watson
add CONF.sh bits for hardy; copy gutsy -> hardy elsewhere |
1 |
#! /bin/sh
|
2 |
||
3 |
set -e
|
|
4 |
||
5 |
N="$1" |
|
6 |
# The location of the tree where we should install app-install data files
|
|
7 |
DIR="$2" |
|
8 |
||
9 |
if [ "$PROJECT" = edubuntu ]; then |
|
10 |
EDU_APP_INSTALL_DATA_DEB="$($BASEDIR/tools/apt-selection cache \ |
|
11 |
show app-install-data-edubuntu | \ |
|
12 |
grep ^Filename: | awk '{print $2}' || true)" |
|
13 |
||
14 |
[ "$EDU_APP_INSTALL_DATA_DEB" ] || exit 0 |
|
15 |
||
16 |
mkdir -p "$DIR/app-install/edubuntu/" |
|
17 |
TMP_EDU="$DIR/app-install/edubuntu/" |
|
18 |
||
19 |
ar p "$MIRROR/$EDU_APP_INSTALL_DATA_DEB" data.tar.gz | tar -xzf - -C "$TMP_EDU" |
|
20 |
fi
|
|
21 |
||
22 |
APP_INSTALL_DATA_DEB="$($BASEDIR/tools/apt-selection cache \ |
|
23 |
show app-install-data | \ |
|
24 |
grep ^Filename: | awk '{print $2}' || true)" |
|
25 |
[ "$APP_INSTALL_DATA_DEB" ] || exit 0 |
|
26 |
||
27 |
mkdir -p "$DIR/app-install/channels" "$DIR/app-install/desktop" \ |
|
28 |
"$DIR/app-install/icons" "$DIR/app-install/tmp" |
|
29 |
TMP="$DIR/app-install/tmp" |
|
30 |
ar p "$MIRROR/$APP_INSTALL_DATA_DEB" data.tar.gz | tar -xzf - -C "$TMP" |
|
31 |
||
32 |
find "$TMP/usr/share/app-install/desktop" \ |
|
33 |
-name \*.desktop -print0 | \ |
|
34 |
xargs -r0 grep -aHi '^X-AppInstall-Package=' | \ |
|
35 |
perl -pe "s,^$TMP/usr/share/app-install/desktop/,,; s/\.desktop:.*?=/ /" | \ |
|
36 |
sort -k2 > "$TMP/desktop-list" |
|
37 |
DESKTOPS="$(sort "$DIR/../$N.packages" | \ |
|
38 |
join -1 2 -o 1.1 "$TMP/desktop-list" -)" |
|
39 |
||
40 |
for name in $DESKTOPS; do |
|
41 |
desktop="$TMP/usr/share/app-install/desktop/$name.desktop" |
|
42 |
cp -a "$desktop" "$DIR/app-install/desktop/" |
|
43 |
icon="$(grep -ai '^Icon=' "$desktop" | head -n1 | cut -d= -f2)" |
|
44 |
if [ "$icon" ]; then |
|
45 |
if [ "${icon%.*}" = "$icon" ]; then |
|
46 |
cp -a "$TMP/usr/share/app-install/icons/$icon".* \ |
|
47 |
"$DIR/app-install/icons/" || true |
|
48 |
else
|
|
49 |
cp -a "$TMP/usr/share/app-install/icons/$icon" \ |
|
50 |
"$DIR/app-install/icons/" || true |
|
51 |
fi
|
|
52 |
fi
|
|
53 |
done
|
|
54 |
||
55 |
if [ "$PROJECT" = edubuntu ]; then |
|
56 |
find "$TMP_EDU/usr/share/app-install-data-edubuntu/desktop/" -type f -print0 | \ |
|
57 |
xargs -0r cp --target-directory "$DIR/app-install/desktop" || true |
|
58 |
find "$TMP_EDU/usr/share/app-install-data-edubuntu/icons/" -type f -print0 | \ |
|
59 |
xargs -0r cp --target-directory "$DIR/app-install/icons" || true |
|
60 |
rm -rf "$DIR/app-install/edubuntu" |
|
61 |
else
|
|
62 |
cp -a "$TMP/usr/share/app-install/desktop/applications.menu" \ |
|
63 |
"$DIR/app-install/desktop/" || true |
|
64 |
fi
|
|
65 |
||
66 |
rm -rf "$DIR/app-install/tmp" |
|
67 |
||
68 |
mkdir -p "$DIR/.disk" |
|
69 |
echo '/app-install' > "$DIR/.disk/add-on" |
|
70 |
||
71 |
exit 0 |