libpcap: fix dependency of install-shared-so make target
authorMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 21 Jul 2016 15:45:26 +0000 (17:45 +0200)
committerMatthias Schiffer <mschiffer@universe-factory.net>
Thu, 21 Jul 2016 15:57:17 +0000 (17:57 +0200)
There seems to be a situation in which a rebuild of libpcap.so is triggered
in the install step of the libpcap Makefile. libpcap.so is the wrong
target, leading to the build failure reported in [1].

Fix the dependency of install-shared-so to $(SHAREDLIB) so the build can
succeed in this case.

[1] https://dev.openwrt.org/ticket/19894

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
package/libs/libpcap/patches/100-debian_shared_lib.patch

index b294e51..9ed6793 100644 (file)
@@ -3,7 +3,7 @@ build a shared library.
 
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -40,6 +40,14 @@ mandir = @mandir@
+@@ -38,6 +38,14 @@ mandir = @mandir@
  srcdir = @srcdir@
  VPATH = @srcdir@
  
@@ -18,7 +18,7 @@ build a shared library.
  #
  # You shouldn't need to edit anything below.
  #
-@@ -63,7 +71,8 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
+@@ -62,7 +70,8 @@ DEPENDENCY_CFLAG = @DEPENDENCY_CFLAG@
  PROG=libpcap
  
  # Standard CFLAGS
@@ -28,7 +28,7 @@ build a shared library.
  
  INSTALL = @INSTALL@
  INSTALL_PROGRAM = @INSTALL_PROGRAM@
-@@ -83,7 +92,11 @@ YACC = @V_YACC@
+@@ -82,7 +91,11 @@ YACC = @V_YACC@
  # problem if you don't own the file but can write to the directory.
  .c.o:
        @rm -f $@
@@ -39,9 +39,9 @@ build a shared library.
 +      @rm -f $@
 +      $(CC) -fPIC $(FULL_CFLAGS) -c -o $@ $(srcdir)/$*.c
  
- PSRC =        pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @CAN_SRC@ @NETFILTER_SRC@ @CANUSB_SRC@ @DBUS_SRC@
+ PSRC =        pcap-@V_PCAP@.c @USB_SRC@ @BT_SRC@ @BT_MONITOR_SRC@ @CAN_SRC@ @NETFILTER_SRC@ @CANUSB_SRC@ @DBUS_SRC@
  FSRC =  fad-@V_FINDALLDEVS@.c
-@@ -99,6 +112,7 @@ SRC =       $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(
+@@ -98,6 +111,7 @@ SRC =       $(PSRC) $(FSRC) $(CSRC) $(SSRC) $(
  # We would like to say "OBJ = $(SRC:.c=.o)" but Ultrix's make cannot
  # hack the extra indirection
  OBJ = $(PSRC:.c=.o) $(FSRC:.c=.o) $(CSRC:.c=.o) $(SSRC:.c=.o) $(GENSRC:.c=.o) $(LIBOBJS)
@@ -58,7 +58,7 @@ build a shared library.
  
  MAN1 = pcap-config.1
  
-@@ -363,7 +377,7 @@ libpcap.a: $(OBJ)
+@@ -365,7 +379,7 @@ libpcap.a: $(OBJ)
        $(AR) rc $@ $(OBJ) $(ADDLARCHIVEOBJS)
        $(RANLIB) $@
  
@@ -67,7 +67,7 @@ build a shared library.
  
  libpcap.so: $(OBJ)
        @rm -f $@
-@@ -441,6 +455,13 @@ libpcap.shareda: $(OBJ)
+@@ -443,6 +457,13 @@ libpcap.shareda: $(OBJ)
  #
  libpcap.none:
  
@@ -79,9 +79,9 @@ build a shared library.
 +      ln -s $(SOLIBRARY).$(MAJ) $(SOLIBRARY)
 +
  scanner.c: $(srcdir)/scanner.l
-       @rm -f $@
+       @rm -f $@ $@.bottom
        $(srcdir)/runlex.sh $(LEX) -o$@ $<
-@@ -448,6 +469,9 @@ scanner.c: $(srcdir)/scanner.l
+@@ -453,6 +474,9 @@ scanner.c: $(srcdir)/scanner.l
  scanner.o: scanner.c tokdefs.h
        $(CC) $(FULL_CFLAGS) -c scanner.c
  
@@ -91,13 +91,13 @@ build a shared library.
  pcap.o: version.h
  
  tokdefs.h: grammar.c
-@@ -461,9 +485,16 @@ grammar.o: grammar.c
+@@ -466,9 +490,16 @@ grammar.o: grammar.c
        @rm -f $@
        $(CC) $(FULL_CFLAGS) -Dyylval=pcap_lval -c grammar.c
  
 +grammar_pic.o: grammar.c
 +      @rm -f $@
-+      $(CC) -fPIC $(FULL_CFLAGS) -Dyylval=pcap_lval -o $@ -c grammar.c 
++      $(CC) -fPIC $(FULL_CFLAGS) -Dyylval=pcap_lval -o $@ -c grammar.c
 +
  version.o: version.c
        $(CC) $(FULL_CFLAGS) -c version.c
@@ -108,7 +108,7 @@ build a shared library.
  snprintf.o: $(srcdir)/missing/snprintf.c
        $(CC) $(FULL_CFLAGS) -o $@ -c $(srcdir)/missing/snprintf.c
  
-@@ -501,6 +532,9 @@ bpf_filter.c: $(srcdir)/bpf/net/bpf_filt
+@@ -506,6 +537,9 @@ bpf_filter.c: $(srcdir)/bpf/net/bpf_filt
  bpf_filter.o: bpf_filter.c
        $(CC) $(FULL_CFLAGS) -c bpf_filter.c
  
@@ -118,8 +118,12 @@ build a shared library.
  #
  # Generate the pcap-config script.
  #
-@@ -618,11 +652,9 @@ install-shared: install-shared-$(DYEXT)
- install-shared-so: libpcap.so
+@@ -622,14 +656,12 @@ install: install-shared install-archive
+                   $(DESTDIR)$(mandir)/man@MAN_MISC_INFO@/`echo $$i | sed 's/.manmisc.in/.@MAN_MISC_INFO@/'`; done
+ install-shared: install-shared-$(DYEXT)
+-install-shared-so: libpcap.so
++install-shared-so: $(SHAREDLIB)
        [ -d $(DESTDIR)$(libdir) ] || \
            (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
 -      VER=`cat $(srcdir)/VERSION`; \
@@ -135,7 +139,7 @@ build a shared library.
            (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir))
 --- a/aclocal.m4
 +++ b/aclocal.m4
-@@ -440,7 +440,7 @@ AC_DEFUN(AC_LBL_SHLIBS_INIT,
+@@ -438,7 +438,7 @@ AC_DEFUN(AC_LBL_SHLIBS_INIT,
                        esac
                        ;;
                    esac
@@ -144,7 +148,7 @@ build a shared library.
                    V_SONAME_OPT="-Wl,-soname,"
                    V_RPATH_OPT="-Wl,-rpath,"
                    ;;
-@@ -503,7 +503,7 @@ AC_DEFUN(AC_LBL_SHLIBS_INIT,
+@@ -501,7 +501,7 @@ AC_DEFUN(AC_LBL_SHLIBS_INIT,
                    #
                    # "cc" is GCC.
                    #