Subversion Repositories ALCASAR

Rev

Rev 2483 | Rev 2562 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2483 Rev 2520
1
By Rexy
1
By Rexy
2
 
2
 
3
ALCASAR need the following programs that don't be included as RPM in Mageia :
3
ALCASAR need the following programs that don't be included as RPM in Mageia :
4
  - coovachilli
4
  - coovachilli (the captive portal)
5
  - havp
5
  - havp (http antivirus proxy)
6
  - netflow kernel module
6
  - ipt_netflow kernel module (netflow log system)
-
 
7
  - wkhtmltopdf (html to pdf renderer)
-
 
8
  - nfdump (collector & processor for netflow data)
7
 
9
 
8
This howto explains how to build RPM of these programs in order to keep the distribution clean
10
This howto explains how to build RPM of these programs in order to keep the distribution clean
9
 
11
 
10
****  Prepare the RPM creation structure ***
12
****  Prepare the RPM creation structure ***
-
 
13
- upadate your system : urpmi --auto-update
11
- install the following RPMs "kernel-userspace-headers", "rpm-build", "gengetopt", "libtool" packages
14
- install the following RPMs "kernel-userspace-headers", "rpm-build", "gengetopt", "libtool" packages
12
- create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
15
- create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
13
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
16
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
14
 
17
 
15
****  Coova-chilli   *****
18
****  Coova-chilli   *****
16
- retrieve the last tarball of coova-chilli (or the svn archive).
19
- retrieve the last tarball of coova-chilli (or the svn archive).
17
- Untar it and test the compilation process ("sh ./bootstrap", "./configure --enable-json --enable-libjson --enable-mdns", "make", "make install").
20
- Untar it and test the compilation process ("sh ./bootstrap", "./configure --enable-json --enable-libjson --enable-mdns", "make", "make install").
18
- all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean").
21
- all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean").
19
- rename the directory and compress it (ie : tar -cvzf coova-chilli-1.4.tar.gz coova-chilli-1.4). Copy this tarball in the directory ~/rpmbuild/SOURCES/.
22
- rename the directory and compress it (ie : tar -cvzf coova-chilli-1.4.tar.gz coova-chilli-1.4). Copy this tarball in the directory ~/rpmbuild/SOURCES/.
20
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
23
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
21
- change to the directory ~/pmbuild/SPEC and run the RPM build process excluding 'ssl' : "rpmbuild -bb coova-chilli.spec" (or rpmbuild -ba to create also the SRPMS) 
24
- change to the directory ~/pmbuild/SPEC and run the RPM build process excluding 'ssl' : "rpmbuild -bb coova-chilli.spec" (or rpmbuild -ba to create also the SRPMS) 
22
 
25
 
23
INFO : .spec modifications since Redhat RPM :
26
INFO : .spec modifications since Redhat RPM :
24
	- ajouter en première ligne "%define _disable_ld_no_undefined 1" pour éviter les erreurs liées au variables inutisées
27
	- ajouter en première ligne "%define _disable_ld_no_undefined 1" pour éviter les erreurs liées au variables inutisées
25
	- 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)
28
	- 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)
26
	- exclure de l'archive les fichiers inutiles pour ALCASAR (wpad.dat, wwwdir, etc. via la directive '%exclude')
29
	- exclure de l'archive les fichiers inutiles pour ALCASAR (wpad.dat, wwwdir, etc. via la directive '%exclude')
27
 
30
 
28
**** HAVP ****
31
**** HAVP ****
29
- install the RPM of clamav-devel
32
- install the RPM of clamav-devel
30
- download, uncompress, and test the compilation of the last version of havp (./configure + make)
33
- download, uncompress, and test the compilation of the last version of havp (./configure + make)
31
- copy the tarball in ~/rpmbuild/SOURCES/. copy the patch file ("havp-init.diff") in ~/rpmbuil/SOURCE. Copy and adapt the .spec in ~/rpmbuid/SPEC
34
- copy the tarball in ~/rpmbuild/SOURCES/. copy the patch file ("havp-init.diff") in ~/rpmbuil/SOURCE. Copy and adapt the .spec in ~/rpmbuid/SPEC
32
- rpmbuild -dd ***.spec
35
- rpmbuild -dd ***.spec
33
 
36
 
34
****  ipt_netflow  ****
37
****  ipt_netflow  ****
35
- Must be complied on a system which runs the target kernel. So install manually the target kernel and reboot (ipt_NETFLOW will not load during this process) 
38
- Must be complied on a system which runs the target kernel. So install manually the target kernel and reboot (ipt_NETFLOW will not load during this process) 
36
- install the RPMs "kernel-server-devel", "lib64iptables-devel (or libiptables-devel in 32b arch)"
39
- install the RPMs "kernel-server-devel", "lib64iptables-devel (or libiptables-devel in 32b arch)"
37
- download, uncompress and test the conpilation of the last version of ipt-netflow (configure, make all install). The module is compiled in the same directory. The libs are copied in the /lib64/iptables (libip6t_NETFLOW.so & libipt_NETFLOW.so)
40
- download, uncompress and test the compilation of the last version of ipt-netflow (./configure, make all install). The module is compiled in the same directory. The libs are copied in the /lib64/iptables (libip6t_NETFLOW.so & libipt_NETFLOW.so)
38
- test the module : go to the directory of source and try to load it (modprobe ipt_NETFLOW), "lsmod" to verify that it's loaded, "alcasar-iptables.sh" to test the iptables rules without errors
41
- test the module : go to the directory of source and try to load it (depmod + modprobe ipt_NETFLOW), "lsmod|grep ipt_NETFLOW" to verify that it's loaded, "alcasar-iptables.sh" to to reload netfilter rules (no errors should appear)
39
- if all is ok, copy the tarball in rpmbuild/SOURCES. Copy the .spec in rpmbuild/SPECS. In this file, change the kernel number and uncoment the lines to match the architecture.
42
- if all is ok, copy the tarball in rpmbuild/SOURCES. Copy the .spec in rpmbuild/SPECS. In this file, adapt the kernel number.
40
- rpmbuild -bb ****.spec
43
- change to the directory ~/pmbuild/SPEC and run "rpmbuild -bb ****.spec"
41
 
44
 
42
**** wkhtmltopdf ****
45
**** wkhtmltopdf ****
43
- download the archive of the binaries of the last version (https://wkhtmltopdf.org/downloads.html) in ~/rpmbuild/SOURCES/wkhtmltox-%{version}_linux-generic-amd64.tar.xz.
46
- download the archive of the binaries of the last version (https://wkhtmltopdf.org/downloads.html) in ~/rpmbuild/SOURCES/wkhtmltox-%{version}_linux-generic-amd64.tar.xz.
44
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec
47
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec
45
 
48
 
46
**** nfdump ****
49
**** nfdump ****
47
- install lib64rrdtool-devel, bison, flex
50
- install lib64rrdtool-devel, bison, flex
48
 
51