Project

General

Profile

Actions

Bug #868

open

Makefile[.in] doesn't use its own INSTALL variable definition

Added by Mark Solaris about 9 years ago. Updated about 3 years ago.

Status:
New
Priority:
Normal
Target version:
Affected Versions:
Effort:
Difficulty:
Label:

Description

When doing a 'gmake install' the generated Makefile is using whatever 'install' is in your path, on Solaris that can invoke /etc/install which gives pretty weird results.

This alters the 'install' commands in Makefile.in to be ${INSTALL} instead which is defined earlier in the file.

--- suricata-1.4.3/Makefile.in.orig     Tue Jul  9 13:52:14 2013
+++ suricata-1.4.3/Makefile.in  Tue Jul  9 13:52:52 2013
@@ -810,22 +810,22 @@
 install-full: install install-conf install-rules

 install-conf:
-       install -d "$(e_sysconfdir)" 
-       @test -e "$(e_sysconfdir)/suricata.yaml" || install -m 600 "$(top_srcdir)/suricata.yaml" "$(e_sysconfdir)" 
-       @test -e "$(e_sysconfdir)/classification.config" || install -m 600 "$(top_srcdir)/classification.config" "$(e_sysconfdir)" 
-       @test -e "$(e_sysconfdir)/reference.config" || install -m 600 "$(top_srcdir)/reference.config" "$(e_sysconfdir)" 
-       @test -e "$(e_sysconfdir)/threshold.config" || install -m 600 "$(top_srcdir)/threshold.config" "$(e_sysconfdir)" 
-       install -d "$(e_logfilesdir)" 
-       install -d "$(e_rundir)" 
-       install -m 770 -d "$(e_localstatedir)" 
+       ${INSTALL} -d "$(e_sysconfdir)" 
+       @test -e "$(e_sysconfdir)/suricata.yaml" || ${INSTALL} -m 600 "$(top_srcdir)/suricata.yaml" "$(e_sysconfdir)" 
+       @test -e "$(e_sysconfdir)/classification.config" || ${INSTALL} -m 600 "$(top_srcdir)/classification.config" "$(e_sysconfdir)" 
+       @test -e "$(e_sysconfdir)/reference.config" || ${INSTALL} -m 600 "$(top_srcdir)/reference.config" "$(e_sysconfdir)" 
+       @test -e "$(e_sysconfdir)/threshold.config" || ${INSTALL} -m 600 "$(top_srcdir)/threshold.config" "$(e_sysconfdir)" 
+       ${INSTALL} -d "$(e_logfilesdir)" 
+       ${INSTALL} -d "$(e_rundir)" 
+       ${INSTALL} -m 770 -d "$(e_localstatedir)" 

 install-rules:
-       install -d "$(e_sysconfrulesdir)" 
+       ${INSTALL} -d "$(e_sysconfrulesdir)" 
        wget -qO - http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz | tar -x -z -C "$(e_sysconfdir)" -f -
-       @test -e "$(e_sysconfrulesdir)decoder-events.rules" || install -m 600 "$(top_srcdir)/rules/decoder-events.rules" "$(e_sysconfrulesdir)" 
-       @test -e "$(e_sysconfrulesdir)stream-events.rules" || install -m 600 "$(top_srcdir)/rules/stream-events.rules" "$(e_sysconfrulesdir)" 
-       @test -e "$(e_sysconfrulesdir)smtp-events.rules" || install -m 600 "$(top_srcdir)/rules/smtp-events.rules" "$(e_sysconfrulesdir)" 
-       @test -e "$(e_sysconfrulesdir)http-events.rules" || install -m 600 "$(top_srcdir)/rules/http-events.rules" "$(e_sysconfrulesdir)" 
+       @test -e "$(e_sysconfrulesdir)decoder-events.rules" || ${INSTALL} -m 600 "$(top_srcdir)/rules/decoder-events.rules" "$(e_sysconfrulesdir)" 
+       @test -e "$(e_sysconfrulesdir)stream-events.rules" || ${INSTALL} -m 600 "$(top_srcdir)/rules/stream-events.rules" "$(e_sysconfrulesdir)" 
+       @test -e "$(e_sysconfrulesdir)smtp-events.rules" || ${INSTALL} -m 600 "$(top_srcdir)/rules/smtp-events.rules" "$(e_sysconfrulesdir)" 
+       @test -e "$(e_sysconfrulesdir)http-events.rules" || ${INSTALL} -m 600 "$(top_srcdir)/rules/http-events.rules" "$(e_sysconfrulesdir)" 
        @echo "" 
        @echo "You can now start suricata by running as root something like '$(bindir)/suricata -c $(e_sysconfdir)/suricata.yaml -i eth0'." 
        @echo "" 
Actions #1

Updated by Victor Julien almost 9 years ago

  • Target version set to TBD
Actions #2

Updated by Andreas Herz about 6 years ago

  • Assignee set to OISF Dev
Actions #3

Updated by Andreas Herz about 3 years ago

This shouldn't break any other build process right?

Actions #4

Updated by Victor Julien about 3 years ago

  • Subject changed from 1.4.3: Makefile[.in] doesn't use its own INSTALL variable definition to Makefile[.in] doesn't use its own INSTALL variable definition
  • Assignee changed from OISF Dev to Community Ticket

Patch should be through github against Makefile.am, as Makefile.in is generated from that.

Actions

Also available in: Atom PDF