373 lines
13 KiB
Bash
373 lines
13 KiB
Bash
#!/bin/sh
|
||
#
|
||
# Copyright (C) 2008-2010 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
|
||
#
|
||
|
||
# Note that you would need to publish and sign the upgrade tarball
|
||
# gpg -ba release_name.tar.gz
|
||
# Also, don't forget to update the meta-release files at archive and packages.t.i
|
||
|
||
VERSION=4
|
||
|
||
. ./config
|
||
|
||
#%FSDG: Remove functions to deal with proprietary drivers
|
||
rm ./DistUpgrade/xorg_fix_proprietary.py
|
||
rm ./DistUpgrade/NvidiaDetector
|
||
sed s/self.checkForNvidia/#self.checkForNvidia/ DistUpgrade/DistUpgradeCache.py -i
|
||
sed s/self._test_and_warn_on_old_nvidia/#self._test_and_warn_on_old_nvidia/ -i DistUpgrade/DistUpgradeQuirks.py
|
||
sed s/self._test_and_warn_on_nvidia_and_no_sse/#self._test_and_warn_on_nvidia_and_no_sse/ -i DistUpgrade/DistUpgradeQuirks.py
|
||
sed s/self._test_and_warn_on_dropped_fglrx_support/#self._test_and_warn_on_dropped_fglrx_support/ -i DistUpgrade/DistUpgradeQuirks.py
|
||
sed '/nvidia/d' debian/control DistUpgrade/build-tarball.sh -i
|
||
rm tests/test-data/xorg.conf.fglrx
|
||
|
||
#% Make sure nvidia-common and fglrx-modaliases are not installed
|
||
apt-get remove --purge -y nvidia-common || true
|
||
apt-get remove --purge -y fglrx-modaliases || true
|
||
|
||
rm ./DistUpgrade/Ubuntu.info
|
||
cat << EOF > DistUpgrade/Trisquel.info
|
||
ChangelogURI: http://packages.trisquel.info/changelogs/pool/%s/%s/%s/%s_%s/%s
|
||
|
||
Suite: $CODENAME
|
||
RepositoryType: deb
|
||
BaseURI: http://archive.trisquel.info/trisquel/
|
||
Description: Trisquel $CODENAME
|
||
Component: main
|
||
Enabled: 1
|
||
CompDescription: Trisquel GNU/linux packages
|
||
|
||
Suite: $CODENAME-security
|
||
RepositoryType: deb
|
||
BaseURI: http://archive.trisquel.info/trisquel/
|
||
Description: Trisquel $CODENAME Security Updates
|
||
Component: main
|
||
Enabled: 1
|
||
CompDescription: Trisquel GNU/linux packages
|
||
|
||
Suite: $CODENAME-updates
|
||
RepositoryType: deb
|
||
BaseURI: http://archive.trisquel.info/trisquel/
|
||
Description: Trisquel $CODENAME Updates
|
||
Component: main
|
||
Enabled: 1
|
||
CompDescription: Trisquel GNU/linux packages
|
||
|
||
Suite: $CODENAME-backports
|
||
RepositoryType: deb
|
||
BaseURI: http://archive.trisquel.info/trisquel/
|
||
Description: Trisquel $CODENAME Backports
|
||
Component: main
|
||
Enabled: 1
|
||
CompDescription: Trisquel GNU/linux packages
|
||
EOF
|
||
|
||
rm DistUpgrade/ReleaseAnnouncement
|
||
cat << EOF > DistUpgrade/ReleaseAnnouncement
|
||
= Welcome to Trisquel GNU/Linux $REVISION '$CODENAME' =
|
||
|
||
The Trisquel team is proud to announce Trisquel $REVISION '$CODENAME'.
|
||
|
||
Trisquel is a fully free operating system based in GNU/Linux, for domestic
|
||
users, small enterprises and educational centers.
|
||
|
||
We hope you enjoy Trisquel.
|
||
|
||
== Feedback and Helping ==
|
||
|
||
If you would like to help shape Trisquel, take a look at the list of
|
||
ways you can participate at
|
||
|
||
http://trisquel.info/en/wiki/how-help
|
||
|
||
Your comments, bug reports, patches and suggestions will help ensure
|
||
that our next release is the best release of Trisquel ever. If you feel
|
||
that you have found a bug please send it to us via
|
||
|
||
http://trisquel.info/project/issues
|
||
|
||
If you have a question, or if you think you may have found a bug but
|
||
aren't sure, first try asking on the #trisquel IRC channel on Freenode,
|
||
on the Trisquel Users mailing list, or on the Trisquel forums:
|
||
|
||
http://listas.trisquel.info/
|
||
http://trisquel.info/forum
|
||
|
||
== More Information ==
|
||
|
||
You can find out more about Trisquel on our website, IRC channel and wiki.
|
||
If you're new to Trisquel, please visit:
|
||
|
||
http://trisquel.info
|
||
|
||
To sign up for future Trisquel announcements, please subscribe to Trisquel's
|
||
very low volume announcement list at:
|
||
|
||
http://listas.trisquel.info/mailman/listinfo/trisquel-announce
|
||
|
||
EOF
|
||
|
||
rm DistUpgrade/DevelReleaseAnnouncement
|
||
cat << EOF > DistUpgrade/DevelReleaseAnnouncement
|
||
This is a development release, do not install on production systems!
|
||
|
||
EOF
|
||
|
||
cat DistUpgrade/ReleaseAnnouncement >> DistUpgrade/DevelReleaseAnnouncement
|
||
|
||
rm DistUpgrade/EOLReleaseAnnouncement
|
||
cat << EOF > DistUpgrade/EOLReleaseAnnouncement
|
||
= Trisquel GNU/Linux $REVISION '$CODENAME' is NO LONGER SUPPORTED! =
|
||
|
||
You are atempting to upgrade to a version of Trisquel that is no longer
|
||
supported. Since we do only keep upgrade packages for decomissioned releases
|
||
for a while, this upgrade may fail. Try the sandbox method first (by running
|
||
update-manager -s) or ask in our forums, lists or irc channels if you are
|
||
unsure about this procedure.
|
||
|
||
Even if the required upgrade packages for $CODENAME are still available, to
|
||
get a currently supported release you would need to upgrade at least once
|
||
more after this procedure ends, so we recommend you to do a clean install
|
||
using the latest LTS or STS edition.
|
||
|
||
== Feedback and Helping ==
|
||
|
||
If you would like to help shape Trisquel, take a look at the list of
|
||
ways you can participate at
|
||
|
||
http://trisquel.info/en/wiki/how-help
|
||
|
||
Your comments, bug reports, patches and suggestions will help ensure
|
||
that our next release is the best release of Trisquel ever. If you feel
|
||
that you have found a bug please send it to us via
|
||
|
||
http://trisquel.info/project/issues
|
||
|
||
If you have a question, or if you think you may have found a bug but
|
||
aren't sure, first try asking on the #trisquel IRC channel on Freenode,
|
||
on the Trisquel Users mailing list, or on the Trisquel forums:
|
||
|
||
http://listas.trisquel.info/
|
||
http://trisquel.info/forum
|
||
|
||
== More Information ==
|
||
|
||
You can find out more about Trisquel on our website, IRC channel and wiki.
|
||
If you're new to Trisquel, please visit:
|
||
|
||
http://trisquel.info
|
||
|
||
To sign up for future Trisquel announcements, please subscribe to Trisquel's
|
||
very low volume announcement list at:
|
||
|
||
http://listas.trisquel.info/mailman/listinfo/trisquel-announce
|
||
|
||
EOF
|
||
|
||
rm DistUpgrade/removal_blacklist.cfg
|
||
cat <<EOF > DistUpgrade/removal_blacklist.cfg
|
||
# blacklist of packages that should never be removed
|
||
trisquel-base
|
||
trisquel-minimal
|
||
trisquel-desktop-common
|
||
trisquel
|
||
trisquel-mini
|
||
triskel
|
||
# update-manager should not remove itself
|
||
update-manager
|
||
update-manager-core
|
||
EOF
|
||
|
||
rm DistUpgrade/mirrors.cfg
|
||
cat << EOF > DistUpgrade/mirrors.cfg
|
||
http://mirror.fsf.org/trisquel/
|
||
http://es.archive.trisquel.info/trisquel/
|
||
ftp://es.archive.trisquel.info/trisquel/
|
||
http://fr.archive.trisquel.info/trisquel/
|
||
ftp://fr.archive.trisquel.info/trisquel/
|
||
http://archive.trisquel.info/trisquel/
|
||
ftp://archive.trisquel.info/trisquel/
|
||
http://us.archive.trisquel.info/trisquel/
|
||
http://nl.archive.trisquel.info/
|
||
http://in.archive.trisquel.info/
|
||
ftp://in.archive.trisquel.info/
|
||
http://ftp.rediris.es/mirror/Trisquel/packages/
|
||
ftp://ftp.rediris.es/mirror/Trisquel/packages/
|
||
EOF
|
||
|
||
rm DistUpgrade/DistUpgrade.cfg
|
||
cat << EOF > DistUpgrade/DistUpgrade.cfg
|
||
[View]
|
||
# the views will be tried in this order, if one fails to import, the next
|
||
# is tried
|
||
View=DistUpgradeViewGtk,DistUpgradeViewGtk3,DistUpgradeViewKDE,DistUpgradeViewText
|
||
#View=DistUpgradeViewNonInteractive
|
||
#Depends= python-apt (>= 0.6.0), apt (>= 0.6)
|
||
# the views below support upgrades over ssh connection
|
||
SupportSSH=DistUpgradeViewText,DistUpgradeViewNonInteractive
|
||
|
||
# Distro contains global information about the upgrade
|
||
[Distro]
|
||
# the meta-pkgs we support
|
||
MetaPkgs=trisquel, trisquel-mini
|
||
BaseMetaPkgs=trisquel-base, trisquel-desktop-common, trisquel-gnome-base, trisquel-minimal
|
||
Demotions=demoted.cfg
|
||
RemoveEssentialOk=sysvinit, sysvutils, belocs-locales-bin
|
||
RemovalBlacklistFile=removal_blacklist.cfg
|
||
# if those packages were installed, make sure to keep them installed
|
||
KeepInstalledPkgs=gnumeric, hpijs, xserver-xorg-video-all
|
||
KeepInstalledSection=translations
|
||
RemoveObsoletes=yes
|
||
ForcedObsoletes=ksplash-engine-moodin, powernowd, laptop-mode-tools
|
||
# hints for for stuff that should be done early
|
||
PostUpgradePurge=ltsp-client, ltspfsd, linux-restricted-modules-common
|
||
PostUpgradeRemove=libflashsupport, kvm-source, gtk-qt-engine, libparted1.8-12, usplash, printconf, foomatic-db-gutenprint, ebox-printers, kbluetooth, kde-plasmoid-cwp
|
||
PostUpgradeUpgrade=brasero
|
||
#PostUpgradeInstall=apt
|
||
PostInstallScripts=./trisquel-postinstall.sh
|
||
EnableApport=yes
|
||
# this supported blacklisting certain versions to ensure we do not upgrade
|
||
# - blcr-dkms fails to build on kernel 2.6.35
|
||
BadVersions=blcr-dkms_0.8.2-13
|
||
# ubiquity slideshow
|
||
#SlideshowUrl=http://people.canonical.com/~mvo/ubiquity-slideshow-upgrade/slides/
|
||
|
||
[KernelRemoval]
|
||
Version=3.0.0
|
||
BaseNames=linux-image,linux-headers,linux-image-debug,linux-backport-modules,linux-header-lbm
|
||
Types=386,ec2,generic,rt,server,virtual
|
||
|
||
# information about the individual meta-pkgs
|
||
[trisquel]
|
||
KeyDependencies=gdm
|
||
# those pkgs will be marked remove right after the distUpgrade in the cache
|
||
PostUpgradeRemove=xscreensaver, gnome-cups-manager, powermanagement-interface, deskbar-applet, nautilus-cd-burner
|
||
ForcedObsoletes=desktop-effects, cups-pdf, policykit-gnome, gnome-mount
|
||
|
||
[trisquel-mini]
|
||
KeyDependencies=trisquel-mini-data
|
||
#Remove previous gnome component from lubuntu to avoid pulling gnome depends on upgrade (LP: #945215)
|
||
PostUpgradeRemove=gnome-bluetooth, gnome-power-manager
|
||
|
||
[Files]
|
||
BackupExt=distUpgrade
|
||
LogDir=/var/log/dist-upgrade/
|
||
|
||
[Sources]
|
||
From=brigantia
|
||
To=toutatis
|
||
ValidOrigin=Trisquel
|
||
ValidMirrors = mirrors.cfg
|
||
Components=main
|
||
Pockets=security,updates,backports
|
||
|
||
;[PreRequists]
|
||
;Packages=release-upgrader-apt,release-upgrader-dpkg
|
||
;SourcesList=prerequists-sources.list
|
||
;SourcesList-ia64=prerequists-sources.ports.list
|
||
;SourcesList-hppa=prerequists-sources.ports.list
|
||
|
||
[Aufs]
|
||
; this is a xor option, either full or chroot overlay
|
||
;EnableFullOverlay=yes
|
||
;EnableChrootOverlay=yes
|
||
; sync changes from the chroot back to the real system
|
||
;EnableChrootRsync=yes
|
||
; what chroot dir to use
|
||
;ChrootDir=/tmp/upgrade-chroot
|
||
; the RW dir to use (either for full overlay or chroot overlay)
|
||
;RWDir=/tmp/upgrade-rw
|
||
|
||
[Network]
|
||
MaxRetries=3
|
||
|
||
[NonInteractive]
|
||
ForceOverwrite=yes
|
||
RealReboot=no
|
||
DebugBrokenScripts=no
|
||
DpkgProgressLog=no
|
||
;TerminalTimeout=2400
|
||
EOF
|
||
|
||
cat << EOF1 > DistUpgrade/trisquel-postinstall.sh
|
||
#!/bin/sh
|
||
|
||
# Making sure this is gone
|
||
apt-get remove --force-yes -y notification-daemon
|
||
|
||
if ! [ -f /etc/grub.d/01_PASSWORD ]; then
|
||
cat << EOF > /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
|
||
fi
|
||
|
||
# Just in case
|
||
update-initramfs -u
|
||
update-grub
|
||
EOF1
|
||
chmod 755 DistUpgrade/trisquel-postinstall.sh
|
||
|
||
echo "notification-daemon" > DistUpgrade/demoted.cfg
|
||
|
||
replace changelogs.ubuntu.com packages.trisquel.info .
|
||
|
||
/bin/sed -i 's/<2F>~Lubuntu/<2F>~Ltrisquel/g; s/被ubuntu/被trisquel/g; s#http://launchpad.net/ubuntu/+source/%s/%s/+changelog#http://trisquel.info/project/issues#g; s/<.*@ubuntu.com/<info@trisquel.info/g; s/ ubuntu\n/ trisquel\n/g; s/ubuntu\ /trisquel\ /g; s/\ ubuntu/\ trisquel/g; s/Ubuntu/Trisquel/g; s/ubuntu-desktop/trisquel-/g; s/www.ubuntu.com/trisquel.info/g; s/www.ubuntulinux.org/trisquel.info/g ' po/*.po $(find | grep py$) $(find | grep '\.glade$')
|
||
|
||
apt-get install --force-yes -y rpl
|
||
rpl 11\.04 5\.0 DistUpgrade/*.ui
|
||
rpl 11\.04 5\.0 po/* -R
|
||
rpl 11\.10 5\.5 DistUpgrade/*.ui
|
||
rpl 11\.10 5\.5 po/* -R
|
||
rpl 12\.04 6\.0 DistUpgrade/*.ui
|
||
rpl 12\.04 6\.0 po/* -R
|
||
rpl $UPSTREAM $CODENAME . -R
|
||
rpl oneiric brigantia . -R
|
||
rpl natty dagda . -R
|
||
rpl maverick slaine . -R
|
||
rpl lucid taranis . -R
|
||
rpl karmic awen . -R
|
||
rpl jaunty dwyn . -R
|
||
rpl hardy robur . -R
|
||
rpl " Ubuntu " " Trisquel " . -R
|
||
rpl "Ubuntu " "Trisquel " . -R
|
||
rpl " Ubuntu" " Trisquel" . -R
|
||
rpl " ubuntu " " trisquel " . -R
|
||
rpl "ubuntu " "trisquel " . -R
|
||
rpl " ubuntu" " trisquel" . -R
|
||
rpl archive.ubuntu.com/ubuntu es.archive.trisquel.info/trisquel . -R
|
||
rpl security.ubuntu.com/ubuntu archive.trisquel.info/trisquel . -R
|
||
rpl archive.ubuntu.com es.archive.trisquel.info . -R
|
||
rpl security.ubuntu.com archive.trisquel.info . -R
|
||
sed 's/auto generated by update-manager/auto generated by update-manager\\n/g' DistUpgrade/DistUpgradeController.py -i
|
||
sed 's/main restricted" %/main\\n" %/g' DistUpgrade/DistUpgradeController.py -i
|
||
rpl "main restricted" "main" DistUpgrade -R
|
||
sed 's/,"restricted"//g' DistUpgrade/DistUpgradeController.py -i
|
||
#sed 's/","restricted"/\\n"/g' DistUpgrade/DistUpgradeController.py -i
|
||
#rpl '10.04' $REVISION DistUpgrade po -R
|
||
replace Ubuntu Trisquel . -R
|
||
replace Trisquel-Gettext Ubuntu-Gettext . -R
|
||
|
||
changelog "Compiled for Trisquel"
|
||
|
||
compile
|
||
|