target/sdk: use .config instead of unconditionally enabling all build dirs
[openwrt.git] / package / Makefile
index 00ac773..3b4eecd 100644 (file)
@@ -10,11 +10,8 @@ curdir:=package
 -include $(TMP_DIR)/.packagedeps
 $(curdir)/builddirs:=$(sort $(package-) $(package-y) $(package-m))
 $(curdir)/builddirs-install:=.
-ifeq ($(SDK),1)
-else
-  $(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
-  $(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
-endif
+$(curdir)/builddirs-default:=. $(sort $(package-y) $(package-m))
+$(curdir)/builddirs-prereq:=. $(sort $(prereq-y) $(prereq-m))
 ifneq ($(IGNORE_ERRORS),)
   package-y-filter := $(package-y)
   package-m-filter := $(filter-out $(package-y),$(package-m))
@@ -76,7 +73,7 @@ OPKG:= \
 PACKAGE_INSTALL_FILES:= \
        $(foreach pkg,$(sort $(package-y)), \
                $(foreach variant, \
-                       $(if $(package/$(pkg)/variants), \
+                       $(if $(strip $(package/$(pkg)/variants)), \
                                $(package/$(pkg)/variants), \
                                $(if $(package/$(pkg)/default-variant), \
                                        $(package/$(pkg)/default-variant), \
@@ -120,10 +117,35 @@ $(curdir)/install: $(TMP_DIR)/.build
        $(if $(CONFIG_CLEAN_IPKG),rm -rf $(TARGET_DIR)/usr/lib/opkg)
        $(call mklibs)
 
+PASSOPT=""
+PASSARG=""
+ifndef CONFIG_OPKGSMIME_PASSPHRASE
+  ifneq ($(call qstrip,$(CONFIG_OPKGSMIME_PASSFILE)),)
+    PASSOPT="-passin"
+    PASSARG="file:$(call qstrip,$(CONFIG_OPKGSMIME_PASSFILE))"
+  endif
+endif
+
 $(curdir)/index: FORCE
-       @(cd $(PACKAGE_DIR); $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages && \
-               gzip -9c Packages > Packages.gz \
-       )
+       @echo Generating package index...
+       @(cd $(PACKAGE_DIR); \
+               $(SCRIPT_DIR)/ipkg-make-index.sh . 2>&1 > Packages && \
+               gzip -9c Packages > Packages.gz )
+ifeq ($(call qstrip,$(CONFIG_OPKGSMIME_KEY)),)
+       @echo Signing key has not been configured
+else
+ifeq ($(call qstrip,$(CONFIG_OPKGSMIME_CERT)),)
+       @echo Certificate has not been configured
+else
+       @echo Signing package index...
+       @(cd $(PACKAGE_DIR); \
+               openssl smime -binary -in Packages.gz \
+                       -out Packages.sig -outform PEM -sign \
+                       -signer $(CONFIG_OPKGSMIME_CERT) \
+                       -inkey $(CONFIG_OPKGSMIME_KEY) \
+                       $(PASSOPT) $(PASSARG) )
+endif
+endif
 
 $(curdir)/preconfig: