Subversion Repositories ALCASAR

Rev

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

Rev 2427 Rev 2483
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
5
  - havp
5
  - havp
6
  - netflow kernel module
6
  - netflow kernel module
7
 
7
 
8
This howto explains how to build RPM of these programs in order to keep the distribution clean
8
This howto explains how to build RPM of these programs in order to keep the distribution clean
9
 
9
 
10
****  Prepare the RPM creation structure ***
10
****  Prepare the RPM creation structure ***
11
- install the following RPMs "kernel-userspace-headers", "rpm-build", "gengetopt", "libtool" packages
11
- 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}
12
- 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
13
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
14
 
14
 
15
****  Coova-chilli   *****
15
****  Coova-chilli   *****
16
- retrieve the last tarball of coova-chilli (or the svn archive).
16
- 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").
17
- 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").
18
- 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/.
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/.
20
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
20
- 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) 
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) 
22
 
22
 
23
INFO : .spec modifications since Redhat RPM :
23
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
24
	- 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)
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)
26
	- exclure de l'archive les fichiers inutiles pour ALCASAR (wpad.dat, wwwdir, etc. via la directive '%exclude')
26
	- exclure de l'archive les fichiers inutiles pour ALCASAR (wpad.dat, wwwdir, etc. via la directive '%exclude')
27
 
27
 
28
**** HAVP ****
28
**** HAVP ****
29
- install the RPM of clamav-devel
29
- install the RPM of clamav-devel
30
- download, uncompress, and test the compilation of the last version of havp (./configure + make)
30
- 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
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
32
- rpmbuild -dd ***.spec
32
- rpmbuild -dd ***.spec
33
 
33
 
34
****  ipt_netflow  ****
34
****  ipt_netflow  ****
35
- Must be complied on a system which runs the target kernel !
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) 
36
- install the RPMs "kernel-server-devel", "lib64iptables-devel (or libiptables-devel in 32b arch)"
36
- 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)
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)
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
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
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.
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.
40
- rpmbuild -bb ****.spec
40
- rpmbuild -bb ****.spec
41
 
41
 
42
**** wkhtmltopdf ****
42
**** 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.
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.
44
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec
44
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec
45
 
45
 
46
**** nfdump ****
46
**** nfdump ****
47
- install lib64rrdtool-devel, bison, flex
47
- install lib64rrdtool-devel, bison, flex
48
 
48