Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 1014 → Rev 1015

/conf/rpms/rpm-build-howto
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)