Nantes Hardware
Connectes toi !

Comment Backporter un package sous Debian

Aller en bas

Comment Backporter un package sous Debian Empty Comment Backporter un package sous Debian

Message par sioban le Ven 12 Aoû 2011 - 18:09

Debian est souvent décrié pour être à la traine dans les versions de packages.

Pas besoin d'upgrader tout le système pour juste un package, vous pouvez essayer le Backport.

Tout d'abord, vérifier si le paquet n'est pas dispo dans les sources de backports en utilisant la source backport (je vais prendre l'exemple de sabnzbdplus) :

Code:
root@X:/# cat /etc/apt/sources.list | grep backport
deb http://backports.debian.org/debian-backports squeeze-backports main contrib non-free

root@X:/#apt-get update

root@X:/#apt-cache policy sabnzbdplus
sabnzbdplus:
  Installé : 0.5.4-1
  Candidat : 0.5.4-1
 Table de version :
    0.6.7-1 0
        101 ftp://debian.proxad.net/debian/ unstable/contrib i386 Packages
    0.6.4-1 0
        300 ftp://debian.proxad.net/debian/ testing/contrib i386 Packages
 *** 0.5.4-1 0
        990 ftp://debian.proxad.net/debian/ stable/contrib i386 Packages
        100 /var/lib/dpkg/status

Bon il n'est pas présent dans le backports officiel et on me propose une version 0.5.4 alors que la plus récente est la 0.6.8 (même pas dans les paquets Debian Wink

On peut aussi vérifier sur les sites de backports :

Doc officielle Debian a écrit:Aren't there already backports...?

Possibly. Check backports.org and apt-get.org first to see if someone has already done it.

Et si vous ne trouvez pas votre bonheur, vous pouvez tenter un build :

Doc officielle Debian a écrit:How do I backport a sid package to testing or stable?

Install the Debian source (and the development tools, especially debhelper), and then build the package. Step by step:

  • add a deb-src line for sid to your sources.list
  • apt-get update
  • apt-get build-dep packagename
  • apt-get -b source packagename
  • the resulting debs should be in the current directory
If that doesn't work, you're on your own.

Eh bien on test :

Step 1 - Ajout de la source SRC pour unstable :
Code:
root@shax:/# cat /etc/apt/sources.list | grep unstable
deb ftp://debian.proxad.net/debian unstable main contrib non-free
deb-src ftp://debian.proxad.net/debian unstable main contrib non-free

Step 2 - apt-get update :
Code:
root@shax:/# apt-get update
[...]

Step 3 - apt-get build-dep :
Code:
root@shax:/# apt-get build-dep sabnzbdplus
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances     
Lecture des informations d'état... Fait
Les NOUVEAUX paquets suivants seront installés :
  dpatch
0 mis à jour, 1 nouvellement installés, 0 à enlever et 9 non mis à jour.
Il est nécessaire de prendre 92,3 ko dans les archives.
Après cette opération, 352 ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? o
Réception de : 1 ftp://debian.proxad.net/debian/ stable/main dpatch all 2.0.31 [92,3 kB]
92,3 ko réceptionnés en 1s (48,1 ko/s)
Sélection du paquet dpatch précédemment désélectionné.
(Lecture de la base de données... 114100 fichiers et répertoires déjà installés.)
Dépaquetage de dpatch (à partir de .../archives/dpatch_2.0.31_all.deb) ...
Traitement des actions différées (« triggers ») pour « man-db »...
Paramétrage de dpatch (2.0.31) ...
[ Rootkit Hunter version 1.3.6 ]
File updated: searched for 163 files, found 140

Step 4 - apt-get -b source :

Code:
root@shax:/# cd /tmp
root@shax:/tmp# apt-get -b source sabnzbdplus/unstable

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances     
Lecture des informations d'état... Fait
Note : la maintenance du paquet de « sabnzbdplus » est réalisée dans le système de suivi de versions « Svn » à l'adresse :
svn://svn.debian.org/svn/python-apps/packages/sabnzbdplus/trunk/
Nécessité de prendre 1 933 ko dans les sources.
Réception de : 1 ftp://debian.proxad.net/debian/ unstable/contrib sabnzbdplus 0.6.7-1 (dsc) [2 071 B]
Réception de : 2 ftp://debian.proxad.net/debian/ unstable/contrib sabnzbdplus 0.6.7-1 (tar) [1 901 kB]
Réception de : 3 ftp://debian.proxad.net/debian/ unstable/contrib sabnzbdplus 0.6.7-1 (diff) [29,7 kB]
1 933 ko réceptionnés en 29s (66,6 ko/s)                                     
dpkg-source: info: extraction de sabnzbdplus dans sabnzbdplus-0.6.7
dpkg-source: info: extraction de sabnzbdplus_0.6.7.orig.tar.gz
dpkg-source: info: mise en place de sabnzbdplus_0.6.7-1.diff.gz
dpkg-buildpackage: export de CFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2
dpkg-buildpackage: export de CPPFLAGS depuis dpkg-buildflags (origine : vendor):
dpkg-buildpackage: export de CXXFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2
dpkg-buildpackage: export de FFLAGS depuis dpkg-buildflags (origine : vendor): -g -O2
dpkg-buildpackage: export de LDFLAGS depuis dpkg-buildflags (origine : vendor):
dpkg-buildpackage: paquet source sabnzbdplus
dpkg-buildpackage: version source 0.6.7-1
dpkg-buildpackage: source changé par JCF Ploemen (jcfp) <linux@jp.pp.ru>
dpkg-buildpackage: architecture hôte i386
 dpkg-source --before-build sabnzbdplus-0.6.7
 debian/rules clean
dpatch  deapply-all 
08_disable_new_version_check not applied to ./ .
06_use_packaged_modules not applied to ./ .
04_use_config_when_daemon not applied to ./ .
02_find_parts_in_usr_share not applied to ./ .
rm -rf patch-stamp patch-stampT debian/patched
dh_testdir
dh_testroot
rm -rf build/ locale/
find . -wholename "./email/*.tmpl" ! -name "*-en.tmpl" -delete
find . -name "*.pyc" -delete
dh_clean
 debian/rules build
test -d debian/patched || install -d debian/patched
dpatch  apply-all 
applying patch 02_find_parts_in_usr_share to ./ ... ok.
applying patch 04_use_config_when_daemon to ./ ... ok.
applying patch 06_use_packaged_modules to ./ ... ok.
applying patch 08_disable_new_version_check to ./ ... ok.
dpatch  cat-all  >>patch-stampT
mv -f patch-stampT patch-stamp
 debian/rules binary
dh_testdir
dh_testroot
dh_prep
# Generate translations
python tools/make_mo.py
Email MO files
Compile locale/da/LC_MESSAGES/SABemail.mo
Compile locale/de/LC_MESSAGES/SABemail.mo
Compile locale/en/LC_MESSAGES/SABemail.mo
Compile locale/fr/LC_MESSAGES/SABemail.mo
Compile locale/nb/LC_MESSAGES/SABemail.mo
Compile locale/nl/LC_MESSAGES/SABemail.mo
Compile locale/ro/LC_MESSAGES/SABemail.mo
Compile locale/sv/LC_MESSAGES/SABemail.mo
Create email templates from MO files
Create email template for da
Create email template for de
Create email template for fr
Create email template for nb
Create email template for nl
Create email template for ro
Create email template for sv
Main program MO files
Compile locale/da/LC_MESSAGES/SABnzbd.mo
Compile locale/de/LC_MESSAGES/SABnzbd.mo
Compile locale/fr/LC_MESSAGES/SABnzbd.mo
Compile locale/nb/LC_MESSAGES/SABnzbd.mo
Compile locale/nl/LC_MESSAGES/SABnzbd.mo
Compile locale/ro/LC_MESSAGES/SABnzbd.mo
Compile locale/sv/LC_MESSAGES/SABnzbd.mo
Remove temporary templates
find locale -type d -empty -delete
# Create icons, 32x32 xpm for Debian menu, 48x48 png for XDG menu
convert -resize 32x32 interfaces/wizard/static/images/icon_sab.png sabnzbdplus.xpm
convert -resize 48x48 interfaces/wizard/static/images/icon_sab.png sabnzbdplus.png
dh_install \
        --exclude=static/MochiKit/ \
        --exclude=wizard/README.TXT \
        --exclude=utils/feedparser.py \
        --exclude=utils/configobj.py \
        --exclude=excanvas/excanvas.js \
        --exclude=images-split.tar.gz \
        --exclude=cherrypy/LICENSE.txt \
        --exclude=cherrypy/cherryd \
        --exclude=cherrypy/scaffold
# Strip caps and script extension from the executable
mv /tmp/sabnzbdplus-0.6.7/debian/sabnzbdplus/usr/bin/SABnzbd.py /tmp/sabnzbdplus-0.6.7/debian/sabnzbdplus/usr/bin/sabnzbdplus
dh_testdir -i
dh_testroot -i
# Account for changelogs using non-standard names or being included in readme files
dh_installchangelogs
dh_installchangelogs -p sabnzbdplus CHANGELOG.txt
dh_installchangelogs -p sabnzbdplus-theme-plush -k interfaces/Plush/README.txt
dh_installchangelogs -p sabnzbdplus-theme-smpl -k interfaces/smpl/README.txt
dh_installchangelogs -p sabnzbdplus-theme-mobile -k interfaces/Mobile/README.txt
dh_installdocs -i
dh_installexamples -i
dh_installman -i
dh_link -i
dh_icons -i
dh_installmenu -i
dh_lintian -i
dh_python2 -i
dh_installinit -i -- defaults 98 02
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i
dpkg-deb : construction du paquet « sabnzbdplus » dans « ../sabnzbdplus_0.6.7-1_all.deb ».
dpkg-deb : construction du paquet « sabnzbdplus-theme-plush » dans « ../sabnzbdplus-theme-plush_0.6.7-1_all.deb ».
dpkg-deb : construction du paquet « sabnzbdplus-theme-smpl » dans « ../sabnzbdplus-theme-smpl_0.6.7-1_all.deb ».
dpkg-deb : construction du paquet « sabnzbdplus-theme-iphone » dans « ../sabnzbdplus-theme-iphone_0.6.7-1_all.deb ».
dpkg-deb : construction du paquet « sabnzbdplus-theme-mobile » dans « ../sabnzbdplus-theme-mobile_0.6.7-1_all.deb ».
dpkg-deb : construction du paquet « sabnzbdplus-theme-classic » dans « ../sabnzbdplus-theme-classic_0.6.7-1_all.deb ».
 dpkg-genchanges -b >../sabnzbdplus_0.6.7-1_i386.changes
dpkg-genchanges: envoi d'un binaire - aucune inclusion de code source
 dpkg-source --after-build sabnzbdplus-0.6.7
dpkg-buildpackage: envoi d'un binaire seulement (aucune inclusion de code source)

Et mon .deb est bien là :

Code:
root@shax:/tmp# ls sabnzb*.deb
sabnzbdplus_0.6.7-1_all.deb
sabnzbdplus-theme-classic_0.6.7-1_all.deb
sabnzbdplus-theme-iphone_0.6.7-1_all.deb
sabnzbdplus-theme-mobile_0.6.7-1_all.deb
sabnzbdplus-theme-plush_0.6.7-1_all.deb
sabnzbdplus-theme-smpl_0.6.7-1_all.deb

Plus qu'a tenter une install :

Code:
root@shax:/tmp# dpkg -i sabnzbdplus_0.6.7-1_all.deb sabnzbdplus-theme-plush_0.6.7-1_all.deb
(Lecture de la base de données... 114177 fichiers et répertoires déjà installés.)
Préparation du remplacement de sabnzbdplus 0.6.7-1 (en utilisant sabnzbdplus_0.6.7-1_all.deb) ...
Dépaquetage de la mise à jour de sabnzbdplus ...
Préparation du remplacement de sabnzbdplus-theme-plush 0.5.4-1 (en utilisant sabnzbdplus-theme-plush_0.6.7-1_all.deb) ...
Dépaquetage de la mise à jour de sabnzbdplus-theme-plush ...
Paramétrage de sabnzbdplus-theme-plush (0.6.7-1) ...
Paramétrage de sabnzbdplus (0.6.7-1) ...
Installation de la nouvelle version du fichier de configuration /etc/init.d/sabnzbdplus ...
Starting SABnzbd+ binary newsgrabber:.
Traitement des actions différées (« triggers ») pour « man-db »...
Traitement des actions différées (« triggers ») pour « menu »...

Je vérifie... Après un Stop / Start propre (pas un restart !) cela fonctionne bien et je suis en 0.6.7 !

Pensez à virer les anciens paquets inutiles (ou à les mettre à jour !):

Code:
root@shax:/tmp# dpkg -l|grep sabnzbd
ii  sabnzbdplus                              0.6.7-1                      web-based binary newsgrabber with nzb support
ii  sabnzbdplus-theme-classic                0.5.4-1                      classic interface templates for the SABnzbd+ binary newsgrabber
ii  sabnzbdplus-theme-plush                  0.6.7-1                      plush interface templates for the SABnzbd+ binary newsgrabber
ii  sabnzbdplus-theme-smpl                  0.5.4-1                      smpl interface templates for the SABnzbd+ binary newsgrabber

root@shax:/tmp# dpkg --purge remove sabnzbdplus-theme-smpl sabnzbdplus-theme-classic
dpkg : avertissement : requête ignorée : suppression de remove, qui n'est pas installé.
(Lecture de la base de données... 114203 fichiers et répertoires déjà installés.)
Suppression de sabnzbdplus-theme-smpl ...
Suppression de sabnzbdplus-theme-classic ...


Dernière édition par sioban le Sam 10 Sep 2011 - 9:34, édité 1 fois
sioban
sioban
Coadmin
Coadmin

Nombre de messages : 21060
Localisation : Perdue dans les genres

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par pmgamer le Mar 16 Aoû 2011 - 16:02

Respect
pmgamer
pmgamer
NHFR All Stars
NHFR All Stars

Nombre de messages : 12433
Localisation : Nulle Part Ailleurs

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par nico44z le Mar 16 Aoû 2011 - 16:39

Respect
nico44z
nico44z
Coadmin
Coadmin

Nombre de messages : 19973
Localisation : saint seb

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par Remuald le Jeu 18 Aoû 2011 - 2:22

je suppose que c'est assez similaire pour Ubuntu ?

Merci en tout cas
Remuald
Remuald
Coadmin
Coadmin

Nombre de messages : 31630
Localisation : anywhere

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par sioban le Jeu 18 Aoû 2011 - 10:57

oui je pense
sioban
sioban
Coadmin
Coadmin

Nombre de messages : 21060
Localisation : Perdue dans les genres

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par sioban le Sam 10 Sep 2011 - 10:36

Pour ceux que ça intéresse j'ai fait un petit script pour automatiser l'installation
sioban
sioban
Coadmin
Coadmin

Nombre de messages : 21060
Localisation : Perdue dans les genres

Revenir en haut Aller en bas

Comment Backporter un package sous Debian Empty Re: Comment Backporter un package sous Debian

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum