Cap resum de modificació |
|||
| (Hi ha 17 revisions intermèdies que no es mostren del mateix usuari) | |||
| Línia 1: | Línia 1: | ||
[[Category:SAPO]] | [[Category:SAPO]] | ||
== Sistema de | == Sistema automatitzat de generació i distribució del SAPO == | ||
==== Actualització/obtenció del codi ==== | ==== Actualització/obtenció del codi ==== | ||
El primer pas és obtenir una copia actualitzada del codi que es troba en el servidor SVN (svn.cadt.com). | El primer pas és obtenir una copia actualitzada del codi que es troba en el servidor SVN (svn.cadt.com). | ||
Això es pot fer des de sapo-builder@containers.cadt.com invocant l'script | Això es pot fer des de sapo-builder@containers.cadt.com invocant l'script : | ||
<pre> | <pre> | ||
~/scripts/sapo_source_update <sapo_release> | ~/scripts/sapo_source_update <sapo_release>.<sapo_revision> | ||
</pre> | </pre> | ||
On '''<sapo_release>''' | On '''<sapo_release>''' i '''<sapo_revision>''' són , respectivament , la versió i la revisió del SAPO. | ||
L'script procedeix de la següent manera: | L'script procedeix de la següent manera: | ||
* Intenta determinar el directori base on es descarregarà el codi mirant la variable SVN_BASE. Si no existeix o no apaunta a un | * Intenta determinar el directori base on es descarregarà el codi mirant la variable SVN_BASE. Si no existeix o no apaunta a un directoriintenta amb /svn/svn.cadt.com /svn ~/SVN | ||
* descarrega/actualtiza $SVN_BASE/Make.rules | * descarrega/actualtiza $SVN_BASE/Make.rules | ||
| Línia 26: | Línia 25: | ||
* actualitza/descarrega <nowiki>svn://svn.cadt.com/sapo-</nowiki>'''<sapo_release>''' a $SVN_BASE/sapo/'''<sapo_release>''' | * actualitza/descarrega <nowiki>svn://svn.cadt.com/sapo-</nowiki>'''<sapo_release>''' a $SVN_BASE/sapo/'''<sapo_release>''' | ||
* | * inicialitza les variables d'entorn necessaries per la compilació (SVN_BASE,PROGDIR i LIBDIR) | ||
* | * va la directori base de la revisió del sapo: $SVN_BASE/sapo/'''<sapo_release>'''/'''<sapo_release>'''.'''<sapo_revision>''' | ||
* genera un un fitxer .txt amb el llistat de tots els paquets i el desa a: | * executa '''make checkout_depends''' que procedeix a: | ||
l'auto-generació de documentació. | ** llegir els fitxers de paquets (*.list) per totes les arquitectures que es troben a: ./programs/ | ||
** descarrega/actualitza a $SVN_BASE tots els paquets llistats en els fixers *.list ,però només la versió indicada | |||
** inicialitza la llista de dependencies no resoltes a partir dels fitxers lib_versions.dep obtinguts del directori base de la versió del paquet que es vol compilar | |||
** descarrega/actualitza les llibreries necessaries per resoldre les dependències fins que s'han resolt totes les dependencies o no pot obtenir les llibreries necessaries del SVN | |||
** verifica que no hi hagin dependències circulars i genera la seqüència en que s'han de compilar i opcionalment instal·lar els diferents paquets i llibreries. | |||
** per cada arquitectura genera un fitxer que conté la seqüència de pasos per fer la compilació i el guarda a ./programs/'''<arch>'''-build.csv | |||
** genera un un fitxer .txt amb el llistat de tots els paquets i el desa a: ./programs/package_list.txt . Aquest fitxer s'utilitza més endavant per l'auto-generació de documentació. | |||
==== Compilació ==== | ==== Compilació ==== | ||
| Línia 52: | Línia 49: | ||
les arquitectures Linux s'han virtualitzat usant containers. S'ha optat per aquesta solució ja que: | les arquitectures Linux s'han virtualitzat usant containers. S'ha optat per aquesta solució ja que: | ||
* Rendiment gairabé idèntic | * Rendiment gairabé idèntic al d'una màquina real. | ||
* Permet compartir directoris entre els diferents nodes. Això facilita compartir dades entre els nodes i també simplifica la actualització de codi i scripts. | * Permet compartir directoris entre els diferents nodes. Això facilita compartir dades entre els nodes i també simplifica la actualització de codi i scripts. | ||
| Línia 70: | Línia 67: | ||
|centos7_devel||CentOS 7 (x86_64)||linux64-rhel7||containers.cadt.com||2207 | |centos7_devel||CentOS 7 (x86_64)||linux64-rhel7||containers.cadt.com||2207 | ||
|} | |} | ||
Per simplificar la compilació hi han 2 scripts: | |||
* '''~/scripts/sapo_do_make <sapo_full_release> [<make_arguments>]''' : Basicament, entra al directori del sapo release i inoca '''make <make_arguments>''' | |||
* '''~/sapo_build_cmd <arch> <sapo_full_release> [<make_arguments>]''' : Executa l'script anterior per les arquitectures indicades en <arch>. Si <arch>=='all' llavors l'executa en totes les arquitectures. Utilitza el fitxer ~/build_nodes per saber a quin node ha de compilar cada arquitectura i com s'hi ha de conectar. | |||
==== Distribució ==== | ==== Distribució ==== | ||
Per la distribució s'utilitzen els mateixos scripts que en el pas anterior. Els directoris de destí estan configurats mitjançant symlinks en el directori del SAPO. | |||
Finalment, hi han 2 tipus de distribució: | |||
* 'dist' : Distribució offline del SAPO que s'envia als clients per correu. S'actualitza amb l'opció '''update_dist''' | |||
* 'repo' : Distribució online. Es pugen els fitxers al servidor d'actualitzacions per que els clients se'ls puguin descarregar. S'actualitza amb l'opció '''update_repo''' | |||
==== Exemple ==== | |||
Per exemple, assumim que volem fer la distribució del SAPO 6.2.0 . Els passos a seguir serien: | |||
====== Connexió al servidor ====== | |||
<pre> | |||
$ ssh sapo-builder@containers.cadt.com # Ens conectem al servidor de builds | |||
sapo-builder@containers's password: | |||
</pre> | |||
====== Actualització del codi font ====== | |||
<pre> | |||
[sapo-builder@containers ~]$ ./scripts/sapo_source_update 6.2.0 # Actualitzem el codi font | |||
</pre> | |||
<pre class="mw-collapsible"> | |||
Preparing SAPO Release=6.2.0 (MR=6.2 SR=0) | |||
Updating Make.Rules | |||
Updating 6.2 | |||
rel major=6.2 minor=0 | |||
Parsing packages for: common | |||
Parsing packages for: darwin64 | |||
Parsing packages for: linux-rhel3 | |||
Parsing packages for: linux-rhel6 | |||
Parsing packages for: linux64-rhel7 | |||
Updating packages for: common | |||
Updating package appmanager 1.7.0 | |||
Updating package bareme 1.3.6 | |||
Updating package busca 1.1.4 | |||
Updating package busca-qtgui 1.0.4 | |||
Updating package carta 6.6.0 | |||
Updating package checkmail 1.1.0 | |||
Updating package cloudbackup 1.0.2 | |||
Updating package compare 1.2.1 | |||
Updating package confess 1.8.2 | |||
Updating package confess-qtgui 1.0.4 | |||
Updating package disk 1.1.5 | |||
Updating package disk-qtgui 1.0.7 | |||
Updating package divide 2.2.0 | |||
Updating package divide-qtgui 1.0.5 | |||
Updating package doccompiler 1.2.0 | |||
Updating package fitjob 1.8.4 | |||
Updating package floppy 1.3.5 | |||
Updating package floppy-qtgui 1.0.6 | |||
Updating package kall 1.1.1 | |||
Updating package kall-qtgui 1.0.4 | |||
Updating package laser 2.1.1 | |||
Updating package libmoonbase 1.6.6 | |||
Updating package library 1.0.0 | |||
Updating package marsbased 2.1.5 | |||
Updating package media 1.2.1 | |||
Updating package media-qtgui 1.0.6 | |||
Updating package palette 1.5.0 | |||
Updating package ring 1.0.6 | |||
Updating package ring-qtgui 1.0.3 | |||
Updating package romi 1.3.1 | |||
Updating package romi-qtgui 1.0.7 | |||
Updating package sapo-icon-manager 1.0.4 | |||
Updating package sapobackup 1.3.1 | |||
Updating package sapocdbackup 1.3.1 | |||
Updating package sapocon 2.3.1 | |||
Updating package sapoconverter 2.5.0 | |||
Updating package sapoconverter-qtgui 1.2.2 | |||
Updating package sapodialog 1.2.0 | |||
Updating package sapohdbackup 1.1.1 | |||
Updating package sapoinstall 1.7.0 | |||
Updating package sapolpfilter 1.1.3 | |||
Updating package sapomanager 1.2.0 | |||
Updating package sapomount 1.0.5 | |||
Updating package saporepo 1.2.0 | |||
Updating package sapotools 1.0.0 | |||
Updating package scan 1.2.3 | |||
Updating package setouts 1.0.0 | |||
Updating package sgzip 1.1.1 | |||
Updating package spycard 1.2.0 | |||
Updating package spycard-qtgui 1.0.3 | |||
Updating package spysum 1.1.5 | |||
Updating package spysum-qtgui 1.0.3 | |||
Updating package sw 2.0.5 | |||
Updating package tablet 5.10.0 | |||
Updating package unite 1.2.2 | |||
Updating package unite-qtgui 1.0.3 | |||
Updating package vms 1.2.4 | |||
Updating package vms-qtgui 1.0.4 | |||
Updating library libzip 0.15.1 | |||
Updating library libtis 1.0.1 | |||
Updating library libtif 1.2.0 | |||
Updating library libsuperlecs 1.0.0 | |||
Updating library libsjq 1.1.1 | |||
Updating library libsgarde 1.0.0 | |||
Updating library libsapomngr 1.1.3 | |||
Updating library libsapoevent 1.1.1 | |||
Updating library libsapo 1.6.0 | |||
Updating library libromplus 1.0.4 | |||
Updating library libromi 1.2.0 | |||
Updating library librom 1.0.2 | |||
Updating library libprn 2.1.7 | |||
Updating library libpcl5 1.2.1 | |||
Updating library libpcl 1.3.1 | |||
Updating library libmyr 2.1.1 | |||
Updating library libmoonbase 1.6.6 | |||
Updating library libmemtag 1.1.0 | |||
Updating library libmd5 1.0.1 | |||
Updating library libmbr 3.0.1 | |||
Updating library libmarsbase 2.2.0 | |||
Updating library libmaq 9.4.0 (updated) | |||
Updating library libmagicos 1.0.0 | |||
Updating library liblicense 1.7.1 | |||
Updating library libsentinel 3.0.0 | |||
Updating library libhiddongle 1.0.0 | |||
Updating library libkmo 2.2.1 | |||
Updating library libimage 1.1.0 | |||
Updating library libgraf 1.4.0 | |||
Updating library libforms 9.3.1 | |||
Updating library libescp2 1.2.1 | |||
Updating library libdrf.x 12.1.0 | |||
Updating library libdrs 1.0.3 | |||
Updating library libdoctemplate 1.1.0 | |||
Updating library libdiskmyr 1.0.0 | |||
Updating library libdisk 1.0.3 | |||
Updating library libdbase 1.0.2 | |||
Updating library libdaemon 1.1.1 | |||
Updating library libcursmenu 1.2.0 | |||
Updating library libconfess 1.3.1 | |||
Updating library libcommondlg 1.3.8 | |||
Updating library libcol 1.1.0 | |||
Updating library libcadtstd 1.3.3 | |||
Updating library libcadtqtgui 1.0.3 | |||
Updating library libcadtdbg 1.1.0 | |||
Updating library libcadtX11 1.1.0 | |||
Updating library libbmp 1.0.0 | |||
Updating library libbfile 1.0.1 | |||
Updating library libaform 1.2.0 | |||
Updating packages for: darwin64 | |||
Updating package Qt 4.8.6 | |||
Updating packages for: linux-rhel3 | |||
Updating package Qt 4.2.6 | |||
Updating package sapologout 1.4.0 | |||
Updating package snapshot 1.3.0 | |||
Updating library libtif 1.2.0 | |||
Updating library libsapomngr 1.1.3 | |||
Updating library libsapoevent 1.1.1 | |||
Updating library libsapo 1.6.0 | |||
Updating library libromi 1.2.0 | |||
Updating library libprn 2.1.7 | |||
Updating library libpcl5 1.2.1 | |||
Updating library libpcl 1.3.1 | |||
Updating library libmoonbase 1.6.6 | |||
Updating library libmemtag 1.1.0 | |||
Updating library libmarsbase 2.2.0 | |||
Updating library liblicense 1.7.1 | |||
Updating library libsentinel 3.0.0 | |||
Updating library libhiddongle 1.0.0 | |||
Updating library libimage 1.1.0 | |||
Updating library libgraf 1.4.0 | |||
Updating library libforms 9.3.1 | |||
Updating library libescp2 1.2.1 | |||
Updating library libdisk 1.0.3 | |||
Updating library libdaemon 1.1.1 | |||
Updating library libcommondlg 1.3.8 | |||
Updating library libcadtstd 1.3.3 | |||
Updating library libcadtdbg 1.1.0 | |||
Updating library libcadtX11 1.1.0 | |||
Updating packages for: linux-rhel6 | |||
Updating package Qt 4.8.6 | |||
Updating package libhiddongle 1.0.0 | |||
Updating packages for: linux64-rhel7 | |||
Updating package Qt 4.8.6 | |||
Updating package libhiddongle 1.0.0 | |||
Merging common data into: darwin64 | |||
Generating build script data | |||
Merging common data into: linux-rhel3 | |||
Generating build script data | |||
Merging common data into: linux-rhel6 | |||
Generating build script data | |||
Merging common data into: linux64-rhel7 | |||
Generating build script data | |||
Generating build data for darwin64 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/darwin64-build.csv | |||
Generating build data for linux-rhel3 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux-rhel3-build.csv | |||
Generating build data for linux-rhel6 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux-rhel6-build.csv | |||
Generating build data for linux64-rhel7 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv | |||
</pre> | |||
====== Preparem el Release Notes combinat ====== | |||
<pre> | |||
[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 pack_notes # Generem les release notes | |||
</pre> | |||
<pre class="mw-collapsible"> | |||
SAPO Release=6.2.0 (MR=6.2 SR=0) executing: 'make pack_notes' | |||
System is 'linux64-rhel7' | |||
Build environment variables: | |||
----------------------------------- | |||
SVN_BASE=/home/docker/sapo-builder/remmaped_dirs/svn | |||
PROGDIR=/home/docker/sapo-builder/remmaped_dirs/svn | |||
LIBDIR=/home/docker/sapo-builder/remmaped_dirs/svn | |||
----------------------------------- | |||
Loading build data from : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv | |||
Loading build opts form : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7.options | |||
Entering: '/home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0' | |||
Generating relnotes for LANG=C file=saposystem-C.utf-8 | |||
Generating relnotes for LANG=es_ES file=saposystem-es_ES.utf-8 | |||
Generating relnotes for LANG=fr_FR file=saposystem-fr_FR.utf-8 | |||
Converting relnotes saposystem-C.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-es_ES.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-fr_FR.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-C.utf-8 to encoding iso88591 | |||
Converting relnotes saposystem-es_ES.utf-8 to encoding iso88591 | |||
Converting relnotes saposystem-fr_FR.utf-8 to encoding iso88591 | |||
Generant PDF per el llenguatge en... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-en-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-en-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-en-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-en-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-en-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf'. | |||
Generant PDF per el llenguatge es... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-es-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-es-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-es-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-es-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-es-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf'. | |||
Generant PDF per el llenguatge fr... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-fr-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-fr-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-fr-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-fr-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-fr-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf'.[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 pack_notes | |||
SAPO Release=6.2.0 (MR=6.2 SR=0) executing: 'make pack_notes' | |||
System is 'linux64-rhel7' | |||
Build environment variables: | |||
----------------------------------- | |||
SVN_BASE=/home/docker/sapo-builder/remmaped_dirs/svn | |||
PROGDIR=/home/docker/sapo-builder/remmaped_dirs/svn | |||
LIBDIR=/home/docker/sapo-builder/remmaped_dirs/svn | |||
----------------------------------- | |||
Loading build data from : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv | |||
Loading build opts form : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7.options | |||
Entering: '/home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0' | |||
Generating relnotes for LANG=C file=saposystem-C.utf-8 | |||
Generating relnotes for LANG=es_ES file=saposystem-es_ES.utf-8 | |||
Generating relnotes for LANG=fr_FR file=saposystem-fr_FR.utf-8 | |||
Converting relnotes saposystem-C.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-es_ES.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-fr_FR.utf-8 to encoding roman8 | |||
Converting relnotes saposystem-C.utf-8 to encoding iso88591 | |||
Converting relnotes saposystem-es_ES.utf-8 to encoding iso88591 | |||
Converting relnotes saposystem-fr_FR.utf-8 to encoding iso88591 | |||
Generant PDF per el llenguatge en... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-en-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-en-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-en-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-en-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-en-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf'. | |||
Generant PDF per el llenguatge es... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-es-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-es-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-es-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-es-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-es-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf'. | |||
Generant PDF per el llenguatge fr... | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-fr-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to 'relnotes-620-fr-tmp.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi} | |||
\makeatletter | |||
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi} | |||
\makeatother | |||
' -- relnotes-620-fr-tmp.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to './relnotes-620-fr-tmp-print.pdf'. | |||
---- | |||
pdfjam: This is pdfjam version 2.08. | |||
pdfjam: Reading any site-wide or user-specific defaults... | |||
(none found) | |||
pdfjam: Effective call for this run of pdfjam: | |||
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-fr-tmp-print.pdf - | |||
pdfjam: Calling pdflatex... | |||
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf'. | |||
</pre> | |||
====== Compilació dels paquets ====== | |||
<pre> | |||
[sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 notes packages # compilem els paquets per totes les arquitectures | |||
</pre> | |||
====== Actualitzem el repositori ====== | |||
<pre> | |||
[sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 update_repo # Copiem els fitxers al directori del repositori | |||
</pre> | |||
====== Actualitzem la distribució ====== | |||
<pre> | |||
[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 update_dist_shared # Copiem diversos fitxers comuns i creem l'estructura de directoris de la distribució al directori de destí | |||
</pre> | |||
<pre> | <pre> | ||
~/ | [sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 update_dist # Copiem els paquets i altres dades que dependents d'arquitectura als directoris corresponents de la estructura creada en el pas anterior | ||
</pre> | </pre> | ||
Revisió de 16:29, 2 feb 2017
Sistema automatitzat de generació i distribució del SAPO
Actualització/obtenció del codi
El primer pas és obtenir una copia actualitzada del codi que es troba en el servidor SVN (svn.cadt.com).
Això es pot fer des de sapo-builder@containers.cadt.com invocant l'script :
~/scripts/sapo_source_update <sapo_release>.<sapo_revision>
On <sapo_release> i <sapo_revision> són , respectivament , la versió i la revisió del SAPO.
L'script procedeix de la següent manera:
- Intenta determinar el directori base on es descarregarà el codi mirant la variable SVN_BASE. Si no existeix o no apaunta a un directoriintenta amb /svn/svn.cadt.com /svn ~/SVN
- descarrega/actualtiza $SVN_BASE/Make.rules
- crea el directori $SVN_BASE/sapo si no existeix
- actualitza/descarrega svn://svn.cadt.com/sapo-<sapo_release> a $SVN_BASE/sapo/<sapo_release>
- inicialitza les variables d'entorn necessaries per la compilació (SVN_BASE,PROGDIR i LIBDIR)
- va la directori base de la revisió del sapo: $SVN_BASE/sapo/<sapo_release>/<sapo_release>.<sapo_revision>
- executa make checkout_depends que procedeix a:
- llegir els fitxers de paquets (*.list) per totes les arquitectures que es troben a: ./programs/
- descarrega/actualitza a $SVN_BASE tots els paquets llistats en els fixers *.list ,però només la versió indicada
- inicialitza la llista de dependencies no resoltes a partir dels fitxers lib_versions.dep obtinguts del directori base de la versió del paquet que es vol compilar
- descarrega/actualitza les llibreries necessaries per resoldre les dependències fins que s'han resolt totes les dependencies o no pot obtenir les llibreries necessaries del SVN
- verifica que no hi hagin dependències circulars i genera la seqüència en que s'han de compilar i opcionalment instal·lar els diferents paquets i llibreries.
- per cada arquitectura genera un fitxer que conté la seqüència de pasos per fer la compilació i el guarda a ./programs/<arch>-build.csv
- genera un un fitxer .txt amb el llistat de tots els paquets i el desa a: ./programs/package_list.txt . Aquest fitxer s'utilitza més endavant per l'auto-generació de documentació.
Compilació
Un cop obtingut/actualitat el codi de tots els paquets i dependències es pot procedir a la generació dels paquets.
A diferència del anterior, part del procés depèn de l'arquitectura per la se està generant el paquet i diverses accions s'hauran de repetir per cada una de les arquitectures destí.
Per evitar els problemes de configurar un cross-compiler, s'ha optat per tenir diversos nodes de compilació: un per cada arquitectura. Per evitar tenir un servidor dedicat a cada arquitectura s'ha optat per usar virtualització. En concret totes les arquitectures Linux s'han virtualitzat usant containers. S'ha optat per aquesta solució ja que:
- Rendiment gairabé idèntic al d'una màquina real.
- Permet compartir directoris entre els diferents nodes. Això facilita compartir dades entre els nodes i també simplifica la actualització de codi i scripts.
- Facilitat de manipular diverses versions del mateix node.
També per evitar problemes en el futur s'ha optat per conectar-se als nodes via SSH cosa que ens aïlla del tipus de virtualització utilitzat.
| Node | OS | Arquitectura | Hostatjat a | Port SSH |
|---|---|---|---|---|
| centos3_devel | CentOS 3 (x86) | linux-rhel3 | containers.cadt.com | 2203 |
| centos6_devel | CentOS 6 (x86) | linux-rhel6 | containers.cadt.com | 2206 |
| centos7_devel | CentOS 7 (x86_64) | linux64-rhel7 | containers.cadt.com | 2207 |
Per simplificar la compilació hi han 2 scripts:
- ~/scripts/sapo_do_make <sapo_full_release> [<make_arguments>] : Basicament, entra al directori del sapo release i inoca make <make_arguments>
- ~/sapo_build_cmd <arch> <sapo_full_release> [<make_arguments>] : Executa l'script anterior per les arquitectures indicades en <arch>. Si <arch>=='all' llavors l'executa en totes les arquitectures. Utilitza el fitxer ~/build_nodes per saber a quin node ha de compilar cada arquitectura i com s'hi ha de conectar.
Distribució
Per la distribució s'utilitzen els mateixos scripts que en el pas anterior. Els directoris de destí estan configurats mitjançant symlinks en el directori del SAPO. Finalment, hi han 2 tipus de distribució:
- 'dist' : Distribució offline del SAPO que s'envia als clients per correu. S'actualitza amb l'opció update_dist
- 'repo' : Distribució online. Es pugen els fitxers al servidor d'actualitzacions per que els clients se'ls puguin descarregar. S'actualitza amb l'opció update_repo
Exemple
Per exemple, assumim que volem fer la distribució del SAPO 6.2.0 . Els passos a seguir serien:
Connexió al servidor
$ ssh sapo-builder@containers.cadt.com # Ens conectem al servidor de builds sapo-builder@containers's password:
Actualització del codi font
[sapo-builder@containers ~]$ ./scripts/sapo_source_update 6.2.0 # Actualitzem el codi font
Preparing SAPO Release=6.2.0 (MR=6.2 SR=0)
Updating Make.Rules
Updating 6.2
rel major=6.2 minor=0
Parsing packages for: common
Parsing packages for: darwin64
Parsing packages for: linux-rhel3
Parsing packages for: linux-rhel6
Parsing packages for: linux64-rhel7
Updating packages for: common
Updating package appmanager 1.7.0
Updating package bareme 1.3.6
Updating package busca 1.1.4
Updating package busca-qtgui 1.0.4
Updating package carta 6.6.0
Updating package checkmail 1.1.0
Updating package cloudbackup 1.0.2
Updating package compare 1.2.1
Updating package confess 1.8.2
Updating package confess-qtgui 1.0.4
Updating package disk 1.1.5
Updating package disk-qtgui 1.0.7
Updating package divide 2.2.0
Updating package divide-qtgui 1.0.5
Updating package doccompiler 1.2.0
Updating package fitjob 1.8.4
Updating package floppy 1.3.5
Updating package floppy-qtgui 1.0.6
Updating package kall 1.1.1
Updating package kall-qtgui 1.0.4
Updating package laser 2.1.1
Updating package libmoonbase 1.6.6
Updating package library 1.0.0
Updating package marsbased 2.1.5
Updating package media 1.2.1
Updating package media-qtgui 1.0.6
Updating package palette 1.5.0
Updating package ring 1.0.6
Updating package ring-qtgui 1.0.3
Updating package romi 1.3.1
Updating package romi-qtgui 1.0.7
Updating package sapo-icon-manager 1.0.4
Updating package sapobackup 1.3.1
Updating package sapocdbackup 1.3.1
Updating package sapocon 2.3.1
Updating package sapoconverter 2.5.0
Updating package sapoconverter-qtgui 1.2.2
Updating package sapodialog 1.2.0
Updating package sapohdbackup 1.1.1
Updating package sapoinstall 1.7.0
Updating package sapolpfilter 1.1.3
Updating package sapomanager 1.2.0
Updating package sapomount 1.0.5
Updating package saporepo 1.2.0
Updating package sapotools 1.0.0
Updating package scan 1.2.3
Updating package setouts 1.0.0
Updating package sgzip 1.1.1
Updating package spycard 1.2.0
Updating package spycard-qtgui 1.0.3
Updating package spysum 1.1.5
Updating package spysum-qtgui 1.0.3
Updating package sw 2.0.5
Updating package tablet 5.10.0
Updating package unite 1.2.2
Updating package unite-qtgui 1.0.3
Updating package vms 1.2.4
Updating package vms-qtgui 1.0.4
Updating library libzip 0.15.1
Updating library libtis 1.0.1
Updating library libtif 1.2.0
Updating library libsuperlecs 1.0.0
Updating library libsjq 1.1.1
Updating library libsgarde 1.0.0
Updating library libsapomngr 1.1.3
Updating library libsapoevent 1.1.1
Updating library libsapo 1.6.0
Updating library libromplus 1.0.4
Updating library libromi 1.2.0
Updating library librom 1.0.2
Updating library libprn 2.1.7
Updating library libpcl5 1.2.1
Updating library libpcl 1.3.1
Updating library libmyr 2.1.1
Updating library libmoonbase 1.6.6
Updating library libmemtag 1.1.0
Updating library libmd5 1.0.1
Updating library libmbr 3.0.1
Updating library libmarsbase 2.2.0
Updating library libmaq 9.4.0 (updated)
Updating library libmagicos 1.0.0
Updating library liblicense 1.7.1
Updating library libsentinel 3.0.0
Updating library libhiddongle 1.0.0
Updating library libkmo 2.2.1
Updating library libimage 1.1.0
Updating library libgraf 1.4.0
Updating library libforms 9.3.1
Updating library libescp2 1.2.1
Updating library libdrf.x 12.1.0
Updating library libdrs 1.0.3
Updating library libdoctemplate 1.1.0
Updating library libdiskmyr 1.0.0
Updating library libdisk 1.0.3
Updating library libdbase 1.0.2
Updating library libdaemon 1.1.1
Updating library libcursmenu 1.2.0
Updating library libconfess 1.3.1
Updating library libcommondlg 1.3.8
Updating library libcol 1.1.0
Updating library libcadtstd 1.3.3
Updating library libcadtqtgui 1.0.3
Updating library libcadtdbg 1.1.0
Updating library libcadtX11 1.1.0
Updating library libbmp 1.0.0
Updating library libbfile 1.0.1
Updating library libaform 1.2.0
Updating packages for: darwin64
Updating package Qt 4.8.6
Updating packages for: linux-rhel3
Updating package Qt 4.2.6
Updating package sapologout 1.4.0
Updating package snapshot 1.3.0
Updating library libtif 1.2.0
Updating library libsapomngr 1.1.3
Updating library libsapoevent 1.1.1
Updating library libsapo 1.6.0
Updating library libromi 1.2.0
Updating library libprn 2.1.7
Updating library libpcl5 1.2.1
Updating library libpcl 1.3.1
Updating library libmoonbase 1.6.6
Updating library libmemtag 1.1.0
Updating library libmarsbase 2.2.0
Updating library liblicense 1.7.1
Updating library libsentinel 3.0.0
Updating library libhiddongle 1.0.0
Updating library libimage 1.1.0
Updating library libgraf 1.4.0
Updating library libforms 9.3.1
Updating library libescp2 1.2.1
Updating library libdisk 1.0.3
Updating library libdaemon 1.1.1
Updating library libcommondlg 1.3.8
Updating library libcadtstd 1.3.3
Updating library libcadtdbg 1.1.0
Updating library libcadtX11 1.1.0
Updating packages for: linux-rhel6
Updating package Qt 4.8.6
Updating package libhiddongle 1.0.0
Updating packages for: linux64-rhel7
Updating package Qt 4.8.6
Updating package libhiddongle 1.0.0
Merging common data into: darwin64
Generating build script data
Merging common data into: linux-rhel3
Generating build script data
Merging common data into: linux-rhel6
Generating build script data
Merging common data into: linux64-rhel7
Generating build script data
Generating build data for darwin64 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/darwin64-build.csv
Generating build data for linux-rhel3 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux-rhel3-build.csv
Generating build data for linux-rhel6 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux-rhel6-build.csv
Generating build data for linux64-rhel7 -> (SVN_BASE)/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv
Preparem el Release Notes combinat
[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 pack_notes # Generem les release notes
SAPO Release=6.2.0 (MR=6.2 SR=0) executing: 'make pack_notes'
System is 'linux64-rhel7'
Build environment variables:
-----------------------------------
SVN_BASE=/home/docker/sapo-builder/remmaped_dirs/svn
PROGDIR=/home/docker/sapo-builder/remmaped_dirs/svn
LIBDIR=/home/docker/sapo-builder/remmaped_dirs/svn
-----------------------------------
Loading build data from : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv
Loading build opts form : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7.options
Entering: '/home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0'
Generating relnotes for LANG=C file=saposystem-C.utf-8
Generating relnotes for LANG=es_ES file=saposystem-es_ES.utf-8
Generating relnotes for LANG=fr_FR file=saposystem-fr_FR.utf-8
Converting relnotes saposystem-C.utf-8 to encoding roman8
Converting relnotes saposystem-es_ES.utf-8 to encoding roman8
Converting relnotes saposystem-fr_FR.utf-8 to encoding roman8
Converting relnotes saposystem-C.utf-8 to encoding iso88591
Converting relnotes saposystem-es_ES.utf-8 to encoding iso88591
Converting relnotes saposystem-fr_FR.utf-8 to encoding iso88591
Generant PDF per el llenguatge en...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-en-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-en-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-en-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-en-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-en-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf'.
Generant PDF per el llenguatge es...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-es-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-es-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-es-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-es-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-es-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf'.
Generant PDF per el llenguatge fr...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-fr-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-fr-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-fr-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-fr-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-fr-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf'.[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 pack_notes
SAPO Release=6.2.0 (MR=6.2 SR=0) executing: 'make pack_notes'
System is 'linux64-rhel7'
Build environment variables:
-----------------------------------
SVN_BASE=/home/docker/sapo-builder/remmaped_dirs/svn
PROGDIR=/home/docker/sapo-builder/remmaped_dirs/svn
LIBDIR=/home/docker/sapo-builder/remmaped_dirs/svn
-----------------------------------
Loading build data from : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7-build.csv
Loading build opts form : /home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/programs/linux64-rhel7.options
Entering: '/home/docker/sapo-builder/remmaped_dirs/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0'
Generating relnotes for LANG=C file=saposystem-C.utf-8
Generating relnotes for LANG=es_ES file=saposystem-es_ES.utf-8
Generating relnotes for LANG=fr_FR file=saposystem-fr_FR.utf-8
Converting relnotes saposystem-C.utf-8 to encoding roman8
Converting relnotes saposystem-es_ES.utf-8 to encoding roman8
Converting relnotes saposystem-fr_FR.utf-8 to encoding roman8
Converting relnotes saposystem-C.utf-8 to encoding iso88591
Converting relnotes saposystem-es_ES.utf-8 to encoding iso88591
Converting relnotes saposystem-fr_FR.utf-8 to encoding iso88591
Generant PDF per el llenguatge en...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-en-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-en-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-en-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-en-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-en-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-en-print.pdf'.
Generant PDF per el llenguatge es...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-es-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-es-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-es-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-es-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-es-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-es-print.pdf'.
Generant PDF per el llenguatge fr...
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --scale '0.8' --paper a4paper --offset '-2cm 1cm' --twoside --outfile relnotes-620-fr-tmp.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to 'relnotes-620-fr-tmp.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --booklet 'true' --landscape --suffix book --signature '4' --outfile . --suffix print --preamble '\usepackage{everyshi}
\makeatletter
\EveryShipout{\ifodd\c@page\pdfpageattr{/Rotate 180}\fi}
\makeatother
' -- relnotes-620-fr-tmp.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to './relnotes-620-fr-tmp-print.pdf'.
----
pdfjam: This is pdfjam version 2.08.
pdfjam: Reading any site-wide or user-specific defaults...
(none found)
pdfjam: Effective call for this run of pdfjam:
/pub/manuals/texlive/2013/bin/x86_64-linux/pdfjam --landscape --outfile /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf -- /home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/../crops/crops.pdf - relnotes-620-fr-tmp-print.pdf -
pdfjam: Calling pdflatex...
pdfjam: Finished. Output was to '/home/sapo-builder/svn/sapo/6.2/6.2.0/relnotes/saposystem/RelNotes-6.2.0/relnotes-620-fr-print.pdf'.
Compilació dels paquets
[sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 notes packages # compilem els paquets per totes les arquitectures
Actualitzem el repositori
[sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 update_repo # Copiem els fitxers al directori del repositori
Actualitzem la distribució
[sapo-builder@containers ~]$ ./scripts/sapo_do_make 6.2.0 update_dist_shared # Copiem diversos fitxers comuns i creem l'estructura de directoris de la distribució al directori de destí
[sapo-builder@containers ~]$ ./sapo_build_cmd all 6.2.0 update_dist # Copiem els paquets i altres dades que dependents d'arquitectura als directoris corresponents de la estructura creada en el pas anterior