target/ubifs: fix compilation
PATCH 1/2 target/ubifs: fix compilation
The ubifs rootfs target does not currently build because the repository listed in ubifsroot.mk does not exist anymore. Consequently, the used tag is also wrong.
As the code base for mtd utils seem to have been merged in the past, there are dependencies between ubi-utils, mkfs.ubifs and the mtd core now, so we have no other option than building the whole thing.
WITHOUT_XATTR was added to the make parameters because it did not build on my system without that. Maybe that should become a auto* variable dependency in the future.
BUILDDIR is needed by the mtd-utils Makefile, otherwise built object files are put to $(PWD) which is the toplevel br2 path.
MKFS_UBIFS_BINARY was added to ease the path chaos a bit.
--- target/ubifs/ubifsroot.mk | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-)
target/ubifs/ubifsroot.mk +11 -10
@@ -5,12 +5,13 @@ ############################################################# #MKFS_UBIFS_VERSION=2582f128dad78591bc3adcc87c343c690bb82e61 #MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=$(MKFS_UBIFS_VERSION);sf=tgz -MKFS_UBIFS_VERSION=v0.4 -MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=refs/tags/mkfs.ubifs-$(MKFS_UBIFS_VERSION);sf=tgz -MKFS_UBIFS_SOURCE:=mkfs.ubifs-$(MKFS_UBIFS_VERSION).tar.gz -MKFS_UBIFS_DIR:= $(BUILD_DIR)/mkfs-ubifs-$(MKFS_UBIFS_VERSION) -MKFS_UBIFS_CAT:=$(ZCAT) -MKFS_UBIFS_NAME:=mkfs.ubifs +MKFS_UBIFS_VERSION=HEAD +MKFS_UBIFS_URL=http://git.infradead.org/mtd-utils.git?a=snapshot\;h=$(MKFS_UBIFS_VERSION)\;sf=tgz +MKFS_UBIFS_SOURCE=mtd-utils-$(MKFS_UBIFS_VERSION).tar.gz +MKFS_UBIFS_DIR=$(BUILD_DIR)/mkfs-utils-ubifs +MKFS_UBIFS_CAT=$(ZCAT) +MKFS_UBIFS_NAME=mtd-utils +MKFS_UBIFS_BINARY=$(MKFS_UBIFS_DIR)/mkfs.ubifs/mkfs.ubifs $(DL_DIR)/$(MKFS_UBIFS_SOURCE): $(WGET) -O $(DL_DIR)/$(MKFS_UBIFS_SOURCE) "$(MKFS_UBIFS_URL)"
@@ -21,14 +22,14 @@ $(MKFS_UBIFS_DIR)/.unpacked: $(DL_DIR)/$(MKFS_UBIFS_SOURCE) toolchain/patch-kernel.sh $(MKFS_UBIFS_DIR) target/ubifs/ mkfs-ubifs-\*.patch touch $@ -$(MKFS_UBIFS_DIR)/mkfs.ubifs: $(MKFS_UBIFS_DIR)/.unpacked - $(MAKE) -C $(MKFS_UBIFS_DIR) +$(MKFS_UBIFS_BINARY): $(MKFS_UBIFS_DIR)/.unpacked + $(MAKE) -j1 -C $(MKFS_UBIFS_DIR) BUILDDIR=$(MKFS_UBIFS_DIR) WITHOUT_XATTR=1 touch -c $@ mkfs.ubifs-dirclean: rm -rf $(MKFS_UBIFS_DIR) -mkfs.ubifs: $(MKFS_UBIFS_DIR)/mkfs.ubifs +mkfs.ubifs: $(MKFS_UBIFS_BINARY) ############################################################# #
@@ -88,7 +89,7 @@ ifneq ($(TARGET_DEVICE_TABLE),) >> $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) endif # Use fakeroot so mkfs.ubifs believes the previous fakery - echo "$(MKFS_UBIFS_DIR)/mkfs.ubifs -d $(TARGET_DIR) " \ + echo "$(MKFS_UBIFS_BINARY) -d $(TARGET_DIR) " \ "$(UBIFS_OPTS) -o $(UBIFS_BASE)" >> $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) chmod a+x $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) $(HOST_DIR)/usr/bin/fakeroot -- $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET))
Signature · 1 line
1.6.3.1
PATCH 1/2 target/ubifs: fix compilation
Quoted 3 lines · Daniel Mack
The ubifs rootfs target does not currently build because the repository listed in ubifsroot.mk does not exist anymore. Consequently, the used tag is also wrong.
Any oppinion about this one and the follow-up, '2/2'?
Daniel
PATCH 1/2 target/ubifs: fix compilation
Hey Daniel,
I tried the patches and they worked fine for me. Managed to build a UBIFS fine, nearly even got it to mount it :P (thats for another day)
Regards Paul
Quoted 13 lines · Daniel Mack
Quoted 3 lines · Daniel Mack
The ubifs rootfs target does not currently build because the repository listed in ubifsroot.mk does not exist anymore. Consequently, the used tag is also wrong.
Any oppinion about this one and the follow-up, '2/2'?
Daniel
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 4 lines
---- Regards Paul Archer ptarcher at gmail.com
PATCH 1/2 target/ubifs: fix compilation
In reply to Daniel MackIs there any comment on these patches Ive sent five weeks ago? It seems they got lost ...
Thanks,
Daniel
Quoted 76 lines · Daniel Mack
The ubifs rootfs target does not currently build because the repository listed in ubifsroot.mk does not exist anymore. Consequently, the used tag is also wrong.
As the code base for mtd utils seem to have been merged in the past, there are dependencies between ubi-utils, mkfs.ubifs and the mtd core now, so we have no other option than building the whole thing.
WITHOUT_XATTRwas added to the make parameters because it did not build on my system without that. Maybe that should become a auto* variable dependency in the future.BUILDDIR is needed by the mtd-utils
Makefile, otherwise built object files are put to $(PWD) which is the toplevel br2 path.
MKFS_UBIFS_BINARYwas added to ease the path chaos a bit.Signed-off-by Daniel Mack <[email protected]>--- target/ubifs/ubifsroot.mk | 21 +++++++++++---------- 1 files changed, 11 insertions(+), 10 deletions(-)target/ubifs/ubifsroot.mk +11
-10@@ -5,12 +5,13 @@ ############################################################# #MKFS_UBIFS_VERSION=2582f128dad78591bc3adcc87c343c690bb82e61 #MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=$(MKFS_UBIFS_VERSION);sf=tgz -MKFS_UBIFS_VERSION=v0.4 -MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=refs/tags/mkfs.ubifs-$(MKFS_UBIFS_VERSION);sf=tgz -MKFS_UBIFS_SOURCE:=mkfs.ubifs-$(MKFS_UBIFS_VERSION).tar.gz -MKFS_UBIFS_DIR:= $(BUILD_DIR)/mkfs-ubifs-$(MKFS_UBIFS_VERSION) -MKFS_UBIFS_CAT:=$(ZCAT) -MKFS_UBIFS_NAME:=mkfs.ubifs +MKFS_UBIFS_VERSION=HEAD +MKFS_UBIFS_URL=http://git.infradead.org/mtd-utils.git?a=snapshot\;h=$(MKFS_UBIFS_VERSION)\;sf=tgz +MKFS_UBIFS_SOURCE=mtd-utils-$(MKFS_UBIFS_VERSION).tar.gz +MKFS_UBIFS_DIR=$(BUILD_DIR)/mkfs-utils-ubifs +MKFS_UBIFS_CAT=$(ZCAT) +MKFS_UBIFS_NAME=mtd-utils +MKFS_UBIFS_BINARY=$(MKFS_UBIFS_DIR)/mkfs.ubifs/mkfs.ubifs $(DL_DIR)/$(MKFS_UBIFS_SOURCE): $(WGET) -O $(DL_DIR)/$(MKFS_UBIFS_SOURCE) "$(MKFS_UBIFS_URL)"@@ -21,14 +22,14 @@ $(MKFS_UBIFS_DIR)/.unpacked: $(DL_DIR)/$(MKFS_UBIFS_SOURCE) toolchain/patch-kernel.sh $(MKFS_UBIFS_DIR) target/ubifs/ mkfs-ubifs-\*.patch touch $@ -$(MKFS_UBIFS_DIR)/mkfs.ubifs: $(MKFS_UBIFS_DIR)/.unpacked - $(MAKE) -C $(MKFS_UBIFS_DIR) +$(MKFS_UBIFS_BINARY): $(MKFS_UBIFS_DIR)/.unpacked + $(MAKE) -j1 -C $(MKFS_UBIFS_DIR) BUILDDIR=$(MKFS_UBIFS_DIR) WITHOUT_XATTR=1 touch -c $@ mkfs.ubifs-dirclean: rm -rf $(MKFS_UBIFS_DIR) -mkfs.ubifs: $(MKFS_UBIFS_DIR)/mkfs.ubifs +mkfs.ubifs: $(MKFS_UBIFS_BINARY) ############################################################# #@@ -88,7 +89,7 @@ ifneq ($(TARGET_DEVICE_TABLE),) >> $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) endif # Use fakeroot so mkfs.ubifs believes the previous fakery - echo "$(MKFS_UBIFS_DIR)/mkfs.ubifs -d $(TARGET_DIR) " \ + echo "$(MKFS_UBIFS_BINARY) -d $(TARGET_DIR) " \ "$(UBIFS_OPTS) -o $(UBIFS_BASE)" >> $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) chmod a+x $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET)) $(HOST_DIR)/usr/bin/fakeroot -- $(PROJECT_BUILD_DIR)/_fakeroot.$(notdir $(UBIFS_TARGET))Signature · 1 line
1.6.3.1
PATCH 1/2 target/ubifs: fix compilation
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> Is there any comment on these patches Ive sent five weeks ago? It seems Daniel> they got lost ...
Sorry, it was indeed. I noticed that Artem did some work in mtd-utils git recently, but there doesn't seem to be a 1.3 release in sight yet.
I'm unfortunately not home all weekend, but I'll review your patches ealy next week.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
In reply to Daniel MackUpdate git version for mtd-utils.git.
In this new version, a new tool named 'ubiformat' exists which is exported by this patch.
The tool ubimirror does not exist anymore, remove support for it.
--- package/mtd/Config.in | 10 +++++----- package/mtd/mtd-utils.git/mtd.mk | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-)
package/mtd/Config.in +5 -5
@@ -139,11 +139,6 @@ config BR2_PACKAGE_MTD_UBIDETACH default y depends on BR2_PACKAGE_MTD_UTILS_GIT -config BR2_PACKAGE_MTD_UBIMIRROR - bool "ubimirror" - default y - depends on BR2_PACKAGE_MTD_UTILS_GIT - config BR2_PACKAGE_MTD_UBIMKVOL bool "ubimkvol" default y
@@ -164,5 +159,10 @@ config BR2_PACKAGE_MTD_UBIUPDATEVOL default y depends on BR2_PACKAGE_MTD_UTILS_GIT +config BR2_PACKAGE_MTD_UBIFORMAT + bool "ubiformat" + default y + depends on BR2_PACKAGE_MTD_UTILS_GIT + endif
package/mtd/mtd-utils.git/mtd.mk +2 -2
@@ -3,7 +3,7 @@ # mtd provides jffs2 utilities # ############################################################# -MTD_VERSION:=fcb52ccc99679460640386c297023f852b108f68 +MTD_VERSION:=e783e75e09b4a0a519665afd7bdeaf2985e7a09c MTD_SOURCE:=mtd-utils-$(MTD_VERSION).tar.gz MTD_URL:=http://git.infradead.org/mtd-utils.git?a=snapshot;h=$(MTD_VERSION);sf=tgz MTD_HOST_DIR:= $(TOOL_BUILD_DIR)/mtd-utils-$(MTD_VERSION)
@@ -98,11 +98,11 @@ MTD_TARGETS_UBI_y := MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMIRROR) += ubimirror MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol +MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/, $(MTD_TARGETS_y)) $(addprefix $(MTD_DIR)/ubi-utils/, $(MTD_TARGETS_UBI_y))
Signature · 1 line
1.6.3.1
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> Update git version for mtd-utils.git.
Daniel> In this new version, a new tool named 'ubiformat' exists which is Daniel> exported by this patch.
What about the patches? They no longer apply:
Applying mtd-utils-all-targets.patch using plaintext:
patching file Makefile
Hunk #1 FAILED at 72.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej Patch failed! Please fix mtd-utils-all-targets.patch!
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
Quoted 6 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> Update git version for mtd-utils.git.
Daniel> In this new version, a new tool named 'ubiformat' exists which is Daniel> exported by this patch.
Quoted 7 lines
What about the patches? They no longer apply:
Applying mtd-utils-all-targets.patch using plaintext:
patching fileMakefile
Hunk #1 FAILED at 72.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej Patch failed! Please fix mtd-utils-all-targets.patch!
Erm, yes. Sorry. I removed them locally but forgot to add that to the patch. They're not needed anymore. Could you do that when commiting?
Thanks,
Daniel
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 7 lines
Quoted 7 lines
What about the patches? They no longer apply:
Applying mtd-utils-all-targets.patch using plaintext:
patching fileMakefile
Hunk #1 FAILED at 72.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej Patch failed! Please fix mtd-utils-all-targets.patch!
Daniel> Erm, yes. Sorry. I removed them locally but forgot to add that to the Daniel> patch. They're not needed anymore. Could you do that when commiting?
Sure - Both patches?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
Quoted 4 lines · Peter Korsgaard
Daniel> Erm, yes. Sorry. I removed them locally but forgot to add that to the Daniel> patch. They're not needed anymore. Could you do that when commiting?
Sure - Both patches?
Yes.
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> On Mon, Jul 20, 2009 at 10:35:42PM +0200, Peter Korsgaard wrote:
Daniel> Erm, yes. Sorry. I removed them locally but forgot to add that to the Daniel> patch. They're not needed anymore. Could you do that when commiting?
Quoted 2 lines
Quoted 2 lines
Sure - Both patches?
Daniel> Yes.
OK, thanks. It still doesn't build here.
The first problem is that common.mk unconditionally sets FILE_OFFSET_BITS=64, which causes the uclibc headers to error out if you compiled without largefile support (the default). The second is:
/tmp/br/mipsel/build_mipsel/staging_dir/usr/bin/mipsel-linux-uclibcgnueabi-gcc -I../include -I../ubi-utils/include -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -c -o /tmp/br/mipsel/build_mipsel/mtd-utils-e783e75e09b4a0a519665afd7bdeaf2985e7a09c/mkfs.ubifs/lpt.o lpt.c -g -Wp,-MD,/tmp/br/mipsel/build_mipsel/mtd-utils-e783e75e09b4a0a519665afd7bdeaf2985e7a09c/mkfs.ubifs/.lpt.c.dep In file included from lpt.c:23:
mkfs.ubifs.h:48:23: error: uuid/uuid.h: No such file or directory
Seems like it needs libuuid from e2fsprogs. We should probably make that available without the rest of e2fs, and make the ubifs stuff select it.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
Quoted 6 lines · Peter Korsgaard
OK, thanks. It still doesn't build here.
The first problem is that common.mk unconditionally sets FILE_OFFSET_BITS=64, which causes the uclibc headers to error out if you compiled without largefile support (the default). The second is:
Quoted 7 lines
/tmp/br/mipsel/build_mipsel/staging_dir/usr/bin/mipsel-linux-uclibcgnueabi-gcc-I../include -I../ubi-utils/include -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -c -o/tmp/br/mipsel/build_mipsel/mtd-utils-e783e75e09b4a0a519665afd7bdeaf2985e7a09c/mkfs.ubifs/lpt.olpt.c-g -Wp,-MD,/tmp/br/mipsel/build_mipsel/mtd-utils-e783e75e09b4a0a519665afd7bdeaf2985e7a09c/mkfs.ubifs/.lpt.c.dep In file included from lpt.c:23:
mkfs.ubifs.h:48:23: error:uuid/uuid.h: No such file or directorySeems like it needs libuuid from e2fsprogs. We should probably make that available without the rest of e2fs, and make the ubifs stuff select it.
Ok, done that now. See the two mails following this one. Does it work now for you?
Daniel
PATCH 1/2 e2fsprogs: factor out libuuid support
Add a new target for libuuid so it can be built without e2fsprogs.
--- package/e2fsprogs/Config.in | 4 ++++ package/e2fsprogs/e2fsprogs.mk | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+), 0 deletions(-)
package/e2fsprogs/Config.in +4 -0
@@ -1,6 +1,10 @@ +config BR2_PACKAGE_LIBUUID + bool + config BR2_PACKAGE_E2FSPROGS bool "e2fsprogs" depends on BR2_LARGEFILE + select BR2_PACKAGE_LIBUUID help The EXT2 file system utilities and libraries
package/e2fsprogs/e2fsprogs.mk +23 -0
@@ -10,6 +10,8 @@ E2FSPROGS_DIR=$(BUILD_DIR)/e2fsprogs-$(E2FSPROGS_VERSION) E2FSPROGS_CAT:=$(ZCAT) E2FSPROGS_BINARY:=misc/mke2fs E2FSPROGS_TARGET_BINARY:=sbin/mke2fs +LIBUUID_TARGET_DIR:=usr/lib/ +LIBUUID_TARGET_BINARY:=libuuid.so E2FSPROGS_MISC_STRIP:= \ badblocks blkid chattr dumpe2fs filefrag fsck logsave \
@@ -69,9 +71,15 @@ $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY): $(E2FSPROGS_DIR)/.configured #$(STRIPCMD) $(E2FSPROGS_DIR)/lib/lib*.so.*.* touch -c $@ +$(E2FSPROGS_DIR)/lib/$(LIBUUID_BINARY): $(E2FSPROGS_DIR)/.configured + $(MAKE1) -C $(E2FSPROGS_DIR)/lib/uuid + touch -c $@ + $(STAGING_DIR)/$(E2FSPROGS_TARGET_BINARY): $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY) $(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \ -C $(E2FSPROGS_DIR) install + +$(STAGING_DIR)/lib/$(LIBUUID_BINARY): $(E2FSPROGS_DIR)/lib/$(LIBUUID_BINARY) $(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \ -C $(E2FSPROGS_DIR)/lib/uuid install
@@ -125,7 +133,18 @@ endif rm -rf $(TARGET_DIR)/usr/share/doc touch -c $@ +$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_BINARY): $(STAGING_DIR)/lib/$(LIBUUID_BINARY) + $(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(TARGET_DIR) LDCONFIG=true \ + -C $(E2FSPROGS_DIR)/lib/uuid install + rm -rf $(TARGET_DIR)/usr/include/uuid + rm -rf $(TARGET_DIR)/usr/lib/pkgconfig/uuid.pc +ifneq ($(BR2_HAVE_MANPAGES),y) + rm -rf $(TARGET_DIR)/usr/share/man +endif + touch -c $@ + e2fsprogs: uclibc $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY) +libuuid: uclibc $(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY) e2fsprogs-clean: $(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(E2FSPROGS_DIR) uninstall
@@ -142,3 +161,7 @@ e2fsprogs-dirclean: ifeq ($(BR2_PACKAGE_E2FSPROGS),y) TARGETS+=e2fsprogs endif + +ifeq ($(BR2_PACKAGE_LIBUUID),y) +TARGETS+=libuuid +endif
Signature · 1 line
1.6.3.3
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 3 lines · Daniel Mack
Add a new target for libuuid so it can be built without e2fsprogs.
Signed-off-by Daniel Mack <[email protected]>
Hmm, that didn't work well. Let's give the version below a try. This one now also selects BR2_PACKAGE_LIBUUID for gupnp.
Daniel
PATCH 1/2 e2fsprogs: factor out libuuid support
Le Mon, 3 Aug 2009 16:36:14 +0200,
Daniel Mack <[email protected]> a ?crit :
Quoted 12 lines
package/gupnp/Config.in +1
-0@@ -4,6 +4,7 @@ config BR2_PACKAGE_GUPNP select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_GSSDP + select BR2_PACKAGE_LIBUUID help GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification,
Quoted 1 line
and
Usually, when a select dependency is added, the .mk should be modified to make sure that libuuid is effectively compiled before gupnp is compiled.
BTW, I don't see this gupnp package in the tree. Is the patch waiting somewhere ?
Thomas
Signature · 4 lines
Thomas Petazzoni, Free Electrons Kernel, drivers and embedded Linux development, consulting, training and support. http://free-electrons.com
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 12 lines · Thomas Petazzoni
Le Mon, 3 Aug 2009 16:36:14 +0200,
Daniel Mack <[email protected]> a ?crit :Quoted 9 lines
package/gupnp/Config.in +1
-0@@ -4,6 +4,7 @@ config BR2_PACKAGE_GUPNP select BR2_PACKAGE_E2FSPROGS select BR2_PACKAGE_LIBXML2 select BR2_PACKAGE_GSSDP + select BR2_PACKAGE_LIBUUID
Quoted 8 lines
Quoted 4 lines
package/gupnp/Config.in +0
-0help GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification,and
Usually, when a select dependency is added, the .mk should be modified to make sure that libuuid is effectively compiled before gupnp is compiled.
Yes, agreed.
Quoted 2 lines
BTW, I don't see this gupnp package in the tree. Is the patch waiting somewhere ?
I saw that too, sorry for the confusion. I forgot that this one is still not able to get mainline due to bug #35.
Take the one below, please.
Daniel
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 1 line
Quoted 1 line
From
97b17587e8dca5774fb59347426f0b7ae04c3415Mon Sep 17 00:00:00 2001
Daniel> From: Daniel Mack <[email protected]>
Daniel> Date: Wed, 29 Jul 2009 19:13:46 +0200 Daniel> Subject: [PATCH] e2fsprogs: factor out libuuid support
Daniel> Add a new target for libuuid so it can be built without e2fsprogs.
Daniel> Signed-off-by: Daniel Mack <[email protected]> Daniel> ---
Daniel> package/e2fsprogs/Config.in | 4 ++++ Daniel> package/e2fsprogs/e2fsprogs.mk | 27 +++++++++++++++++++++++++--
Daniel> 2 files changed, 29 insertions(+), 2 deletions(-)
Daniel> diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in Daniel> index d353fd9..398dc56 100644
Daniel> --- a/package/e2fsprogs/Config.in
Daniel> +++ b/package/e2fsprogs/Config.in
Daniel> @@ -1,6 +1,10 @@
Daniel> +config BR2_PACKAGE_LIBUUID
Daniel> + bool
Why did you make this a hidden config? Couldn't we imagine someone wanting to use libuuid in their own programs?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 10 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> diff --git a/package/e2fsprogs/Config.in b/package/e2fsprogs/Config.in Daniel> index d353fd9..398dc56 100644
Daniel> --- a/package/e2fsprogs/Config.in
Daniel> +++ b/package/e2fsprogs/Config.in
Daniel> @@ -1,6 +1,10 @@
Daniel> +configBR2_PACKAGE_LIBUUID
Daniel> + bool
Quoted 2 lines
Why did you make this a hidden config? Couldn't we imagine someone wanting to use libuuid in their own programs?
I didn't image that ;) But you're right, that could help. See the new patch below.
Thanks,
Daniel
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 4 lines
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Why did you make this a hidden config? Couldn't we imagine someone wanting to use libuuid in their own programs?
Daniel> I didn't image that ;) But you're right, that could help. See Daniel> the new patch below.
Thanks, committed.
You were missing -clean and -source targets, but I've added those.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 7 lines · Peter Korsgaard
Quoted 2 lines
Quoted 2 lines
Why did you make this a hidden config? Couldn't we imagine someone wanting to use libuuid in their own programs?
Daniel> I didn't image that ;) But you're right, that could help. See Daniel> the new patch below.
Thanks, committed.
Great, thanks. Could you merge the ubifs-target patch as well. (That was 2/ of my original posting)
Daniel
PATCH 1/2 e2fsprogs: factor out libuuid support
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Daniel> Great, thanks. Could you merge the ubifs-target patch as well. Daniel> (That was 2/ of my original posting)
Sure, I'll have a closer look at it a bit later today.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
In reply to Daniel Mack- Update git version for mtd-utils.git.
- In this new version, a new tool named 'ubiformat' exists which is exported by this patch.
- The tool ubimirror does not exist anymore, remove support for it.
- remove two patches that do no longer apply
- add a patch that removes the unconditional setting of -D_FILE_OFFSET_BITS=64
- introduce EXTRA_CPPFLAGS that is set to -D_FILE_OFFSET_BITS=64 in case BR2_LARGEFILE is set
- select BR2_PACKAGE_LIBUUID for BR2_PACKAGE_MTD
--- package/mtd/Config.in | 11 +++-- .../mtd/mtd-utils.git/mtd-utils-all-targets.patch | 34 -------------- .../mtd/mtd-utils.git/mtd-utils-target-acl.patch | 48 -------------------- .../mtd-utils-target-no-file-offset-bits.patch | 11 +++++ package/mtd/mtd-utils.git/mtd.mk | 15 ++++-- 5 files changed, 27 insertions(+), 92 deletions(-) delete mode 100644 package/mtd/mtd-utils.git/mtd-utils-all-targets.patch delete mode 100644 package/mtd/mtd-utils.git/mtd-utils-target-acl.patch create mode 100644 package/mtd/mtd-utils.git/mtd-utils-target-no-file-offset-bits.patch
package/mtd/Config.in +6 -5
@@ -1,6 +1,7 @@ menuconfig BR2_PACKAGE_MTD bool "mtd/jffs2 utilities" select BR2_PACKAGE_ZLIB + select BR2_PACKAGE_LIBUUID help Build mtd/jffs utilities
@@ -127,11 +128,6 @@ config BR2_PACKAGE_MTD_UBIDETACH default y depends on BR2_PACKAGE_MTD_UTILS_GIT -config BR2_PACKAGE_MTD_UBIMIRROR - bool "ubimirror" - default y - depends on BR2_PACKAGE_MTD_UTILS_GIT - config BR2_PACKAGE_MTD_UBIMKVOL bool "ubimkvol" default y
@@ -152,5 +148,10 @@ config BR2_PACKAGE_MTD_UBIUPDATEVOL default y depends on BR2_PACKAGE_MTD_UTILS_GIT +config BR2_PACKAGE_MTD_UBIFORMAT + bool "ubiformat" + default y + depends on BR2_PACKAGE_MTD_UTILS_GIT + endif
package/mtd/mtd-utils.git/mtd-utils-all-targets.patch deleted +0 -34
@@ -1,34 +0,0 @@ -diff -urN mtd-utils-1.1.0-0rig/Makefile mtd-utils-1.1.0/Makefile ---- mtd-utils-1.1.0-0rig/Makefile 2007-08-03 15:55:51.000000000 +0200 -+++ mtd-utils-1.1.0/Makefile 2007-09-27 08:20:55.000000000 +0200 -@@ -72,6 +72,30 @@ - $(BUILDDIR)/sumtool: $(BUILDDIR)/sumtool.o $(BUILDDIR)/crc32.o - $(CC) $(LDFLAGS) -o $@ $^ - -+ftl_format: $(BUILDDIR)/ftl_format -+flash_erase: $(BUILDDIR)/flash_erase -+flash_eraseall: $(BUILDDIR)/flash_eraseall -+nanddump: $(BUILDDIR)/nanddump -+doc_loadbios: $(BUILDDIR)/doc_loadbios -+mkfs.jffs: $(BUILDDIR)/mkfs.jffs -+ftl_check: $(BUILDDIR)/ftl_check -+mkfs.jffs2: $(BUILDDIR)/mkfs.jffs2 -+flash_lock: $(BUILDDIR)/flash_lock -+flash_unlock: $(BUILDDIR)/flash_unlock -+flash_info: $(BUILDDIR)/flash_info -+flash_otp_info: $(BUILDDIR)/flash_otp_info -+flash_otp_dump: $(BUILDDIR)/flash_otp_dump -+mtd_debug: $(BUILDDIR)/mtd_debug -+flashcp: $(BUILDDIR)/flashcp -+nandwrite: $(BUILDDIR)/nandwrite -+jffs2dump: $(BUILDDIR)/jffs2dump -+nftldump: $(BUILDDIR)/nftldump -+nftl_format: $(BUILDDIR)/nftl_format -+docfdisk: $(BUILDDIR)/docfdisk -+rfddump: $(BUILDDIR)/rfddump -+rfdformat: $(BUILDDIR)/rfdformat -+sumtool: $(BUILDDIR)/sumtool -+ - install: ${TARGETS} - mkdir -p ${DESTDIR}/${SBINDIR} - install -m0755 ${TARGETS} ${DESTDIR}/${SBINDIR}/
package/mtd/mtd-utils.git/mtd-utils-target-acl.patch deleted +0 -48
48 lines not on this page · raw message
package/mtd/mtd-utils.git/mtd-utils-target-no-file-offset-bits.patch new file +11 -0
@@ -0,0 +1,11 @@ +--- a/common.mk 2009-07-29 19:07:29.000000000 +0200 ++++ b/common.mk 2009-07-29 19:07:34.000000000 +0200 +@@ -12,7 +12,7 @@ + $(call cc-option,-Wwrite-strings) \ + $(call cc-option,-Wno-sign-compare) + CFLAGS += $(WFLAGS) +-CPPFLAGS += -D_FILE_OFFSET_BITS=64 ++CPPFLAGS += $(EXTRA_CPPFLAGS) + + DESTDIR ?= /usr/local + PREFIX=/usr
package/mtd/mtd-utils.git/mtd.mk +10 -5
@@ -3,7 +3,7 @@ # mtd provides jffs2 utilities # ############################################################# -MTD_VERSION:=fcb52ccc99679460640386c297023f852b108f68 +MTD_VERSION:=e783e75e09b4a0a519665afd7bdeaf2985e7a09c MTD_SOURCE:=mtd-utils-$(MTD_VERSION).tar.gz MTD_URL:=http://git.infradead.org/mtd-utils.git?a=snapshot;h=$(MTD_VERSION);sf=tgz MTD_HOST_DIR:= $(TOOL_BUILD_DIR)/mtd-utils-$(MTD_VERSION)
@@ -98,20 +98,25 @@ MTD_TARGETS_UBI_y := MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIATTACH) += ubiattach MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBICRC32) += ubicrc32 MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIDETACH) += ubidetach -MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMIRROR) += ubimirror MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIMKVOL) += ubimkvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBINFO) += ubinfo MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIRMVOL) += ubirmvol MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIUPDATEVOL) += ubiupdatevol +MTD_TARGETS_UBI_$(BR2_PACKAGE_MTD_UBIFORMAT) += ubiformat MTD_BUILD_TARGETS := $(addprefix $(MTD_DIR)/, $(MTD_TARGETS_y)) $(addprefix $(MTD_DIR)/ubi-utils/, $(MTD_TARGETS_UBI_y)) +ifeq ($(BR2_LARGEFILE),y) +TARGET_CPPFLAGS += -D_FILE_OFFSET_BITS=64 +endif + $(MTD_BUILD_TARGETS): $(MTD_DIR)/.unpacked mkdir -p $(TARGET_DIR)/usr/sbin $(MAKE1) OPTFLAGS="-DNEED_BCOPY -Dbcmp=memcmp -I$(STAGING_DIR)/usr/include $(TARGET_CFLAGS)" \ LDFLAGS="$(TARGET_LDFLAGS)" \ - BUILDDIR=$(MTD_DIR) \ - CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) WITHOUT_XATTR=1 -C $(MTD_DIR) + BUILDDIR=$(MTD_DIR) \ + EXTRA_CPPFLAGS=$(TARGET_CPPFLAGS) \ + CROSS=$(TARGET_CROSS) CC=$(TARGET_CC) WITHOUT_XATTR=1 -C $(MTD_DIR) MTD_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_y)) MTD_UBI_TARGETS := $(addprefix $(TARGET_DIR)/usr/sbin/, $(MTD_TARGETS_UBI_y))
@@ -124,7 +129,7 @@ $(MTD_UBI_TARGETS): $(TARGET_DIR)/usr/sbin/% : $(MTD_DIR)/ubi-utils/% cp -f $< $@ $(STRIPCMD) $@ -mtd: zlib lzo $(MTD_TARGETS) $(MTD_UBI_TARGETS) +mtd: zlib lzo libuuid $(MTD_TARGETS) $(MTD_UBI_TARGETS) mtd-source: $(DL_DIR)/$(MTD_SOURCE)
Signature · 1 line
1.6.3.3
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> - Update git version for mtd-utils.git.
Daniel> - In this new version, a new tool named 'ubiformat' exists which is
Daniel> exported by this patch.
Daniel> - The tool ubimirror does not exist anymore, remove support for it. Daniel> - remove two patches that do no longer apply
Daniel> - add a patch that removes the unconditional setting of
Daniel> -D_FILE_OFFSET_BITS=64
Daniel> - introduce EXTRA_CPPFLAGS that is set to -D_FILE_OFFSET_BITS=64 in case
Daniel> BR2_LARGEFILE is set
Daniel> - select BR2_PACKAGE_LIBUUID for BR2_PACKAGE_MTD
Thanks, but it still doesn't build with a default (E.G. non-largefile) config:
mkfs.ubifs.c: In function 'write_leb':
mkfs.ubifs.c:768: error: 'off64_t' undeclared (first use in this function) mkfs.ubifs.c:768: error: (Each undeclared identifier is reported only once mkfs.ubifs.c:768: error: for each function it appears in.) mkfs.ubifs.c:768: error: expected ';' before 'pos' mkfs.ubifs.c:776: warning: implicit declaration of function 'lseek64' mkfs.ubifs.c:776: error: 'pos' undeclared (first use in this function) mkfs.ubifs.c: In function 'add_file':
mkfs.ubifs.c:1264: error: 'O_LARGEFILE' undeclared (first use in this function)
I expect that you just need to make mkfs.ubifs depend on largefile support in the toolchain if it cannot easily be fixed in the sources.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
Quoted 27 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Daniel> - Update git version for mtd-utils.git.
Daniel> - In this new version, a new tool named 'ubiformat' exists which is
Daniel> exported by this patch.
Daniel> - The tool ubimirror does not exist anymore, remove support for it. Daniel> - remove two patches that do no longer apply
Daniel> - add a patch that removes the unconditional setting of
Daniel> -D_FILE_OFFSET_BITS=64
Daniel> - introduceEXTRA_CPPFLAGSthat is set to -D_FILE_OFFSET_BITS=64 in case
Daniel>BR2_LARGEFILEis set
Daniel> - selectBR2_PACKAGE_LIBUUIDforBR2_PACKAGE_MTDThanks, but it still doesn't build with a default (E.G. non-largefile) config:
mkfs.ubifs.c: In function 'write_leb':
mkfs.ubifs.c:768: error: 'off64_t' undeclared (first use in this function) mkfs.ubifs.c:768: error: (Each undeclared identifier is reported only once mkfs.ubifs.c:768: error: for each function it appears in.) mkfs.ubifs.c:768: error: expected ';' before 'pos' mkfs.ubifs.c:776: warning: implicit declaration of function 'lseek64' mkfs.ubifs.c:776: error: 'pos' undeclared (first use in this function)mkfs.ubifs.c: In function 'add_file':
mkfs.ubifs.c:1264: error: 'O_LARGEFILE' undeclared (first use in this function)
Quoted 2 lines
I expect that you just need to make mkfs.ubifs depend on largefile support in the toolchain if it cannot easily be fixed in the sources.
Hmm, yes. Unfortunately, we'll have to depend on LARGEFILE then. Give the patch below a try - and thanks for the patience :)
Daniel
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 3 lines
Quoted 3 lines
I expect that you just need to make mkfs.ubifs depend on largefile support in the toolchain if it cannot easily be fixed in the sources.
Daniel> Hmm, yes. Unfortunately, we'll have to depend on LARGEFILE Daniel> then. Give the patch below a try - and thanks for the Daniel> patience :)
Hmm, that's quite a big hammer. Looking closer at it, it seems like the only thing that really needs largefile and libuuid support is mkfs.ubifs, which you build but never install. Wouldn't it be a lot simpler to simply add SUBDIRS=ubi-utils to the make arguments so it never tries to build mkfs.ubifs and get rid of the libuuid / largefile dependency?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 2/2 mtd-utils.git: fix targets
Quoted 10 lines · Peter Korsgaard
Quoted 5 lines
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
I expect that you just need to make mkfs.ubifs depend on largefile support in the toolchain if it cannot easily be fixed in the sources.
Daniel> Hmm, yes. Unfortunately, we'll have to depend on LARGEFILE Daniel> then. Give the patch below a try - and thanks for the Daniel> patience :)
Quoted 6 lines
Hmm, that's quite a big hammer. Looking closer at it, it seems like the only thing that really needs largefile and libuuid support is mkfs.ubifs, which you build but never install. Wouldn't it be a lot simpler to simply add SUBDIRS=ubi-utils to the make arguments so it never tries to build mkfs.ubifs and get rid of the libuuid / largefile dependency?
I tried that now and it doesn't seem to suffice to override the SUBDIRS directive. There are some other references as well.
As I would like to see these feature in the 2009.08 release, I suggest to take it as it is now and amend it later to maybe eventually drop the LARGEFILE dependency again. Does that sound feasible?
Daniel
PATCH 2/2 mtd-utils.git: fix targets
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Daniel> I tried that now and it doesn't seem to suffice to override Daniel> the SUBDIRS directive. There are some other references as Daniel> well.
Daniel> As I would like to see these feature in the 2009.08 release, Daniel> I suggest to take it as it is now and amend it later to maybe Daniel> eventually drop the LARGEFILE dependency again. Does that Daniel> sound feasible?
Ok, I'm almost away for holidays, but I'll add it when I get back - Please remind me in case I forget.
Thanks for your persistence.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 target/ubifs: fix compilation
In reply to Daniel MackQuoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Sorry for the slow response..
Daniel> The ubifs rootfs target does not currently build because the Daniel> repository listed in ubifsroot.mk does not exist Daniel> anymore. Consequently, the used tag is also wrong.
Daniel> As the code base for mtd utils seem to have been merged in Daniel> the past, there are dependencies between ubi-utils, Daniel> mkfs.ubifs and the mtd core now, so we have no other option Daniel> than building the whole thing.
Daniel> WITHOUT_XATTR was added to the make parameters because it did Daniel> not build on my system without that. Maybe that should become Daniel> a auto* variable dependency in the future.
Daniel> BUILDDIR is needed by the mtd-utils Makefile, otherwise built Daniel> object files are put to $(PWD) which is the toplevel br2 Daniel> path.
Daniel> MKFS_UBIFS_BINARY was added to ease the path chaos a bit.
Daniel> Signed-off-by: Daniel Mack <[email protected]> Daniel> ---
Daniel> target/ubifs/ubifsroot.mk | 21 +++++++++++----------
We'll also need to remove the 'depends on BROKEN' from Config.in
Daniel> 1 files changed, 11 insertions(+), 10 deletions(-)
Daniel> diff --git a/target/ubifs/ubifsroot.mk b/target/ubifs/ubifsroot.mk Daniel> index 1707e46..d14bde1 100644
Daniel> --- a/target/ubifs/ubifsroot.mk
Daniel> +++ b/target/ubifs/ubifsroot.mk
Daniel> @@ -5,12 +5,13 @@
Daniel> ############################################################# Daniel> #MKFS_UBIFS_VERSION=2582f128dad78591bc3adcc87c343c690bb82e61 Daniel> #MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=$(MKFS_UBIFS_VERSION);sf=tgz
Daniel> -MKFS_UBIFS_VERSION=v0.4
Daniel> -MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=refs/tags/mkfs.ubifs-$(MKFS_UBIFS_VERSION);sf=tgz Daniel> -MKFS_UBIFS_SOURCE:=mkfs.ubifs-$(MKFS_UBIFS_VERSION).tar.gz
Daniel> -MKFS_UBIFS_DIR:= $(BUILD_DIR)/mkfs-ubifs-$(MKFS_UBIFS_VERSION)
Daniel> -MKFS_UBIFS_CAT:=$(ZCAT)
Daniel> -MKFS_UBIFS_NAME:=mkfs.ubifs
Daniel> +MKFS_UBIFS_VERSION=HEAD
Daniel> +MKFS_UBIFS_URL=http://git.infradead.org/mtd-utils.git?a=snapshot\;h=$(MKFS_UBIFS_VERSION)\;sf=tgz
Why the backslashes? Wget here adds them to the URL:
--2009-07-19 15:54:50--
http://git.infradead.org/mtd-utils.git?a=snapshot%5C;h=HEAD%5C;sf=tgz
Which obviously fails.
Daniel> +MKFS_UBIFS_SOURCE=mtd-utils-$(MKFS_UBIFS_VERSION).tar.gz Daniel> +MKFS_UBIFS_DIR=$(BUILD_DIR)/mkfs-utils-ubifs Daniel> +MKFS_UBIFS_CAT=$(ZCAT)
Daniel> +MKFS_UBIFS_NAME=mtd-utils
Daniel> +MKFS_UBIFS_BINARY=$(MKFS_UBIFS_DIR)/mkfs.ubifs/mkfs.ubifs
Daniel> $(DL_DIR)/$(MKFS_UBIFS_SOURCE):
Daniel> $(WGET) -O $(DL_DIR)/$(MKFS_UBIFS_SOURCE) "$(MKFS_UBIFS_URL)"
Daniel> @@ -21,14 +22,14 @@ $(MKFS_UBIFS_DIR)/.unpacked: $(DL_DIR)/$(MKFS_UBIFS_SOURCE)
Daniel> toolchain/patch-kernel.sh $(MKFS_UBIFS_DIR) target/ubifs/ mkfs-ubifs-\*.patch
Daniel> touch $@
Daniel> -$(MKFS_UBIFS_DIR)/mkfs.ubifs: $(MKFS_UBIFS_DIR)/.unpacked
Daniel> - $(MAKE) -C $(MKFS_UBIFS_DIR)
Daniel> +$(MKFS_UBIFS_BINARY): $(MKFS_UBIFS_DIR)/.unpacked
Daniel> + $(MAKE) -j1 -C $(MKFS_UBIFS_DIR) BUILDDIR=$(MKFS_UBIFS_DIR) WITHOUT_XATTR=1
We have MAKE1 for this.
The build breaks if you don't have liblzo development headers on the build host:
gcc -I./include -DWITHOUT_XATTR -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -c -o /tmp/br/i686/build_i686/mkfs-utils-ubifs/compr_lzo.o compr_lzo.c -g -Wp,-MD,/tmp/br/i686/build_i686/mkfs-utils-ubifs/.compr_lzo.c.dep
compr_lzo.c:29:23: error: lzo/lzo1x.h: No such file or directory compr_lzo.c: In function ?jffs2_lzo_cmpr?:
compr_lzo.c:51: error: ?lzo_uint? undeclared (first use in this function) compr_lzo.c:51: error: (Each undeclared identifier is reported only once compr_lzo.c:51: error: for each function it appears in.)
I really think the proper solution is to build the ubifs tools for the host in the mtd-utils package like we do for mkfs.jffs2. Now, if the mtd guys would put out a 1.3 release with all the new stuff it would be even better.
Care to fix this and resend?
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/2 target/ubifs: fix compilation
Quoted 6 lines · Peter Korsgaard
Daniel> Signed-off-by: Daniel Mack <[email protected]> Daniel> ---
Daniel> target/ubifs/ubifsroot.mk | 21 +++++++++++----------We'll also need to remove the 'depends on BROKEN' from Config.in
Ok, done.
Quoted 20 lines
Daniel> 1 files changed, 11 insertions(+), 10 deletions(-)
Daniel> diff --git
a/target/ubifs/ubifsroot.mkb/target/ubifs/ubifsroot.mkDaniel> index 1707e46..d14bde1 100644
Daniel> ---a/target/ubifs/ubifsroot.mk
Daniel> +++b/target/ubifs/ubifsroot.mk
Daniel> @@ -5,12 +5,13 @@Daniel> ############################################################# Daniel> #MKFS_UBIFS_VERSION=2582f128dad78591bc3adcc87c343c690bb82e61 Daniel> #MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=$(MKFS_UBIFS_VERSION);sf=tgzDaniel> -MKFS_UBIFS_VERSION=v0.4
Daniel> -MKFS_UBIFS_URL=http://git.infradead.org/users/dedekind/mkfs.ubifs.git?a=snapshot;h=refs/tags/mkfs.ubifs-$(MKFS_UBIFS_VERSION);sf=tgz Daniel> -MKFS_UBIFS_SOURCE:=mkfs.ubifs-$(MKFS_UBIFS_VERSION).tar.gz
Daniel> -MKFS_UBIFS_DIR:= $(BUILD_DIR)/mkfs-ubifs-$(MKFS_UBIFS_VERSION)
Daniel> -MKFS_UBIFS_CAT:=$(ZCAT)
Daniel> -MKFS_UBIFS_NAME:=mkfs.ubifs
Daniel> +MKFS_UBIFS_VERSION=HEAD
Daniel> +MKFS_UBIFS_URL=http://git.infradead.org/mtd-utils.git?a=snapshot\;h=$(MKFS_UBIFS_VERSION)\;sf=tgz
Quoted 6 lines
Why the backslashes? Wget here adds them to the URL:
--2009-07-19 15:54:50--
http://git.infradead.org/mtd-utils.git?a=snapshot%5C;h=HEAD%5C;sf=tgzWhich obviously fails.
Argh. Done, thanks.
Quoted 12 lines
Daniel> +MKFS_UBIFS_SOURCE=mtd-utils-$(MKFS_UBIFS_VERSION).tar.gz Daniel> +MKFS_UBIFS_DIR=$(BUILD_DIR)/mkfs-utils-ubifs Daniel> +MKFS_UBIFS_CAT=$(ZCAT)
Daniel> +MKFS_UBIFS_NAME=mtd-utils
Daniel> +MKFS_UBIFS_BINARY=$(MKFS_UBIFS_DIR)/mkfs.ubifs/mkfs.ubifsDaniel> $(DL_DIR)/$(MKFS_UBIFS_SOURCE):
Daniel> $(WGET) -O $(DL_DIR)/$(MKFS_UBIFS_SOURCE) "$(MKFS_UBIFS_URL)"
Daniel> @@ -21,14 +22,14 @@ $(MKFS_UBIFS_DIR)/.unpacked: $(DL_DIR)/$(MKFS_UBIFS_SOURCE)
Daniel>toolchain/patch-kernel.sh$(MKFS_UBIFS_DIR) target/ubifs/ mkfs-ubifs-\*.patch
Daniel> touch $@
Quoted 7 lines
Daniel> -$(MKFS_UBIFS_DIR)/mkfs.ubifs: $(MKFS_UBIFS_DIR)/.unpacked
Daniel> - $(MAKE) -C $(MKFS_UBIFS_DIR)
Daniel> +$(MKFS_UBIFS_BINARY): $(MKFS_UBIFS_DIR)/.unpacked
Daniel> + $(MAKE) -j1 -C $(MKFS_UBIFS_DIR) BUILDDIR=$(MKFS_UBIFS_DIR) WITHOUT_XATTR=1We have MAKE1 for this.
Fixed.
Quoted 9 lines
The build breaks if you don't have liblzo development headers on the build host:
gcc -I./include -DWITHOUT_XATTR -D_FILE_OFFSET_BITS=64 -O2 -g -Wall -Wextra -Wwrite-strings -Wno-sign-compare -c -o
/tmp/br/i686/build_i686/mkfs-utils-ubifs/compr_lzo.ocompr_lzo.c-g -Wp,-MD,/tmp/br/i686/build_i686/mkfs-utils-ubifs/.compr_lzo.c.dep
compr_lzo.c:29:23: error:lzo/lzo1x.h: No such file or directorycompr_lzo.c: In function ?jffs2_lzo_cmpr?:
compr_lzo.c:51: error: ?lzo_uint? undeclared (first use in this function) compr_lzo.c:51: error: (Each undeclared identifier is reported only once compr_lzo.c:51: error: for each function it appears in.)
Hmm. What's your propose to check that? We can't depend on a config flag to be set, and building that liblzo-dev package manually doesn't seem to be the right ay to go either.
Quoted 4 lines
I really think the proper solution is to build the ubifs tools for the host in the mtd-utils package like we do for mkfs.jffs2. Now, if the mtd guys would put out a 1.3 release with all the new stuff it would be even better.
Which wouldn't solve the above problem, right? When there's a new release, I'll have another look at it :)
Quoted 1 line
Care to fix this and resend?
See the patch below.
Thanks,
Daniel
PATCH 1/2 target/ubifs: fix compilation
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Daniel" == Daniel Mack <[email protected]> writes:
Hi,
Quoted 1 line
Quoted 1 line
We'll also need to remove the 'depends on BROKEN' from Config.in
Daniel> Ok, done.
Great.
Quoted 6 lines
Quoted 6 lines
Why the backslashes? Wget here adds them to the URL:
--2009-07-19 15:54:50--
http://git.infradead.org/mtd-utils.git?a=snapshot%5C;h=HEAD%5C;sf=tgzWhich obviously fails.
Daniel> Argh. Done, thanks.
You're welcome.
Quoted 1 line
Quoted 1 line
We have MAKE1 for this.
Daniel> Fixed.
Ok.
Quoted 2 lines
Quoted 2 lines
The build breaks if you don't have liblzo development headers on the build host:
Daniel> Hmm. What's your propose to check that? We can't depend on a Daniel> config flag to be set, and building that liblzo-dev package Daniel> manually doesn't seem to be the right ay to go either.
I propose we do exactly the same as we do for mkfs.jffs2 - E.G. use the source selection / infrastructure from package/mtd/mtd-utils.mk and build lzo for the host.
Quoted 4 lines
Quoted 4 lines
I really think the proper solution is to build the ubifs tools for the host in the mtd-utils package like we do for mkfs.jffs2. Now, if the mtd guys would put out a 1.3 release with all the new stuff it would be even better.
Daniel> Which wouldn't solve the above problem, right? When there's a new Daniel> release, I'll have another look at it :)
It would. Please have a look at how it is done for mkfs.jffs2. It's currently a bit messy as we support 2 mtd-utils versions, which would get solved if they would do a proper release with ubifs support.
Quoted 1 line
Quoted 1 line
Care to fix this and resend?
Daniel> See the patch below.
Thanks. I would still like to see the logic moving to package/mtd so we don't duplicate the download step / selection logic here.
Signature · 1 line
Bye, Peter Korsgaard