Rev 2741 | Rev 2743 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log
Rev | Author | Line No. | Line |
---|---|---|---|
1939 | richard | 1 | By Rexy |
2 | |||
3 | ALCASAR need the following programs that don't be included as RPM in Mageia : |
||
2520 | rexy | 4 | - coovachilli (the captive portal) |
5 | - havp (http antivirus proxy) |
||
6 | - ipt_netflow kernel module (netflow log system) |
||
7 | - wkhtmltopdf (html to pdf renderer) |
||
8 | - nfdump (collector & processor for netflow data) |
||
1939 | richard | 9 | |
10 | This howto explains how to build RPM of these programs in order to keep the distribution clean |
||
11 | |||
12 | **** Prepare the RPM creation structure *** |
||
2520 | rexy | 13 | - upadate your system : urpmi --auto-update |
1939 | richard | 14 | - install the following RPMs "kernel-userspace-headers", "rpm-build", "gengetopt", "libtool" packages |
15 | - create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp} |
||
16 | - Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory |
||
17 | |||
2562 | rexy | 18 | **** For Coova-chilli ***** |
1939 | richard | 19 | - retrieve the last tarball of coova-chilli (or the svn archive). |
2245 | richard | 20 | - Untar it and test the compilation process ("sh ./bootstrap", "./configure --enable-json --enable-libjson --enable-mdns", "make", "make install"). |
1939 | richard | 21 | - all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean"). |
2245 | richard | 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/. |
1939 | richard | 23 | - copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC |
2245 | richard | 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) |
1939 | richard | 25 | |
26 | INFO : .spec modifications since Redhat RPM : |
||
2562 | rexy | 27 | - add this 1st line : "%define _disable_ld_no_undefined 1" to avoid errors for unused variables |
28 | - for 64b version, add 2 lines with "lib64" directory on the section removing statics binaries (rm -rf $RPM_BUILD_ROOT/usr/lib/*.la) |
||
2656 | rexy | 29 | - remove from the archive the unuused files for ALCASAR (wpad.dat, wwwdir, etc. via la directive '%exclude') |
30 | - change %make (deprecated) with %make_build and change %makeinstall (deprecated) with %make_install |
||
1939 | richard | 31 | |
2562 | rexy | 32 | **** For HAVP **** |
1939 | richard | 33 | - install the RPM of clamav-devel |
34 | - download, uncompress, and test the compilation of the last version of havp (./configure + make) |
||
35 | - copy the tarball in ~/rpmbuild/SOURCES/. copy the patch file ("havp-init.diff") in ~/rpmbuil/SOURCE. Copy and adapt the .spec in ~/rpmbuid/SPEC |
||
2741 | rexy | 36 | - rpmbuild -bb ***.spec |
1939 | richard | 37 | |
2562 | rexy | 38 | **** For ipt_netflow **** |
39 | - Must be complied on a system which runs the target kernel. So install manually the targeted kernel and reboot (ipt_NETFLOW will not load during this reboot) |
||
40 | - install the RPMs "kernel-server-devel" (choose the targeted kernel), "lib64iptables-devel (or libiptables-devel in 32b arch)" |
||
2730 | rexy | 41 | - download, uncompress and test the compilation of the last version of ipt-netflow (./configure --disable-dkms --disable-snmp-agent, 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) |
42 | - test the module : go to the directory of sources and try to load it (depmod + modprobe ipt_NETFLOW), look at "journalctrl -f" and run "lsmod|grep ipt_NETFLOW" to verify if it's loaded. Run "alcasar-iptables.sh" to reload netfilter rules (no errors should appear). Run "alcasar-daemon.sh" to verify that all is ok. |
||
2682 | rexy | 43 | - if all is ok, copy the tarball in rpmbuild/SOURCES. Copy and adapt the .spec in rpmbuild/SPECS (change the versions of kernel and rpm). |
2520 | rexy | 44 | - change to the directory ~/pmbuild/SPEC and run "rpmbuild -bb ****.spec" |
2562 | rexy | 45 | - install the fresh rpm (urpmi) and load ALCASAR iptables rules (alcasar-iptables.sh). Great job ;-) |
2101 | richard | 46 | |
2562 | rexy | 47 | **** For wkhtmltopdf **** |
2169 | tom.houday | 48 | - 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. |
49 | - build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec |
||
2427 | tom.houday | 50 | |
2562 | rexy | 51 | **** For nfdump **** |
2427 | tom.houday | 52 | - install lib64rrdtool-devel, bison, flex |