lsof: convert to gentargets and bump to 4.84
authorMartin Banky <martin.banky@gmail.com>
Sun, 12 Dec 2010 21:53:53 +0000 (22:53 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 13 Dec 2010 23:28:25 +0000 (00:28 +0100)
lsof is packaged as a tarball inside a .tar.bz2 package, so we have a
post-extract hook to extract the source code tarball, so that for the
next steps, lsof looks like a normal package.

Signed-off-by: Martin Banky <Martin.Banky@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
CHANGES
package/lsof/lsof-4.84-makefile.patch [new file with mode: 0644]
package/lsof/lsof-4.84-noportmap.patch [new file with mode: 0644]
package/lsof/lsof-4.84-override-cflags.patch [new file with mode: 0644]
package/lsof/lsof-4.84-remove-susvlegacy-funcs.patch [new file with mode: 0644]
package/lsof/lsof-makefile.patch [deleted file]
package/lsof/lsof-noportmap.patch [deleted file]
package/lsof/lsof-override-cflags.patch [deleted file]
package/lsof/lsof-remove-susvlegacy-funcs.patch [deleted file]
package/lsof/lsof-uclibc.patch [deleted file]
package/lsof/lsof.mk

diff --git a/CHANGES b/CHANGES
index 5dbc27ce824846c0740cfacd1b81a964e773d5d2..a0214377a4896973ee0fe42b17047604c8d42c01 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,10 +5,10 @@
 
        Updated/fixed packages: at, busybox, bzip2, dbus,
        direcfb-examples, dmalloc, cloop, cups, ffmpeg, gdk-pixbuf,
-       hostapd, i2c-tools, input-tools, libconfig, ltp-testsuite, m4,
-       mii-diag, mrouted, openssh, openssl, openvpn, pango, qt,
-       rsync, sdl_gfx, sdl_sound, sysklogd, sysvinit, udev, usbutils,
-       xz, zlib
+       hostapd, i2c-tools, input-tools, libconfig, lsof,
+       ltp-testsuite, m4, mii-diag, mrouted, openssh, openssl,
+       openvpn, pango, qt, rsync, sdl_gfx, sdl_sound, sysklogd,
+       sysvinit, udev, usbutils, xz, zlib
 
        New packages: dhrystone, fbgrab, lsuio, rsh-redone, whetstone
 
diff --git a/package/lsof/lsof-4.84-makefile.patch b/package/lsof/lsof-4.84-makefile.patch
new file mode 100644 (file)
index 0000000..65b1b2e
--- /dev/null
@@ -0,0 +1,14 @@
+diff -ru lsof_4.81.orig/lsof_4.81_src/lib/Makefile.skel lsof_4.81/lsof_4.81_src/lib/Makefile.skel
+--- a/lib/Makefile.skel        2001-02-13 03:12:22.000000000 +0100
++++ b/lib/Makefile.skel        2006-11-29 13:51:44.000000000 +0100
+@@ -21,8 +21,8 @@
+ all:  ${LIB}
+ ${LIB}:       ${OBJ}
+-      ${AR}
+-      ${RANLIB}
++      ${AR} cr ${LIB} ${OBJ}
++      ${RANLIB} ${LIB}
+ clean:        FRC
+       rm -f ${LIB} ${OBJ} errs Makefile.bak a.out core
diff --git a/package/lsof/lsof-4.84-noportmap.patch b/package/lsof/lsof-4.84-noportmap.patch
new file mode 100644 (file)
index 0000000..984e0d8
--- /dev/null
@@ -0,0 +1,18 @@
+--- a/print.c  2006-08-23 13:37:43.000000000 -0600
++++ b/print.c  2006-08-23 13:38:29.000000000 -0600
+@@ -148,6 +148,7 @@
+ static void
+ fill_portmap()
+ {
++#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_RPC__)
+       char buf[128], *cp, *nm;
+       CLIENT *c;
+       int h, port, pr;
+@@ -266,6 +267,7 @@
+           Pth[pr][h] = pt;
+       }
+       clnt_destroy(c);
++#endif
+ }
diff --git a/package/lsof/lsof-4.84-override-cflags.patch b/package/lsof/lsof-4.84-override-cflags.patch
new file mode 100644 (file)
index 0000000..135e599
--- /dev/null
@@ -0,0 +1,13 @@
+--- lsof_4.84/Configure        2008-10-21 18:21:45.000000000 +0200
++++ lsof_4.84/Configure        2010-11-03 14:00:00.000000000 +0100
+@@ -5206,6 +5206,10 @@
+   cp $LSOF_MKFC ${LSOF_LIB}/$LSOF_LIBMKF
+ fi    # }
+ cat ./dialects/$LSOF_DIALECT_DIR/$LSOF_REST >> $LSOF_MKFC
++if test "X$LSOF_CFLAGS_OVERRIDE" != "X"       # {
++then
++  sed -i -e 's/^CFLAGS=/override CFLAGS=/' $LSOF_MKFC
++fi    # }
+ if test "X$LSOF_LIB_NO" = "X" # {
+ then
diff --git a/package/lsof/lsof-4.84-remove-susvlegacy-funcs.patch b/package/lsof/lsof-4.84-remove-susvlegacy-funcs.patch
new file mode 100644 (file)
index 0000000..fca66ae
--- /dev/null
@@ -0,0 +1,12 @@
+diff -rdup lsof_4.81.orig/lsof_4.81_src/dialects/linux/machine.h lsof_4.81/lsof_4.81_src/dialects/linux/machine.h
+--- a/dialects/linux/machine.h 2007-04-24 18:20:58.000000000 +0200
++++ b/dialects/linux/machine.h 2007-05-15 12:17:03.000000000 +0200
+@@ -616,6 +616,6 @@
+  * zeromem is a macro that uses bzero or memset.
+  */
+-#define       zeromem(a, l)   bzero(a, l)
++#define       zeromem(a, l)   memset(a, 0, l)
+ #endif        /* !defined(LSOF_MACHINE_H) */
+
diff --git a/package/lsof/lsof-makefile.patch b/package/lsof/lsof-makefile.patch
deleted file mode 100644 (file)
index 2d4e9d4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru lsof_4.81.orig/lsof_4.81_src/lib/Makefile.skel lsof_4.81/lsof_4.81_src/lib/Makefile.skel
---- lsof_4.81.orig/lsof_4.81_src/lib/Makefile.skel     2001-02-13 03:12:22.000000000 +0100
-+++ lsof_4.81/lsof_4.81_src/lib/Makefile.skel  2006-11-29 13:51:44.000000000 +0100
-@@ -21,8 +21,8 @@
- all:  ${LIB}
- ${LIB}:       ${OBJ}
--      ${AR}
--      ${RANLIB}
-+      ${AR} cr ${LIB} ${OBJ}
-+      ${RANLIB} ${LIB}
- clean:        FRC
-       rm -f ${LIB} ${OBJ} errs Makefile.bak a.out core
diff --git a/package/lsof/lsof-noportmap.patch b/package/lsof/lsof-noportmap.patch
deleted file mode 100644 (file)
index 4a37db4..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
---- lsof_4.81/lsof_4.81_src/print.orig.c       2006-08-23 13:37:43.000000000 -0600
-+++ lsof_4.81/lsof_4.81_src/print.c    2006-08-23 13:38:29.000000000 -0600
-@@ -148,6 +148,7 @@
- static void
- fill_portmap()
- {
-+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_RPC__)
-       char buf[128], *cp, *nm;
-       CLIENT *c;
-       int h, port, pr;
-@@ -266,6 +267,7 @@
-           Pth[pr][h] = pt;
-       }
-       clnt_destroy(c);
-+#endif
- }
diff --git a/package/lsof/lsof-override-cflags.patch b/package/lsof/lsof-override-cflags.patch
deleted file mode 100644 (file)
index fcb9292..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- lsof_4.81/lsof_4.81_src/Configure  2008-10-21 18:21:45.000000000 +0200
-+++ lsof_4.81/lsof_4.81_src/Configure  2010-11-03 14:00:00.000000000 +0100
-@@ -5206,6 +5206,10 @@
-   cp $LSOF_MKFC ${LSOF_LIB}/$LSOF_LIBMKF
- fi    # }
- cat ./dialects/$LSOF_DIALECT_DIR/$LSOF_REST >> $LSOF_MKFC
-+if test "X$LSOF_CFLAGS_OVERRIDE" != "X"       # {
-+then
-+  sed -i -e 's/^CFLAGS=/override CFLAGS=/' $LSOF_MKFC
-+fi    # }
- if test "X$LSOF_LIB_NO" = "X" # {
- then
diff --git a/package/lsof/lsof-remove-susvlegacy-funcs.patch b/package/lsof/lsof-remove-susvlegacy-funcs.patch
deleted file mode 100644 (file)
index d1d9371..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rdup lsof_4.81.orig/lsof_4.81_src/dialects/linux/machine.h lsof_4.81/lsof_4.81_src/dialects/linux/machine.h
---- lsof_4.81.orig/lsof_4.81_src/dialects/linux/machine.h      2007-04-24 18:20:58.000000000 +0200
-+++ lsof_4.81/lsof_4.81_src/dialects/linux/machine.h   2007-05-15 12:17:03.000000000 +0200
-@@ -616,6 +616,6 @@
-  * zeromem is a macro that uses bzero or memset.
-  */
--#define       zeromem(a, l)   bzero(a, l)
-+#define       zeromem(a, l)   memset(a, 0, l)
- #endif        /* !defined(LSOF_MACHINE_H) */
-
diff --git a/package/lsof/lsof-uclibc.patch b/package/lsof/lsof-uclibc.patch
deleted file mode 100644 (file)
index 797a0ce..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru lsof_4.81.orig/lsof_4.81_src/dialects/linux/dlsof.h lsof_4.81/lsof_4.81_src/dialects/linux/dlsof.h
---- lsof_4.81.orig/lsof_4.81_src/dialects/linux/dlsof.h        2006-03-28 00:57:14.000000000 +0200
-+++ lsof_4.81/lsof_4.81_src/dialects/linux/dlsof.h     2006-11-29 14:03:07.000000000 +0100
-@@ -49,7 +49,7 @@
- #include <unistd.h>
- #include <netinet/in.h>
--# if  defined(GLIBCV)
-+# if  defined(GLIBCV) || defined __UCLIBC__
- #include <netinet/tcp.h>
- # else        /* !defined(GLIBCV) */
- #include <linux/tcp.h>
index 837a88c2e4e1ac7694f9447c4ccba3b6c47db2ac..05365dae3801adbf3e27e499766a48f22a7ee6fe 100644 (file)
@@ -3,68 +3,64 @@
 # lsof
 #
 #############################################################
-LSOF_VERSION:=4.81
-LSOF_SOURCE:=lsof_$(LSOF_VERSION).tar.bz2
-LSOF_SITE:=ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
-LSOF_CAT:=$(BZCAT)
-LSOF_DIR:=$(BUILD_DIR)/lsof_$(LSOF_VERSION)
-LSOF_BINARY:=lsof
-LSOF_TARGET_BINARY:=bin/lsof
-LSOF_INCLUDE:=$(STAGING_DIR)/usr/include
+LSOF_VERSION = 4.84
+LSOF_SOURCE = lsof_$(LSOF_VERSION).tar.bz2
+LSOF_SITE = ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
 
-BR2_LSOF_CFLAGS:=
+BR2_LSOF_CFLAGS =
 ifeq ($(BR2_LARGEFILE),)
-BR2_LSOF_CFLAGS+=-U_FILE_OFFSET_BITS
+BR2_LSOF_CFLAGS += -U_FILE_OFFSET_BITS
 endif
 ifeq ($(BR2_INET_IPV6),)
-BR2_LSOF_CFLAGS+=-UHASIPv6
+BR2_LSOF_CFLAGS += -UHASIPv6
 endif
 
-$(DL_DIR)/$(LSOF_SOURCE):
-        $(call DOWNLOAD,$(LSOF_SITE),$(LSOF_SOURCE))
-
-lsof-source: $(DL_DIR)/$(LSOF_SOURCE)
-
-lsof-unpacked: $(LSOF_DIR)/.unpacked
-
-$(LSOF_DIR)/.unpacked: $(DL_DIR)/$(LSOF_SOURCE)
-       $(LSOF_CAT) $(DL_DIR)/$(LSOF_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-       (cd $(LSOF_DIR);tar xf lsof_$(LSOF_VERSION)_src.tar;rm -f lsof_$(LSOF_VERSION)_src.tar)
-       toolchain/patch-kernel.sh $(LSOF_DIR) package/lsof/ \*.patch
-       touch $(LSOF_DIR)/.unpacked
-
-$(LSOF_DIR)/.configured: $(LSOF_DIR)/.unpacked
-       (cd $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src; echo n | $(TARGET_CONFIGURE_OPTS) DEBUG="$(TARGET_CFLAGS) $(BR2_LSOF_CFLAGS)" LSOF_INCLUDE="$(LSOF_INCLUDE)" LSOF_CFLAGS_OVERRIDE=1 ./Configure linux)
-       touch $(LSOF_DIR)/.configured
-
-$(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/$(LSOF_BINARY): $(LSOF_DIR)/.configured
 ifeq ($(BR2_USE_WCHAR),)
-       $(SED) 's,^#define[[:space:]]*HASWIDECHAR.*,#undef HASWIDECHAR,' $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/machine.h
-       $(SED) 's,^#define[[:space:]]*WIDECHARINCL.*,,' $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/machine.h
+define LSOF_CONFIGURE_WCHAR_FIXUPS
+       $(SED) 's,^#define[[:space:]]*HASWIDECHAR.*,#undef HASWIDECHAR,' \
+               $(@D)/lsof_$(LSOF_VERSION)_src/machine.h
+       $(SED) 's,^#define[[:space:]]*WIDECHARINCL.*,,' \
+               $(@D)/lsof_$(LSOF_VERSION)_src/machine.h
+endef
 endif
+
 ifeq ($(BR2_ENABLE_LOCALE),)
-       $(SED) 's,^#define[[:space:]]*HASSETLOCALE.*,#undef HASSETLOCALE,' $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/machine.h
+define LSOF_CONFIGURE_LOCALE_FIXUPS
+       $(SED) 's,^#define[[:space:]]*HASSETLOCALE.*,#undef HASSETLOCALE,' \
+               $(@D)/lsof_$(LSOF_VERSION)_src/machine.h
+endef
 endif
-       $(MAKE) $(TARGET_CONFIGURE_OPTS) DEBUG="$(TARGET_CFLAGS) $(BR2_LSOF_CFLAGS)" -C $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src
 
-$(TARGET_DIR)/$(LSOF_TARGET_BINARY): $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/$(LSOF_BINARY)
-       cp $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src/$(LSOF_BINARY) $@
-       $(STRIPCMD) $@
+# The .tar.bz2 contains another .tar, which contains the source code.
+define LSOF_EXTRACT_TAR
+       $(TAR) $(TAR_STRIP_COMPONENTS)=1 -xf $(@D)/lsof_$(LSOF_VERSION)_src.tar -C $(@D)
+       rm -f $(@D)/lsof_$(LSOF_VERSION)_src.tar
+endef
 
-lsof: $(TARGET_DIR)/$(LSOF_TARGET_BINARY)
+LSOF_POST_EXTRACT_HOOKS += LSOF_EXTRACT_TAR
 
-lsof-clean:
-       -rm -f $(TARGET_DIR)/$(LSOF_TARGET_BINARY)
-       -$(MAKE) -C $(LSOF_DIR)/lsof_$(LSOF_VERSION)_src clean
+define LSOF_CONFIGURE_CMDS
+       (cd $(@D) ; \
+               echo n | $(TARGET_CONFIGURE_OPTS) DEBUG="$(TARGET_CFLAGS) $(BR2_LSOF_CFLAGS)" \
+               LSOF_INCLUDE="$(STAGING_DIR)/usr/include" LSOF_CFLAGS_OVERRIDE=1 ./Configure linux)
+       $(LSOF_CONFIGURE_WCHAR_FIXUPS)
+       $(LSOF_CONFIGURE_LOCALE_FIXUPS)
+endef
 
-lsof-dirclean:
-       rm -rf $(LSOF_DIR)
+define LSOF_BUILD_CMDS
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) DEBUG="$(TARGET_CFLAGS) $(BR2_LSOF_CFLAGS)" -C $(@D)
+endef
 
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LSOF),y)
-TARGETS+=lsof
-endif
+define LSOF_INSTALL_TARGET_CMDS
+       install -D -m 755 $(@D)/lsof $(TARGET_DIR)/bin/lsof
+endef
+
+define LSOF_UNINSTALL_TARGET_CMDS
+       rm -f $(TARGET_DIR)/bin/lsof
+endef
+
+define LSOF_CLEAN_CMDS
+       -$(MAKE) -C $(@D)/lsof_$(LSOF_VERSION)_src clean
+endef
+
+$(eval $(call GENTARGETS,package,lsof))