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
|