Capítol 1. Començant correctament.

Sumari

1.1. Dinamisme social a Debian
1.2. Programes necessaris per treballar.
1.3. Documents necessaris per treballar.
1.4. On demanar ajuda.

Aquest document descriurà com es construeix un paquet Debian GNU/Linux per a un usuari comú Debian i per a futurs desenvolupadors, fent servir un llenguatge informal i incloent molts exemples. Un antic dit romà diu Longum iter est per preaecepta, breve et efficax per exempla! («És un llarg camí amb les normes, però curt i eficient amb els exemples»).

Aquest document està actualitzat a la versió squeeze de Debian [1].

Una de les característiques que fan de Debian una de les distribucions més importants del mercat és el seu sistema de paquets. Tot i què hi ha una gran quantitat de programes disponibles en paquets de Debian, de vegades pots haver de fer servir programes que no estan disponibles en aquest format. Pot ésser que et demanis com construir els teus paquets i que pensis que és una tasca difícil. Bé doncs, si ets un principiant en GNU/Linux, pot ésser difícil, però si acabes de començar amb aquest sistema, no és recomanable que comencis per aquí :-). Cal saber algunes coses sobre programació en Unix, tot i què no és necessari ésser un mestre [2].

Tot i així, una cosa és del tot segura: per construir i fer el manteniment de paquets Debian adequadament, calen moltes hores. Per a què el nostre sistema no tengui errors, cal que els nostres desenvolupadors siguin tècnicament competents.

Si vols més informació sobre la construcció de paquets, llegeix Secció 1.4, «On demanar ajuda.».

Les noves versions d'aquest document es publiquen a http://www.debian.org/doc/maint-guide/ i en el paquet maint-guide. Les traduccions es poden aconseguir en els paquets del tipus maint-guide-ca. Teniu en compte que les traduccions poden estar sense actualitzar.

Com es tracta d'un tutorial, he decidit explicar detalladament cada etapa dels temes importants. Alguns d'ells poden semblar-te irrellevants. Sigues pacient. També he omès intencionadament alguns casos extrems i sempre punters només per mantenir senzill aquest document.

Aquest és un recull de les meves observacions sobre la interacció social a Debian: espero que t'ajudin en la teva interacció amb Debian.

  • Tots som voluntaris.

    • No podeu imposar als altres el que s'ha de fer.

    • Cal estar motivat per fer les coses per tu mateix.

  • La cooperació amistosa és la força motriu.

    • La teva contribució no ha de sobre-esforçar als altres.

    • La teva contribució és valuosa només quan els altres t'ho agraeixen.

  • Debian no és la teva escola on automàticament reps atenció dels docents.

    • Cal ésser capaç d'aprendre moltes coses per un mateix.

    • L'atenció d'altres voluntaris és un recurs molt escàs.

  • Debian millora contínuament.

    • S'espera que construeixis paquets d'alta qualitat.

    • Cal adaptar-se al canvi.

En el desenvolupament i manteniment de Debian, es fan servir les següents expressions per referir-se a les persones implicades en la construcció i manteniment dels programes i paquets:

  • autor original («upstream author»): és la persona que ha escrit el codi original del programa (o l'original del document en el cas de paquets de documentació).

  • desenvolupador original («upstream maintainer»): la persona actualment responsable del manteniment del codi original.

  • empaquetador (desenvolupador) («maintainer»): la persona encarregada de la construcció i actualització dels paquets per a Debian.

  • patrocinador («sponsor»): la persona (cal que sigui un DD o DM) que transfereix els paquets construïts pels desenvolupadors al repositori de Debian després de comprovar que el paquet s'ajusta a las normes de Debian.

  • mentor: la persona que ajuda als desenvolupadors principiants a iniciar-se en la construcció i manteniment del paquet.

  • desenvolupador de Debian (DD) («Debian Developer»): la persona que es membre de Debian. Té autorització (sense limitacions) per transferir paquets al repositori oficial de Debian.

  • empaquetador/responsable de Debian (DM)(«Debian Maintainer»): la persona amb autorització limitada per transferir paquets al repositori oficial de Debian.

No és possible arribar a ésser desenvolupador oficial de Debian (DD) de la nit al dia degut a què no és suficient ésser tècnicament competent. Cal no desanimar-se per això. Pots aconseguir que el teu paquet passi al repositori, si és d'utilitat als usuaris, com a responsable mitjançant un patrocinador o un responsable de Debian.

No és necessari construir un nou paquet per ésser desenvolupador oficial de Debian. Una opció és contribuir en el manteniment d'algun dels paquets de la distribució. Hi ha molts paquets pendents d'algú que s'en faci càrrec (consulta Secció 2.2, «Seleccionar el programa.»).

Com que ens concentrem només en els aspectes tècnics dels paquets en el present document, consulta el següent per saber com funciona Debian i com pots participar-hi.

Abans de començar, cal instal·lar els paquets necessaris per a la construcció de paquets. A la llista de paquets no estan inclosos paquets amb prioritat «essencial» o «requerit» (essential i required) degut a què segurament ja estan instal·lats.

Els següents paquets estan inclosos en una instal·lació estàndard de Debian: probablement ja els tens en el teu sistema (i també els paquets dels quals depenen). Tot i així, pots fer la comprovació executant (en el terminal) aptitude show nom_del_paquet o amb dpkg -s nom_del_paquet.

El paquet imprescindible per al desenvolupament és build-essential. Quan s'instal·la, també s'instal·len altres paquets necessaris, obtenint-se la instal·lació bàsica per a la construcció de paquets.

Per a la construcció d'alguns paquets, amb això seria suficient, però n'hi ha d'altres que, sense ésser imprescindibles, pot ésser útil instal·lar-los o, fins i tot, necessaris:

Les descripcions anteriors només són un resum de la funcionalitat de cada paquet. Abans de continuar, si us plau, llegeix la documentació de cada programa, al menys pel que fa a la seva funcionalitat bàsica. Pot semblar una mica pesat, però et farà molt profit aquesta lectura.

La documentació llistada a continuació és imprescindible llegir-la mentre es llegeix aquest document:

  • debian-policy - a Debian Policy Manual s'explica l'estructura i contingut del repositori, alguns aspectes del disseny del sistema operatiu, l'estàndard del sistema de fitxers («Filesystem Hierarchy Standard») i el què és més important, descriu els requisits per a què un paquet s'afegeixi a la distribució (llegix les còpies locals de /usr/share/doc/debian-policy/policy.pdf.gz i /usr/share/doc/debian-policy/fhs/fhs-2.3.pdf.gz).

  • developers-reference - a Debian Developer's Reference s'explican altres aspectes tècnics complementaris, com és ara l'estructura del repositori, el procediment per canviar el nom, adoptar o desfer-se d'un paquet, com fer NMU (paquets del tipus «Non-Maintainer Uploads», o sigui paquets mantinguts per una persona que no és el responsable directe), com gestionar els errors detectats pels usuaris, les bones pràctiques en la construcció de paquets, com i quan enviar els paquets al repositori, etc (llegeix la còpia local de /usr/share/doc/developers-reference/developers-reference.pdf).

La documentació següent és important llegir-la mentre es llegeix aquest document:

Si aquest document és contradictori amb algun aspecte amb els documents anteriors, serà d'aplicació l'establert per aquest darrers. En aquest cas, si us plau comunica l'error del paquet maint-guide fent servir reportbug.

El següent tutorial és una alternativa que pots llegir a la vegada que aquest document:

Abans de decidir-te a fer alguna pregunta en algun lloc públic, llegeix la magnífica documentació.

Considera fer servir el motor de cerca web mitjançant la inclusió eficaç de cadenes de recerca, com ara site:lists.debian.org per limitar el domini.

Començar a treballar en un paquet petit és una bona opció per aprendre els detalls de la creació de paquets. Inspeccionar els paquets mantinguts per altres persones és una excel·lent manera d'aprendre.

Si encara tens preguntes sobre la construcció de paquets que no poden trobar resposta en la documentació disponible i els recursos web, pots fer consultes de forma interactiva.

Els desenvolupadors de Debian amb més experiència t'ajudaran amb gust, si fas les preguntes després de fer el treball necessari.

En rebre un avís d'error (sí, un avís d'error de veritat!) serà el moment de donar un cop d'ull al Sistema de seguiment d'errades de Debian i llegir la documentació per tal de conèixer el procediment adequat. Et recomano la lectura de la Developer's Reference, 5.8. 'Handling bugs'.

Encara que tot funcioni correctament, cal encomanar-se! Només en unes hores (o dies) els usuaris de tot el món faran ús del teu paquet, i si has fet alguna errada crítica, centenars d'usuaris furiosos de Debian et bombardejaran amb correus...feia broma :-)

Relaxa't i estiguis preparat per rebre informes d'errades, perquè el camí és llarg per aconseguir el compliment de las Normes de Debian (una vegada més llegeix la documentació real per a més detalls). Bona sort!



[1] En el document s'assumeix que fas servir la versió squeeze. Si vols fer servir aquest document amb versions anteriors (incloses sistemes Ubuntu i d'altres), cal que tenguis instal·lats (com a mínim) els paquets dpkg i debhelper .

[2] Podràs aprendre les operacions bàsiques dels sistemes Debian a Debian Reference. També s'expliquen alguns aspectes de la programació en sistemes Unix.

[3] Hi ha d'altres paquets semblants pel que fa a la seva funcionalitat però més específics, com és ara dh-make-perl, dh-make-php, etc.