From 8a1e8bbfdf47102bb9f25cf58d4f171b54124b2c Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Sat, 28 May 2016 12:26:49 +0100 Subject: [Feature] Allow static lua files in any parts of rspamd sources --- src/rspamadm/CMakeLists.txt | 4 +- src/rspamadm/lua_preprocess.pl | 86 ------------------------------------------ 2 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 src/rspamadm/lua_preprocess.pl (limited to 'src/rspamadm') diff --git a/src/rspamadm/CMakeLists.txt b/src/rspamadm/CMakeLists.txt index 65b8669bc..992e2a3aa 100644 --- a/src/rspamadm/CMakeLists.txt +++ b/src/rspamadm/CMakeLists.txt @@ -25,10 +25,10 @@ SET(RSPAMADMLUASRC INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) ADD_CUSTOM_TARGET(rspamadm_lua_preprocess ${PERL_EXECUTABLE} - "${CMAKE_CURRENT_SOURCE_DIR}/lua_preprocess.pl" + "${CMAKE_SOURCE_DIR}/lua_preprocess.pl" "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" - SOURCES ${RSPAMADMLUASRC} ${CMAKE_CURRENT_SOURCE_DIR}/lua_preprocess.pl) + SOURCES ${RSPAMADMLUASRC} ${CMAKE_SOURCE_DIR}/lua_preprocess.pl) IF (ENABLE_HYPERSCAN MATCHES "ON") LIST(APPEND RSPAMADMSRC "${CMAKE_SOURCE_DIR}/src/hs_helper.c") ENDIF() diff --git a/src/rspamadm/lua_preprocess.pl b/src/rspamadm/lua_preprocess.pl deleted file mode 100644 index d1e8f4689..000000000 --- a/src/rspamadm/lua_preprocess.pl +++ /dev/null @@ -1,86 +0,0 @@ -#!/usr/bin/env perl - -use warnings FATAL => 'all'; -use strict; -use Digest::MD5; - -my ( $in_dir, $out_dir ) = @ARGV; -my @files = <$in_dir/*.lua>; - -sub quote_file { - my ( $in, $out ) = @_; - - while (<$in>) { - if (/^--.USE\s*"(\S+)"$/) { - open( my $inc, '<', "$in_dir/$1.lua.in" ) - or die "missing include $1"; - quote_file( $inc, $out ); - } - else { - s/^\s*//; # remove unnecessary spaces at the beginning - next if /^--/; # skip comments - next if /^\s*$/; # skip empty lines - s/(.)/'$1',/g; # split as 'c', - s/\'\\\'/\'\\\\'/g; # escape backslashes - s/\'\'\'/\'\\\'\'/g; # escape single quotes - print $out "$_'\\n',"; - } - } -} - -sub digest_for_file { - my ($file) = @_; - - open( my $in, '<', $file ) or die "file missing"; - my $digest = Digest::MD5->new->addfile($in)->hexdigest; - - return $digest; -} - -sub changed { - my ( $file, $outfile ) = @_; - - open( my $out, '<', $outfile ) or return 1; - - my $in_checksum = digest_for_file($file); - my $ln = <$out>; - - if ( $ln =~ /^.*id:(\S+)\s.*$/ ) { - if ( $in_checksum ne $1 ) { - return 1; - } - else { - return 0; - } - } - - return 1; -} - -foreach my $file (@files) { - if ( $file =~ /([^\/.]+)(.lua)$/ ) { - my $fname = "$1$2"; - my $varname = "rspamadm_script_$1"; - my $definename = uc $varname; - my $outfile = "$out_dir/$fname.h"; - - if ( changed( $file, $outfile ) ) { - open( my $in, '<', $file ) or die "input missing"; - open( my $out, '>', $outfile ) or die "output missing"; - my $checksum = digest_for_file($file); - print $out <