fix unnecessary package rebuild
[oweals/openwrt.git] / openwrt / include / package.mk
index f7dbacc415d792756e849de0df4a4f149ae44a79..069e28b84f34a8681cb7df1fe55f4fc2a9050df7 100644 (file)
@@ -16,11 +16,10 @@ define Build/DefaultTargets
   ifeq ($(DUMP),)
     ifeq ($(CONFIG_AUTOREBUILD),y)
       _INFO:=
-      ifneq ($$(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) .),$(PKG_BUILD_DIR))
+      ifneq ($(shell $(SCRIPT_DIR)/timestamp.pl -p $(PKG_BUILD_DIR) .),$(PKG_BUILD_DIR))
         _INFO+=$(subst $(TOPDIR)/,,$(PKG_BUILD_DIR))
         $(PKG_BUILD_DIR)/.prepared: package-clean
       endif
-
     endif
   endif
 
@@ -90,6 +89,14 @@ define Package/Default
   DESCRIPTION:=
 endef
 
+define BuildDescription
+  ifneq ($(DESCRIPTION),)
+    DESCRIPTION:=$(TITLE)\\ $(DESCRIPTION)
+  else
+    DESCRIPTION:=$(TITLE)
+  endif
+endef
+
 define BuildIPKGVariable
   pkg_$(subst .,_,$(subst -,_,$(1)))_$(2) = $$(Package/$(1)/$(2))
   export pkg_$(subst .,_,$(subst -,_,$(1))_$(2))
@@ -99,21 +106,14 @@ endef
 define BuildPackage
   $(eval $(call Package/Default))
   $(eval $(call Package/$(1)))
+  $(eval $(call BuildDescription))
 
-  $(foreach FIELD, TITLE CATEGORY PRIORITY VERSION,
+  $(foreach FIELD, TITLE CATEGORY PRIORITY SECTION VERSION,
     ifeq ($($(FIELD)),)
       $$(error Package/$(1) is missing the $(FIELD) field)
     endif
   )
 
-  ifeq ($(PKGARCH),)
-    PKGARCH:=$(ARCH)
-  endif
-
-  ifeq ($(DESCRIPTION),)
-    $(eval DESCRIPTION:=$(TITLE))
-  endif
-
   IPKG_$(1):=$(PACKAGE_DIR)/$(1)_$(VERSION)_$(PKGARCH).ipk
   IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg/$(1)
   INFO_$(1):=$(IPKG_STATE_DIR)/info/$(1).list
@@ -162,13 +162,14 @@ define BuildPackage
     endif
 
     DUMPINFO += \
+       if [ "$$$$PREREQ_CHECK" = 1 ]; then echo "Prereq-Check: 1"; fi; \
        echo "Version: $(VERSION)"; \
        echo "Depends: $$(IDEPEND_$(1))"; \
        echo "Build-Depends: $(PKG_BUILDDEP)"; \
        echo "Category: $(CATEGORY)"; \
        echo "Title: $(TITLE)"; \
        echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g';
-
+       
     ifneq ($(URL),)
       DUMPINFO += \
        echo; \
@@ -206,7 +207,7 @@ define BuildPackage
        echo "Priority: $(PRIORITY)" >> $$(IDIR_$(1))/CONTROL/control
        echo "Maintainer: $(MAINTAINER)" >> $$(IDIR_$(1))/CONTROL/control
        echo "Architecture: $(PKGARCH)" >> $$(IDIR_$(1))/CONTROL/control
-       echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n ,g' >> $$(IDIR_$(1))/CONTROL/control
+       echo "Description: $(DESCRIPTION)" | sed -e 's,\\,\n,g' | sed -e 's,^[[:space:]]*$$$$, .,g' >> $$(IDIR_$(1))/CONTROL/control
        chmod 644 $$(IDIR_$(1))/CONTROL/control
        (cd $$(IDIR_$(1))/CONTROL; \
                $($(1)_COMMANDS) \