Subversion Repositories ALCASAR

Rev

Rev 2821 | Rev 2940 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2821 Rev 2925
Line 10... Line 10...
10
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
11
The compilation options are set in /etc/rpm/macro.d/*
11
The compilation options are set in /etc/rpm/macro.d/*
12
 
12
 
13
****  Prepare the RPM creation structure ***
13
****  Prepare the RPM creation structure ***
14
- upadate your system : urpmi --auto-update
14
- upadate your system : urpmi --auto-update
15
- install the following RPMs "kernel-userspace-headers", "rpm-build", "gengetopt", "libtool" packages
15
- install the following RPMs : urpmi kernel-userspace-headers rpm-build gengetopt libtool
16
- create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
16
- create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
17
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
17
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
18
 
18
 
19
****  For Coova-chilli   *****
19
****  For Coova-chilli   *****
20
- install the following RPMs "lib64openssl-devel", "lib64json-c-devel"
20
- install the following RPMs "lib64openssl-devel", "lib64json-c-devel"
21
- retrieve the last tarball of coova-chilli (or the svn archive).
21
- retrieve the last tarball of coova-chilli (or the svn archive).
22
- Untar it and test the compilation process ("sh ./bootstrap", "./configure --disable-static --enable-shared --enable-largelimits --enable-chilliredir --enable-chilliscript --with-poll --enable-dhcpopt --enable-libjson --enable-json 	--enable-mdns --with-openssl", "make", "make install").
22
- Untar it and test the compilation process ("sh ./bootstrap", "./configure --disable-static --enable-shared --enable-largelimits --enable-chilliredir --enable-chilliscript --with-poll --enable-dhcpopt --enable-libjson --enable-json 	--enable-mdns --with-openssl", "make", "make install").
23
- all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean").
23
- all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean").
24
- rename the directory and compress it (ie : tar -cvzf coova-chilli-1.x.tar.gz coova-chilli-1.x). Copy this tarball in the directory ~/rpmbuild/SOURCES/.
24
- rename the directory and compress it (ie : tar -cvzf coova-chilli-1.x.tgz coova-chilli-1.x). Copy this tarball in the directory ~/rpmbuild/SOURCES/.
25
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
25
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
26
- Add the option -Wno-format-truncation à la ligne "%Werror_cflags" du fichier /etc/rpm/macro.d/20build.macros (avoid the following warning : https://github.com/coova/coova-chilli/issues/509) 
26
- Add the option -Wno-format-truncation à la ligne "%Werror_cflags" du fichier /etc/rpm/macro.d/20build.macros (avoid the following warning : https://github.com/coova/coova-chilli/issues/509) 
27
- change to the directory ~/pmbuild/SPEC and run the RPM build process : "rpmbuild -bb coova-chilli.spec" (or rpmbuild -ba to create also the SRPMS) 
27
- change to the directory ~/pmbuild/SPEC and run the RPM build process : "rpmbuild -bb coova-chilli.spec" (or rpmbuild -ba to create also the SRPMS) 
28
 
28
 
29
INFO : .spec tunning :
29
INFO : .spec tunning :
Line 42... Line 42...
42
****  For ipt_netflow  ****
42
****  For ipt_netflow  ****
43
- 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) 
43
- 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) 
44
- install the RPMs "kernel-server-devel" (choose the targeted kernel), "lib64iptables-devel (or libiptables-devel in 32b arch)"
44
- install the RPMs "kernel-server-devel" (choose the targeted kernel), "lib64iptables-devel (or libiptables-devel in 32b arch)"
45
- 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)
45
- 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)
46
- test the module : go to the directory of sources and try to load it (modprobe ipt_NETFLOW), look at "journalctrl -f" and run "lsmod|grep 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.
46
- test the module : go to the directory of sources and try to load it (modprobe ipt_NETFLOW), look at "journalctrl -f" and run "lsmod|grep 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.
-
 
47
- if all is ok, copy the tarball in rpmbuild/SOURCES.
47
- 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).
48
- Copy and adapt the .spec in rpmbuild/SPECS (change the versions of kernel and rpm).
48
- change to the directory ~/pmbuild/SPEC and run "rpmbuild -bb ****.spec"
49
- Run "rpmbuild -bb ****.spec"
49
- install the fresh rpm (urpmi) and load ALCASAR iptables rules (alcasar-iptables.sh). Great job ;-) 
50
- install the fresh rpm (urpmi) and load ALCASAR iptables rules (alcasar-iptables.sh). Great job ;-) 
50
 
51
 
51
**** For wkhtmltopdf --> no longer need (included in Mageia7) ****
52
**** For wkhtmltopdf --> no longer need (included in Mageia7) ****
52
- 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.
53
- 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.
53
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec
54
- build with: rpmbuild -bb --clean wkhtmltopdf-%{version}-%{release}.spec