[backfire] uhttpd: merge r28792
[openwrt-10.03/.git] / include / package-ipkg.mk
index 0ef440d4a6080447d7514eadb34002bf7c155a70..0dd398e1baa35f1a1997981857bac833dab19b8c 100644 (file)
@@ -16,6 +16,7 @@ OPKG:= \
        --force-depends \
        --force-overwrite \
        --force-postinstall \
+       --force-maintainer \
        --add-dest root:/ \
        --add-arch all:100 \
        --add-arch $(ARCH_PACKAGES):200
@@ -27,8 +28,10 @@ IPKG_BUILD:= \
 IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/opkg
 
 define BuildIPKGVariable
+ifdef Package/$(1)/$(2)
   $(call shexport,Package/$(1)/$(2))
   $(1)_COMMANDS += var2file "$(call shvar,Package/$(1)/$(2))" $(2);
+endif
 endef
 
 PARENL :=(
@@ -100,10 +103,11 @@ ifeq ($(DUMP),)
                echo "Source: $(SOURCE)"; \
                echo "Section: $(SECTION)"; \
                echo "Status: unknown $(if $(filter hold,$(PKG_FLAGS)),hold,ok) not-installed"; \
+               echo "Essential: $(if $(filter essential,$(PKG_FLAGS)),yes,no)"; \
                echo "Priority: $(PRIORITY)"; \
                echo "Maintainer: $(MAINTAINER)"; \
                echo "Architecture: $(PKGARCH)"; \
-               echo "Installed-Size: 1"; \
+               echo "Installed-Size: 0"; \
                echo -n "Description: "; getvar $(call shvar,Package/$(1)/description) | sed -e 's,^[[:space:]]*, ,g'; \
        ) >> $$(IDIR_$(1))/CONTROL/control
        chmod 644 $$(IDIR_$(1))/CONTROL/control
@@ -114,8 +118,6 @@ ifeq ($(DUMP),)
        mkdir -p $(PACKAGE_DIR)
        -find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' | $(XARGS) rm -rf
        $(RSTRIP) $$(IDIR_$(1))
-       SIZE=`cd $$(IDIR_$(1)); du -bs --exclude=./CONTROL . 2>/dev/null | cut -f1`; \
-       $(SED) "s|^\(Installed-Size:\).*|\1 $$$$SIZE|g" $$(IDIR_$(1))/CONTROL/control
 
     ifneq ($$(KEEP_$(1)),)
                @( \
@@ -136,7 +138,7 @@ ifeq ($(DUMP),)
     $$(INFO_$(1)): $$(IPKG_$(1))
        @[ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp
        $(OPKG) install $$(IPKG_$(1))
-       $(if $(PKGFLAGS),for flag in $(PKGFLAGS); do $(OPKG) flag $$$$flag $(1); done)
+       $(if $(filter-out essential,$(PKG_FLAGS)),for flag in $(filter-out essential,$(PKG_FLAGS)); do $(OPKG) flag $$$$flag $(1); done)
 
     $(1)-clean:
        rm -f $(PACKAGE_DIR)/$(1)_*