# [EBUILD] dolibarr-9999 from CVS.

## man in the hill

Salut,

@CryoGen : Je n'ai pas pu le tester car je n'ai pas les dépendances requise et pas envie de les installer donc soit indulgent si cela plante   :Very Happy:  , on essayera de débuguer avec l'aide j'espère du forum...Si ça passe , tu peux jouer au loto ce week-end   :Laughing:  ...

Voilà :

```

# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: $

inherit cvs eutils webapp depend.php

ECVS_SERVER="cvs.sv.gnu.org:/sources/dolibarr"

ECVS_USER="anonymous"

ECVS_AUTH="pserver"

ECVS_PASS=""

ECVS_MODULE="dolibarr"

DESCRIPTION="Dolibarr est un système libre de gestion d'entreprise"

HOMEPAGE="http://www.dolibarr.org"

LICENSE="GPL-2"

KEYWORDS="~x86 ~amd64"

IUSE=""

DEPEND="dev-lang/php

        net-www/apache"

RDEPEND="${DEPEND}"

S="${WORKDIR}/${ECVS_MODULE}"

pkg_setup() {

        webapp_pkg_setup

        # we check that PHP was compiled with the correct USE flags

        require_php_with_use curl gd mysql

}

src_unpack() {

        einfo ""

        einfo "Checking dolibarr from CVS..."

        einfo ""

        cvs_src_unpack

        cd "${S}"

        einfo ""

        einfo "Generating SQL file..."

        einfo ""

        cd mysql && emake mysql.sql &> /dev/null && cd ..

}

src_install() {

        webapp_src_preinst

        cd "${S}"

        webapp_sqlscript mysql mysql/mysql.sql

        local ARI="doc/install"

        local ARU="doc/user"

        # WARNING : install instructions are deprecated,

        # and documents are only in french.

        # Example : PEAR Base System is already included in dolibarr's code.

        local docs=" 

                README README-FR ChangeLog COPYING COPYRIGHT doc/Mysql 

                ${ARI}/dolibarr-install.pdf ${ARI}/dolibarr-install.txt

                ${ARU}/dolibarr-user.pdf ${ARU}/dolibarr-user.txt"

        dodoc ${docs}

        dohtml ${ARI}/dolibarr-install-1.html ${ARI}/dolibarr-install-2.html \

                        ${ARI}/dolibarr-install-3.html ${ARI}/dolibarr-install.html

        einfo ""

        einfo "Installing main files"

        einfo ""

        cd htdocs

        cp -r . ${D}${MY_HTDOCSDIR}

        webapp_postinst_txt en ${FILESDIR}/${PV}/postinstall-en.txt

        # Set correct permissions on the configuration file

        webapp_hook_script ${FILESDIR}/conf-file-perms

        webapp_src_install

}

pkg_postinst() {

        ewarn ""

        ewarn "Dolibarr comes with ABSOLUTELY NO WARRANTY"

        ewarn "You take your own RISK..."

        ewarn ""

}

```

                                                                     @+

----------

## CryoGen

Wahou déja ^^ merci beaucoup :p

Je testerais demain à tete reposée !

Encore merci

----------

## man in the hill

Testé ou pas ? ça plante ou   :Laughing:   ?

----------

## CryoGen

 *man in the hill wrote:*   

> Testé ou pas ? ça plante ou    ?

 

Désolé j'ai pas encore testé, je suis vraiment désolé :/ c'est moi qui ai demandé cet ebuild et je fais pas ma part du boulot   :Embarassed: 

Demain sans faute (comme ca j'aurais tout le week-end pour recuperer le crash du serveur XD)

----------

## CryoGen

bon bon bon

Le download du cvs se passe bien

mais :

```
>>> Install dolibarr-9999 into /var/tmp/portage/dolibarr-9999/image/ category www-apps

 * (mysql) create script for dolibarr-9999

dodoc: doc/Mysql does not exist

 *

 * Installing main files

 *

 * ebuild fault: file '/usr/local/portage/www-apps/dolibarr/files/9999/postinstall-en.txt' not found

 * Please report this as a bug at http://bugs.gentoo.org/

!!! ERROR: www-apps/dolibarr-9999 failed.

Call stack:

  ebuild.sh, line 1539:   Called dyn_install

  ebuild.sh, line 1013:   Called src_install

  dolibarr-9999.ebuild, line 75:   Called webapp_postinst_txt 'en' '/usr/local/portage/www-apps/dolibarr/files/9999/postinstall-en.txt'

  webapp.eclass, line 169:   Called webapp_checkfileexists '/usr/local/portage/www-apps/dolibarr/files/9999/postinstall-en.txt'

  webapp.eclass, line 81:   Called die

!!! ebuild fault: file '/usr/local/portage/www-apps/dolibarr/files/9999/postinstall-en.txt' not found

!!! If you need support, post the topmost build error, and the call stack if relevant.
```

Voici le fichier en question  :Smile: 

je vais le copier à la main et je continue

 *Quote:*   

> To complete installation, you must :
> 
> ------------------------------------
> 
> 1. Copy and paste these instructions to your favorite editor.
> ...

 

----------

## netfab

Tu télécharges ce fichier (clic droit), et tu le places au bon endroit.

Par contre, je ne garantis pas que les instructions sont toujours valides.

----------

## CryoGen

Webapps ne m'install pas dolibarr

Tous les fichiers sont bien installer dans /usr/share/webapps/dolibarr/9999/ mais pas d'install dans /var/www/localhost/htdocs/

et d'ailleur le fichier postinstall-en.txt n'est pas afficher à la fin... alors qu'avec l'ebuild 2.0.1 oui.

----------

## netfab

C'est à cause de ceci :

 *man webapp.eclass wrote:*   

> 
> 
>    Functions for pkg_postinst()
> 
>        webapp_pkg_postinst
> ...

 

L'ebuild de la 2.0.1 ne contient pas de fonction pkg_postinst().

----------

## man in the hill

 *NetFab wrote:*   

> C'est à cause de ceci :
> 
>  *man webapp.eclass wrote:*   
> 
>    Functions for pkg_postinst()
> ...

 

Merci NetFab, comme je n'avais pas testé donc pas débugué et j'ai fais ça vite fait sans même regarder les eclass  webapp depend.php (que je n'ai jamais utilié par ailleurs) ni les man ...je suis entrain de dowloader dolibarr et ses dépendance pour tester...Tu peux virer le pkg_postinst() qui n'a aucune utilité pour l'install de dolibarr   :Laughing:   ou je pense rajouter  webapp_pkg_postinst en dessous de pkg_postinst !  et ce genre d'avertissemnt peut ce mettre ds src_unpack() si tu comptes le mettre à dispo...

                                                                        @+

----------

## CryoGen

Bon, effectivement en supprimant la fonction pkg_postinst()  ca marche  :Smile: 

Enfin preque j'ai juste eu à copier moi meme le repertoire 

/usr/portage/distfiles/cvs-src/dolibarr/mysql

vers /var/www/localhost/htdocs

mais sinon c'est bon  :Smile:  (d'ailleur ce repertoire sert juste à l'install à effectuer la migration de la base de données de la version 2.0.1 à la 2.1)

Merci beaucoup à vous  :Wink: 

----------

## netfab

Oui, en fait, pour la 2.0.1, j'avais patché le système d'installation de façon à créer la base de donnée en ligne de commande.

Donc evidemment, avec la version cvs, l'installation est légèrement différente.

Si je trouve le temps, je testerai.

----------

## man in the hill

 *man in the hill wrote:*   

> ... ou je pense rajouter  webapp_pkg_postinst en dessous de pkg_postinst

 

ça cela fonctionne ! 

Par  contre ton autre soucis , je ne sais pas faire ! 

                                                                   @+

----------

## netfab

A mon avis c'est normal que tu obtiennes une sandbox violation : tu n'as pas a installer des fichiers dans le répertoire htdocs, mais dans htdocs/dolibarr. C'est d'ailleurs pour cette raison que j'avais patché, pour éliminer la création de BDD de la procédure d'installation interne à dolibarr : avec l'eclass webapp, les fichiers sql doivent se trouver soit du côté de /usr/share/webapps/paquet/version/sqlscripts, soit dans le répertoire des sources php.

Voilà pourquoi je générais le fichier sql après la phase de décompression :

```
cd mysql && emake mysql.sql &> /dev/null && cd ..
```

Mais si tu veux faire fonctionner la version cvs avec ce répertoire mysql, il faut alors que tu copies le répertoire comme le reste :

 *Quote:*   

> 
> 
> cd htdocs
> 
> cp -r . ${D}${MY_HTDOCSDIR}
> ...

 

Et que tu patches le code de l'installation pour rechercher les fichiers sql au bon endroit.

Mais dans ce cas, tu peux supprimer la création du fichier sql dans la fonction src_unpack :

 *Quote:*   

> 
> 
> src_unpack() {
> 
>     einfo ""
> ...

 

Ainsi que l'appel de la fonction webapp_sqlscript :

 *Quote:*   

> 
> 
> #webapp_sqlscript mysql mysql/mysql.sql
> 
> local ARI="doc/install"
> ...

 

Et modifier les instructions d'installation.

----------

## man in the hill

dsl , j'ai modifié mon post  mais tu as répondu  à mon interrogation  :Laughing:  ...En fait CryoGen m'a demandé de modifier un ebuild ou j'ai constaté que ton nom y était   :Wink: ...mais je n'ai aucune connaissance en base de donnée  d'ou une modif superficiel de ton ebuild !!!!  

Merci pour ta réponse et je pense que tu es le mieux placé pour faire les modifs nécessaires , si tu as le temps   :Exclamation:  ...  

                                                     @+

ps: ça va m'apprendre à modifier mon post after a long time.

----------

## netfab

Je le ferai, d'ici quelques jours/semaines (je pense que je vais avoir besoin de l'installer sur une machine dans pas longtemps).

----------

## netfab

Mieux vaut tard que jamais  :Laughing: 

ebuild cvs dolibarr

Aucune instruction d'installation, normalement, il faut juste suivre (mais si vous trouvez quelque chose, n'hésitez pas).

J'ai remarqué qu'il y avait le support postgresql et mysqli, pas testé, mais je ne crois pas que ce soit fonctionnel.

----------

## man in the hill

 *NetFab wrote:*   

> Mieux vaut tard que jamais  

 

Et comment ! Pour ceux qui utilise ce logiciel, tu leurs offre un beau cadeau ! C'est CryoGen qui va être content   :Very Happy:  ...

                                                                    @ +

----------

## CryoGen

ahah ^^

Merci beaucoup   :Razz: 

----------

## netfab

Déjà une MAJ  :Mr. Green: 

J'avais oublié de patcher un fichier d'installation : lorsqu'on choisit upgrade, çà devrait mettre à jour la base de données lorsqu'elle est modifiée.

J'en ai profité pour ajouter quelques instructions, et j'ai désactivé le lancement automatique de webapp-config, mais il suffit de suivre les instructions à la fin de l'emerge. J'en ai fait un tar.gz à télécharger.

----------

