Du libre, du code, des idées, du mélange d’ArraKISS…

De l’épice pour la pensée

Je parlais il y a peu du rétroportage de xfce-4.12 sur debian jessie. J'y proposais un script qui compilait les paquets, mais qui était très vilain.
Depuis, j'en ai profité pour l'améliorer et ajouter le support d'autres paquets, afin d'avoir la suite xfce-4.12 au complet.

Pour utiliser ce script, assurez-vous d'avoir mis dans votre sources.list la ligne suivante :
deb-src http://ftp.fr.debian.org/debian testing main

Et voilà le script en question :

#!/bin/sh
#Auteur :      thuban <thuban@yeuxdelibad.net>
#licence :     GNU General Public Licence v3

#Description : rétroportage de xfce4.12
# Il FAUT ABSOLUMENT AVOIR DANS LE SOURCES.LIST : 
# deb-src http://ftp.fr.debian.org/debian testing main

sudo apt-get update

mkdir -p xfce-backport
cd xfce-backport

INSTALLED=$(mktemp)

installdeb() {
    for pkg in *.deb; do
        if [ -z "$(grep $pkg $INSTALLED)" ]; then
            sudo dpkg -r -i $pkg
            if [ $? -eq 0 ]; then
                echo $pkg >> $INSTALLED
            fi
        fi
    done
}

backport() {
    sudo apt-get -y build-dep $1
    apt-get source $1
    cd $1*
    if [ $? -eq 0 ]; then
        dch -i  "handylinux backport"
        #debuild
        debuild -us -uc -b
        cd ..
        installdeb
    fi
}



PKGLIST="libxfce4util libxfce4ui xfconf garcon
xfce4-settings xfce4-panel xfdesktop4 xfce4-session xfwm4 xfce4-appfinder exo
xfce4-terminal xfce4-battery-plugin xfce4-weather-plugin xfce4-whiskermenu-plugin
xfce4-cpufreq-plugin xfce4-cpugraph-plugin xfce4-datetime-plugin xfce4-volumed
xfce4-mount-plugin xfce4-notifyd xfce4-mailwatch-plugin xfce4-xkb-plugin
xfce4-places-plugin xfce4-power-manager xfce4-notes-plugin
xfce4-sensors-plugin xfce4-settings xfce4-taskmanager thunar
thunar-archive-plugin thunar-volman tumbler orage xfce4 gtk2-engines-xfce
xfce4-battery-plugin xfce4-clipman xfce4-dict xfce4-diskperf-plugin xfce4-equake-plugin
xfce4-fsguard-plugin xfce4-genmon-plugin xfce4-indicator-plugin 
xfce4-linelight-plugin xfce4-mailwatch-plugin xfce4-messenger-plugin xfce4-mpc-plugin
xfce4-netload-plugin xfce4-places-plugin xfce4-quicklauncher-plugin xfce4-screenshooter
xfce4-smartbookmark-plugin xfce4-wavelan-plugin
xfce4-weather-plugin xfce4-wmdock-plugin xfce4-pulseaudio-plugin
xfce4-systemload-plugin xfce4-timer-plugin xfce4-verve-plugin
thunar-media-tags-plugin xfce4-goodies
"

#counter
N=0
TOT=$(echo $PKGLIST | wc -w)



for pkg in $PKGLIST; do
    N=$(($N+1))
    echo ""
    echo "===> Prepare $pkg"
    echo ""
    notify-send "$N/$TOT $pkg"
    backport $pkg
done

echo "Fini!"

exit 0




Les paquets seront installés au fur et à mesure. En redémarrant votre session, vous pourrez profiter de xfce-4.12.

On pourra me dire ce que l'on veut, xfce reste le meilleur environnement de bureau que j'ai pu utiliser. C'est vraiment le bon équilibre à mon avis entre fonctionnalités et performances, tout en étant capable d'intégrer n'importe quelle application.
Mais mon engouement renouvelé d'aujourd'hui concerne une nouvelle fonctionnalité que je viens de découvrir dans xfce 4.12 : Le zoom du bureau tout entier!
Voilà quelque chose de bien utile qui va permettre de se débarrasser de loupy, la loupe d'écran minimaliste que j'avais bricolée.

Désormais, on peut zoomer sur le bureau et cliquer/interagir avec ce qui est à l'écran naturellement. Il suffit de maintenir Alt appuyé et jouer de la molette. La preuve en vidéo :


Seul hic, actuellement sur debian jessie, on en est à xfce 4.10.
Qu'à cela ne tienne, on va se faire un rétroportage maison :)

Pour ça, vous allez ajouter les sources de debian-stretch dans votre fichier /etc/apt/sources.list :
deb-src http://httpredir.debian.org/debian/ testing main
Ensuite, vous rechargez la liste des paquets :
sudo apt-get update

Et enfin, on va exécuter ce script. Alors oui, il est tout vilain, mais il fonctionne. Vous pouvez faire le backportage à la main si vous préférez :)

#!/bin/sh
#Auteur :      thuban <thuban@yeuxdelibad.net>
#licence :     GNU General Public Licence v3

#Description : rétroportage de xfce4.12

mkdir -p xfce-backport
cd xfce-backport

progress() { 
    echo ""
    echo "===> $1/$2"
    echo ""
}

backport() {
    sudo apt-get -y build-dep $1
    apt-get source $1
    cd $1*
    if [ $? -eq 0 ]; then
        dch -i  "handylinux backport"
        debuild -us -uc -b #signe pas
        #debuild
        cd ..
        sudo dpkg -i *.deb # there will be errors
    fi
}

progress "1" "16"
backport "libxfce4util"

progress "2" "16"
backport "libxfce4ui"

progress "3" "16"
backport "xfconf"

progress "4" "16"
backport "garcon"

progress "5" "16"
backport "xfce4-settings"

progress "6" "16"
backport "xfce4-panel"

progress "7" "16"
backport "thunar"

progress "8" "16"
backport "xfdesktop4"

progress "9" "16"
backport "gtk2-engines-xfce"

progress "10" "16"
backport "xfce4-session"

progress "11" "16"
backport "xfce4-appfinder"

progress "12" "16"
backport "xfwm4"

progress "13" "16"
backport "exo-utils"

progress "14" "16"
sudo apt-get -y build-dep orage
apt-get source orage
cd orage-4.12*
if [ $? -eq 0 ]; then
    dch -i  "handylinux backport"
    debuild -us -uc -b #signe pas
    #debuild
    cd ..

progress "15" "16"
backport "xfce4-pulseaudio-plugin"


progress "16" "16"
apt-get source xfce4
cd xfce4-4.12*
dch --bpo  "handylinux backport"
debuild -us -uc -b #signe pas
cd ..

# réinstallation de tous les deb
sudo dpkg -i *.deb

echo "Fini!"

Amusez-vous bien :)

EDIT : arpinux me rappelle que pour construire les paquets, vous aurez besoin d'installer au préalable les dépendances suivantes :
devscripts debhelper fakeroot build-essential