Skip to contentSkip to conversation

small patches (was: skeleton patch)

PATCH New Roberto A. Foglietta 3 participants 15 messages Nov 18, 2008 – Nov 19, 2008 Kbuild

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 small patches (was: skeleton patch)

Hi

a) mkdir -p does not hurt but probably it is optional
b) s,cp -a,cp -af, because overwriting is necessary

freetype/freetype.mk +2 -1
@@ -15,7 +15,8 @@
 $(eval $(call AUTOTARGETS,package,freetype))
 
 $(FREETYPE_HOOK_POST_BUILD):
-	-cp -a $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
+	mkdir -p $(TARGET_DIR)/usr/lib
+	cp -af $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib
 	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
 	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g"

$(FREETYPE_DIR)/builds/unix/freetype-config
$(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g"
$(FREETYPE_DIR)/builds/unix/freetype-config

Cheers,

Signature · 1 line
/roberto
#1 lore raw

PATCH 1/1 small patches (was: skeleton patch)

Hi,

I do not think libpng12-config could be useful in the target system
if it does not a developing system itself

libpng/libpng.mk +3 -0
@@ -28,5 +28,8 @@
 		-e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include/libpng12\',g" \
 		-e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \
 		$(STAGING_DIR)/usr/bin/libpng12-config
+ifneq ($(strip $(CONFIG_BR2_HAVE_DEVFILES)),y)
+	rm -f $(TARGET_DIR)/usr/bin/libpng12-config
+endif
 	touch $@
 

I think variable BR2_HAVE_DEVFILES should be renamed
BR2_HAVE_DEVEL_FILES because DEV sounds like /dev
If you like this change all these files should be sedded with
"s,BR2_HAVE_DEVFILES,BR2_HAVE_DEVEL_FILES,g":

roberto at rafbook:~/gles/buildroot$ (for i in toolchain package target; do grep -rn BR2_HAVE_DEVFILES $i/*; done; grep -n BR2_HAVE_DEVFILES *) 2>/dev/null | grep -v .svn | cut -d\: -f1

package/libpng/libpng.mk
package/openssl/openssl.mk target/device/valka/v100sc2_defconfig target/device/x86/i386/i686_defconfig target/device/Atmel/at91rm9200df/at91rm9200df_defconfig target/device/Atmel/at91sam9260dfc/at91sam9260dfc_defconfig target/device/Atmel/at91sam9263ek/at91sam9263ek_defconfig target/device/Atmel/atngw100/atngw100_defconfig target/device/Atmel/atngw100-base/atngw100-base_defconfig target/device/Atmel/atngw100-expanded/atngw100-expanded_defconfig target/device/Atmel/atstk100x/atstk100x_defconfig target/device/Atmel/at91sam9261ek/at91sam9261ek_defconfig target/device/KwikByte/kb9202/kb9202_defconfig Config.in
Makefile

Signature · 1 line
/roberto
#2 lore raw

PATCH 1/1 small patches (was: skeleton patch)

Hi,

this line is obviously wrong and need a simple change (bug report n.6364):

lockfile-progs/lockfile-progs.mk +0 -0
@@ -17,7 +17,7 @@
 
 $(LOCKFILE_PROGS_DIR)/.unpacked: $(DL_DIR)/$(LOCKFILE_PROGS_SOURCE)
 	$(LOCKFILE_PROGS_CAT) $(DL_DIR)/$(LOCKFILE_PROGS_SOURCE) | tar -C

$(BUILD_DIR) $(TAR_OPTIONS) -
- toolchain/patch-kernel.sh $(LOCKFILE_PROGS_DIR)
package/lockfile-progs/ *.patch
+ toolchain/patch-kernel.sh $(LOCKFILE_PROGS_DIR)
package/lockfile-progs/ \*.patch
touch $(LOCKFILE_PROGS_DIR)/.unpacked

$(TARGET_DIR)/$(LOCKFILE_PROGS_BINARY): $(LOCKFILE_PROGS_DIR)/.unpacked

Ciao,

Signature · 1 line
/roberto
#3 lore raw

PATCH 1/1 small patches

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Roberto" == Roberto A Foglietta <[email protected]> writes:

Roberto> Hi,
Roberto> this line is obviously wrong and need a simple change (bug report n.6364):

Thanks, committed as r24098.

Notice that your patches are word wrapped. Could you fix you mailer please? See Documentation/email-clients.txt in your nearest kernel sources for details.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 small patches

2008/11/19 Peter Korsgaard <[email protected]>:

Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Roberto" == Roberto A Foglietta <[email protected]> writes:

Roberto> Hi,
Roberto> this line is obviously wrong and need a simple change (bug report n.6364):

Thanks, committed as r24098.

Notice that your patches are word wrapped. Could you fix you mailer please? See Documentation/email-clients.txt in your nearest kernel sources for details.

Thanks for reporting it and to send me a link to documentation. Unfortunately I do not use any mail agent but I wrote directly into
ajax interface of gmail.
If I will not found a proper solution for gmail webgui I will send
patch in the body and in attachment both.

Cheers,

Signature · 1 line
/roberto
#5 lore raw

PATCH 1/1 small patches

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Roberto" == Roberto A Foglietta <[email protected]> writes:

Hi,

Roberto> Thanks for reporting it and to send me a link to documentation. Roberto> Unfortunately I do not use any mail agent but I wrote directly into Roberto> ajax interface of gmail.

Notice that gmail also is mentioned in the above document.

Roberto> If I will not found a proper solution for gmail webgui I will send Roberto> patch in the body and in attachment both.

Ok.

Signature · 1 line
Bye, Peter Korsgaard
#6 lore raw

PATCH 1/1 small patches

2008/11/19 Peter Korsgaard <[email protected]>:

Quoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Roberto" == Roberto A Foglietta <[email protected]> writes:

Hi,

Roberto> Thanks for reporting it and to send me a link to documentation. Roberto> Unfortunately I do not use any mail agent but I wrote directly into Roberto> ajax interface of gmail.

Notice that gmail also is mentioned in the above document.

Yes but it is mentioned only in the most recent version! ;-)

roberto at rafbook:~/gles/buildroot$ grep -i google toolchain_build_i586/linux-source-2.6.24/Documentation/email-clients.txt roberto at rafbook:~/gles/buildroot$ grep -i gmail toolchain_build_i586/linux-source-2.6.24/Documentation/email-clients.txt

Thanks for the having reiterated the message because finally I have found it:

http://www.linuxhq.com/kernel/v2.6/28-rc3-git5/Documentation/email-clients.txt

Ciao,

Signature · 1 line
/roberto
#7 lore raw

PATCH 1/1 small patches (was: skeleton patch)

In reply to Roberto A. Foglietta
Quoted 2 lines · Roberto A. Foglietta

I think variable BR2_HAVE_DEVFILES should be renamed BR2_HAVE_DEVEL_FILES because DEV sounds like /dev

That's why that knob is named BR2_HAVE_INCLUDES here.

#8 lore raw

PATCH 1/1 small patches (was: skeleton patch)

2008/11/18 Bernhard Reutner-Fischer <[email protected]>:

Quoted 7 lines · Roberto A. Foglietta
Quoted 3 lines

I think variable BR2_HAVE_DEVFILES should be renamed BR2_HAVE_DEVEL_FILES because DEV sounds like /dev

That's why that knob is named BR2_HAVE_INCLUDES here.

I think includes are just a part of development environment and
gcc/binutils is necessary to in order to compile in the target system for the target itself

Please define "here"... I use the buildroot from its official svn and
I did not manage to find that knob!

roberto at rafbook:~/gles/buildroot$ grep -rn BR2_HAVE_INCLUDES toolchain/* roberto at rafbook:~/gles/buildroot$ grep -rn BR2_HAVE_INCLUDES package/* roberto at rafbook:~/gles/buildroot$ grep -rn BR2_HAVE_INCLUDES target/* roberto at rafbook:~/gles/buildroot$ grep -rn BR2_HAVE_INCLUDES target/* 2>/dev/null
roberto at rafbook:~/gles/buildroot$ grep -rn BR2_HAVE_INCLUDES Config.in 2>/dev/null

Thanks for the reply,

Signature · 1 line
/roberto
#9 lore raw

PATCH 1/1 small patches

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Roberto" == Roberto A Foglietta <[email protected]> writes:

Roberto> I think includes are just a part of development environment and Roberto> gcc/binutils is necessary to in order to compile in the target system Roberto> for the target itself

Roberto> Please define "here"... I use the buildroot from its official svn and Roberto> I did not manage to find that knob!

Bernhard has his own buildroot fork, but I agree with you that devfiles are more than just includes.

Signature · 1 line
Bye, Peter Korsgaard
#10 lore raw

PATCH 1/1 small patches (was: skeleton patch)

In reply to Roberto A. Foglietta

Hi

the command "make BOARD=$PROJECT getconfig" fails if it called at the
beginning of the project. It makes sense doing it because local could be copied from another project in order to start it from scratch again. This patch try to fix the problem (bug report n.6044)

project.mk renamed from project.mk.prev +3 -1
@@ -46,8 +46,10 @@ saveconfig: $(CONFIG)/conf
 			$(LOCAL)/$(PROJECT)/u-boot/$(PROJECT).h; \
 	fi
 
-getconfig: $(CONFIG)/conf
+getconfig:
+	-@$(MAKE) CC="$(HOSTCC)" -C $(CONFIG) conf mconf
 	-cp $(LOCAL)/$(PROJECT)/$(PROJECT).config .config
+	- at yes "" | $(MAKE) config
 
 vendor-dbg:
 	@echo VENDOR_SITE=$(BR2_VENDOR_SITE)
Makefile renamed from Makefile.prev +1 -1
@@ -512,5 +512,5 @@ help:
 	@echo
 
 .PHONY: dummy subdirs release distclean clean config oldconfig \
-	menuconfig tags check test depend defconfig help
+	menuconfig tags check test depend defconfig help .config.cmd
 

Ciao,

Signature · 1 line
/roberto
#11 lore raw

PATCH 1/1 small patches (was: skeleton patch)

In reply to Roberto A. Foglietta

2008/11/18 Roberto A. Foglietta <[email protected]>:

Quoted 8 lines

Hi,

I do not think libpng12-config could be useful in the target system
if it does not a developing system itself

libpng/libpng.mk (working copy) line 35

Quoted 8 lines
libpng/libpng.mk (working copy) renamed from libpng/libpng.mk (revision 24038) +3 -0
@@ -28,5 +28,8 @@
               -e "s,^includedir=.*,includedir=\'$(STAGING_DIR)/usr/include/libpng12\',g" \
               -e "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" \
               $(STAGING_DIR)/usr/bin/libpng12-config
+ifneq ($(strip $(CONFIG_BR2_HAVE_DEVFILES)),y)
+       rm -f $(TARGET_DIR)/usr/bin/libpng12-config
+endif
       touch $@
 

patch attached

Signature · 8 lines
/roberto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libpng.patch
Type: text/x-diff
Size: 495 bytes
Desc: not available
Url : http://busybox.net/lists/buildroot/attachments/20081119/a345c98c/attachment.patch 
#12 lore raw

PATCH 1/1 small patches (was: skeleton patch)

In reply to Roberto A. Foglietta

2008/11/18 Roberto A. Foglietta <[email protected]>:

Quoted 17 lines

Hi

a) mkdir -p does not hurt but probably it is optional
b) s,cp -a,cp -af, because overwriting is necessary

freetype/freetype.mk (working copy) renamed from freetype/freetype.mk (revision 24038) +2 -1
@@ -15,7 +15,8 @@
 $(eval $(call AUTOTARGETS,package,freetype))
 
 $(FREETYPE_HOOK_POST_BUILD):
-       -cp -a $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
+       mkdir -p $(TARGET_DIR)/usr/lib
+       cp -af $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib
       $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
       $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g"

$(FREETYPE_DIR)/builds/unix/freetype-config

Quoted 3 lines
       $(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g"

$(FREETYPE_DIR)/builds/unix/freetype-config

Patch attached

Signature · 8 lines
/roberto
-------------- next part --------------
A non-text attachment was scrubbed...
Name: freetype.patch
Type: text/x-diff
Size: 764 bytes
Desc: not available
Url : http://busybox.net/lists/buildroot/attachments/20081119/b7a00375/attachment.patch 
#13 lore raw

PATCH 1/1 small patches (was: skeleton patch)

Quoted 35 lines · Roberto A. Foglietta

2008/11/18 Roberto A. Foglietta <[email protected]>:

Quoted 17 lines

Hi

a) mkdir -p does not hurt but probably it is optional
b) s,cp -a,cp -af, because overwriting is necessary

freetype/freetype.mk (working copy) renamed from freetype/freetype.mk (revision 24038) +2 -1
@@ -15,7 +15,8 @@
 $(eval $(call AUTOTARGETS,package,freetype))
 
 $(FREETYPE_HOOK_POST_BUILD):
-       -cp -a $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
+       mkdir -p $(TARGET_DIR)/usr/lib
+       cp -af $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib
       $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
       $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g"

$(FREETYPE_DIR)/builds/unix/freetype-config

Quoted 3 lines
       $(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g"

$(FREETYPE_DIR)/builds/unix/freetype-config

Patch attached

Signature · 4 lines
/roberto

Index: package/freetype/freetype.mk
===================================================================
freetype/freetype.mk +0 -0
@@ -15,7 +15,8 @@
 $(eval $(call AUTOTARGETS,package,freetype))
 

$(FREETYPE_HOOK_POST_BUILD):

freetype/freetype.mk line 19

Quoted 3 lines
freetype/freetype.mk +2 -1
-	-cp -a $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
+	mkdir -p $(TARGET_DIR)/usr/lib
+	cp -af $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib

This will not work properly for a number of host systems (see ML archives) Either use "cp -dpRf" or the preferred $(INSTALL), like:

	$(INSTALL) -d $(TARGET_DIR)/usr/lib
	$(INSTALL) -m0644 $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
Quoted 3 lines
	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
	$(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(FREETYPE_DIR)/builds/unix/freetype-config
	$(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" $(FREETYPE_DIR)/builds/unix/freetype-config
#14 lore raw

PATCH 1/1 small patches (was: skeleton patch)

2008/11/19 Bernhard Reutner-Fischer <[email protected]>:

[cut]

Quoted 5 lines

freetype/freetype.mk line 19

Quoted 4 lines

$(FREETYPE_HOOK_POST_BUILD):

freetype/freetype.mk +2 -1
-      -cp -a $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
+      mkdir -p $(TARGET_DIR)/usr/lib
+      cp -af $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib
Quoted 10 lines

This will not work properly for a number of host systems (see ML archives) Either use "cp -dpRf" or the preferred $(INSTALL), like:

       $(INSTALL) -d $(TARGET_DIR)/usr/lib
       $(INSTALL) -m0644 $(FREETYPE_DIR)/objs/.libs/libfreetype.so* $(TARGET_DIR)/usr/lib/
Quoted 3 lines
      $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libfreetype.so
      $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(FREETYPE_DIR)/builds/unix/freetype-config
      $(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" $(FREETYPE_DIR)/builds/unix/freetype-config

Ok, acknowledged and reported http://bugs.uclibc.org/view.php?id=6394

There is another problem related to libfreetype which happens in grub
and probably Mesa package too.

At least these three packages relay on .installed flag and sometimes
it does not do its job properly and the package would not be installed expecially if root and .root has been removed in order to regenerate them

roberto at rafbook:~/gles/buildroot.002$ find build_i586 -name .installed build_i586/Mesa-7.0.3/.installed build_i586/font-util-1.0.1/.installed build_i586/grub-0.97/.installed

My personal solution is adding some makefile targets called rootclean
and softclean an expressing all clean targets in that way:

-clean: $(TARGETS_CLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
$(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps

-dirclean: $(TARGETS_DIRCLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
$(PROJECT_BUILD_DIR)/.root $(PROJECT_BUILD_DIR)/autotools-stamps +install: softclean all

+softclean:
+ rm -rf $(IMAGE) $(PROJECT_BUILD_DIR)/autotools-stamps
+ rm -f $(find $(BUILD_DIR) -name .installed | grep -v _staging_)
+
+rootclean: softclean
+ rm -rf $(TARGET_DIR) $(PROJECT_BUILD_DIR)/.root
+
+clean: $(TARGETS_CLEAN) rootclean
+ rm -rf $(STAGING_DIR)
+
+dirclean: $(TARGETS_DIRCLEAN) clean
+

I know this patch has been criticized but I hope its evolution could
be better rated than previous.

http://bugs.uclibc.org/view.php?id=5614

Please remember that this report is still open and users are expect
that "make clean; make" works properly

Ciao,

Signature · 1 line
/roberto