Subversion Repositories ALCASAR

Compare Revisions

Ignore whitespace Rev 488 → Rev 489

/alcasar.sh
64,7 → 64,7
# ****** Paths - chemin des commandes *******
SED="/bin/sed -i"
# ****** Alcasar needed RPMS - paquetages nécessaires au fonctionnement d'Alcasar ******
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils pm-fallback-policy"
PACKAGES="freeradius freeradius-mysql freeradius-ldap freeradius-web apache-mpm-prefork apache-mod_ssl apache-mod_php squid dansguardian postfix MySQL logwatch ntp awstats mondo cdrecord buffer vim-enhanced bind-utils wget arpscan ulogd openssh-server php-xml pam_ccreds rng-utils lsb-release dnsmasq sudo cronie-anacron pciutils clamav pm-fallback-policy"
# ****************** End of global parameters *********************
 
header_install ()
195,7 → 195,7
# Download of ALCASAR specifics RPM in cache (and test)
echo "Récupération des paquetages complémentaires. Veuillez patienter ..."
echo "Download of complementary packages. Please wait ..."
urpmi --auto $PACKAGES --quiet --test --retry 2
urpmi --wget --auto $PACKAGES --quiet --test --retry 2
if [ "$?" != "0" ]
then
echo
210,7 → 210,7
# update with cached RPM
urpmi --auto $PACKAGES
# On supprime les paquetages, les services et les utilisateurs inutiles
for rm_rpm in shorewall dhcp-server c-icap-server cyrus-sasl distcache-server avahi mandi radeontool bind clamav
for rm_rpm in shorewall dhcp-server c-icap-server cyrus-sasl distcache-server avahi mandi radeontool bind
do
/usr/sbin/urpme --auto $rm_rpm --auto-orphans 2>/dev/null
done
927,11 → 927,8
fi
groupadd -f havp
useradd -M -g havp havp
# création de la zone de travail temporaire (50Mo) en mémoire
mkdir -p /var/tmp/havp /var/log/havp
chown -R havp /var/tmp/havp /var/log/havp /var/run/havp
# echo "# Entry for havp tmp files scan partition" >> /etc/fstab
# echo "tmpfs /var/tmp/havp tmpfs mand,noatime,size=50m,nosuid,noexec 0 0" >> /etc/fstab
$SED "/$HAVP_BIN -c $HAVP_CONFIG/i chown -R havp:havp \/var\/tmp\/havp" /etc/init.d/havp
# configuration d'HAVP
[ -e /etc/havp/havp.config.default ] || cp /etc/havp/havp.config /etc/havp/havp.config.default
945,12 → 942,12
# remplacement du fichier d'initialisation
[ -e /etc/init.d/havp.default ] || cp /etc/init.d/havp /etc/init.d/havp.default
cp -f $DIR_CONF/havp-init /etc/init.d/havp
# ajout de la fonction 'status' (utile pour la gestion du process)
# $SED "/^HAVP_BIN=/i. /etc/init.d/functions" /etc/init.d/havp
# $SED "s?^[\t ]*echo \"Checking for.*?status havp?g" /etc/init.d/havp
# on remplace la page d'interception (template)
cp -f $DIR_CONF/virus-fr.html /etc/havp/templates/fr/virus.html
cp -f $DIR_CONF/virus-en.html /etc/havp/templates/en/virus.html
# automatisation de la mise à jour de la base antivirale (toutes les 2 heures)
$SED "s?^Checks.*?Checks 12?g" /etc/freshclam.conf
$SED "s?^NotifyClamd.*?# NotifyClamd /etc/clamd.conf?g" /etc/freshclam.conf
}
 
##################################################################################
/conf/rpms/coova-chilli-1.2.6.spec
0,0 → 1,121
%define _disable_ld_no_undefined 1
 
Summary: Coova-Chilli is a LAN Access Point Controller
Name: coova-chilli
Version: 1.2.6
Release: %mkrel 0
URL: http://coova.org/wiki/index.php/CoovaChilli
Source0: http://ap.coova.org/chilli/%{name}-%{version}.tar.gz
License: GPLv2
Group: System/Servers
Packager: Rexy for ALCASAR project
Requires(pre): rpm-helper
Requires(postun): rpm-helper
 
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: curl-devel
BuildRequires: pcap-devel
BuildRequires: python
BuildRequires: python-devel
%if %{!?_without_ssl:1}0
BuildRequires: openssl-devel
%endif
Provides: coova-chilli = %{version}-%{release}
Obsoletes: chillispot
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
 
%description
 
Coova-Chilli is a fork of the ChilliSpot project - an open source captive
portal or wireless LAN access point controller. It supports web based login
(Universal Access Method, or UAM), standard for public HotSpots, and it
supports Wireless Protected Access (WPA), the standard for secure roamable
networks. Authentication, Authorization and Accounting (AAA) is handled by
your favorite radius server. Read more at http://coova.org/.
 
%prep
%setup -q -n %{name}-%{version}
 
%build
 
%configure \
--disable-static \
--enable-shared \
--enable-largelimits \
--enable-miniportal \
--enable-chilliredir \
--enable-chilliproxy \
--enable-chilliscript \
--with-poll \
%if %{!?_without_ssl:1}0
--with-openssl \
--enable-chilliradsec \
%endif
 
 
make
 
%install
make install DESTDIR=$RPM_BUILD_ROOT
 
rm -rf $RPM_BUILD_ROOT/usr/include/*
rm -rf $RPM_BUILD_ROOT/usr/lib/*.la
rm -rf $RPM_BUILD_ROOT/usr/lib/*.a
 
%clean
rm -rf $RPM_BUILD_ROOT
make clean
 
%post
%_post_service chilli
 
%preun
%_preun_service chilli
 
%files
%defattr(-,root,root)
%{_sbindir}/*
%{_libdir}/*.so*
%{_libdir}/python/CoovaChilliLib.py
%{_sysconfdir}/init.d/chilli
%doc AUTHORS COPYING ChangeLog INSTALL README doc/dictionary.chillispot doc/hotspotlogin.cgi
%config %{_sysconfdir}/chilli.conf
%config %{_sysconfdir}/chilli/gui-config-default.ini
%config(noreplace) %{_sysconfdir}/chilli/defaults
%dir %{_sysconfdir}/chilli
%dir %{_sysconfdir}/chilli/www
%attr(755,root,root)%{_sysconfdir}/chilli/www/config.sh
%attr(4750,root,chilli)%{_sbindir}/chilli_script
%{_sysconfdir}/chilli/www/*
%{_sysconfdir}/chilli/wwwsh
%{_sysconfdir}/chilli/functions
%{_sysconfdir}/chilli/*.sh
%{_mandir}/man1/*.1*
%{_mandir}/man5/*.5*
%{_mandir}/man8/*.8*
 
%changelog
* Sat Feb 12 2011 Rexy for Alcasar project
+ revision: 433
+ add _disable_ld_no_undefined 1
- 1.2.6 release
* Sat Nov 20 2010 Rexy for Alcasar project
+ revision: 394
- 1.2.5 release
* Sat Jan 2 2010 <david@coova.com>
- 1.2.0 release
* Thu Sep 30 2007 <david@coova.com>
- 1.0.8 release
* Thu Aug 20 2007 <david@coova.com>
- 1.0-coova.7 release
* Thu Jun 7 2007 <david@coova.com>
- 1.0-coova.6 release
* Wed May 16 2007 <david@coova.com>
- 1.0-coova.5 release
* Wed Feb 07 2007 <david@coova.com>
- 1.0-coova.4 release
* Wed Nov 15 2006 <david@coova.com>
- 1.0-coova.3 release
* Thu Mar 25 2004 <support@chillispot.org>
- Initial release.
/conf/rpms/rpm-build-howto
1,19 → 1,35
Création des RPM spécifiques pour Alcasar
**** Coova-chilli *****
 
**** 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
- récupérer le 'tarball' de la dernière version de coova-chilli. Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make)
- copier ce tarball dans ~/rpmbuil/SOURCES/
- adaptation du fichier .spec (version, packager, commentaires, etc.) +
- suppression de '--with-openssl \' à la ligne 104
- affectation des fichiers "header" dans le RPM coova-devel à la ligne 171
- adaptation du patch Mandriva :
- l'ancien patch n'est plus nécessaire
- cependant, un nouveau est nécessaire pour supprimer l'option de compilation "-Werror" qui spécifie au compilateur de traiter les warning comme des erreurs
- si tout est ok, les RPMs sont créés dans le répertoire ~/rpmbuild/RPMS. Supprimer ces RPM
 
**** Coova-chilli *****
- récupérer le 'tarball' de la dernière version de coova-chilli.
- Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make)
- tester l'install en tant que root (make install). Tout est dans /usr/local/sbin|etc|share|... désisntaller par "make uninstall"
- copier le tarball dans ~/rpmbuil/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 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/SOURCE 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)
### fin pour version antérieur à 1.2.5 de coova ###
### pour version 1.2.6 de coova ####
- copier .spec redhat du répertoire "distro" de l'archive décompressée dans ~rpmbuild/SPEC et l'adaptater (version, packager, commentaires, etc.)
- ajouter en première ligne "%define _disable_ld_no_undefined 1"
- se positionner dans rpmbuild/SPEC et lancer la génération du RPM en supprimant le support ssl (rpmbuild -ba coova-chilli.spec --without ssl)
### fin pour version 1.2.6 de coova ####
 
**** HAVP ****
- récupérer le tarball de la dernière version d'HAVP. Le décompresser dans un répertoire et tester la compilation traditionnelle (./configure + make)
- copier ce tarball dans ~/rpmbuil/SOURCES/
/conf/havp-init
70,7 → 70,7
 
case "$1" in
start)
if [ x"$USE_LOOPBACK" = x"true" ] && ! [ "`mount | grep ^$havp_loopback`" ]; then
if ! [ "`mount | grep ^$havp_loopback`" ]; then
echo -n "Mounting $havp_loopback under $havp_mountpoint ..."
mount -t tmpfs -o mand,noatime,size=50m,nosuid,noexec $havp_loopback $havp_mountpoint
chown -R havp:havp $havp_mountpoint
/scripts/alcasar-urpmi.sh
41,10 → 41,10
MIRRORLIST="http://ftp.free.fr/pub/Distributions_Linux/MandrivaLinux/official/$VERSION/$ARCH"
############################
urpmi.removemedia -a
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main /media/main/release
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST main_updates /media/main/updates
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST contrib /media/contrib/release
urpmi.addmedia --probe-synthesis --mirrorlist $MIRRORLIST contrib_updates /media/contrib/updates
urpmi.addmedia --wget --probe-synthesis --mirrorlist $MIRRORLIST main /media/main/release
urpmi.addmedia --wget --update --probe-synthesis --mirrorlist $MIRRORLIST main_updates /media/main/updates
urpmi.addmedia --wget --probe-synthesis --mirrorlist $MIRRORLIST contrib /media/contrib/release
urpmi.addmedia --wget --update --probe-synthesis --mirrorlist $MIRRORLIST contrib_updates /media/contrib/updates
nb_repository=`cat /etc/urpmi/urpmi.cfg|grep mirrorlist|wc -l`
if [ "$nb_repository" != "4" ]
then
/scripts/sbin/alcasar-uninstall.sh
108,7 → 108,7
then
$SED "/havp/d" /etc/fstab && echo -n "1, "
[ -e /etc/havp/havp.config.default ] && mv /etc/havp/havp.config.default /etc/havp/havp.config && echo -n "2, "
userdel -r havp && echo -n "3"
userdel -r havp 2>/dev/null && echo -n "3"
else echo -n "non installé"
fi
sleep 1