1,31 → 1,26 |
By Rexy |
|
Création des RPM spécifiques pour Alcasar |
ALCASAR need the following programs that don't be included as RPM in Mageia : |
- coovachilli |
- havp |
- ulogd |
|
**** préparation de la structure de création de RPM *** |
- installer le paquetage rpm-build |
- récupérer le "RPM Source" de la dernière version 'packagée' par mandriva de coova-chilli (dans le répertoire SRPMS du dépôt 'contrib' de la cooker ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/devel/cooker/SRPMS/contrib/release/) |
- en tant que root, lancer "urpmi" du paquetage récupéré. Cela permet d'installer les dépendances en terme de biliothèques de développment (*-devel.rpm) |
- en tant qu'utilisateur, lancer rpm -i du paquetage récupéré afin d'installer la structure de création du RPM dans ~/rpmbuild |
- pour tester cette structure, se positionner dans le répertoire ~/rpmbuild/SPEC/ et lancer la génération du RPM (rpmbuild -ba coova-chilli.spec) |
- si tout est ok, les RPMs sont créés dans le répertoire ~/rpmbuild/RPMS. Supprimer ces RPM |
This howto explain how to build RPM of these programs in order to keep clean the distribution |
|
**** Prepare the RPM creation structure *** |
- install the "rpm-build" paquage |
- create directories structure in your user home : mkdir -p ~/rpm/{BUILD,BUILDROOT,RPMS/i586,RPMS/x86_64,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp} |
- copy the .rpmmacros file from the ALCASAR archive to your home directory |
|
**** Coova-chilli ***** |
- récupérer le 'tarball' de la dernière version de coova-chilli. |
- retrieve the last tarball of coova-chilli. Copy it in the directory ~/rpm/SOURCES/. |
- retrieve the last rpm source of coova (coova.src.rpm) from the ALCASAR archive. Install it with the command "rpm -i". This action will retrieve all the devel package need to compile coova (openssl-devel, pcap-devel, etc.) |
- copy the SPEC file from the ALCASAR archive to the directory ~/rpm/SPEC |
|
- Le décompresser dans un répertoire et lancer la compilation traditionnelle (./configure + make). Cela permet de s'assurer que tout les pré-requis sont bien présents. |
- tester l'install en tant que root (make install). Tout est dans /usr/local/sbin|etc|share|... désinstaller par "make uninstall" |
- copier le tarball dans ~/rpmbuild/SOURCES/ |
### pour versions antérieures à 1.2.5 de coova #### |
- récupérer le .spec de la version 1.2.5 et l'adaptater (version, packager, commentaires, etc.) + commenter |
- la ligne 104 ('--with-openssl \') : on n'a pas besoin du support openssl (la compil avec openssl ne fonctionne pas. On supprime openssl car dans ALCASAR, on passe par apache pour le chiffrement) |
- la ligne 171 (affectation des fichiers "header" dans le RPM coova-devel) |
- Le patch d'origine de mandriva (1.0.12-linkage_fix.diff) n'est plus nécessaire. Cependant un nouveau doit être appliqué : |
- le but est de supprimer l'option de compilation "-Werror" de la ligne "AM CFLAGS" du fichier src/makefile.am (directive spécifiant au compilateur de traiter les warning comme des erreurs). |
- copier le makefile.am d'origine en makefile.am.patch et modifier la ligne AM CFLAGS (vers la ligne 15) |
- créer le fichier patch unifié en lançant "diff -u makefile.am makefile.am.patch > mon_patch.diff |
- copié ce fichier sous rpmbuild/SOURCES avec le nom spécifié dans le .spec |
- se positionner dans rpmbuild/SPEC et lancer la génération du RPM (rpmbuild -ba coova-chilli.spec) |
### pour version supérieures ou égales à 1.2.6 de coova #### |
|
- copier et adapter le .spec utilisé précédement. Les modifs ont été les suivantes : |
- ajouter en première ligne "%define _disable_ld_no_undefined 1" |
- pour la version 64b, ajouter 2 lignes intégrant le répertoire "lib64" lors de la suppression des binaires statiques (rm -rf $RPM_BUILD_ROOT/usr/lib/*.la) |