Buildroot Mainline integration

From ArmadeusWiki
Jump to navigationJump to search

Page under construction... Informations on this page are not guaranteed !!

Changes since BR version used in armadeus 3.x

default packages

  • uClibc: 0.9.29 -> 0.9.30 -> 0.9.33.2
  • gcc: 4.2.1-> 4.4.5 -> 4.7.2
  • busybox: 1.6.2 -> 1.20.2 -> 1.21
  • U-Boot: 2012.10 -> 2013.04

build directories

  • build_arm_xxx/ project_build_xxx/ toolchain_build_arm_xxx/ have been removed and replaced by output/:
build  host  images  stamps  target  toolchain

configs

  • buildroot default configs are now stored in buildroot/configs/apfxx_defconfig and no more in buildroot/target/device/armadeus/apfxx/apfxx_defconfig
  • uClibc config should be named with version number to not overwrite the old one -->
buildroot/target/device/armadeus/apf27/uClibc-0.9.30.config.arm
  • idem for U-Boot config:
buildroot/target/device/armadeus/apf27/apf27-u-boot-2010.03.h

Changes since BR version used in armadeus 4.x

  • TBDL

How to use recent BR in armadeus

  • checkout a recent clean GIT view and before any other command edit the main Makefile to change the BUILDROOT_VERSION flag from 2013.11 to the wanted BR version.
    • comment line 30
    • uncomment the line 29 and modify it
  • then you can use it as old BR:
$ make apf27_defconfig
$ make
  • you may need to create a new patches directory:
patches/buildroot/201x.xx/

Patches that could be sent to BR

(Some will require some cleanup)

Instructions

  • Patches to port: patches/buildroot/2013.11
  • when working on a patch mark it with:
    • ** <span style="color:orange">'''In progress'''</span> ~~~~
    • --> In progress JulienB 14:14, 9 November 2010 (UTC)
  • Strike the one that are no more needed:
    • 000-xxxxxxx.patch
  • Write OK in bold green and your name (automatic with 4x'~') when corresponding patch has been ported:
    • ** <span style="color:green">'''OK'''</span> ~~~~
    • --> 000-xxxxxxx.patch: OK JulienB 07:06, 21 October 2010 (UTC)
  • How to:
    • get a BR git
    • try to apply patch with patch -p1 --dry-run < patch_name.patch
    • when it applies remove --dry-run, commit, generates patch with GIT and send it to BR


Status for BR2013.11 patches

1 to 52

Name Comment Who
001-add_armadeus_device.patch Specific to armadeus
002-add_armadeus_specific_packages.patch Specific to armadeus. Could be merged with 001.
003-buildroot-libpng-security-bump-to-version-1.6.6.patch will be in BR 2014.02
005-armadeus-gpsd-add-options-setting-in-menuconfig.patch specific to armadeus but can be contributed upstream
006-armadeus-add-owfs-package.patch
007-armadeus-add-agg-package.patch
008-armadeus-add-gnash-package.patch
009-armadeus-xc3sprog-new-package.patch
010-armadeus-sam7-pgm-ng-new-package.patch
011-armadeus-add-tk-package.patch
012-armadeus-add-tkinter-support-to-python.patch
013-buildroot-fixes-libhid-download.patch BR 2014.05
014-armadeus-python-wx-add-package.patch
015-armadeus-gpu-vivante-sdk-new-package.patch
021-armadeus-add-sdl_water-package.patch can be sent upstream (demo) with modifications : LICENSE...
034-armadeus-add-slideshow-package.patch can be sent upstream with modifications : LICENSE... Tool still maintained ??
050-U-Boot-add_support_for_custom_configuration_file.patch Submission not accepted --jorasse 08:04, 5 December 2013 (UTC)

72 to 100

Name Comment Who
072-armadeus-xenomai-download-adeos-patch.patch
072-xenomai-package.patch cannot be sent upstream
073-armadeus-xenomai-add-configure-options-for-old-versions.patch
075-armadeus-pkg-generic-makes-dependecy-evaluated-before-patching.patch
081-adds_quake_package.patch can be sent upstream with modifications : LICENSE... In progress --JulienB 12:04, 14 January 2014 (UTC)
083-pygame-armadeus_addons.patch cannot be sent upstream due to missing dependencies
085-armadeus-add-gpm-package.patch Done JulienB
097-adds_flite_package.patch Done SamuelM 22:19, 14 April 2014 (UTC)
099-mplayer-add_patch_for_pld_asm_instruction_on_non_armv5_arch.patch maybe check with mplayer directly as BR has removed possibility for arm920t to compile mplayer: http://git.buildroot.net/buildroot/commit/package/mplayer/Config.in?id=af616db359fd0811736821f23971094c6600f5bf
107-armadeus-games-add-wolf4sdl-package.patch sources server no more active, need a 2nd source ;-) --JulienB 14:19, 27 December 2013 (UTC)
110-bluez3-add_package.patch *bluez-utils-4.x (currently 4.101) already in BR (since 2011.08) with bluez3 compat knob -- SamuelM 10:49, 1 November 2012 (UTC)
  • needed for small configs like APF9328 where using glib/dbus is not a good idea --JulienB 14:21, 27 December 2013 (UTC)
111-bluez3-hacks.patch dirty hack on bluez-lib need to be cleaned
118-armadeus-snes9x-add-package.patch can be sent upstream with modifications : LICENSE, remove link on rom site on .mk file,... to be updated to latest version before --JulienB 14:27, 27 December 2013 (UTC)
120-cwiid-add_package.patch Done in BR 2014.02 SamuelM
121-target-arm926t_is_arm926ej-s.patch ???

123 to 200

Name Comment Who
123-armadeus-pywebradio-add-package.patch pywebradio is no more maintained... --JulienB 12:05, 14 January 2014 (UTC)
124-e-uae-add_package.patch can be sent upstream with modifications : LICENSE... Little bit old, now... http://www.freelists.org/archive/uae/09-2013
125-armadeus-opentyrian-add-package.patch mainlined (will be in BR 2014.05) --JulienB 11:35, 13 February 2014 (UTC)
130-armadeus-lbreakout2-add-package.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
131-armadeus-ltetris-add-package.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
132-qt-full_integration_with_cross_compiling.patch mainlined (will be in BR 2014.02) JulienB 07:58, 13 January 2014 (UTC)
142-ncurses-fix_compilation_with_old_hosts.patch already in ncurses 5.9 ?? gni ?? ncurses 5.9 is default in recent BR
146-busybox-disable_ip_busybox_if_iproute2_buildroot.patch
147-busybox-ifplugd-fixes-netlink-buffer.patch fixed in upstream busybox by commit da331d77
150-alsa-utils-fix_installation_bug_on_some_host_systems.patch can be sent upstream
157-buildroot-allow_generic_device_selection_even_when_custom_rootfs_is_chosen.patch specific to armadeus or this can be usefull for other projects?

168 to 188

Name Comment Who
168-libcanfestival-add_package.patch BR 2014.11 SamuelM
172-gsmmux-add_package.patch can be sent upstream with modifications. Armadeus specific I would say... --JulienB 12:06, 14 January 2014 (UTC)
174-imx-lib-customize_package.patch partially included in BR. package moved to package/freescale-imx/imx-lib/imx-lib.mk. Need some investiguations about the purpose of the modification
176-imx-test-add_package.patch Armadeus Project specific
178-uboot-add-missing-UBOOT_CLEAN_CMDS.patch removed: clean command is deprecated on Buildroot
179-e2fsprog-allow_e4defrag_build_against_old_kernel_headers.patch can not to be sent upstream. hack --JulienB 15:11, 27 December 2013 (UTC) / Still needed ? See commit SebastienSz 11:28, 14 November 2014 (UTC)
181-qtcreator-add_package.patch too specific to armadeus ?? --JulienB 15:11, 27 December 2013 (UTC)
182-uclibc-add_accept4_declaration_fix.patch should be sent to project ucbibc
183-openwrt-uclibc-add-kernel_long-declaration.patch will not be needed anymore when uclibc 0.9.33.3 will be out (when ? ...)
184-fsl-mm-codeclib-add_package.patch invalid package
186-uboot-tools-2011.03-Ignore-env_sectors-on-NOR-and-SPI-dataflash.patch can not be sent upstream. This patch is mandatory to support apf9328 board.
188-marble-add_package.patch can be sent upstream with modifications

189 to 208

Name Comment Who
189-dbus-fix_installation.patch half of patch already integrated : the other is in https://bugs.busybox.net/show_bug.cgi?id=5420
191-armadeus-madplay-fixes-libintl-dependency.patch Done JulienB
197-cunit-add_package.patch can be sent upstream with modifications. In progress SamuelM 20:18, 3 December 2012 (UTC)
201-armadeus-add_gnokii.patch can be sent upstream with modifications
203-armadeus-add_sms_server_tools_3_package.patch Done --JulienB 07:57, 29 January 2014 (UTC) JulienB
204-busybox-fix-snapshot.patch still needed ?? --JulienB 10:26, 8 January 2014 (UTC) -> No. There is only one version of busybox in BR now. SebastienSz 13:09, 13 November 2014 (UTC)
204-wpa-supplicant-add-option-ieee80211w.patch can be sent upstream with modifications. Only for very old kernels ??
205-busybox-coreutils-stty-add-rs485-config-options.patch can not be sent upstream
206-joe-add_package.patch Done (by somebody else and in a better way) --JulienB 11:06, 3 February 2014 (UTC)
208-armadeus-add_beremiz.patch can be sent upstream with modifications

209 to 215

Name Comment Who
209-armadeus-add_matiec.patch can not be sent upstream
210-poppler-qt_compiling.patch To have popler working with Qt/FB (instead of X)
214-mplayer-fix-compilation.patch Isn't it better to set correctly BR2_GCC_TARGET_ARCH instead of patching mplayer?
215-mmc-utils-add_package.patch Needed for APF6q eMMC mainlined -- SebastienSz 14:39, 15 January 2014 (UTC)
216-buildroot_ltrace_fix_url.patch no more needed since 2014.08
216-toolchain-external-add-Sourcery-ARM-2013.11-remove-S.patch no more needed since 2014.02
217-imagemagick-bump_to_version_6.8.9-0.patch no more needed since 2014.05
218-openssl-bump_to_version_1.0.1g.patch no more needed since 2014.05
219-shiboken-add_package.patch armadeus specific (needed for PySide)

How to send patches to BR

(see the Buildroot - How to contribute page)

  • GIT should be installed and configured on your PC like stated here
  • clone Buildroot GIT:
 $ git clone git://git.busybox.net/buildroot buildroot_git_dev/ (TBDL)
 $ cd buildroot_git_dev/
  • take patch from Armadeus:
 $ cp /path_to_armadeus_bsp/patches/buildroot/2011.05/0xx-name.patch .
  • create a branch to work (here my_work):
 $ git branch my_work
 $ git checkout my_work
 Switched to branch 'my_work'
 $ git branch
   master
 * my_work
  • try patch:
 $ patch -p1 --dry-run < 0xx-name.patch
  • if it works, apply it for real:
 $ patch -p1 < 0xx-name.patch
  • list changes:
 $ git status
  • do some more changes if needed and then save them:
 ... do changes ...
 $ git add files_changed
 ... test changes ...
 $ git commit -m "Summary of your work"
  • generate patch to send to BR:
 $ git format-patch -M master.. -s
  • this will give:
 0001-Summary_of_your_work.patch
 $ git send-email --from=xxx.xxx@xxx.xx --to=buildroot@busybox.net --smtp-server=smtp.xxx.xx 0001-Summary_of_your_work.patch
  • depending on the feedbacks from BR, modify your patch:
 ... do changes ...
 $ git diff
 $ git add files_changed
 $ git commit --amend
 $ git format-patch -M master..my_work -s
  • adds version inside [PATCH] ex: [PATCH v2]
  • adds comments after ---, ex:
From a2413db058ac3c515337102690ba12a746831f7e Mon Sep 17 00:00:00 2001
From: Julien Boibessot <julien.boibessot@armadeus.com>
Date: Wed, 19 Oct 2011 10:39:26 +0200
Subject: [PATCH v2] Add libmodbus package


Signed-off-by: Julien Boibessot <julien.boibessot@armadeus.com>
---
 Changes since v1:
  - Took Yegor Yefremov remarks about "call AUTOTARGETS' into account.

 Based on previous work of Marek Belisko and comments of Thomas Petazzoni.

 package/Config.in              |    1 +
 package/libmodbus/Config.in    |    8 ++++++++
 package/libmodbus/libmodbus.mk |   11 +++++++++++
 3 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 package/libmodbus/Config.in
 create mode 100644 package/libmodbus/libmodbus.mk

diff --git a/package/Config.in b/package/Config.in
......
  • retry ;-)

After patch has been accepted

  • Delete branch & co:
$ rm xxxx.patch
$ git checkout master
$ git branch -D my_work

$ git branch
* master

Links