#!/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=6 . ./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/ 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 lxdm #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/�~Lubuntu/�~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 Kubuntu Triskel . -R replace Canonical Trisquel . -R replace Trisquel-Gettext Ubuntu-Gettext . -R changelog "Compiled for Trisquel" compile