patches to make argus 3.0 RC 21 compile under NetBSD pkgsrc

Christoph Badura bad at bsd.de
Tue Aug 15 18:29:08 EDT 2006


Carter,

yes, I did have problems with 'empty lines" in the Makefile command lines.
Some of the commands weren't executed.  When I saw the empty lines I figured
that must be a non-standard GNU-make extension and told the package system
to use GNU-make instead of the system make, but that only went so far.
So I figured I'd rather spend 15 minutes once to get rid of the non-standard
empty lines and solve the problem for good, GNU-make or not, rather than
having to waste time debugging the Makefiles until kingdom come.

I dunno why you say "until 6 years ago". SUSv3 states that empty or blank
lines separating command lines in Makefiles cannot be depended on to not
start a new entry.

Thanks for incorporating some of the patches, though!  However, some of that
wasn't done correctly.

In configure you still add -lnsl to LIBS when libwrap has been detected
and the OS is linux.  If it is only needed for libwrap it should be added
to V_WRAPDEP as adding random libraries to LIBS can cause compiling
conftest to fail.

In the radium Makefile you still have:

radium: radium.o $(LIB)

Well, LIB can't contain -lwrap or -lnsl because those files don't exist
in that directory and there are no instructions on how to make them, so
that will allways fail for a system that comes with a pre-installed
libwrap.

I have cleaned up the use of MFLAGS in the argus Makefile.in, too.
Shouldn't that be MAKEFLAGS, though? A standard make(1) doesn't know
about MFLAGS and the variable isn't initialized anywhere...

Below are my current patch sets against RC25 for the two pkgsrc packages.

Cheers,
--chris

-------------- next part --------------
$NetBSD$

--- Makefile.in.orig	2006-08-10 17:38:13.000000000 +0200
+++ Makefile.in
@@ -51,7 +51,7 @@ DISTFILES = COPYING ChangeLog INSTALL MA
 .c.o:
 	$(CC) -c $(CPPFLAGS) $(DEFS) $(CFLAGS) $<
 
-.PHONY: install installdirs
+.PHONY: install installdirs all
 
 all: force
 	@-for d in $(DIRS); \
@@ -60,34 +60,24 @@ all: force
 			$(MAKE) $(MFLAGS) ;\
 			echo "### Done with" `pwd`);\
 	done
-.PHONY: all
 
 install:  force
-	${MAKE} installdirs
+	$(MAKE) installdirs
 	[ -d $(DESTDIR)@prefix@ ] || \
 		(mkdir -p $(DESTDIR)@prefix@; chmod 755 $(DESTDIR)@prefix@)
-
-	[ -d $(DESTDIR)@sbindir@ ] || \
-		(mkdir -p $(DESTDIR)@sbindir@; chmod 755 $(DESTDIR)@sbindir@)
-
 	[ -d $(DESTDIR)@bindir@ ] || \
 		(mkdir -p $(DESTDIR)@bindir@; chmod 755 $(DESTDIR)@bindir@)
-
 	[ -d $(DESTDIR)$(exec_prefix)/argus ] || \
 		(mkdir -p $(DESTDIR)$(exec_prefix)/argus; chmod 755 $(DESTDIR)$(exec_prefix)/argus)
-
 	[ -d $(DESTDIR)$(exec_prefix)/argus/archive ] || \
 		(mkdir -p $(DESTDIR)$(exec_prefix)/argus/archive; chmod 755 $(DESTDIR)$(exec_prefix)/argus/archive)
-
 	@-for d in $(INSTDIRS); \
 	do \
 		(cd $$d; echo "### Make install in" `pwd`;    \
 			$(MAKE) $(MFLAGS) install;    \
 			echo "### Done with" `pwd`);            \
 	done
-
 	$(INSTALL) -m 0755 $(srcdir)/bin/argusbug $(DESTDIR)@bindir@/argusbug
-
 	[ -d $(DESTDIR)@mandir@ ] || \
 		(mkdir -p $(DESTDIR)@mandir@; chmod 755 $(DESTDIR)@mandir@)
 	[ -d $(DESTDIR)@mandir@/man5 ] || \
@@ -98,37 +88,33 @@ install:  force
 	$(INSTALL) -m 0644 $(srcdir)/man/man8/argus.8 $(DESTDIR)@mandir@/man8/argus.8
 
 install-doc:  force
-	${MAKE} installdirs
+	$(MAKE) installdirs
 	[ -d $(DESTDIR)@prefix@ ] || \
 		(mkdir -p $(DESTDIR)@prefix@; chmod 755 $(DESTDIR)@prefix@)
-
 	[ -d $(DESTDIR)$(docdir) ] || \
 		(mkdir -p $(DESTDIR)$(docdir); chmod 755 $(DESTDIR)$(docdir))
-
 	$(INSTALL) -m 0644 $(srcdir)/doc/FAQ $(DESTDIR)$(docdir)
+	$(INSTALL) -m 0644 $(srcdir)/doc/CHANGES $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/doc/HOW-TO $(DESTDIR)$(docdir)
-
 	$(INSTALL) -m 0644 $(srcdir)/README $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/COPYING $(DESTDIR)$(docdir)
 
-
 uninstall:
 	rm -f $(DESTDIR)@mandir@/man5/argus.5
 	rm -f $(DESTDIR)@mandir@/man5/argus.conf.5
 	rm -f $(DESTDIR)@mandir@/man8/argus.8
-
 	rm -rf $(DESTDIR)$(docdir)
-
-	@for i in  $(DIRS) ; do \
+	@for i in  $(INSTDIRS) ; do \
 		if [ -d $$i ] ; then \
 		cd $$i; \
-		${MAKE} uninstall; \
+		$(MAKE) $(MFLAGS) uninstall; \
 		cd ..; \
 		fi; \
 	done
 
 installdirs:
-	${srcdir}/config/mkinstalldirs $(bindir) $(infodir)
+	${srcdir}/config/mkinstalldirs $(bindir) $(mandir) $(docdir) \
+		$(exec_prefix)/argus/archive
 
 Makefile: Makefile.in config.status
 	$(SHELL) config.status
@@ -181,7 +167,7 @@ depend: force
 	@for i in $(DIRS) ; do \
 		if [ -d $$i ] ; then \
 		cd $$i; \
-		${MAKE} depend || exit 1; \
+		$(MAKE) $(MFLAGS) depend || exit 1; \
 		cd ..; \
 		fi; \
 	done
$NetBSD$

--- argus/Makefile.in.orig	2006-08-10 17:38:37.000000000 +0200
+++ argus/Makefile.in
@@ -33,6 +33,7 @@ srcdir = @srcdir@
 VPATH = @srcdir@
 
 COMPATLIB = @COMPATLIB@
+WRAPLIBS = @WRAPLIBS@
 
 #
 # You shouldn't need to edit anything below.
@@ -77,7 +78,7 @@ PROG =	@INSTALL_BIN@/argus
 
 OBJ =	$(SRC:.c=.o)
 
-LIB = @LIBS@ @WRAPLIBS@ $(COMPATLIB) ../lib/argus_common.a -lm
+LIB = @LIBS@ $(WRAPLIBS) $(COMPATLIB) ../lib/argus_common.a -lm
 
 HDR =	pcap.h pcap-int.h pcap-namedb.h pcap-nit.h pcap-pf.h \
 	ethertype.h gencode.h gnuc.h
@@ -98,7 +99,6 @@ all: $(PROG)
 install: force
 	[ -d $(DESTDIR)$(SBINDIR) ] || \
 		(mkdir -p $(DESTDIR)$(SBINDIR); chmod 755 $(DESTDIR)$(SBINDIR))
-
 	$(INSTALL) $(srcdir)/../bin/argus $(DESTDIR)$(SBINDIR)/argus
 
 uninstall: force
$NetBSD$

--- configure.in.orig	2006-08-10 22:54:37.000000000 +0200
+++ configure.in
@@ -297,7 +297,7 @@ if test ! -z "$V_WRAPDEP"; then
          fi
          case "$target_os" in
          linux*)
-            LIBS="-lnsl $LIBS";;
+            V_WRAPDEP="-lnsl $V_WRAPDEP";;
          esac
       fi
    fi
-------------- next part --------------
$NetBSD$

--- Makefile.in.orig	2006-08-10 17:26:48.000000000 +0200
+++ Makefile.in
@@ -35,7 +35,7 @@ LDFLAGS = -g
 prefix = @prefix@
 exec_prefix = @exec_prefix@
 srcdir = @srcdir@
-docdir = @datadir@/doc/argus-3.0
+docdir = @datadir@/doc/argus-clients-3.0
 
 #### End of system configuration section. ####
 
@@ -69,22 +69,14 @@ install:  force
 	make installdirs
 	[ -d $(DESTDIR)@prefix@ ] || \
 		(mkdir -p $(DESTDIR)@prefix@; chmod 755 $(DESTDIR)@prefix@)
-
-	[ -d $(DESTDIR)@sbindir@ ] || \
-		(mkdir -p $(DESTDIR)@sbindir@; chmod 755 $(DESTDIR)@sbindir@)
-
 	[ -d $(DESTDIR)@bindir@ ] || \
 		(mkdir -p $(DESTDIR)@bindir@; chmod 755 $(DESTDIR)@bindir@)
-
 	[ -d $(DESTDIR)$(exec_prefix)/argus ] || \
 		(mkdir -p $(DESTDIR)$(exec_prefix)/argus; chmod 755 $(DESTDIR)$(exec_prefix)/argus)
-
 	[ -d $(DESTDIR)$(exec_prefix)/argus/lib ] || \
 		(mkdir -p $(DESTDIR)$(exec_prefix)/argus/lib; chmod 755 $(DESTDIR)$(exec_prefix)/argus/lib)
-
 	[ -d $(DESTDIR)$(exec_prefix)/argus/archive ] || \
 		(mkdir -p $(DESTDIR)$(exec_prefix)/argus/archive; chmod 755 $(DESTDIR)$(exec_prefix)/argus/archive)
-
 	@for i in  $(INSTDIRS) ; do \
 		if [ -d $$i ] ; then \
 		echo "making in $$i"; \
@@ -93,11 +85,8 @@ install:  force
 		cd ..; \
 		fi; \
 	done
-
 	$(INSTALL) -m 0644 $(srcdir)/support/Config/rarc $(DESTDIR)$(prefix)/argus
-
 	$(INSTALL) -m 0755 $(srcdir)/bin/argusbug $(DESTDIR)@bindir@/argusbug
-
 	[ -d $(DESTDIR)@mandir@ ] || \
 		(mkdir -p $(DESTDIR)@mandir@; chmod 755 $(DESTDIR)@mandir@)
 	[ -d $(DESTDIR)@mandir@/man1 ] || \
@@ -133,20 +122,16 @@ install-doc:
 	make installdirs
 	[ -d $(DESTDIR)@prefix@ ] || \
 		(mkdir -p $(DESTDIR)@prefix@; chmod 755 $(DESTDIR)@prefix@)
-
 	[ -d $(DESTDIR)$(docdir) ] || \
 		(mkdir -p $(DESTDIR)$(docdir); chmod 755 $(DESTDIR)$(docdir))
-
 	[ -d $(DESTDIR)$(docdir)/html ] || \
 		(mkdir -p $(DESTDIR)$(docdir)/html; chmod 755 $(DESTDIR)$(docdir)/html)
-
 	[ -d $(DESTDIR)$(docdir)/html/man ] || \
 		(mkdir -p $(DESTDIR)$(docdir)/html/man; chmod 755 $(DESTDIR)$(docdir)/html/man)
-
+	$(INSTALL) -m 0644 $(srcdir)/doc/CHANGES $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/doc/FAQ $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/doc/HOW-TO $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/doc/html/man/*.html $(DESTDIR)$(docdir)/html/man
-
 	$(INSTALL) -m 0644 $(srcdir)/README $(DESTDIR)$(docdir)
 	$(INSTALL) -m 0644 $(srcdir)/COPYING $(DESTDIR)$(docdir)
 
@@ -159,7 +144,6 @@ uninstall:
 	rm -f $(DESTDIR)@bindir@/ragraph
 	rm -f $(DESTDIR)@bindir@/ratop
 	rm -f $(DESTDIR)@bindir@/ratemplate
-
 	rm -f $(DESTDIR)@mandir@/man1/ra.1
 	rm -f $(DESTDIR)@mandir@/man1/racount.1
 	rm -f $(DESTDIR)@mandir@/man1/ragraph.1
@@ -168,7 +152,6 @@ uninstall:
 	rm -f $(DESTDIR)@mandir@/man1/rabins.1
 	rm -f $(DESTDIR)@mandir@/man1/racluster.1
 	rm -f $(DESTDIR)@mandir@/man5/rarc.5
-
 	rm -rf $(DESTDIR)$(docdir)
 	rm -f $(DESTDIR)$(prefix)/argus/COPYING
 	rm -f $(DESTDIR)$(prefix)/argus/README
$NetBSD$

--- clients/Makefile.in.orig	2006-06-14 02:08:05.000000000 +0200
+++ clients/Makefile.in
@@ -114,7 +114,6 @@ CLEANFILES = $(OBJ) $(PROGS)
 install: force all
 	[ -d $(DESTDIR)$(BINDIR) ] || \
 		(mkdir -p $(DESTDIR)$(BINDIR); chmod 755 $(DESTDIR)$(BINDIR))
-
 	$(INSTALL) $(srcdir)/../bin/ra* $(DESTDIR)$(BINDIR)
 
 clean:
$NetBSD$

--- common/Makefile.in.orig	2006-08-10 16:32:12.000000000 +0200
+++ common/Makefile.in
@@ -131,14 +131,10 @@ version.c: $(srcdir)/../VERSION
 	sed -e 's/.*/char version[] = "&";/' $(srcdir)/../VERSION > $@
 
 install: force all
-	[ -d $(LIBDEST) ] || \
-		(mkdir -p $(LIBDEST); chmod 755 $(LIBDEST))
 	[ -d $(DESTDIR)$(LIBDEST) ] || \
 		(mkdir -p $(DESTDIR)$(LIBDEST); chmod 755 $(DESTDIR)$(LIBDEST))
-
 	$(INSTALL) $(srcdir)/../lib/argus_common.a $(DESTDIR)$(LIBDEST)/argus_common.a
 	$(INSTALL) $(srcdir)/../lib/argus_parse.a  $(DESTDIR)$(LIBDEST)/argus_parse.a
-
 	$(RANLIB) $(DESTDIR)$(LIBDEST)/argus_common.a
 	$(RANLIB) $(DESTDIR)$(LIBDEST)/argus_parse.a
 
$NetBSD$

--- configure.in.orig	2006-08-10 17:26:32.000000000 +0200
+++ configure.in
@@ -168,7 +168,7 @@ if test ! -z "$V_WRAPDEP"; then
          fi
          case "$target_os" in
          linux*)
-            LIBS="-lnsl $LIBS";;
+            V_WRAPDEP="-lnsl $V_WRAPDEP";;
          esac
       fi
    fi   
$NetBSD$

--- radium/Makefile.in.orig	2006-08-10 17:30:31.000000000 +0200
+++ radium/Makefile.in
@@ -69,7 +69,8 @@ YACC = @V_YACC@
 	@rm -f $@
 	$(CC) $(CFLAGS) -c $(srcdir)/$*.c
 
-LIB = @INSTALL_LIB@/argus_parse.a @INSTALL_LIB@/argus_common.a @INSTALL_LIB@/argus_client.a @LIBS@ @WRAPLIBS@
+LIB = @INSTALL_LIB@/argus_parse.a @INSTALL_LIB@/argus_common.a @INSTALL_LIB@/argus_client.a
+LIBS = @LIBS@ @WRAPLIBS@
 
 SRC = radium.c
 
@@ -78,7 +79,7 @@ PROGS = radium
 all: $(PROGS)
 
 radium: radium.o $(LIB)
-	$(CC) $(CCOPT) -o $@ radium.o $(LIB) $(COMPATLIB)
+	$(CC) $(CCOPT) -o $@ radium.o $(LIB) $(LIBS) $(COMPATLIB)
 
 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
 # hack the extra indirection
@@ -90,7 +91,6 @@ CLEANFILES = $(OBJ) $(PROGS)
 install: force all
 	[ -d $(DESTDIR)$(SBINDIR) ] || \
 		(mkdir -p $(DESTDIR)$(SBINDIR); chmod 755 $(DESTDIR)$(SBINDIR))
-
 	$(INSTALL) radium $(DESTDIR)$(SBINDIR)
 
 clean:
$NetBSD$

--- ragraph/Makefile.in.orig	2006-06-14 01:58:36.000000000 +0200
+++ ragraph/Makefile.in
@@ -72,7 +72,8 @@ PROGS = @INSTALL_BIN@/ragraph
 all: $(PROGS)
 
 @INSTALL_BIN@/ragraph: ragraph.pl
-	$(INSTALL) ragraph.pl $@
+	cp ragraph.pl $@
+	chmod +x $@
 
 # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
 # hack the extra indirection
@@ -83,7 +84,6 @@ CLEANFILES = $(PROGS)
 install: force all
 	[ -d $(DESTDIR)$(BINDIR) ] || \
 		(mkdir -p $(DESTDIR)$(BINDIR); chmod 755 $(DESTDIR)$(BINDIR))
-
 	$(INSTALL) @INSTALL_BIN@/ragraph $(DESTDIR)$(BINDIR)
 
 clean:
$NetBSD$

--- ratop/Makefile.in.orig	2006-08-10 16:32:12.000000000 +0200
+++ ratop/Makefile.in
@@ -92,7 +92,6 @@ CLEANFILES = $(OBJ) $(PROGS)
 install: force all
 	[ -d $(DESTDIR)$(BINDIR) ] || \
 		(mkdir -p $(DESTDIR)$(BINDIR); chmod 755 $(DESTDIR)$(BINDIR))
-
 	$(INSTALL) @INSTALL_BIN@/ratop $(DESTDIR)$(BINDIR)
 
 clean:


More information about the argus mailing list