Pujada i prova amb ubports-qa

El servei de compilació de l’UBports és capaç de construir paquets Ubuntu Touch i desplegar-los al repositori d’UBports. Aquesta capacitat s’ofereix a qualsevol desenvolupador que vulgui aprofitar-la.

Aquesta guia assumeix que teniu una comprensió superficial d’utilitzar Git i fer sol·licituds de Pull a GitHub.

Per a utilitzar el servei de compilacio d’UBports, assegureu-vos d’entendre la nostra convenció de nomenclatura. Es requereix que seguiu la convenció de paquets deb per a la IC per construir el vostre paquet correctament.

Bifurcació del repositori

El primer pas per fer un canvi a qualsevol repositori al qual no teniu accés d’escriptura és bifurcar-lo. Obriu el repositori desitjat a GitHub i feu clic al botó «Forca» a la cantonada superior dreta. Si s’ofereix, seleccioneu un compte apropiat per a bifurcar el repositori. Després, clona la teva bifurcació a l’ordinador.

Ara ja podeu fer canvis.

Fer i publicar canvis

Ara que teniu el codi font del paquet descarregat, podeu fer els canvis desitjats.

Abans de canviar res, assegureu-vos d’haver comprovat la branca des de la qual voleu treballar (probablement xenial, suposant que esteu fent canvis per a les imatges del telèfon). A continuació, creeu una branca nova que compleixi amb la convenció de nomenclatura de les branques.

Després de fer els vostres canvis, publiqueu-los amb un missatge descriptiu que indiqui què està malament i per què els vostres canvis corregeixen aquest problema.

Heu creat i publicat correctament els vostres canvis. Abans d’empènyer els vostres canvis, volem assegurar-nos que el vostre dispositiu els instal·larà.

Actualitzeu el fitxer debian/changelog

Generalment, apt no instal·larà un paquet nou des de cap repositori si té un número de versió inferior (o el mateix) que el paquet que reemplaça. Els usuaris també poden voler veure els canvis que s’inclouen en una nova versió d’un paquet. Per aquesta raó, haurem d’actualitzar el registre de canvis de paquets per afegir una nova versió.

Nota

Aquesta no és una referència exhaustiva del format debian/changelog. Vegeu deb-changelog(5) per a més informació.

Determina un número de versió nou

Per començar, esbrineu quina és la numeració de versió actual del paquet:

head debian/changelog

Això ens retornarà algunes línies, però la primera és la més important per a nosaltres:

morph-browser (0.24+ubports2) xenial; urgency=medium

La part dins dels parèntesis (0,24+informes2) és el nostre número de versió. Consta de diverses parts:

  1. El 0.24 és el número de versió d’upstream, la versió que els mantenidors del projecte original donen al llançament que estem utilitzant. Per a la majoria de projectes d’UBports, el repositori en el qual treballareu és el codi original del projecte. Això fa d’UBports el «upstream» d’aquest projecte.

Si esteu fent grans canvis al repositori i UBports és la font, haureu d’incrementar la primera part del número de versió abans del més (+) i restablir el sufix de distribució. En el nostre exemple anterior, faries aquest nou número de versió:

0.25+ubports0

Si esteu fent canvis només a la construcció del paquet (fitxers a la carpeta debian/), el millor és augmentar només el sufix de versió:

0.24+ubports3

Nota

Si trobeu un paquet que no sembla seguir el format de versió anterior, poseu-vos en contacte amb nosaltres per preguntar-nos com procedir.

Escriu l’entrada del registre de canvis

Ara és el moment d’escriure la vostra entrada de registre de canvis! Comença amb la següent plantilla:

PACKAGE-NAME (VERSION) DISTRIBUTION; urgency=medium

  * CHANGES

-- NAME <EMAIL>  DATETIME

Si obriu el fitxer debian/changelog, trobareu que cada entrada segueix aquest format. Això ajuda a tothom (inclosos els ordinadors) a llegir i entendre els continguts. Això s’utilitza, per exemple, per anomenar el paquet de sortida correctament per a cada versió del paquet.

Suposem que jo, John Doe, estic fent un canvi d’empaquetament al paquet morph-browser per a Ubuntu Touch. Substituiré els diferents marcadors de posició de tots els caps anteriors de la següent manera:

  • PACKAGE-NAME se substitueix per morph-browser

  • La VERSIÓ se substitueix per 0.24+ubports3 (que hem determinat més amunt)

  • La distribució se substitueix per xenial

  • CHANGES es reemplaça amb els canvis que he fet en aquest llançament. Això inclourà informació resumida dels meus missatges de comissió juntament amb els errors solucionats per aquests canvis. Si he solucionat diversos errors, crearé diversos punts de bala.

  • El nom se substitueix pel meu nom, John Doe

  • EMAIL es reemplaça amb el meu correu electrònic, john.doe.example.com.

    Nota

    No heu d’utilitzar un correu electrònic «noreply» com a correu electrònic per a les entrades de registre de canvis de paquets.

  • DATETIME és reemplaçat per la data i l’hora en què vaig fer aquesta entrada de registre de canvis en format RFC2822/RFC5322. La manera més fàcil de recuperar això és executant l’ordre date -R en un terminal.

Tingueu en compte que cap línia en el registre de canvis hauria de superar els 80 caràcters de longitud.

Amb això, la meva nova entrada de registre de canvis segueix:

morph-browser (0.24+ubports3) xenial; urgency=medium

  * Add the new "Hello world" script to the package. Fixes
    https://github.com/ubports/morph-browser/issues/404.
  * Fix whitespace and formatting in the format.qml file

-- John Doe <john.doe@example.com>  Mon, 29 Oct 2018 12:53:08 -0500

Afegiu la vostra entrada nova al registre de canvis a la part superior del fitxer debian/changelog i publiqueu-lo amb el missatge «Actualitza el registre de canvis». Pugeu els canvis. Ara ja esteua punt per fer la vostra sol·licitud de fusió.

Creeu la vostra clau pública

Una sol·licitud de pull demana als mantenidors d’UBports que revisin els canvis de codi i els afegeixin al repositori oficial. Ara en crearem un.

Obre la bifurcació del repositori a GitHub. Navega a la branca que acabeu d’empènyer per a utilitzar el selector «Branca»:

Ús del selector de branques a GitHub

Un cop hagis obert la teva branca desitjada, fes clic al botó «Nova sol·licitud d’estirament» per iniciar la teva sol·licitud d’estirament. Et portaran a una pàgina on podràs revisar els teus canvis i crear una sol·licitud de pull.

Doneu a la vostra sol·licitud un títol i una descripció descriptius (inclosos els enllaços a errors de referència o un altre material). Assegureu-vos que la branca «base» és la que voleu que s’apliquin els vostres canvis (probablement xenial), i a continuació feu clic a «Crea una sol·licitud de fusió».

Amb la teva sol·licitud de pull creada, podem passar a provar els teus canvis utilitzant el servei UBports build!

Proveu els vostres canvis

Un cop construïda la teva sol·licitud d’estirament (apareixerà una marca de verificació verda al costat de la teva última publicació), estaràs preparat per provar els teus canvis en el teu dispositiu.

Nota

Si apareix una «X» vermella al costat de l’última publicació, la vostra sol·licitud d’estirament no s’ha pogut construir. Feu clic a la «X» vermella per a veure el registre de construcció. Fins que no es resolguin els errors de construcció, no es pot instal·lar o acceptar la vostra sol·licitud de muntatge.

Utilitzarem ubports-qa per instal·lar els vostres canvis. Preneu nota de l’ID de la vostra sol·licitud de fusió (anotat com a #number després del títol de la sol·licitud de fusió) i seguiu aquests passos per instal·lar els vostre canvis:

  1. Assegureu-vos que el vostre dispositiu estigui executant la versió més nova d’Ubuntu Touch des del canal devel.

  2. Obteniu accés a l’intèrpret d’ordres al vostre dispositiu utilitzant Accés a la consola via adb o Accés a la consola via adb.

  3. Executeu sudo ubports-qa install REPOSITORY PR, substituint REPOSITORY pel nom del repositori al qual heu enviat un PR i PR pel número de la vostra sol·licitud d’extracció sense el #. Per exemple, executeu sudo ubports-qa morph-browser 123 per instal·lar el PR número 123 al repo morph-browser.

ubports-qa afegirà automàticament el repositori que conté el vostre programari canviat i us iniciarà la instal·lació. Tot el que haureu de fer és comprovar els paquets que us demana que instal·leu i dir «sí» si són correctes.

Si ubports-qa no instal·la els vostres paquets, executeu-lo de nou amb l’indicador -v (per exemple, ubports-qa -v install ...). Si encara falla, envieu tot el registre (a partir de la $ abans de l’ordre ubports-qa a Ubuntu Pastebin i contacteu amb nosaltres per obtenir ajuda.

Un cop finalitzat ubports-qa, proveu els vostres canvis per assegurar-vos que han corregit l’error original. Afegiu l’ordre ubports-qa a la vostra sol·licitud de fusió, després envieu l’enllaç a la sol·licitud de fusió a altres desenvolupadors i provadors perquè també puguin provar els vostres canvis.

Quan obtingueu comentaris dels vostres provadors, assegureu-vos d’afegir la informació a la sol·licitud de pull (o de demanar-los que ho facin per vosaltres) de manera que tothom estigui actualitzat sobre l’estat del vostre codi.

Cada vegada que feu un canvi i l’empenyeu a GitHub, s’activarà una nova construcció. Podeu executar sudo ubports-qa update per obtenir els canvis més recents cada vegada que això succeeixi.

Celebra!

Si vostè i els seus provadors estan satisfets amb els resultats de la seva sol·licitud de pull, es fusionarà. Després de la fusió, el servei de construcció d’UBports construirà el vostre codi i el desplegarà als usuaris d’Ubuntu Touch de tot el món.

Gràcies per la vostra contribució a Ubuntu Touch!