xtables-addons-kmp-default

Good day.

I use xt_geoip for geoblocking traffic but unfortunately after every kernel version upgrade xt_geoip kernel modules break resulting into firewall collapse. Right now there is no official KMP package for 4.12.14-lp151.28.32-default, I had to rebuild xtables-addons and install the xt_* modules the next day after installing new kernel. There are various customization in place on my system (IDPS) and I badly need some way around in terms of dkms for xt_* modules. I couldn’t find a spec or srpm for xtables-addons-kmp-default or a dkms sample.

Please help me automate this and support my demand for releasing xtables-addons-kmp with every kernel upgrade.

Thanks!

Look for documentation related to your compiling that suggests support for DKMS.
If you can find that and follow the instructions (Might be as simple as just making sure ordinary DKMS packages are installed on your machine before compiling), then your system should automatically update and re-build your kernel modules whenever the kernel is updated.

TSU

I am working on dkms.conf template -


PACKAGE_NAME="xtables-addons" AUTOINSTALL="yes"

# Rules
BUILT_MODULE_LOCATION[0]=""
BUILT_MODULE_NAME[0]="xt_ACCOUNT"
DEST_MODULE_LOCATION[0]="/updates"

BUILT_MODULE_LOCATION[1]=""
BUILT_MODULE_NAME[1]="compat_xtables"
DEST_MODULE_LOCATION[1]="/updates"

BUILT_MODULE_LOCATION[2]=""
BUILT_MODULE_NAME[2]="xt_pknock"
DEST_MODULE_LOCATION[2]="/updates"

BUILT_MODULE_LOCATION[3]=""
BUILT_MODULE_NAME[3]="xt_CHAOS"
DEST_MODULE_LOCATION[3]="/updates"

BUILT_MODULE_LOCATION[4]=""
BUILT_MODULE_NAME[4]="xt_DELUDE"
DEST_MODULE_LOCATION[4]="/updates"

BUILT_MODULE_LOCATION[5]=""
BUILT_MODULE_NAME[5]="xt_DHCPMAC"
DEST_MODULE_LOCATION[5]="/updates"

BUILT_MODULE_LOCATION[6]=""
BUILT_MODULE_NAME[6]="xt_DNETMAP"
DEST_MODULE_LOCATION[6]="/updates"

BUILT_MODULE_LOCATION[7]=""
BUILT_MODULE_NAME[7]="xt_IPMARK"
DEST_MODULE_LOCATION[7]="/updates"

BUILT_MODULE_LOCATION[8]=""
BUILT_MODULE_NAME[8]="xt_LOGMARK"
DEST_MODULE_LOCATION[8]="/updates"

BUILT_MODULE_LOCATION[9]=""
BUILT_MODULE_NAME[9]="xt_SYSRQ"
DEST_MODULE_LOCATION[9]="/updates"

BUILT_MODULE_LOCATION[10]=""
BUILT_MODULE_NAME[10]="xt_TARPIT"
DEST_MODULE_LOCATION[10]="/updates"

BUILT_MODULE_LOCATION[11]=""
BUILT_MODULE_NAME[11]="xt_condition"
DEST_MODULE_LOCATION[11]="/updates"

BUILT_MODULE_LOCATION[12]=""
BUILT_MODULE_NAME[12]="xt_fuzzy"
DEST_MODULE_LOCATION[12]="/updates"

BUILT_MODULE_LOCATION[13]=""
BUILT_MODULE_NAME[13]="xt_geoip"
DEST_MODULE_LOCATION[13]="/updates"

BUILT_MODULE_LOCATION[14]=""
BUILT_MODULE_NAME[14]="xt_iface"
DEST_MODULE_LOCATION[14]="/updates"

BUILT_MODULE_LOCATION[15]=""
BUILT_MODULE_NAME[15]="xt_ipp2p"
DEST_MODULE_LOCATION[15]="/updates"

BUILT_MODULE_LOCATION[16]=""
BUILT_MODULE_NAME[16]="xt_ipv4options"
DEST_MODULE_LOCATION[16]="/updates"

BUILT_MODULE_LOCATION[17]=""
BUILT_MODULE_NAME[17]="xt_length2"
DEST_MODULE_LOCATION[17]="/updates"

BUILT_MODULE_LOCATION[18]=""
BUILT_MODULE_NAME[18]="xt_lscan"
DEST_MODULE_LOCATION[18]="/updates"

BUILT_MODULE_LOCATION[19]=""
BUILT_MODULE_NAME[19]="xt_psd"
DEST_MODULE_LOCATION[19]="/updates"

BUILT_MODULE_LOCATION[20]=""
BUILT_MODULE_NAME[20]="xt_quota2"
DEST_MODULE_LOCATION[20]="/updates"

#BUILT_MODULE_LOCATION[21]=""
#BUILT_MODULE_NAME[21]="xt_ECHO"
#DEST_MODULE_LOCATION[21]="/updates"

I need help with dkms_tree, BUILDDIR, MAKE, etc variables. I have built some simple dkms.conf earlier but this one is little complex.

SUSE guarantees kernel ABI through all kernel updates for a single release. KMP for one kernel version must continue to be usable for all subsequent kernel updates. If it does not work, this is a bug which must be reported, not worked around using home-grown solution.

I need a functional system at all times since I have a “home-grown” development environment setup, can’t keep waiting for reporting bugs & subsequent fixes. I will file a PR but prefer some immediate work-around. The home-grown solutions work in the absence of repo packages. If I go by your suggestion, I will have to switch the OS since most of the networking & machine learning software I use is not ported on SUSE but I patched the code and installed it locally. The xtables-addons-kmp-default for the latest Leap kernel is built by someone but they have not provided a source package.

I attempted dkms build but it failed.

dkms.conf

PACKAGE_NAME="xtables-addons"
PACKAGE_VERSION="3.7"
AUTOINSTALL="yes"
MAKE[0]="'make' BUILD_KERNEL=${kernelver}"
CLEAN="make clean"


BUILT_MODULE_LOCATION[0]="ACCOUNT"
DEST_MODULE_LOCATION[0]="/updates"
BUILT_MODULE_NAME[0]="xt_ACCOUNT"

BUILT_MODULE_LOCATION[1]="pknock"
DEST_MODULE_LOCATION[1]="/updates"
BUILT_MODULE_NAME[1]="xt_pknock"

DEST_MODULE_LOCATION[2]="/updates"
BUILT_MODULE_NAME[2]="compat_xtables"

DEST_MODULE_LOCATION[3]="/updates"
BUILT_MODULE_NAME[3]="xt_CHAOS"

DEST_MODULE_LOCATION[4]="/updates"
BUILT_MODULE_NAME[4]="xt_condition"

DEST_MODULE_LOCATION[5]="/updates"
BUILT_MODULE_NAME[5]="xt_DELUDE"

DEST_MODULE_LOCATION[6]="/updates"
BUILT_MODULE_NAME[6]="xt_DHCPMAC"

DEST_MODULE_LOCATION[7]="/updates"
BUILT_MODULE_NAME[7]="xt_DNETMAP"

DEST_MODULE_LOCATION[8]="/updates"
BUILT_MODULE_NAME[8]="xt_fuzzy"

DEST_MODULE_LOCATION[9]="/updates"
BUILT_MODULE_NAME[9]="xt_geoip"

DEST_MODULE_LOCATION[10]="/updates"
BUILT_MODULE_NAME[10]="xt_iface"

DEST_MODULE_LOCATION[11]="/updates"
BUILT_MODULE_NAME[11]="xt_IPMARK"

DEST_MODULE_LOCATION[12]="/updates"
BUILT_MODULE_NAME[12]="xt_ipp2p"

DEST_MODULE_LOCATION[13]="/updates"
BUILT_MODULE_NAME[13]="xt_ipv4options"

DEST_MODULE_LOCATION[14]="/updates"
BUILT_MODULE_NAME[14]="xt_length2"

DEST_MODULE_LOCATION[15]="/updates"
BUILT_MODULE_NAME[15]="xt_LOGMARK"

DEST_MODULE_LOCATION[16]="/updates"
BUILT_MODULE_NAME[16]="xt_lscan"

DEST_MODULE_LOCATION[17]="/updates"
BUILT_MODULE_NAME[17]="xt_psd"

DEST_MODULE_LOCATION[18]="/updates"
BUILT_MODULE_NAME[18]="xt_quota2"

DEST_MODULE_LOCATION[19]="/updates"
BUILT_MODULE_NAME[19]="xt_SYSRQ"

DEST_MODULE_LOCATION[20]="/updates"
BUILT_MODULE_NAME[20]="xt_TARPIT"


make.log

[Thu Dec 05 02:02:08 root@linux-1vv0 /usr/src/xtables-addons-3.7] 
# cat /var/lib/dkms/xtables-addons/3.7/build/make.log     
DKMS make.log for xtables-addons-3.7 for kernel 4.12.14-lp151.28.32-default (x86_64)
Thu Dec  5 02:01:42 PST 2019
make  all-recursive
make[1]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build'
Making all in extensions
make[2]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions'
Xtables-addons 3.7 - Linux if  -n "" ]; then make -C  M=/usr/src/xtables-addons-3.7/extensions modules; fi;
make -f ../Makefile.iptrules all;
make[3]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions'
  CC     libxt_CHAOS.oo
  CCLD   libxt_CHAOS.so
  CC     libxt_DELUDE.oo
  CCLD   libxt_DELUDE.so
  CC     libxt_DHCPMAC.oo
  CCLD   libxt_DHCPMAC.so
  CC     libxt_dhcpmac.oo
  CCLD   libxt_dhcpmac.so
  CC     libxt_DNETMAP.oo
  CCLD   libxt_DNETMAP.so
  CC     libxt_ECHO.oo
  CCLD   libxt_ECHO.so
  CC     libxt_IPMARK.oo
  CCLD   libxt_IPMARK.so
  CC     libxt_LOGMARK.oo
  CCLD   libxt_LOGMARK.so
  CC     libxt_PROTO.oo
  CCLD   libxt_PROTO.so
  CC     libxt_SYSRQ.oo
  CCLD   libxt_SYSRQ.so
  CC     libxt_TARPIT.oo
  CCLD   libxt_TARPIT.so
  CC     libxt_condition.oo
  CCLD   libxt_condition.so
  CC     libxt_fuzzy.oo
  CCLD   libxt_fuzzy.so
  CC     libxt_geoip.oo
  CCLD   libxt_geoip.so
  CC     libxt_iface.oo
  CCLD   libxt_iface.so
  CC     libxt_ipp2p.oo
  CCLD   libxt_ipp2p.so
  CC     libxt_ipv4options.oo
  CCLD   libxt_ipv4options.so
  CC     libxt_length2.oo
  CCLD   libxt_length2.so
  CC     libxt_lscan.oo
  CCLD   libxt_lscan.so
  CC     libxt_psd.oo
  CCLD   libxt_psd.so
  CC     libxt_quota2.oo
  CCLD   libxt_quota2.so
  CC     libxt_gradm.oo
  CCLD   libxt_gradm.so
make[4]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/ACCOUNT'
depbase=`echo libxt_ACCOUNT_cl.lo | sed 's|^/]*$|.deps/&|;s|\.lo$||'`;\
/bin/sh ../../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I../..  -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64   -D_REENTRANT -I../../include -I/usr/src/xtables-addons-3.7/extensions  -Wall -Waggregate-return -Wmissing-declarations    -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2 -MT libxt_ACCOUNT_cl.lo -MD -MP -MF $depbase.Tpo -c -o libxt_ACCOUNT_cl.lo libxt_ACCOUNT_cl.c &&\
mv -f $depbase.Tpo $depbase.Plo
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64 -D_REENTRANT -I../../include -I/usr/src/xtables-addons-3.7/extensions -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -I/usr/include/iptables -g -O2 -MT libxt_ACCOUNT_cl.lo -MD -MP -MF .deps/libxt_ACCOUNT_cl.Tpo -c libxt_ACCOUNT_cl.c  -fPIC -DPIC -o .libs/libxt_ACCOUNT_cl.o
/bin/sh ../../libtool  --tag=CC   --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations       -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2   -o libxt_ACCOUNT_cl.la -rpath /usr/local/lib libxt_ACCOUNT_cl.lo  
libtool: link: gcc -shared  -fPIC -DPIC  .libs/libxt_ACCOUNT_cl.o    -g -O2   -Wl,-soname -Wl,libxt_ACCOUNT_cl.so.0 -o .libs/libxt_ACCOUNT_cl.so.0.0.0
libtool: link: (cd ".libs" && rm -f "libxt_ACCOUNT_cl.so.0" && ln -s "libxt_ACCOUNT_cl.so.0.0.0" "libxt_ACCOUNT_cl.so.0")
libtool: link: (cd ".libs" && rm -f "libxt_ACCOUNT_cl.so" && ln -s "libxt_ACCOUNT_cl.so.0.0.0" "libxt_ACCOUNT_cl.so")
libtool: link: ( cd ".libs" && rm -f "libxt_ACCOUNT_cl.la" && ln -s "../libxt_ACCOUNT_cl.la" "libxt_ACCOUNT_cl.la" )
depbase=`echo iptaccount.o | sed 's|^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../..  -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64    -D_REENTRANT -I../../include -I/usr/src/xtables-addons-3.7/extensions  -Wall -Waggregate-return -Wmissing-declarations    -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2 -MT iptaccount.o -MD -MP -MF $depbase.Tpo -c -o iptaccount.o iptaccount.c &&\
mv -f $depbase.Tpo $depbase.Po
/bin/sh ../../libtool  --tag=CC   --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations       -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2   -o iptaccount iptaccount.o libxt_ACCOUNT_cl.la 
libtool: link: gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -I/usr/include/iptables -g -O2 -o .libs/iptaccount iptaccount.o  ./.libs/libxt_ACCOUNT_cl.so
make -f ../../Makefile.iptrules all;
make[5]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/ACCOUNT'
  CC     libxt_ACCOUNT.oo
  CCLD   libxt_ACCOUNT.so
make[5]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/ACCOUNT'
make[4]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/ACCOUNT'
make[4]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/pknock'
depbase=`echo pknlusr.o | sed 's|^/]*$|.deps/&|;s|\.o$||'`;\
gcc -DHAVE_CONFIG_H -I. -I../..  -D_LARGEFILE_SOURCE=1 -D_LARGE_FILES -D_FILE_OFFSET_BITS=64    -D_REENTRANT -I../../include -I/usr/src/xtables-addons-3.7/extensions  -Wall -Waggregate-return -Wmissing-declarations    -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2 -MT pknlusr.o -MD -MP -MF $depbase.Tpo -c -o pknlusr.o pknlusr.c &&\
mv -f $depbase.Tpo $depbase.Po
/bin/sh ../../libtool  --tag=CC   --mode=link gcc -Wall -Waggregate-return -Wmissing-declarations       -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes     -Winline -pipe -I/usr/include/iptables -g -O2   -o pknlusr pknlusr.o  
libtool: link: gcc -Wall -Waggregate-return -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wshadow -Wstrict-prototypes -Winline -pipe -I/usr/include/iptables -g -O2 -o pknlusr pknlusr.o 
make -f ../../Makefile.iptrules all;
make[5]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/pknock'
  CC     libxt_pknock.oo
  CCLD   libxt_pknock.so
make[5]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/pknock'
make[4]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions/pknock'
make[3]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions'
make[2]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/extensions'
Making all in geoip
make[2]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build/geoip'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build/geoip'
make[2]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build'
make -f Makefile.mans all;
make[3]: Entering directory '/var/lib/dkms/xtables-addons/3.7/build'
for ext in ./extensions/libxt_condition.man ./extensions/libxt_dhcpmac.man ./extensions/libxt_fuzzy.man ./extensions/libxt_geoip.man ./extensions/libxt_gradm.man ./extensions/libxt_iface.man ./extensions/libxt_ipp2p.man ./extensions/libxt_ipv4options.man ./extensions/libxt_length2.man ./extensions/libxt_lscan.man ./extensions/libxt_psd.man ./extensions/libxt_quota2.man ./extensions/pknock/libxt_pknock.man; do name="${ext%.man}"; name="${name##*/libxt_}"; if  -f "$ext" ]; then echo ".SS $name"; cat "$ext" || exit $?; continue; fi; done >matches.man;
for ext in ./extensions/ACCOUNT/libxt_ACCOUNT.man ./extensions/libxt_CHAOS.man ./extensions/libxt_DELUDE.man ./extensions/libxt_DHCPMAC.man ./extensions/libxt_DNETMAP.man ./extensions/libxt_ECHO.man ./extensions/libxt_IPMARK.man ./extensions/libxt_LOGMARK.man ./extensions/libxt_PROTO.man ./extensions/libxt_SYSRQ.man ./extensions/libxt_TARPIT.man; do name="${ext%.man}"; name="${name##*/libxt_}"; if  -f "$ext" ]; then echo ".SS $name"; cat "$ext" || exit $?; continue; fi; done >targets.man;
sed -e '/@MATCHES@/ r matches.man' -e '/@TARGET@/ r targets.man' xtables-addons.8.in >xtables-addons.8;
make[3]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build'
make[2]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build'
make[1]: Leaving directory '/var/lib/dkms/xtables-addons/3.7/build'


Please help.

I forgot to add dkms build output.

[Thu Dec 05 02:22:06 root@linux-1vv0 /usr/src/xtables-addons-3.7] 
# sudo dkms build -m xtables-addons -v 3.7

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.12.14-lp151.28.32-default...
Error!  Build of xt_ACCOUNT.ko failed for: 4.12.14-lp151.28.32-default (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/xtables-addons/3.7/build/ for more information.


I fix this issue, now dkms build completes without any hassle.

dkms.conf for xtables-addons-3.5


PACKAGE_NAME="xtables-addons"
PACKAGE_VERSION="3.5"
BDIR="$dkms_tree/${PACKAGE_NAME}/${PACKAGE_VERSION}/build"
MAKEARGS=" -C $kernel_source_dir M=${BDIR}/extensions XA_ABSTOPSRCDIR=${BDIR} XA_TOPSRCDIR=${BDIR} V=1"
CLEAN="make ${MAKEARGS} clean"
MAKE="make ${MAKEARGS} modules ; find ${BDIR} -name '*.ko' -exec mv -v {} ${BDIR} \;"
AUTOINSTALL="yes"

BUILT_MODULE_LOCATION[0]=""
BUILT_MODULE_NAME[0]="xt_ACCOUNT"
DEST_MODULE_LOCATION[0]="/updates"

BUILT_MODULE_LOCATION[1]=""
BUILT_MODULE_NAME[1]="compat_xtables"
DEST_MODULE_LOCATION[1]="/updates"

BUILT_MODULE_LOCATION[2]=""
BUILT_MODULE_NAME[2]="xt_pknock"
DEST_MODULE_LOCATION[2]="/updates"

BUILT_MODULE_LOCATION[3]=""
BUILT_MODULE_NAME[3]="xt_CHAOS"
DEST_MODULE_LOCATION[3]="/updates"

BUILT_MODULE_LOCATION[4]=""
BUILT_MODULE_NAME[4]="xt_DELUDE"
DEST_MODULE_LOCATION[4]="/updates"

BUILT_MODULE_LOCATION[5]=""
BUILT_MODULE_NAME[5]="xt_DHCPMAC"
DEST_MODULE_LOCATION[5]="/updates"

BUILT_MODULE_LOCATION[6]=""
BUILT_MODULE_NAME[6]="xt_DNETMAP"
DEST_MODULE_LOCATION[6]="/updates"

BUILT_MODULE_LOCATION[7]=""
BUILT_MODULE_NAME[7]="xt_IPMARK"
DEST_MODULE_LOCATION[7]="/updates"

BUILT_MODULE_LOCATION[8]=""
BUILT_MODULE_NAME[8]="xt_LOGMARK"
DEST_MODULE_LOCATION[8]="/updates"

BUILT_MODULE_LOCATION[9]=""
BUILT_MODULE_NAME[9]="xt_SYSRQ"
DEST_MODULE_LOCATION[9]="/updates"

BUILT_MODULE_LOCATION[10]=""
BUILT_MODULE_NAME[10]="xt_TARPIT"
DEST_MODULE_LOCATION[10]="/updates"

BUILT_MODULE_LOCATION[11]=""
BUILT_MODULE_NAME[11]="xt_condition"
DEST_MODULE_LOCATION[11]="/updates"

BUILT_MODULE_LOCATION[12]=""
BUILT_MODULE_NAME[12]="xt_fuzzy"
DEST_MODULE_LOCATION[12]="/updates"

BUILT_MODULE_LOCATION[13]=""
BUILT_MODULE_NAME[13]="xt_geoip"
DEST_MODULE_LOCATION[13]="/updates"

BUILT_MODULE_LOCATION[14]=""
BUILT_MODULE_NAME[14]="xt_iface"
DEST_MODULE_LOCATION[14]="/updates"

BUILT_MODULE_LOCATION[15]=""
BUILT_MODULE_NAME[15]="xt_ipp2p"
DEST_MODULE_LOCATION[15]="/updates"

BUILT_MODULE_LOCATION[16]=""
BUILT_MODULE_NAME[16]="xt_ipv4options"
DEST_MODULE_LOCATION[16]="/updates"

BUILT_MODULE_LOCATION[17]=""
BUILT_MODULE_NAME[17]="xt_length2"
DEST_MODULE_LOCATION[17]="/updates"

BUILT_MODULE_LOCATION[18]=""
BUILT_MODULE_NAME[18]="xt_lscan"
DEST_MODULE_LOCATION[18]="/updates"

BUILT_MODULE_LOCATION[19]=""
BUILT_MODULE_NAME[19]="xt_psd"
DEST_MODULE_LOCATION[19]="/updates"

BUILT_MODULE_LOCATION[20]=""
BUILT_MODULE_NAME[20]="xt_quota2"
DEST_MODULE_LOCATION[20]="/updates"

BUILT_MODULE_LOCATION[21]=""
BUILT_MODULE_NAME[21]="xt_ECHO"
DEST_MODULE_LOCATION[21]="/updates"


dkms build -m xtables-addons/3.5           

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=4.12.14-lp151.28.32-default -C /lib/modules/4.12.14-lp151.28.32-default/build M=/var/lib/dkms/xtables-addons/3.5/build/extensions XA_ABSTOPSRCDIR=/var/lib/dkms/xtables-addons/3.5/build XA_TOPSRCDIR=/var/lib/dkms/xtables-addons/3.5/build V=1 modules ; find /var/lib/dkms/xtables-addons/3.5/build -name '*.ko' -exec mv -v {} /var/lib/dkms/xtables-addons/3.5/build \;........
cleaning build area...

DKMS: build completed.