Skip to contentSkip to conversation

u-boot: begin custom patch dir with a capital

PATCH New yegorslists at googlemail.com 3 participants 4 messages Feb 9, 2012 – Feb 13, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 u-boot: begin custom patch dir with a capital

From: Yegor Yefremov <[email protected]>

---
 boot/uboot/Config.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
boot/uboot/Config.in +1 -1
index c8db9fb..b10d380 100644
@@ -55,7 +55,7 @@ config BR2_TARGET_UBOOT_VERSION
 	default $BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION if BR2_TARGET_UBOOT_CUSTOM_GIT
 
 config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
-	string "custom patch dir"
+	string "Custom patch dir"
 	help
 	  If your board requires custom patches, add the path to the
 	  directory containing the patches here. The patches must be
Signature · 1 line
1.7.5.4
#1 lore raw

PATCH 2/2 x-loader: add custom git and tarball support

From: Yegor Yefremov <[email protected]>

---
 boot/xloader/Config.in  |   45 +++++++++++++++++++++++++++++++++++++++++++++
 boot/xloader/xloader.mk |   22 ++++++++++++++++++++--
 2 files changed, 65 insertions(+), 2 deletions(-)
boot/xloader/Config.in +45 -0
index c411be4..4a510c9 100644
@@ -12,4 +12,49 @@ config BR2_TARGET_XLOADER_BOARDNAME
 	  One of x-loader supported boards to be built.
 	  This will be suffixed with _config to meet x-loader
 	  standard naming.
+
+choice
+	prompt "X-loader Version"
+	default BR2_TARGET_XLOADER_CUSTOM_GIT
+	help
+	  Select the specific X-loader version you want to use
+
+config BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	bool "Custom tarball"
+
+config BR2_TARGET_XLOADER_CUSTOM_GIT
+	bool "Custom Git repository"
+
+endchoice
+
+if BR2_TARGET_XLOADER_CUSTOM_GIT
+
+config BR2_TARGET_XLOADER_CUSTOM_GIT_REPO_URL
+	string "URL of custom Git repository"
+
+config BR2_TARGET_XLOADER_CUSTOM_GIT_VERSION
+	string "Custom Git version"
+
+endif
+
+if BR2_TARGET_XLOADER_CUSTOM_TARBALL
+
+config BR2_TARGET_XLOADER_CUSTOM_TARBALL_LOCATION
+	string "URL of custom X-loader tarball"
+
+endif
+
+config BR2_TARGET_XLOADER_VERSION
+	string
+	default "custom"	if BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	default $BR2_TARGET_XLOADER_CUSTOM_GIT_VERSION if BR2_TARGET_XLOADER_CUSTOM_GIT
+
+config BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR
+	string "Custom patch dir"
+	help
+	  If your board requires custom patches, add the path to the
+	  directory containing the patches here. The patches must be
+	  named xloader-<version>-<something>.patch.
+
+	  Most users may leave this empty
 endif
boot/xloader/xloader.mk +20 -2
index e8dd380..6ba2920 100644
@@ -3,10 +3,28 @@
 # x-loader
 #
 #############################################################
-XLOADER_VERSION    = 6f3a26101303051e0f91b6213735b68ce804e94e
-XLOADER_SITE       = git://gitorious.org/x-loader/x-loader.git
+XLOADER_VERSION    = $(call qstrip,$(BR2_TARGET_XLOADER_VERSION))
 XLOADER_BOARD_NAME = $(call qstrip,$(BR2_TARGET_XLOADER_BOARDNAME))
 
+ifeq ($(XLOADER_VERSION),custom)
+# Handle custom X-loader tarballs as specified by the configuration
+XLOADER_TARBALL = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_TARBALL_LOCATION))
+XLOADER_SITE    = $(dir $(XLOADER_TARBALL))
+XLOADER_SOURCE  = $(notdir $(XLOADER_TARBALL))
+else
+XLOADER_SITE        = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_GIT_REPO_URL))
+XLOADER_SITE_METHOD = git
+endif
+
+ifneq ($(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR)),)
+define XLOADER_APPLY_CUSTOM_PATCHES
+	support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR) \
+		xloader-$(XLOADER_VERSION)-\*.patch
+endef
+
+XLOADER_POST_PATCH_HOOKS += XLOADER_APPLY_CUSTOM_PATCHES
+endif
+
 XLOADER_INSTALL_IMAGES = YES
 
 define XLOADER_BUILD_CMDS
Signature · 1 line
1.7.5.4
#2 lore raw

PATCH 2/2 x-loader: add custom git and tarball support

Quoted 1 line · On Thursday 09 February 2012 15:51:48 yegorslists at googlemail.com wrote:

From: Yegor Yefremov <[email protected]>

First some general remarks:

- Make sure that existing (def)configs keep working as expected. So setting BR2_TARGET_XLOADER and BR2_TARGET_XLOADER_BOARDNAME should be enough to get a working xloader.

- Are there actual public xloader tarballs that you would use? If the purpose is to avoid git clones from gitorious, it's better to use the PRIMARY_SITE feature. If the purpose is to use a locally modified version, it's better to use the _OVERRIDE_SRCDIR feature. And if the purpose is to avoid requiring git access, it's better to change the XLOADER_SITE to http://gitorious.org/x-loader/x-loader/archive-tarball
and XLOADER_SOURCE to v1.5.1 (this is a version bump as well, obviously).

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 26

Quoted 11 lines
boot/xloader/Config.in +11 -0
+choice
+	prompt "X-loader Version"
+	default BR2_TARGET_XLOADER_CUSTOM_GIT
+	help
+	  Select the specific X-loader version you want to use
+
+config BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	bool "Custom tarball"
+
+config BR2_TARGET_XLOADER_CUSTOM_GIT
+	bool "Custom Git repository"

Since you have to choose one of the two, it's strange to call them
"custom". Also, git comes before tarball in the alphabet.

Perhaps the best option is to add 'v1.5.1' as one of the options,
that also solves my issue with existing defconfigs no longer working.

[snip]

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 50

Quoted 4 lines
boot/xloader/Config.in +4 -0
+config BR2_TARGET_XLOADER_VERSION
+	string
+	default "custom"	if BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	default $BR2_TARGET_XLOADER_CUSTOM_GIT_VERSION if BR2_TARGET_XLOADER_CUSTOM_GIT

I didn't know that it worked with the $. Is there a difference between
with and without? If not, Peter, do we have a preference?

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 57

Quoted 7 lines
boot/xloader/Config.in +7 -0
+
+config BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR
+	string "Custom patch dir"
+	help
+	  If your board requires custom patches, add the path to the
+	  directory containing the patches here. The patches must be
+	  named xloader-<version>-<something>.patch.

Leave the version out of the name. Especially if <version> is a git
sha, this becomes annoyingly long.

At the developer day, we decided that internal patches normally have no
version number, and that if one is required (because multiple versions of the package exist), each version will have a separate directory. For external patches, the same pattern should be allowed.

The linux patches require linux-*.patch, u-boot currently requires the
version number to be there (but that will change I guess).

Quoted 1 line

+ifeq ($(XLOADER_VERSION),custom)

A git branch may be called 'custom', so this is no reliable way to detect
git vs. tarball. But you can simply put
ifeq ($(BR2_TARGET_XLOADER_CUSTOM_TARBALL),y)

Quoted 1 line

+# Handle custom X-loader tarballs as specified by the configuration

This remark is redundant.

Quoted 10 lines
boot/xloader/xloader.mk +10 -0
+XLOADER_TARBALL = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_TARBALL_LOCATION))
+XLOADER_SITE    = $(dir $(XLOADER_TARBALL))
+XLOADER_SOURCE  = $(notdir $(XLOADER_TARBALL))
+else
+XLOADER_SITE        = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_GIT_REPO_URL))
+XLOADER_SITE_METHOD = git
+endif
+
+ifneq ($(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR)),)
+define XLOADER_APPLY_CUSTOM_PATCHES

boot/xloader/xloader.mk line 30

Quoted 10 lines
boot/xloader/xloader.mk +7 -0
+	support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR) \
+		xloader-$(XLOADER_VERSION)-\*.patch
+endef
+
+XLOADER_POST_PATCH_HOOKS += XLOADER_APPLY_CUSTOM_PATCHES
+endif
+
 XLOADER_INSTALL_IMAGES = YES
 
 define XLOADER_BUILD_CMDS

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#3 lore raw

PATCH 2/2 x-loader: add custom git and tarball support

Am 11.02.2012 15:55, schrieb Arnout Vandecappelle:

Quoted 9 lines · On Thursday 09 February 2012 15:51:48 yegorslists at googlemail.com wrote:
Quoted 1 line

From: Yegor Yefremov <[email protected]>

First some general remarks:

- Make sure that existing (def)configs keep working as expected. So setting BR2_TARGET_XLOADER and BR2_TARGET_XLOADER_BOARDNAME should be enough to get a working xloader.

Quoted 7 lines

- Are there actual public xloader tarballs that you would use? If the purpose is to avoid git clones from gitorious, it's better to use the PRIMARY_SITE feature. If the purpose is to use a locally modified version, it's better to use the _OVERRIDE_SRCDIR feature. And if the purpose is to avoid requiring git access, it's better to change the XLOADER_SITE to http://gitorious.org/x-loader/x-loader/archive-tarball
and XLOADER_SOURCE to v1.5.1 (this is a version bump as well, obviously).

I think we don't really need support for tarballs. I've just taken the u-boot approach.

Quoted 6 lines
Quoted 6 lines
boot/xloader/Config.in +6 -0
+choice
+	prompt "X-loader Version"
+	default BR2_TARGET_XLOADER_CUSTOM_GIT
+	help
+	  Select the specific X-loader version you want to use
+
Quoted 8 lines

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 26

Quoted 5 lines
boot/xloader/Config.in +5 -0
+config BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	bool "Custom tarball"
+
+config BR2_TARGET_XLOADER_CUSTOM_GIT
+	bool "Custom Git repository"

Since you have to choose one of the two, it's strange to call them
"custom". Also, git comes before tarball in the alphabet.

ACK

Quoted 2 lines

Perhaps the best option is to add 'v1.5.1' as one of the options,
that also solves my issue with existing defconfigs no longer working.

ACK

Quoted 9 lines

[snip]

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 50

Quoted 4 lines
boot/xloader/Config.in +4 -0
+config BR2_TARGET_XLOADER_VERSION
+	string
+	default "custom"	if BR2_TARGET_XLOADER_CUSTOM_TARBALL
+	default $BR2_TARGET_XLOADER_CUSTOM_GIT_VERSION if BR2_TARGET_XLOADER_CUSTOM_GIT

I didn't know that it worked with the $. Is there a difference between
with and without? If not, Peter, do we have a preference?

Quoted 10 lines

boot/xloader/Config.in config BR2_TARGET_XLOADER_BOARDNAME · line 57

Quoted 7 lines
boot/xloader/Config.in +7 -0
+
+config BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR
+	string "Custom patch dir"
+	help
+	  If your board requires custom patches, add the path to the
+	  directory containing the patches here. The patches must be
+	  named xloader-<version>-<something>.patch.

Leave the version out of the name. Especially if <version> is a git
sha, this becomes annoyingly long.

Oh yes, it is annoying.

Quoted 4 lines

At the developer day, we decided that internal patches normally have no
version number, and that if one is required (because multiple versions of the package exist), each version will have a separate directory. For external patches, the same pattern should be allowed.

I support this decision.

Quoted 11 lines

The linux patches require linux-*.patch, u-boot currently requires the
version number to be there (but that will change I guess).

Quoted 1 line

+ifeq ($(XLOADER_VERSION),custom)

A git branch may be called 'custom', so this is no reliable way to detect
git vs. tarball. But you can simply put
ifeq ($(BR2_TARGET_XLOADER_CUSTOM_TARBALL),y)

Quoted 1 line

+# Handle custom X-loader tarballs as specified by the configuration

This remark is redundant.

ACK

Quoted 19 lines
Quoted 19 lines
boot/xloader/xloader.mk +17 -0
+XLOADER_TARBALL = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_TARBALL_LOCATION))
+XLOADER_SITE    = $(dir $(XLOADER_TARBALL))
+XLOADER_SOURCE  = $(notdir $(XLOADER_TARBALL))
+else
+XLOADER_SITE        = $(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_GIT_REPO_URL))
+XLOADER_SITE_METHOD = git
+endif
+
+ifneq ($(call qstrip,$(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR)),)
+define XLOADER_APPLY_CUSTOM_PATCHES
+	support/scripts/apply-patches.sh $(@D) $(BR2_TARGET_XLOADER_CUSTOM_PATCH_DIR) \
+		xloader-$(XLOADER_VERSION)-\*.patch
+endef
+
+XLOADER_POST_PATCH_HOOKS += XLOADER_APPLY_CUSTOM_PATCHES
+endif
+
 XLOADER_INSTALL_IMAGES = YES
Quoted 1 line
Quoted 1 line

define XLOADER_BUILD_CMDS

I'm using am3517 based board and it's x-loader is still in arago repo. That's why I wanted to introduce alternative x-loader repo. But after getting feedback from Arago, I would postpone reworking this patch and trying to get x-loader upstream. With arago repo I still have a problem, that signPG is missing. Had made a patch to solve this, but getting am3517 upstream were the best solution.

Yegor