All of 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.