web-dev-qa-db-fra.com

Reconstruire le package à partir de la source en amont?

J'essaie de reconstruire un package (en particulier grub2) pour surmonter certains bogues qui ont été corrigés en amont mais non corrigés dans Ubuntu, et pour que le package s'intègre correctement dans Ubuntu. Le paquet est hébergé dans bzr à la fois sur Launchpad et GNU Savannah.

Comment convertir un paquet source amont "brut" en une version "Ubuntu" et le recompiler/reconditionner? J'ai découvert que je peux obtenir la dernière version Ubuntu de la source du package avec apt-get source, mais il existe des différences importantes par rapport à la version amont. Quel est le meilleur plan d'action ici?

6
Andrew

Vous voudrez peut-être essayer cette astuce après avoir installé bzr et bzr-builddeb:

bzr branch ubuntu:yourrelease/grub2
cd grub2
[ -d debian/patches ] && quilt pop -a
bzr commit -m 'reverting all patches' || :
bzr merge-upstream lp:grub2
dch -i
# Here edit the version info to match upstream..
bzr bd

Cela devrait vous construire un nouveau grub2 à partir de la source en amont uniquement (pas de correctifs). Vous trouverez peut-être que vous avez besoin de certains de ces correctifs, il vaut donc la peine de consulter la liste et de décider.

notez que 'ubuntu: yourrelease/grub2' peut ne pas fonctionner sur les anciennes versions de bzr. Si cela rechigne, essayez 'lp: ubuntu/yourrelease/grub2'

2
SpamapS

Pour ma propre exigence d'emballage qui est similaire à la question, j'ai suivi cette méthode: https://wiki.ubuntu.com/PackagingGuide/Complete#Updating_an_Ubuntu_Package

Vous voudrez peut-être vous concentrer sur les liens pbuilder afin d'accélérer les choses.

Quant à moi, j'ai suivi les instructions jusqu'à l'étape 5 de la méthode. Ensuite, j'ai fait:

apt-get build-dep <package> #since I had not configured pbuilder
dpkg-buildpackage -k<key id> 
0
gokul

Il se pourrait que la version de Grub qui est packagée dans Ubuntu soit plus ancienne que celle de la branche Grub en amont.

La branche Ubuntu aura également un répertoire "debian /" qui contient des métadonnées spécifiques à Debian/Ubuntu pour le paquet, et éventuellement des correctifs avec des rétroportages de corrections de bogues ou une intégration plus poussée pour Ubuntu. Pour plus d'informations, lisez http://developer.ubuntu.com/packaging/html/

0
jelmer