Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 5/9] firefox: installing default extensions needs host-unzip dependency
Date: Wed, 12 Sep 2012 00:24:32 +0200	[thread overview]
Message-ID: <504FBA20.9010602@mind.be> (raw)
In-Reply-To: <1346855344-15081-6-git-send-email-stefan.froberg@petroprogram.com>

On 09/05/12 16:29, Stefan Fr?berg wrote:
>
> Signed-off-by: Stefan Fr?berg<stefan.froberg@petroprogram.com>
> ---
>   package/Config.in                       |    1 +
>   package/unzip/Config.in                 |    8 ++++
>   package/unzip/unzip-respect-flags.patch |   23 +++++++++++
>   package/unzip/unzip.mk                  |   66 +++++++++++++++++++++++++++++++
>   4 files changed, 98 insertions(+), 0 deletions(-)
>   create mode 100644 package/unzip/Config.in
>   create mode 100644 package/unzip/unzip-respect-flags.patch
>   create mode 100644 package/unzip/unzip.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index e129522..636caf8 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -13,6 +13,7 @@ source "package/gzip/Config.in"
>   endif
>   source "package/lzop/Config.in"
>   source "package/lzma/Config.in"
> +source "package/unzip/Config.in"
>   source "package/xz/Config.in"
>   endmenu
>
> diff --git a/package/unzip/Config.in b/package/unzip/Config.in
> new file mode 100644
> index 0000000..f4fc111
> --- /dev/null
> +++ b/package/unzip/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_UNZIP
> +	bool "unzip"
> +	help
> +	  The UnZip package contains ZIP extraction utilities. These are useful for extracting files from
> +	  ZIP archives. ZIP archives are created with PKZIP or Info-ZIP utilities, primarily in a DOS
> +	  environment.

  Wordwrap at 80 columns

> +
> +	  http://downloads.sourceforge.net/infozip/
> diff --git a/package/unzip/unzip-respect-flags.patch b/package/unzip/unzip-respect-flags.patch
> new file mode 100644
> index 0000000..35c8314
> --- /dev/null
> +++ b/package/unzip/unzip-respect-flags.patch
> @@ -0,0 +1,23 @@

  Please add a comment at the top of the patch.

- Why is it needed

- Upstream status, if applicable

- Signed-of-by line

  Also upstreaming the patch would be useful.

> +diff -Naur unzip60.org/unix/Makefile unzip60/unix/Makefile
> +--- unzip60.org/unix/Makefile	2012-09-02 21:29:55.944176704 +0300
> ++++ unzip60/unix/Makefile	2012-09-02 21:31:20.276176583 +0300
> +@@ -808,8 +808,8 @@
> + # systems.)
> + linux:		unix_make
> + 	@echo 'NOTE:  use linux_noasm target for non-Intel Linux compiles.'
> +-	$(MAKE) unzips CC=gcc LD=gcc AS=gcc\
> +-	 CFLAGS="-O3 -Wall -DASM_CRC"\
> ++	$(MAKE) unzips CC=$(CC) LD=$(CC) AS=$(CC)\

  $(CC) should be quoted: "$(CC)"

> ++	 CFLAGS="$(CFLAGS) -DASM_CRC"\
> + 	 AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
> + # GRR:  this echo is pointless; if user gets this far, no difference to install
> + #	@echo 'Be sure to use the install_asm target rather than the install target'
> +@@ -819,7 +819,7 @@
> + # Linux (Posix, approximately SysV):  virtually any version since before 0.96,
> + # for any platform.  Change "-O" to "-O3" or whatever, as desired...
> + linux_noasm:	unix_make
> +-	$(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
> ++	$(MAKE) unzips CC=$(CC) LD=$(CC) CFLAGS="$(CFLAGS)"

  Same here.

  Wouldn't it be easier to run this $(MAKE) unzips command from the .mk file,
instead of going through the linux[_noasm] target?

> +
> + # Linux with lcc compiler:  __inline__ (stat.h) not recognized, and must edit
> + # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined.  -O3
> diff --git a/package/unzip/unzip.mk b/package/unzip/unzip.mk
> new file mode 100644
> index 0000000..fdfbe9f
> --- /dev/null
> +++ b/package/unzip/unzip.mk
> @@ -0,0 +1,66 @@
> +###################################################################
> +#
> +# unzip
> +#
> +# quickly hacked from:
> +# http://www.linuxfromscratch.org/blfs/view/svn/general/unzip.html
> +###################################################################
> +
> +UNZIP_MAJOR_VERSION = 6
> +UNZIP_MINOR_VERSION = 0
> +UNZIP_VERSION = $(UNZIP_MAJOR_VERSION).$(UNZIP_MINOR_VERSION)
> +UNZIP_SOURCE = unzip$(UNZIP_MAJOR_VERSION)$(UNZIP_MINOR_VERSION).tar.gz

  Why not just call it version 60?  Then the _SOURCE line isn't
needed.

> +UNZIP_SITE = http://downloads.sourceforge.net/infozip
> +UNZIP_LICENSE = Info-ZIP
> +UNZIP_LICENSE_FILES = LICENSE
> +
> +# No point of doing optimized build for host version,
> +# so we build host version without any x86 specific asm stuff
> +define HOST_UNZIP_BUILD_CMDS
> +	(cd $(@D); \
> +	sed -i -e 's/CFLAGS="-O -Wall/&  -DNO_LCHMOD/' unix/Makefile ; \

  This isn't needed anymore with the patch above, right?

> +	$(MAKE) -f unix/Makefile linux_noasm )
> +endef
> +
> +define HOST_UNZIP_INSTALL_CMDS
> +	(cd $(@D); \
> +	$(MAKE) prefix=$(HOST_DIR)/usr install )

  We normally use $(MAKE) -C $(@D) instead of cd $(@D)

> +endef
> +
> +# If you do have busybox installed in your target (like most do)
> +# and if you have by accident also enabled unzip support in
> +# your busybox configuration file, then guess what happens
> +# after insallation of the real unzip application ?
> +#
> +# Yep, UNZIP_INSTALL_TARGET_CMDS will happily
> +# write to your unzip ->  /bin/busybox symlink
> +# and overwrite your busybox ... :-(
> +#
> +# That's why I included this as an primitive safety mechanism.
> +# Improvement are wellcome

  AFAIK, install removes a symlink before installing, so busybox
itself shouldn't be overwritten.  To make sure the full unzip is
installed instead of the busybox unzip, you do:

UNZIP_DEPENDENCIES += $(if $(BR2_PACKAGE_BUSYBOX),busybox)

  That way, busybox is installed first and unzip will overwrite
the busybox symlink.  It's done like that for a lot of packages.

> +
> +ifneq ($(BR2_PACKAGE_BUSYBOX),y)
> +ifeq ($(BR2_i386),y) || ($(BR2_x86_64),y)
> +# Intel x86 asm optimized version
> +define UNZIP_BUILD_CMDS
> +	(cd $(@D);\
> +	sed -i -e 's/DASM"/DASM -DNO_LCHMOD"/' unix/Makefile;\
> +	$(MAKE) -f unix/Makefile $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -DNO_LCHMOD" CC=$(TARGET_CC) LD=$(TARGET_LD) AS=$(TARGET_AS) linux )

  CC="$(TARGET_CC)" should be quoted.  But anyway, it's already in
$(TARGET_CONFIGURE_OPTS) so that can be left out.  For the CFLAGS,
I believe it's possible to use CFLAGS+=-DNO_LCHMOD.

[snip]

  Regards,
  Arnout

-- 
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

  reply	other threads:[~2012-09-11 22:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-05 14:28 [Buildroot] firefox: a new package Stefan Fröberg
2012-09-05 14:28 ` [Buildroot] [PATCH 1/9] firefox: host-python dependency needs --enable-unicodedata Stefan Fröberg
2012-09-05 14:28 ` [Buildroot] [PATCH 2/9] firefox: valgrind dependency needs --enable-tls for debug build Stefan Fröberg
2012-09-11 22:04   ` Arnout Vandecappelle
2012-09-11 23:39     ` Stefan Fröberg
2012-09-13  5:49       ` Arnout Vandecappelle
2012-09-05 14:28 ` [Buildroot] [PATCH 3/9] firefox: sqlite dependency needs new compile-time options Stefan Fröberg
2012-09-11 21:51   ` Arnout Vandecappelle
2012-09-11 23:35     ` Stefan Fröberg
2012-09-05 14:28 ` [Buildroot] [PATCH 4/9] firefox: installing default extensions needs host-xmlstarlet dependency Stefan Fröberg
2012-09-05 14:29 ` [Buildroot] [PATCH 5/9] firefox: installing default extensions needs host-unzip dependency Stefan Fröberg
2012-09-11 22:24   ` Arnout Vandecappelle [this message]
2012-09-12  0:05     ` Stefan Fröberg
2012-09-13  5:56       ` Arnout Vandecappelle
2012-09-05 14:29 ` [Buildroot] [PATCH 6/9] firefox: Mozilla Web Browser Stefan Fröberg
2012-09-17 22:31   ` Arnout Vandecappelle
2012-09-18 15:48     ` Stefan Fröberg
2012-09-18 21:25       ` Arnout Vandecappelle
2012-09-19  1:39         ` Stefan Fröberg
2012-09-19  1:35     ` Stefan Fröberg
2012-09-19  6:03       ` Arnout Vandecappelle
2012-09-05 14:29 ` [Buildroot] [PATCH 7/9] firefox: GNU gnash flash plugin needs agg dependency Stefan Fröberg
2012-09-19  5:30   ` Arnout Vandecappelle
2012-09-05 14:29 ` [Buildroot] [PATCH 8/9] firefox: GNU gnash flash plugin needs gconf dependency Stefan Fröberg
2012-09-19  6:16   ` Arnout Vandecappelle
2012-09-05 14:29 ` [Buildroot] [PATCH 9/9] firefox: GNU gnash flash, an open source Adobe Flash player & plugin Stefan Fröberg
2012-10-20 15:55   ` Arnout Vandecappelle
2012-10-21 12:10     ` Stefan Fröberg
2012-10-23 16:42       ` Arnout Vandecappelle
2012-10-24 13:43         ` Stefan Fröberg
2012-10-24 20:43           ` Arnout Vandecappelle
2012-10-25 11:22             ` Stefan Fröberg
2013-05-03 22:11 ` [Buildroot] firefox: a new package Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=504FBA20.9010602@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox