uhttpd: disable concurrent requests by default
[openwrt/openwrt.git] / include / rootfs.mk
index b1617215a3ecfc1f380c8aad46c76022545fccc3..dc8621dbae4df62e6d73c208b42b1e0a925e1708 100644 (file)
@@ -1,5 +1,3 @@
-include $(INCLUDE_DIR)/feeds.mk
-
 ifdef CONFIG_USE_MKLIBS
   define mklibs
        rm -rf $(TMP_DIR)/mklibs-progs $(TMP_DIR)/mklibs-out
@@ -45,17 +43,29 @@ opkg = \
        --add-arch all:100 \
        --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200
 
-opkg_package_files = $(wildcard \
-       $(foreach dir,$(PACKAGE_SUBDIRS), \
-         $(foreach pkg,$(1), $(dir)/$(pkg)_*.ipk)))
-
 TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD)
 
+ifdef CONFIG_CLEAN_IPKG
+  define clean_ipkg
+       -find $(1)/usr/lib/opkg/info -type f -and -not -name '*.control' | $(XARGS) rm -rf
+       -sed -i -ne '/^Require-User: /p' $(1)/usr/lib/opkg/info/*.control
+       awk ' \
+               BEGIN { conffiles = 0; print "Conffiles:" } \
+               /^Conffiles:/ { conffiles = 1; next } \
+               !/^ / { conffiles = 0; next } \
+               conffiles == 1 { print } \
+       ' $(1)/usr/lib/opkg/status >$(1)/usr/lib/opkg/status.new
+       mv $(1)/usr/lib/opkg/status.new $(1)/usr/lib/opkg/status
+       -find $(1)/usr/lib/opkg -empty | $(XARGS) rm -rf
+  endef
+endif
+
 define prepare_rootfs
-       @if [ -d $(TOPDIR)/files ]; then \
-               $(call file_copy,$(TOPDIR)/files/.,$(1)); \
-       fi
+       $(if $(2),@if [ -d '$(2)' ]; then \
+               $(call file_copy,$(2)/.,$(1)); \
+       fi)
        @mkdir -p $(1)/etc/rc.d
+       @mkdir -p $(1)/var/lock
        @( \
                cd $(1); \
                for script in ./usr/lib/opkg/info/*.postinst; do \
@@ -76,9 +86,11 @@ define prepare_rootfs
        @-find $(1) -name .svn  | $(XARGS) rm -rf
        @-find $(1) -name .git  | $(XARGS) rm -rf
        @-find $(1) -name '.#*' | $(XARGS) rm -f
+       rm -rf $(1)/tmp/*
        rm -f $(1)/usr/lib/opkg/lists/*
        rm -f $(1)/usr/lib/opkg/info/*.postinst*
-       rm -f $(1)/usr/lib/opkg/info/*.prerm*
-       $(if $(CONFIG_CLEAN_IPKG),rm -rf $(1)/usr/lib/opkg)
+       rm -f $(1)/var/lock/*.lock
+       rm -rf $(1)/boot
+       $(call clean_ipkg,$(1))
        $(call mklibs,$(1))
 endef