All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bernhard Fischer <rep.nop@aon.at>
To: buildroot@busybox.net
Subject: [Buildroot] [patch] qtopia4
Date: Mon, 11 Dec 2006 14:43:47 +0100	[thread overview]
Message-ID: <20061211134347.GA21997@aon.at> (raw)
In-Reply-To: <20061211120041.GB11591@zelow.no>

On Mon, Dec 11, 2006 at 01:00:41PM +0100, Thomas Lundquist wrote:
>On Mon, Dec 11, 2006 at 11:24:08AM +0100, Bernhard Fischer wrote:
>> >+++ package/qtopia4/qconfig-myfile.h	(revision 0)
>> >@@ -0,0 +1,244 @@
>> >+/****************************************************************************
>> >+**
>> >+** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.
>> 
>> hm? buildroot is LGPL, AFAIK. I don't remember so have signed nor
>> received any license-agreement with trolltech.. Furthermore, i'm
>> convinced that i don't want to sign any license-agreement with trolltech
>> ;)
>
>Hmm, ok :=)

See comments below.
>
>(As you of course have guessed already; I didn't even think about that
>file having any weird license. it's meant to be tweaked by the
>licensee/user.)
>
>> So what's the deal with this header? Do you have written permission to
>> redistribute it under an LGPL compatible license?
>
>Well, it's the same header in the opensource version, so what they mean
>by it is something I just won't be bothered to check
>
>So, new patch applied, this time without the file and a little more
>describing comment around the use of the file.
>
>
>Thomas.

>Index: package/Config.in
>===================================================================
>--- package/Config.in	(revision 16845)
>+++ package/Config.in	(working copy)
>@@ -121,6 +121,7 @@
> source "package/psmisc/Config.in"
> source "package/python/Config.in"
> source "package/qte/Config.in"
>+source "package/qtopia4/Config.in"
> source "package/raidtools/Config.in"
> source "package/readline/Config.in"
> source "package/rsync/Config.in"
>Index: package/qtopia4/qtopia4.mk
>===================================================================
>--- package/qtopia4/qtopia4.mk	(revision 0)
>+++ package/qtopia4/qtopia4.mk	(revision 0)
>@@ -0,0 +1,278 @@
>+######################################################################
>+#
>+# qtopia4 (Qtopia Core 4)
>+# http://www.trolltech.com/
>+# 
>+# This makefile composed by Thomas Lundquist <thomasez@zelow.no>
>+#
>+# There is two versions built, one for the target and one for
>+# staging. The target version is built in the staging_dir and the
>+# staging version in the toolchain_dir.
>+#
>+# BTW, this uses alot of FPU calls and it's pretty slow if you use 
>+# the kernels FPU emulation so it's better to choose soft float in the 
>+# buildroot config (and uClibc.config of course, if you have your own.)
>+#
>+######################################################################
>+
>+QTOPIA4_VER:=4.2.2
>+QTOPIA4_CAT:=zcat

No. Some people who only have "gzip -d -c" but no zcat will stumble
across this. Please use $(ZCAT) -- or $(BZCAT) for bz2.
>+
>+BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME)))
>+#"

cosmetics, but looks like there are some closing parentheses missing to
make vi happy..
>+
>+# What to download, free or commercial version.
>+ifneq ($(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME),)
>+
>+BR2_QTOPIA4_COMMERCIAL_PASSWORD:=$(shell echo $(BR2_PACKAGE_QTOPIA4_COMMERCIAL_PASSWORD)| sed -e 's/"//g')

Why spawn a subshell? Can't you just $(subst ",,$()) like for the
username?

>+QTOPIA4_SITE:=http://$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME):$(BR2_QTOPIA4_COMMERCIAL_PASSWORD)@dist.trolltech.com/$(BR2_PACKAGE_QTOPIA4_COMMERCIAL_USERNAME)
>+QTOPIA4_SOURCE:=qtopia-core-commercial-src-$(QTOPIA4_VER).tar.gz
>+QTOPIA4_TARGET_DIR:=$(BUILD_DIR)/qtopia-core-commercial-src-$(QTOPIA4_VER)
>+QTOPIA4_HOST_DIR:=$(TOOL_BUILD_DIR)/qtopia-core-commercial-src-$(QTOPIA4_VER)
>+
>+else
>+
>+# Good, good, we are free:
>+
>+QTOPIA4_SITE=ftp://ftp.trolltech.com/qt/source/
>+QTOPIA4_SOURCE:=qtopia-core-opensource-src-$(QTOPIA4_VER).tar.gz
>+QTOPIA4_TARGET_DIR:=$(BUILD_DIR)/qtopia-core-opensource-src-$(QTOPIA4_VER)
>+QTOPIA4_HOST_DIR:=$(TOOL_BUILD_DIR)/qtopia-core-opensource-src-$(QTOPIA4_VER)
>+
>+endif
>+
>+# If you want extra tweaking you can copy 
>+# $(QTOPIA4_TARGET_DIR)/src/corelib/global/qconfig-myfile.h
>+# to the qtopia4 packages directory (where this .mk file is) and 
>+# remove the comment.
>+# QTOPIA4_QCONFIG_COMMAND:=-qconfig myfile
>+#
>+# For the options you can set in this file, look at 
>+# $(QTOPIA4_TARGET_DIR)/src/corelib/global/qfeatures.txt
>+#
>+QTOPIA4_QCONFIG_FILE:=package/qtopia4/qconfig-myfile.h
>+QTOPIA4_QCONFIG_FILE_LOCATION:=/src/corelib/global/
>+
>+ifeq ($(BR2_LARGEFILE),y)
>+QTOPIA4_LARGEFILE=-no-largefile
>+else
>+QTOPIA4_LARGEFILE=-no-largefile
>+endif

No way to toggle largefile-support on, even if asked to?

>+ifeq ($(BR2_PACKAGE_QTOPIA4_QT3SUPPORT),y)
>+QTOPIA4_QT3SUPPORT=-qt3support
>+else
>+QTOPIA4_QT3SUPPORT=-no-qt3support
>+endif
>+ifeq ($(BR2_PACKAGE_TSLIB),y)
>+QTOPIA4_TSLIB=-qt-mouse-tslib
>+QTOPIA4_TSLIB_DEP=tslib
>+QTOPIA4_TSLIB_DEB="-D TSLIBMOUSEHANDLER_DEBUG"
>+QTOPIA4_TSLIB_DEB:=$(strip $(subst ",, $(QTOPIA4_TSLIB_DEB)))
>+#"

again,
#"))
or the like..
>+endif
>+ifeq ($(BR2_PACKAGE_QTOPIA4_DEBUG),y)
>+QTOPIA4_DEBUG="-debug-and-release $(QTOPIA4_TSLIB_DEB)"
>+else
>+QTOPIA4_DEBUG=-release
>+endif
>+ifeq ($(BR2_ENDIAN),"LITTLE")
>+QTOPIA4_ENDIAN=-little-endian
>+else
>+QTOPIA4_ENDIAN=-big-endian
>+endif
>+
>+QTOPIA4_DEBUG:=$(strip $(subst ",, $(QTOPIA4_DEBUG)))
>+#"

ditto.
>+BR2_PACKAGE_QTOPIA4_EMB_PLATFORM:=$(strip $(subst ",, $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)))
>+#"

ditto.
>+
>+
>+# This is for staging.
>+QTOPIA4_STAGING_DIR:=$(STAGING_DIR)/usr/Trolltech
>+QTOPIA4_QMAKE=$(QTOPIA4_STAGING_DIR)/bin/qmake
>+
>+$(DL_DIR)/$(QTOPIA4_SOURCE):
>+	 $(WGET) -P $(DL_DIR) $(QTOPIA4_SITE)/$(QTOPIA4_SOURCE)
>+
>+qtopia4-source: $(DL_DIR)/$(QTOPIA4_SOURCE)
>+
>+#################################
>+#
>+# Target
>+#
>+#################################
>+
>+$(QTOPIA4_TARGET_DIR)/.unpacked: $(DL_DIR)/$(QTOPIA4_SOURCE)
>+	$(QTOPIA4_CAT) $(DL_DIR)/$(QTOPIA4_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
>+	touch $(QTOPIA4_TARGET_DIR)/.unpacked
>+
>+# This configure is very tailored towards my needs.
>+$(QTOPIA4_TARGET_DIR)/.configured: $(QTOPIA4_TARGET_DIR)/.unpacked
>+	# Patching configure to get rid of some feature I dont want.
>+	# (I don't want SQL either but there is no option for that at all. 
>+	# the SQL library will be built even without the plugins/drivers.
>+	$(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/;' $(QTOPIA4_TARGET_DIR)/configure
>+	$(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/;' $(QTOPIA4_TARGET_DIR)/configure
>+	$(SED) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/;' $(QTOPIA4_TARGET_DIR)/configure
>+	$(SED) 's/-O2/-Os/;' $(QTOPIA4_TARGET_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++/qmake.conf

shouldn't this rather be
s/-O2/-Os $(TARGET_CFLAGS)/

Also, all trailing command separators (i.e. ';') in sed are superfluous.

>+	cp $(QTOPIA4_QCONFIG_FILE) \
>+	 	$(QTOPIA4_TARGET_DIR)/$(QTOPIA4_QCONFIG_FILE_LOCATION)
>+	(cd $(QTOPIA4_TARGET_DIR); rm -rf config.cache; \
>+		PATH=$(TARGET_PATH) \
>+		CFLAGS="$(TARGET_CFLAGS)" \
>+		CXXFLAGS="$(TARGET_CXXFLAGS)" \

Sounds like this is will break for anybody that doesn't have a plain
"gcc" nor "g++" binary. Honor the user's HOSTCC and HOSTCXX vars,
please.
>+		QPEHOME=/usr \
>+		QPEDIR=/usr \
>+		./configure \
>+		-v \
>+		-platform linux-g++ \
>+		-embedded $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM) \
>+		-xplatform qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++ \
>+		$(QTOPIA4_QCONFIG_COMMAND) \
>+		$(QTOPIA4_DEBUG) \
>+		-depths 8 \
>+		-no-cups \
>+		-no-nis \
>+		-no-freetype \
>+		-no-libmng \
>+		-no-sql-db2 \
>+		-no-sql-ibase \
>+		-no-sql-mysql \
>+		-no-sql-oci \
>+		-no-sql-odbc \
>+		-no-sql-psql \
>+		-no-sql-sqlite \
>+		-no-sql-sqlite2 \
>+		-no-sql-tds \
>+		-prefix /usr \
>+		-prefix-install \
>+		-L $(STAGING_DIR)/usr/lib \
>+		-I $(STAGING_DIR)/usr/include \
>+		$(QTOPIA4_QT3SUPPORT) \
>+		$(QTOPIA4_TSLIB) \
>+		$(QTOPIA4_LARGEFILE) \
>+		$(QTOPIA4_ENDIAN) \
>+	);
>+	touch $(QTOPIA4_TARGET_DIR)/.configured
>+
>+$(QTOPIA4_TARGET_DIR)/lib/libQtCore.so.$(QTOPIA4_VER): $(QTOPIA4_TARGET_DIR)/.configured
>+	# $(TARGET_CONFIGURE_OPTS) $(MAKE) PATH=$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$$PATH CROSS_COMPILE=$(KERNEL_CROSS) CC=$(TARGET_CC) -C $(QTOPIA4_TARGET_DIR)
>+	$(TARGET_CONFIGURE_OPTS) $(MAKE) \
>+		-C $(QTOPIA4_TARGET_DIR) sub-src
>+	touch $(QTOPIA4_TARGET_DIR)/.compiled

Doesn't sound correct, or does QT create the .compiled file and you just
update it's timestamp here?

>+		# -C $(QTOPIA4_TARGET_DIR) sub-src
Please remove the above.
>+
>+$(STAGING_DIR)/usr/lib/libQtCore.so.$(QTOPIA4_VER): $(QTOPIA4_TARGET_DIR)/lib/libQtCore.so.$(QTOPIA4_VER)
>+	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
>+		INSTALL_ROOT=$(STAGING_DIR) \
>+		-C $(QTOPIA4_TARGET_DIR) \
>+		sub-src-install_subtargets-ordered \
>+		install_qmake install_mkspecs
>+	# We don't need no stinking Sql libraries:
>+	-rm $(TARGET_DIR)/usr/lib/*Sql*
>+	# Nor Svg
>+	-rm $(TARGET_DIR)/usr/lib/*Svg*
>+
>+$(TARGET_DIR)/usr/lib/libQtCore.so.$(QTOPIA4_VER): $(STAGING_DIR)/usr/lib/libQtCore.so.$(QTOPIA4_VER)
>+	mkdir -p $(TARGET_DIR)/usr/lib/fonts
>+	touch $(TARGET_DIR)/usr/lib/fonts/fontdir
>+	# touch $(TARGET_DIR)/usr/lib/libQtCore.so.$(QTOPIA4_VER)
>+	cp -a $(STAGING_DIR)/usr/lib/fonts/helvetica*.qpf $(TARGET_DIR)/usr/lib/fonts
>+	cp -a $(STAGING_DIR)/usr/lib/fonts/fixed*.qpf $(TARGET_DIR)/usr/lib/fonts
>+	cp -a $(STAGING_DIR)/usr/lib/fonts/micro*.qpf $(TARGET_DIR)/usr/lib/fonts
>+	cp -a $(STAGING_DIR)/usr/lib/*.so.* $(TARGET_DIR)/usr/lib/

*.so.*, not *.so* ?
>+	-$(STRIP) --strip-unneeded $(TARGET_DIR)/usr/lib/*.so.$(QTOPIA4_VER)
>+
>+#################################
>+#
>+# Host/Staging
>+#
>+#################################
>+
>+$(QTOPIA4_HOST_DIR)/.unpacked: $(DL_DIR)/$(QTOPIA4_SOURCE)
>+	$(QTOPIA4_CAT) $(DL_DIR)/$(QTOPIA4_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
>+	touch $(QTOPIA4_HOST_DIR)/.unpacked
>+
>+# This configure is very tailored towards my needs.
>+$(QTOPIA4_HOST_DIR)/.configured: $(QTOPIA4_HOST_DIR)/.unpacked
>+	# Patching configure to get rid of some feature I dont want.
>+	# (I don't want SQL either but there is no option for that at all. 
>+	# the SQL library will be built even without the plugins/drivers.
>+	$(SED) 's/^CFG_IPV6=auto/CFG_IPV6=no/;' $(QTOPIA4_HOST_DIR)/configure
>+	$(SED) 's/^CFG_IPV6IFNAME=auto/CFG_IPV6IFNAME=no/;' $(QTOPIA4_HOST_DIR)/configure
>+	$(SED) 's/^CFG_XINERAMA=auto/CFG_XINERAMA=no/;' $(QTOPIA4_HOST_DIR)/configure
>+	$(SED) 's/-O2/-Os/;' $(QTOPIA4_HOST_DIR)/mkspecs/qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++/qmake.conf

s/;//g
>+	cp $(QTOPIA4_QCONFIG_FILE) \
>+	 	$(QTOPIA4_HOST_DIR)/$(QTOPIA4_QCONFIG_FILE_LOCATION)
>+	(cd $(QTOPIA4_HOST_DIR); rm -rf config.cache; \
>+		PATH=$(TARGET_PATH) \
>+		CFLAGS="$(TARGET_CFLAGS)" \
>+		CXXFLAGS="$(TARGET_CXXFLAGS)" \
>+		QPEHOME=/usr \
>+		QPEDIR=/usr \

See HOSTCC and HOSTCXX above.
>+		./configure \
>+		-v \
>+		-platform linux-g++ \
>+		-embedded $(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM) \
>+		-xplatform qws/linux-$(BR2_PACKAGE_QTOPIA4_EMB_PLATFORM)-g++ \
>+		$(QTOPIA4_QCONFIG_COMMAND) \
>+		$(QTOPIA4_DEBUG) \
>+		-depths 8 \
>+		-no-cups \
>+		-no-nis \
>+		-no-freetype \
>+		-no-libmng \
>+		-no-sql-db2 \
>+		-no-sql-ibase \
>+		-no-sql-mysql \
>+		-no-sql-oci \
>+		-no-sql-odbc \
>+		-no-sql-psql \
>+		-no-sql-sqlite \
>+		-no-sql-sqlite2 \
>+		-no-sql-tds \
>+		-prefix $(QTOPIA4_STAGING_DIR) \
>+		-prefix-install \
>+		-L $(STAGING_DIR)/usr/lib \
>+		-I $(STAGING_DIR)/usr/include \
>+		$(QTOPIA4_QT3SUPPORT) \
>+		$(QTOPIA4_TSLIB) \
>+		$(QTOPIA4_LARGEFILE) \
>+		$(QTOPIA4_ENDIAN) \
>+	);
>+	touch $(QTOPIA4_HOST_DIR)/.configured
>+
>+$(QTOPIA4_HOST_DIR)/lib/libQtCore.so.$(QTOPIA4_VER): $(QTOPIA4_HOST_DIR)/.configured
>+	# $(TARGET_CONFIGURE_OPTS) $(MAKE) PATH=$(STAGING_DIR)/bin:$(STAGING_DIR)/usr/bin:$$PATH CROSS_COMPILE=$(KERNEL_CROSS) CC=$(TARGET_CC) -C $(QTOPIA4_HOST_DIR)
>+	$(TARGET_CONFIGURE_OPTS) $(MAKE) \
>+		-C $(QTOPIA4_HOST_DIR)
>+	touch $(QTOPIA4_HOST_DIR)/.compiled
>+		# -C $(QTOPIA4_HOST_DIR) sub-src
>+
>+$(QTOPIA4_STAGING_DIR)/lib/libQtCore.so.$(QTOPIA4_VER): $(QTOPIA4_HOST_DIR)/lib/libQtCore.so.$(QTOPIA4_VER)
>+	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
>+		-C $(QTOPIA4_HOST_DIR) install \
>+		# sub-src-install_subtargets-ordered \
>+		# install_qmake install_mkspecs \
>+		#
>+
>+qtopia4: uclibc zlib $(QTOPIA4_TSLIB_DEP) \
>+		$(QTOPIA4_STAGING_DIR)/lib/libQtCore.so.$(QTOPIA4_VER) \
>+		$(TARGET_DIR)/usr/lib/libQtCore.so.$(QTOPIA4_VER)
>+
>+qtopia4-clean:
>+	-$(MAKE) -C $(QTOPIA4_HOST_DIR) clean
>+	-$(MAKE) -C $(QTOPIA4_TARGET_DIR) clean

can you please uninstall the files from the rootfs here?
>+
>+qtopia4-dirclean:
>+	rm -rf $(QTOPIA4_HOST_DIR)
>+	rm -rf $(QTOPIA4_TARGET_DIR)
>+
>+#############################################################
>+#
>+# Toplevel Makefile options
>+#
>+#############################################################
>+ifeq ($(strip $(BR2_PACKAGE_QTOPIA4)),y)
>+TARGETS+=qtopia4
>+endif
[snip]

  reply	other threads:[~2006-12-11 13:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-11  9:33 [Buildroot] [patch] qtopia4 Thomas Lundquist
2006-12-11 10:24 ` Bernhard Fischer
2006-12-11 10:48   ` Ulf Samuelsson
2006-12-11 12:00   ` Thomas Lundquist
2006-12-11 13:43     ` Bernhard Fischer [this message]
2006-12-11 21:56       ` Thomas Lundquist
2006-12-11 22:27         ` Bernhard Fischer
2006-12-12  8:38           ` Thomas Lundquist
2006-12-12 10:05             ` Allan Clark
2006-12-12 10:21               ` Bernhard Fischer
2006-12-12 15:43               ` Thomas Lundquist
2006-12-13 20:09             ` Bernhard Fischer

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=20061211134347.GA21997@aon.at \
    --to=rep.nop@aon.at \
    --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.