summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cleopatre/buildroot/package/busybox/Config.in13
-rw-r--r--cleopatre/buildroot/package/busybox/busybox.mk47
2 files changed, 54 insertions, 6 deletions
diff --git a/cleopatre/buildroot/package/busybox/Config.in b/cleopatre/buildroot/package/busybox/Config.in
index 923d3bd3c1..80bfb2aea4 100644
--- a/cleopatre/buildroot/package/busybox/Config.in
+++ b/cleopatre/buildroot/package/busybox/Config.in
@@ -46,6 +46,19 @@ choice
config BR2_PACKAGE_BUSYBOX_SNAPSHOT
bool "daily snapshot"
+# The following "if" is a temporary hack to avoid breaking the build.
+# It will be removed after the defconfig files have been updated.
+if !BR2_BUSYBOX_VERSION_1_11_X
+
+ config BR2_BUSYBOX_VERSION_CUSTOM
+ bool "Custom"
+
+ config BR2_BUSYBOX_VERSION_CUSTOM_SRC_DIR
+ string "Source directory"
+ depends on BR2_BUSYBOX_VERSION_CUSTOM
+
+endif # BR2_BUSYBOX_VERSION_1_11_X
+
endchoice
config BR2_BUSYBOX_VERSION
diff --git a/cleopatre/buildroot/package/busybox/busybox.mk b/cleopatre/buildroot/package/busybox/busybox.mk
index e7c042c936..1dc9e2b553 100644
--- a/cleopatre/buildroot/package/busybox/busybox.mk
+++ b/cleopatre/buildroot/package/busybox/busybox.mk
@@ -4,19 +4,42 @@
#
#############################################################
+ifeq ($(BR2_BUSYBOX_VERSION_CUSTOM),y)
+
+# Custom version => The sources are in a provided directory.
+# - No need to download the sources.
+# - No need to extract the sources ("unpack").
+# - No need to apply the patches. (But the part depending on the .config file
+# still needs to be applied).
+# - dirclean just removes the stamp files (.unpacked, .configured...etc)
+# instead of deleting the entire directory.
+BUSYBOX_DIR:= $(strip $(subst ",,$(BR2_BUSYBOX_VERSION_CUSTOM_SRC_DIR)))
+BUSYBOX_TARGET_DIRCLEAN:=busybox-del_stamps_
+BUSYBOX_TARGET_PATCHED:=$(BUSYBOX_DIR)/.patched1
+BUSYBOX_TARGET_SOURCE:=
+BUSYBOX_TARGET_UNPACKED:=
+
+else # BR2_BUSYBOX_VERSION_CUSTOM
ifeq ($(BR2_PACKAGE_BUSYBOX_SNAPSHOT),y)
# Be aware that this changes daily....
BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox
BUSYBOX_SOURCE:=busybox-snapshot.tar.bz2
BUSYBOX_SITE:=http://www.busybox.net/downloads/snapshots
-else
+else # BR2_PACKAGE_BUSYBOX_SNAPSHOT
BUSYBOX_VERSION=$(strip $(subst ",, $(BR2_BUSYBOX_VERSION)))
#"))
BUSYBOX_DIR:=$(PROJECT_BUILD_DIR)/busybox-$(BUSYBOX_VERSION)
BUSYBOX_SOURCE:=busybox-$(BUSYBOX_VERSION).tar.bz2
BUSYBOX_SITE:=http://www.busybox.net/downloads
-endif
+endif # BR2_PACKAGE_BUSYBOX_SNAPSHOT
+
+BUSYBOX_TARGET_DIRCLEAN:=busybox-dirclean_
+BUSYBOX_TARGET_PATCHED:=$(BUSYBOX_DIR)/.patched2
+BUSYBOX_TARGET_SOURCE:=$(DL_DIR)/$(BUSYBOX_SOURCE)
+BUSYBOX_TARGET_UNPACKED:=$(BUSYBOX_DIR)/.unpacked
+
+endif # BR2_BUSYBOX_VERSION_CUSTOM
BUSYBOX_UNZIP=$(BZCAT)
@@ -32,7 +55,7 @@ $(BUSYBOX_DIR)/.unpacked: $(DL_DIR)/$(BUSYBOX_SOURCE)
$(BUSYBOX_UNZIP) $(DL_DIR)/$(BUSYBOX_SOURCE) | tar -C $(PROJECT_BUILD_DIR) $(TAR_OPTIONS) -
touch $@
-$(BUSYBOX_DIR)/.patched1: $(BUSYBOX_DIR)/.unpacked
+$(BUSYBOX_DIR)/.patched1: $(BUSYBOX_TARGET_UNPACKED)
ifeq ($(BR2_PACKAGE_SYSKLOGD),y)
# if we have external syslogd, force busybox to use it
$(SED) "/#include.*busybox\.h/a#define CONFIG_SYSLOGD" $(BUSYBOX_DIR)/init/init.c
@@ -48,7 +71,7 @@ else
endif
touch $@
-$(BUSYBOX_DIR)/.configured: $(BUSYBOX_DIR)/.patched2 $(BUSYBOX_CONFIG_FILE)
+$(BUSYBOX_DIR)/.configured: $(BUSYBOX_TARGET_PATCHED) $(BUSYBOX_CONFIG_FILE)
cp -f $(BUSYBOX_CONFIG_FILE) $(BUSYBOX_DIR)/.config
$(SED) s,^CONFIG_PREFIX=.*,CONFIG_PREFIX=\"$(TARGET_DIR)\", \
$(BUSYBOX_DIR)/.config
@@ -131,7 +154,7 @@ endif
busybox: uclibc $(TARGET_DIR)/bin/busybox
-busybox-source: $(DL_DIR)/$(BUSYBOX_SOURCE)
+busybox-source: $(BUSYBOX_TARGET_SOURCE)
busybox-unpacked: $(BUSYBOX_DIR)/.unpacked
@@ -147,8 +170,20 @@ busybox-clean:
rm -f $(TARGET_DIR)/bin/busybox
-$(MAKE) -C $(BUSYBOX_DIR) clean
-busybox-dirclean:
+# Delete stamp files
+busybox-del_stamps_:
+ rm -f $(BUSYBOX_DIR)/.configured
+ rm -f $(BUSYBOX_DIR)/.patched2
+ rm -f $(BUSYBOX_DIR)/.patched1
+ rm -f $(BUSYBOX_DIR)/.unpacked
+
+busybox-dirclean_:
rm -rf $(BUSYBOX_DIR)
+
+busybox-dirclean: $(BUSYBOX_TARGET_DIRCLEAN)
+
+.PHONY: busybox-del_stamps_ busybox-dirclean_
+
#############################################################
#
# Toplevel Makefile options