Subversion Repositories ALCASAR

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3294 → Rev 3327

/rpms/ipt-netflow-2.6.spec
1,9 → 1,9
%define kversion 6.6.88-server-3.mga9
%define kversion 6.6.120-server-1.mga9
%define debug_package %{nil}
%define _build_id_links none
Name: ipt-netflow
Version: 2.6
Release: %mkrel 5
Release: %mkrel 6
Summary: Netflow iptables module for Linux kernel
License: GPLv2
Packager: Richard REY (Rexy)
46,6 → 46,8
/lib/modules/%kversion/updates/ipt_NETFLOW.ko
 
%changelog
* Sat Mar 14 2026 Richard REY <Rexy>
- Version 2.6 for the kernel 6.6.120 (ALCASAR 3.8)
* Sun May 18 2025 Richard REY <Rexy>
- Version 2.6 for the kernel 6.6.88 (ALCASAR 3.7.2)
* Tue Nov 14 2023 Richard REY <Rexy>
/rpms/rpm-build-howto
1,6 → 1,6
By Rexy
 
ALCASAR need the following programs that don't be included as RPM in Mageia :
ALCASAR needs the following programs that don't be included as RPM in Mageia :
- coovachilli (the captive portal)
- ipt_netflow kernel module (netflow log system)
- wkhtmltopdf (html to pdf renderer)
9,20 → 9,21
 
This howto explains how to build RPM of these programs in order to keep the distribution clean (no binary installed if not packaged)
The compilation options are set in /etc/rpm/macro.d/*
The .spec & RPM can be test with the tool "rpmlint"
The .spec & RPM can be tested with the tool "rpmlint"
The / directory should have 10G free (install an ALCASAR with 10G in /, /home/, /var, /tmp, )
 
**** Prepare the RPM creation structure ***
- update your system : urpmi --auto-update
- install the following RPMs : urpmi kernel-userspace-headers rpm-build gengetopt libtool
- create directories structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
- create directory structure in your home : mkdir -p ~/rpmbuild/{SRPMS,SOURCES,SPECS,tmp}
- Option : find the ".rpmmacros" file on mageia wiki (https://wiki.mageia.org/en/Packagers_RPM_tutorial) and copy it in your home directory
 
**** For Coova-chilli *****
- install the following RPMs "lib64openssl-devel", "lib64json-c-devel"
- retrieve the last git archive of coova-chilli (https://github.com/coova/coova-chilli).
- Unzip 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").
- all is in the /usr/local". Remove the instaled files ("make uninstall") and the binaries ("make clean").
- rename the directory (coova-chilli-1.x) and compress it (ie : tar -cvzf coova-chilli-1.x.tar.gz coova-chilli-1.x). Copy this tarball in the directory ~/rpmbuild/SOURCES/.
- retrieve the last git archive of coova-chilli (https://github.com/coova/coova-chilli)
- unzip 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").
- all is in the /usr/local". Remove the installed files ("make uninstall") and the binaries ("make clean")
- rename the directory (coova-chilli-1.x) and compress it (ie : tar -cvzf coova-chilli-1.x.tar.gz coova-chilli-1.x). Copy this tarball in the directory ~/rpmbuild/SOURCES/
- copy the SPEC file from the ALCASAR archive to the directory ~/rpmbuild/SPEC
- copy the .patch and SHA256* files in the directory ~/rpmbuild/SOURCES
//- 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)
31,7 → 32,7
INFO : .spec tunning :
- add this 1st line : "%define _disable_ld_no_undefined 1" to avoid errors for unused references (ld)
- add the line "automake --add-missing" before "make"
- for 64b version, add 2 lines with "lib64" directory in the section "removing statics binaries" (rm -rf $RPM_BUILD_ROOT/usr/lib/*.la)
- for 64b version, add 2 lines with "lib64" directory in the section "removing static binaries" (rm -rf $RPM_BUILD_ROOT/usr/lib/*.la)
- remove from the archive the unused files for ALCASAR (wpad.dat, wwwdir, etc.) via la directive '%exclude'
- change %make (deprecated) with %make_build and change %makeinstall (deprecated) with %make_install
 
42,10 → 43,10
- rpmbuild -bb ***.spec
 
**** For ipt_netflow ****
- Must be complied on a system which runs the target kernel. So install manually the targeted kernel and the same version of kernel-userspace-headers and reboot (ipt_NETFLOW will not load during this reboot)
- Must be compiled on a system which runs the target kernel. So install manually the targeted kernel and the same version of kernel-userspace-headers and reboot (ipt_NETFLOW will not load during this reboot)
- install the RPMs "kernel-server-devel" (choose the targeted kernel), "lib64iptables-devel"
- 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 (ipt_NETFLOW.ko). The libs are copied in the /lib64/iptables (libip6t_NETFLOW.so & libipt_NETFLOW.so)
- test the module : go to the directory of sources and try to load it (insmod ./ipt_NETFLOW.ko), look at "journalctrl -f" to check that the module is correctly loaded).
- test the module : try to load it (insmod ./ipt_NETFLOW.ko), look at "journalctrl -f" to check that the module is correctly loaded).
exemple :
mai 15 01:13:55 alcasar.lan kernel: ipt_NETFLOW: loading out-of-tree module taints kernel.
mai 15 01:13:55 alcasar.lan kernel: ipt_NETFLOW version 2.6, srcversion 9B0006338FF61FE7DC5507D
63,8 → 64,8
mai 15 01:14:06 alcasar.lan systemd[1]: systemd-hostnamed.service: Deactivated successfully.
 
- Run "alcasar-iptables.sh" to reload netfilter rules (no errors should appear). Run "alcasar-daemon.sh" to verify that all is ok.
- if all is ok, copy the tarball (ipt-netflow-x.y.tar.gz) in rpmbuild/SOURCES.
- Copy and adapt the .spec in rpmbuild/SPECS (change the versions of kernel, kernel source and Changelog).
- if all is ok, create & copy the tarball (ipt-netflow-x.y.tar.gz) in rpmbuild/SOURCES.
- Copy and adapt the .spec in rpmbuild/SPECS (change the kversion, Versions, Release and Changelog).
- Run "rpmbuild -bb ****.spec"
- install the fresh rpm (urpmi) and load ALCASAR iptables rules (alcasar-iptables.sh). Great job ;-)
 
/rpms/x86_64/ipt-netflow-2.6-5.mga9.x86_64.rpm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Deleted: svn:mime-type
-application/octet-stream
\ No newline at end of property
/rpms/x86_64/ipt-netflow-2.6-6.mga9.x86_64.rpm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property