Newer
Older
#!/bin/sh
#
# Copyright (C) 2011 Rubén Rodríguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION=5
. ./config
cp $DATA/trisquel_installed.png pixmaps
rm pixmaps/ubuntu_installed.png
replace ubuntu_installed trisquel_installed .

Ruben Rodriguez
committed
/bin/sed '/canonical/d' -i debian/ubiquity.install*
rm tests/test_ubi_partman*
export DEB_BUILD_OPTIONS=nocheck
# Fix update issues on clean installations: http://trisquel.info/es/forum/update-issues-clean-install
sed 's:\(targetdb)\):\1\n os.system("sudo chmod 644 /target/var/cache/debconf/config.dat"):' bin/ubiquity -i
# Fix https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1080701
sed '/from ubiquity import osextras/s/$/\nos.system("sudo swapoff -a")/' bin/ubiquity-wrapper -i
for i in $(ls -1 d-i/source/apt-setup/generators |grep -v 01setup) canonical.com security.ubuntu.com extras.ubuntu.com
do

Ruben Rodriguez
committed
/bin/sed /$i/d -i debian/ubiquity.install-any d-i/source/apt-setup/debian/*.install
done
echo "d-i/source/apt-setup/generators/99trisquel usr/lib/ubiquity/apt-setup/generators" >> debian/ubiquity.install-any
#change icon
cp $DATA/trisquel.png desktop/ubiquity.png
# remove Ubuntu apt setup for the installer
find d-i/source/apt-setup/generators -type f | grep -v 01setup | xargs -r rm
cat << EOF1 > d-i/source/apt-setup/generators/99trisquel
#!/bin/sh
set -e
file="\$1"
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
SPEED=1000000000000
for i in \$(grep 'tp:' /usr/share/python-apt/templates/Trisquel.mirrors)
do
echo Testing \$i
TIME=\$(date +%s%N)
wget -o /dev/null -O /dev/null \$i/speedtest || continue
TIME2=\$(date +%s%N)
ELAPSED=\$(expr \$TIME2 - \$TIME)
echo Time: \$ELAPSED
if [ \$ELAPSED -lt \$SPEED ]
then
FASTEST=\$i
SPEED=\$ELAPSED
fi
done
MIRROR=\$FASTEST
RELEASE=\$(lsb_release -c | cut -f 2)
cat << EOF > \$file
# Trisquel repositories for supported software and updates
deb \$MIRROR \$RELEASE main
deb-src \$MIRROR \$RELEASE main
deb \$MIRROR \$RELEASE-security main
deb-src \$MIRROR \$RELEASE-security main
deb \$MIRROR \$RELEASE-updates main
deb-src \$MIRROR \$RELEASE-updates main
#deb \$MIRROR \$RELEASE-backports main
#deb-src \$MIRROR \$RELEASE-backports main
EOF
EOF1
chmod 755 d-i/source/apt-setup/generators/99trisquel
# Rebrand
replace $UPSTREAM $CODENAME .
replace Ubuntu Trisquel .
replace Kubuntu Triskel .
replace kubuntu triskel .
find |grep kubuntu.*png | xargs rename s/kubuntu/triskel/
replace Trisquel-Gettext-Domain Ubuntu-Gettext-Domain
#replace triskel-ubiquity kubuntu-ubiquity
replace "launchpad.net/ubuntu/+source/ubiquity/+filebug" "trisquel.info/project/issues" .
replace "launchpad.net/ubuntu/+source/ubiquity/" "trisquel.info/project/issues" .
replace "launchpad.net/ubuntu/+source/" "trisquel.info/project/issues" .
replace "ubiquity/+filebug" "" .
replace "+filebug" "" .
replace archive.ubuntu.com/ubuntu archive.trisquel.info/trisquel .
replace security.ubuntu.com/trisquel archive.trisquel.info/trisquel .
replace archive.ubuntu.com archive.trisquel.info .
replace security.ubuntu.com archive.trisquel.info .

Ruben Rodriguez
committed
#sed -i 's/apt-install/true #apt-install/' ubiquity/components/check_kernels.py
sed -i 's/apt-install/true #apt-install/' scripts/check-kernels
#sed -i '82s/True/False/g' gui/gtk/stepPrepare.ui
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
rm -rf d-i/source/apt-setup/release-files/*
for DIST in $CODENAME $CODENAME-security $CODENAME-updates $CODENAME-backports
do
WD=d-i/source/apt-setup/release-files/archive.trisquel.info/$DIST
mkdir $WD -p
wget -r -l1 -np http://archive.trisquel.info/trisquel/dists/$DIST/Release -O $WD/Release
wget -r -l1 -np http://archive.trisquel.info/trisquel/dists/$DIST/Release.gpg -O $WD/Release.gpg
done
# Postinstall hacks
cat << EOF1 >> scripts/apt-setup
#Trisquel hack to regenerate ssl keys after installation
rm -f /target/etc/ssh/ssh_host_*
ssh-keygen -q -f /target/etc/ssh/ssh_host_rsa_key -N '' -t rsa
ssh-keygen -q -f /target/etc/ssh/ssh_host_dsa_key -N '' -t dsa
if [ -d /etc/italc ]
then
rm -rf /etc/italc/*
/usr/bin/ica -role teacher -createkeypair >/dev/null
/usr/bin/ica -role admin -createkeypair >/dev/null
/usr/bin/ica -role supporter -createkeypair >/dev/null
rm /target/etc/italc/ -rf
cp /etc/italc/ /target/etc/ -a
chown root:admin /target/etc/italc/keys/private/*/key
fi
cat << EOF > /target/etc/grub.d/01_PASSWORD
#! /bin/sh -e
# Trisquel enables a random password to grub during install
# Comment this file to remove the password.
# This file should only be readable by root.
echo set superusers=grub
echo password grub \$(bash -c 'echo \$RANDOM')
EOF
chmod 700 /target/etc/grub.d/01_PASSWORD
# Hacks for accessibility
if pgrep orca > /dev/null
then
echo "Orca screen reader seems to be running, enabling accessibility by default in target system"
echo "[org.gnome.desktop.a11y.applications]
screen-reader-enabled=true
[org.gnome.desktop.interface]
toolkit-accessibility=true
" >> /target/usr/share/glib-2.0/schemas/99_accessibility.gschema.override
chroot /target glib-compile-schemas /usr/share/glib-2.0/schemas
echo "/desktop/gnome/applications/at/screen_reader_enabled true
/desktop/gnome/interface/accessibility true" > /target/usr/share/gconf/defaults/91_accessibility
chroot /target update-gconf-defaults
fi
EOF1
changelog "Adapted for Trisquel"
rm -rf debian/source
compile