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?
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'
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>
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/