From: "Stefan Fröberg" <stefan.froberg@petroprogram.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 5/9] firefox: installing default extensions needs host-unzip dependency
Date: Wed, 12 Sep 2012 03:05:26 +0300 [thread overview]
Message-ID: <504FD1C6.6090109@petroprogram.com> (raw)
In-Reply-To: <504FBA20.9010602@mind.be>
12.9.2012 1:24, Arnout Vandecappelle kirjoitti:
> 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
>
Ok
>> +
>> + 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.
>
Okay
>> +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?
>
Ummm....
Yea, I guess so
>> +
>> + # 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.
>
Ok
>> +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?
>
That -DNO_LCHMOD is needed. I remember build process starting
complaining about it.
>> + $(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:
>
But when I chrooted inside target system after building
it just spew unzip version stuff out and it had overwrited my busybox
binary.
> 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.
>
Ok, Ill try and see.
>> +
>> +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.
>
Ok. Ill make a new patch after I have had some sleep.
Thank you for taking time with these.
I really appreciate it.
Stefan
P.S:
Have you had time to check firefox patch #9 ? The gnash patch ?
I have somehow managed to broke my sytem config
(maybe some change I recently made to mesa3d package)
and now I can't build it anymore.
:-(
It start's complaining about missing
-lselinux, security library used by Fedora that gnash is not even
using ...
:-(
> [snip]
>
> Regards,
> Arnout
>
next prev parent reply other threads:[~2012-09-12 0:05 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
2012-09-12 0:05 ` Stefan Fröberg [this message]
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=504FD1C6.6090109@petroprogram.com \
--to=stefan.froberg@petroprogram.com \
--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