Hi, 

Ok perfect 

The docker is so perfect for this :) 

Jeremy 

Le 2017-08-21 04:39, David DOLCIMASCOLO a écrit :

> Hi Jeremy,
> 
> Your contribution has been merged into OBM's master branch and will land in 
> the next release.
> Regarding Debian Stretch, we're very interested in having OBM installation 
> work on this operating system. However, there's no plan yet for working on 
> that topic. We did some investigations, though, and you can have a look at 
> https://ci-obm.linagora.com/jira/browse/OBMFULL-6399 which summarizes what 
> was found.
> 
> Regarding OBM packaging, here are some instructions (in french) I wrote a few 
> years ago that should get you you ready to patch !
> 
> -----
> Paquets
> 
> Les meilleures docs à lire:
> 
> * https://fedoraproject.org/wiki/How_to_create_an_RPM_package
> * https://wiki.debian.org/Packaging
> 
> Les paquets RPM sont construits grâce à des descripteurs (fichiers .spec) 
> dans lesquels on déclare le ou les paquets à construire, avec leurs 
> dépendances, leurs contenus, la manière de les installer, etc. La syntaxe est 
> assez obscure car un grand nombre de variables sont définies globalement et 
> connues des outils de constructions de paquets (rpmbuild). Un exemple simple 
> pour "rentrer" dans les fichiers specs est CA/RPM/SPECS/OBM-CA.SPEC, il est 
> relativement simple d'accès.
> Tous les descripteurs se trouvent avec la commande FIND . -NAME "*.SPEC" dans 
> la racine du dépôt.
> Les instructions principales à connaître dans un .spec sont:
> 
> * Name - le nom du paquet
> * Requires - Déclare une dépendance d'un paquet
> * BuildArch - Architecture cible du paquet (tous nos paquets sont en "noarch")
> * %package - Déclare une suite d'instruction pour la construction d'un paquet 
> donnée
> * %post - Déclare un script à exécuter après l'installation d'un paquet
> * %install - Déclare les étapes à exécuter lors de l'installation d'un paquet
> * %files - Liste les fichiers inclus dans un paquet
> 
> Les paquets DEB sont construits grâce à des descripteurs multiples (chaque 
> paquet possède un ou plusieurs, souvent beaucoup, fichiers de description) et 
> un "control file" (fichier CONTROL). Le fichier control contient la 
> description administrative du paquet, son nom, ses dépendances, etc. Dans un 
> fichier control, les instructions à connaître sont les suivantes: 
> 
> * Package - Nom du paquet
> * Depends - Liste des dépendances
> * Architecture - L'architecture cible (tous nos paquets sont en "all")
> 
> Les descripteurs d'un paquet DEB sont les suivants:
> 
> * rules - Règles de construction du paquet, choses à faire avant d'inclure 
> les fichiers du .install, etc.
> * <paquet>.postrm - Script exécuté après la désinstallation d'un paquet
> * <paquet>.postinst - Script exécuté après l'installation d'un paquet
> * <paquet>.cron.d - Fichier déployé dans /etc/cron.d/ lors de l'installation
> * <paquet>.dirs - Liste des dossiers à créer lors de l'installation
> * <paquet>.install - Liste des fichiers à inclure dans le paquet. Cette liste 
> est évaluée après le fichier rules, car du preprocessing peut être fait.
> 
> Le processus de build en lui même est basé sur de l'outillage python (aka. 
> build.py) dans le répertoire BUILD-SYSTEM/ d'OBM. C'est le point d'entrée 
> pour toute la construction de paquets.
> 
> Dépôts
> 
> Les outils à connaître:
> 
> * dput (en fait c'est scp + du contrôle d'intégrité pour uploader des paquets 
> vers un site distant)
> * reprepro (outil de management des dépôts apt: ajouter de paquets, update de 
> paquets, suppression de paquets, etc.)
> * createrepo (création et update de dépôts yum)
> 
> Les dépos de paquets sont de deux natures:
> 
> * Des dépôts yum pour RedHat, gérés par la commande  _createrepo_ 
> 
> * Création d'un dépôt: MKDIR <REPO>
> * Upload de paquets: SCP
> * Update d'un dépôt: CD <REPO> && RM -FR * && CREATEREPO .
> 
> * Des dépôts apt pour debian, gérés par les commandes _dput_ et _reprepro_ 
> 
> * Création d'un dépôt: CP -A <TEMPLATE> <REPO> && SED -I '/TEMPLATE/<REPO>/G' 
> <REPO>/CONF/* (on utilise une template pour créer un nouveau repo)
> * Upload de paquets: DPUT
> * Update d'un dépôt: DPUT <PACKAGE LIST> <REPO> && SH <REPREPRO WRAPPER> 
> (voir ci-dessous pour le wrapper)
> 
> Build Jenkins
> 
> OBM est construit de la manière suivante grâce à Jenkins 
> (http://ci-obm.linagora.com/jenkins/):
> 
> * Construction de tout le Java (mvn install)
> * Construction des paquets des trois distributions supportées en parallèle 
> EL5, EL6 et Debian (debuild, rpmbuild et toute la clique)
> * Déploiement des paquets sur obm.org dans les dépôts idoine en parallèle 
> (dput, plus un script custom)
> 
> Pour 3/ le script custom en question est en fait un wrapper sur reprepro. Il 
> se charge d'itérer sur le répertoire _incoming_ rempli par dput avec les 
> nouveaux paquets et de les déployer dans les dépôts. Nous avons aussi un job 
> Jenkins qui permet d'initialiser de nouveaux dépôts pour une nouvelle version 
> OBM.
> -----
> 
> On top of that, there's a Dockerfile at the root of the repository that you 
> can use to build Debian and RPM packages and quickly serve them using a HTTP 
> server, allowing you to use that as repositories for quick testing of changes.
> 
> Thanks a lot for your excellent work and for upstreaming your patches.
> 
> Regards,
> 
> David DOLCIMASCOLO
> Resp. Equipe OBM / OBM Team Lead
> Resp. Adjoint Equipe OpenPaas / OpenPaas Team Deputy
> -------------------------------------------
> +33 6 76 20 62 28
> -------------------------------------------
> Tour Franklin 31 ème étage
> 100/101 Quartier Boieldieu
> 92042 PARIS LA DEFENSE 
> FRANCE
> -------------------------------------------
> Message envoyé avec OBM, La messagerie Libre :  http://www.obm.org/
> 
> Le 18/08/2017 à 19:43, Jérémy Carnus a écrit : 
> 
>> Bonjour, 
>> 
>> Je me permets d'envoyer un patch qui permet a OBM de supporter les nouveaux 
>> TLD (par example .restaurant, etc).. 
>> 
>> J'en profite aussi pour savoir si un support de strectch est prevu. Si non, 
>> est-ce que quelque'un peut me dire comment jouer dans le packaging de OBM 
>> pour l'installer sur un debian strech. Cela me permettrait de tester et 
>> d'envoyer un patch si cela marche bien 
>> 
>> Voila 
>> 
>> Merci 
>> 
>> -- 
>> --
>> Jérémy Carnus 
>> 
>> _______________________________________________
>> Obm mailing list
>> [email protected]
>> http://list.obm.org/listinfo/obm

-- 
--
Jérémy Carnus
_______________________________________________
Obm mailing list
[email protected]
http://list.obm.org/listinfo/obm

Répondre à