Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux toolchain/kern etc...
@ 2007-08-16 18:17 ulf at uclibc.org
  2007-08-17 11:22 ` Thomas Lundquist
  0 siblings, 1 reply; 5+ messages in thread
From: ulf at uclibc.org @ 2007-08-16 18:17 UTC (permalink / raw)
  To: buildroot

Author: ulf
Date: 2007-08-16 11:17:39 -0700 (Thu, 16 Aug 2007)
New Revision: 19531

Log:
Ensure lzma is built *before* linux, allow system installation in /usr/local/bin

Modified:
   trunk/buildroot/package/lzma/lzma.mk
   trunk/buildroot/target/linux/Makefile.in
   trunk/buildroot/toolchain/kernel-headers/Config.in


Changeset:
Modified: trunk/buildroot/package/lzma/lzma.mk
===================================================================
--- trunk/buildroot/package/lzma/lzma.mk	2007-08-16 11:29:08 UTC (rev 19530)
+++ trunk/buildroot/package/lzma/lzma.mk	2007-08-16 18:17:39 UTC (rev 19531)
@@ -48,11 +48,20 @@
 		$(STAGING_DIR)/lib/liblzmadec.la
 
 lzma-host: $(STAGING_DIR)/bin/lzma
+
 lzma-host-clean:
 	rm -f $(STAGING_DIR)/bin/lzma
 	-$(MAKE) -C $(LZMA_HOST_DIR) clean
 lzma-host-dirclean:
 	rm -rf $(LZMA_HOST_DIR)
+
+/usr/local/bin/lzma:	lzma_host
+	sudo 	$(MAKE) DESTDIR=/usr/local -C $(LZMA_HOST_DIR) install
+	sudo	$(SED) "s,^libdir=.*,libdir=\'/usr/local/lib\',g" \
+		/usr/local/lib/liblzmadec.la
+
+lzma-host-install:	/usr/local/bin/lzma
+
 ######################################################################
 #
 # lzma target

Modified: trunk/buildroot/target/linux/Makefile.in
===================================================================
--- trunk/buildroot/target/linux/Makefile.in	2007-08-16 11:29:08 UTC (rev 19530)
+++ trunk/buildroot/target/linux/Makefile.in	2007-08-16 18:17:39 UTC (rev 19531)
@@ -59,6 +59,14 @@
 LINUX26_KERNEL=$(BINARIES_DIR)/linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH)
 endif
 
+ifeq ($(BR2_KERNEL_HEADERS_LZMA),y)
+ifeq ($(BR2_KERNEL_HEADERS_LZMA_INSTALL),y)
+DEPEND_ON_HOST_LZMA:=lzma-host-install
+else
+DEPEND_ON_HOST_LZMA:=lzma-host
+endif
+endif
+
 # Version of Linux AFTER patches
 LINUX26_DIR=$(BUILD_DIR)/linux-$(LINUX26_VERSION)
 
@@ -150,7 +158,7 @@
 	$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
 	-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
 
-linux26: $(INITRAMFS_TARGET) $(LINUX26_KERNEL)
+linux26: $(DEPEND_ON_HOST_LZMA) $(INITRAMFS_TARGET) $(LINUX26_KERNEL)
 
 $(LINUX26_DIR)/.modules_installed: $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep
 	touch $@

Modified: trunk/buildroot/toolchain/kernel-headers/Config.in
===================================================================
--- trunk/buildroot/toolchain/kernel-headers/Config.in	2007-08-16 11:29:08 UTC (rev 19530)
+++ trunk/buildroot/toolchain/kernel-headers/Config.in	2007-08-16 18:17:39 UTC (rev 19531)
@@ -66,6 +66,17 @@
 	  initramfs filesystems.  This requires the lzma
 	  program in your development environment.
 
+config BR2_KERNEL_HEADERS_LZMA_INSTALL
+	bool "Install lzma in /usr/local/bin (Requires system password) for sudo"
+	default n
+	help
+	  Install the lzma package in the /usr/local/bin directory
+	  so it is available for future builds.  This requires sudo.
+	  If you do not know the system password you should not set
+	  this option. If you do not have lzma installed the only way
+	  to complete the linux build, ifl you apply the lzma patches
+	  is to have '$(STAGING_DIR)/usr/bin' in your path.
+
 config BR2_DEFAULT_KERNEL_HEADERS
 	string
 	default "2.4.25"    if BR2_KERNEL_HEADERS_2_4_25

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux toolchain/kern etc...
  2007-08-16 18:17 [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux toolchain/kern etc ulf at uclibc.org
@ 2007-08-17 11:22 ` Thomas Lundquist
  2007-08-17 13:23   ` [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux " Ulf Samuelsson
  2007-08-17 13:48   ` [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux " Bernhard Fischer
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Lundquist @ 2007-08-17 11:22 UTC (permalink / raw)
  To: buildroot

On Thu, Aug 16, 2007 at 11:17:41AM -0700, ulf at uclibc.org wrote:
> 
> Log:
> Ensure lzma is built *before* linux, allow system installation in /usr/local/bin

I don't agree with this one. I want host tools put in
STAGING_DIR/bin or usr/bin, not outside the toolchain/buildroot.

It's alot cleaner and feels right.

And it's not given that the user are allowed to put the binary there
anyway.


Thomas.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux toolchain/kern etc...
  2007-08-17 11:22 ` Thomas Lundquist
@ 2007-08-17 13:23   ` Ulf Samuelsson
  2007-08-20 12:36     ` Thomas Lundquist
  2007-08-17 13:48   ` [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux " Bernhard Fischer
  1 sibling, 1 reply; 5+ messages in thread
From: Ulf Samuelsson @ 2007-08-17 13:23 UTC (permalink / raw)
  To: buildroot

----- Original Message ----- 
From: "Thomas Lundquist" <lists@zelow.no>
To: <buildroot@uclibc.org>
Sent: Friday, August 17, 2007 1:22 PM
Subject: Re: [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux toolchain/kern etc...


> On Thu, Aug 16, 2007 at 11:17:41AM -0700, ulf at uclibc.org wrote:
>> 
>> Log:
>> Ensure lzma is built *before* linux, allow system installation in /usr/local/bin
> 
> I don't agree with this one. I want host tools put in
> STAGING_DIR/bin or usr/bin, not outside the toolchain/buildroot.
> 

It *will* always be put in "STAGING_DIR/usr/bin".
The new configuration item allows you to put it in /usr/local/bin as well, an extra feature.
STAGING_DIR/usr/bin/lzma will still be available.

Buildroot won't find "STAGING_DIR/usr/bin/lzma" so you have to do
PATH:=$(STAGING_DIR)/usr/bin:$(PATH) outside buildroot.

This is not obvious, so the linux compile will fail for all newbies.

> It's alot cleaner and feels right.
> 

Except that it will break the build.

> And it's not given that the user are allowed to put the binary there
> anyway.

It is noted in the configuration that you need 'sudo' access.
If you don't you have to setup the PATH.

A long term solution would be for the persons needing lzma
to fix it so that it is used from STAGING_DIR.

Maybe the Linux compile should do:

make LZMA=$(STAGING_DIR)/usr/bin/lzma -C $(LINUX26_DIR)


> 
> 
> Thomas.




Best Regards
Ulf Samuelsson

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux toolchain/kern etc...
  2007-08-17 11:22 ` Thomas Lundquist
  2007-08-17 13:23   ` [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux " Ulf Samuelsson
@ 2007-08-17 13:48   ` Bernhard Fischer
  1 sibling, 0 replies; 5+ messages in thread
From: Bernhard Fischer @ 2007-08-17 13:48 UTC (permalink / raw)
  To: buildroot

On 17/08/07, Thomas Lundquist <lists@zelow.no> wrote:
> On Thu, Aug 16, 2007 at 11:17:41AM -0700, ulf at uclibc.org wrote:
> >
> > Log:
> > Ensure lzma is built *before* linux, allow system installation in /usr/local/bin
>
> I don't agree with this one. I want host tools put in
> STAGING_DIR/bin or usr/bin, not outside the toolchain/buildroot.
>
> It's alot cleaner and feels right.
>
> And it's not given that the user are allowed to put the binary there
> anyway.

Seconded. The correct place is the same as for the host-sed et al.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux toolchain/kern etc...
  2007-08-17 13:23   ` [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux " Ulf Samuelsson
@ 2007-08-20 12:36     ` Thomas Lundquist
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Lundquist @ 2007-08-20 12:36 UTC (permalink / raw)
  To: buildroot

On Fri, Aug 17, 2007 at 03:23:06PM +0200, Ulf Samuelsson wrote:
> 
> It *will* always be put in "STAGING_DIR/usr/bin".
> The new configuration item allows you to put it in /usr/local/bin as well, an extra feature.
> STAGING_DIR/usr/bin/lzma will still be available.
> 
> Buildroot won't find "STAGING_DIR/usr/bin/lzma" so you have to do
> PATH:=$(STAGING_DIR)/usr/bin:$(PATH) outside buildroot.

why? applying a PATH inside the build isn't any big issue. We are
already doing it in many places if I recall.

> make LZMA=$(STAGING_DIR)/usr/bin/lzma -C $(LINUX26_DIR)

maybe.


Thomas.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2007-08-20 12:36 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-16 18:17 [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux toolchain/kern etc ulf at uclibc.org
2007-08-17 11:22 ` Thomas Lundquist
2007-08-17 13:23   ` [Buildroot] svn commit: trunk/buildroot: package/lzmatarget/linux " Ulf Samuelsson
2007-08-20 12:36     ` Thomas Lundquist
2007-08-17 13:48   ` [Buildroot] svn commit: trunk/buildroot: package/lzma target/linux " Bernhard Fischer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox