Buildroot Mainline integration

From ArmadeusWiki
Revision as of 16:33, 27 December 2013 by JulienB (Talk | contribs) (180 -> end)

Jump to: navigation, search

Page under construction... Construction.png 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 new 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 2012.02 to 20121030
    • comment line 29
    • uncomment the line 30
  • then you can use it as old BR:
$ make apf27_defconfig
$ make
  • new patches dirrectory:
patches/buildroot/2012.11/

Patches that could be sent to BR

(Some will require some cleanup)

Instructions

  • Patches to port: patches/buildroot/2010.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

001 -> 059

  • 001-add_armadeus_device.patch
    • armadeus specific
  • 002-add_armadeus_specific_packages.patch
    • armadeus specific
  • 003-armadeus-ltrace-fix-download-url.patch
    • Submitted 13/06/2013
  • 004-gilliland-ti-utils-fix-github-tarball-to-use-commit-id.patch
    • included in BR 2013.11
  • 005-armadeus-gpsd-add-options-setting-in-menuconfig.patch
  • 021-sdl-water-config.patch
  • 034-slideshow.patch
  • 045-openssh-add_passwd_expire.patch
    • What for ? --JulienB 13:49, 27 December 2013 (UTC)
  • 050-U-Boot-add_support_for_custom_configuration_file.patch
    • Submission not accepted --jorasse 08:04, 5 December 2013 (UTC)
  • 051-U-Boot-add_support_for_custom_binary_file_format.patch
    • -- present in BR upstream 2013.11
  • 052-U-Boot-add_support_for_Safe_Boot_file_format.patch
    • -- present in BR upstream 2013.11

060 -> 085

  • 072-xenomai-package.patch
  • 081-adds_quake_package.patch ( 2nd priority package to push on the BR mainline )
  • 083-pygame-armadeus_addons.patch
  • 085-adds_gpm_package.patch

095 -> 119

  • 097-adds_flite_package.patch (to push on the BR mainline - need some refactoring )
    • In progress SamuelM 20:25, 3 December 2012 (UTC)
  • 099-mplayer-add_patch_for_pld_asm_instruction_on_non_armv5_arch.patch
  • 107-games-add_wolf4sdl.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
    • bluez-utils-4.x (currently 4.101) already in BR (since 2011.08) with bluez3 compat knob -- SamuelM 10:49, 1 November 2012 (UTC)
  • 118-snes9x-add_package.patch
    • to be updated to latest version before --JulienB 14:27, 27 December 2013 (UTC)

120 -> 179

  • 120-cwiid-add_package.patch (to push on the BR mainline - need some refactoring to be more generic)
    • In progress SamuelM 12:11, 1 November 2012 (UTC)
  • 121-target-arm926t_is_arm926ej-s.patch
  • 123-pywebradio-add_package.patch -- broken
  • 124-e-uae-add_package.patch
  • 125-opentyrian-add_package.patch -- broken
  • 130-lbreakout-add_package.patch -- broken ( 2nd priority package to push on the BR mainline )
    • In progress JulienB 21:36, 20 December 2010 (UTC)
  • 131-ltetris-add_package.patch -- broken
  • 132-qt-full_integration_with_cross_compiling.patch
  • 142-ncurses-fix_compilation_with_old_hosts.patch
  • 146-busybox-disable_ip_busybox_if_iproute2_buildroot.patch
  • 147-busybox-ifplugd-fixes-netlink-buffer.patch
  • 150-alsa-utils-fix_installation_bug_on_some_host_systems.patch
  • 157-buildroot-allow_generic_device_selection_even_when_custom_rootfs_is_chosen.patch
  • 158-setserial-bump_version.patch
    • in BR 2013.11 --JulienB 15:03, 27 December 2013 (UTC)
  • 168-libcanfestival-add_package.patch (to push on the BR mainline )
    • In progress SamuelM 19:42, 1 November 2012 (UTC)
  • 172-gsmmux-add_package.patch
  • 174-imx-lib-add_package.patch
    • partially included in BR
  • 176-imx-test-add_package.patch
  • 178-uboot-add-missing-UBOOT_CLEAN_CMDS.patch
  • 179-e2fsprog-allow_e4defrag_build_against_old_kernel_headers.patch
    • hack --JulienB 15:11, 27 December 2013 (UTC)

180 -> end

  • 181-qtcreator-add_package.patch
    • too specific to armadeus ?? --JulienB 15:11, 27 December 2013 (UTC)
  • 182-uclibc-add_accept4_declaration_fix.patch
  • 183-openwrt-uclibc-add-kernel_long-declaration.patch
    • will be fixed with uClibc 0.9.3.3
  • 184-fsl-mm-codeclib-add_package.patch
  • 186-uboot-tools-2011.03-Ignore-env_sectors-on-NOR-and-SPI-dataflash.patch
  • 188-marble-add_package.patch -- broken
  • 189-dbus-fix_installation.patch
  • 191-madplay-requires_libintl.patch -- to fix : the legacy libintl is not supported anymore
  • 196-python-crc16-add_package.patch (to push on the BR mainline )
    • In progress SamuelM 20:18, 3 December 2012 (UTC)
  • 197-cunit-add_package.patch (to push on the BR mainline )
    • In progress SamuelM 20:18, 3 December 2012 (UTC)
  • 201-armadeus-add_gnokii.patch
  • 203-armadeus-add_sms_server_tools_3_package.patch
  • 204-busybox-fix-snapshot.patch
  • 204-wpa-supplicant-add-option-ieee80211w.patch
  • 205-busybox-coreutils-stty-add-rs485-config-options.patch
  • 206-joe-add_package.patch
  • 207-armadeus-add_python_pyro_3.14.patch
  • 208-armadeus-add_beremiz.patch
  • 209-armadeus-add_matiec.patch
  • 210-poppler-qt_compiling.patch
  • 211-cups-fix_site_url.patch
  • 212-fbgrab-fix_site_url.patch
  • 213-tslib-bump_to_v1.1.patch
  • 214-mplayer-fix-compilation.patch

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 xxxxx 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..my_work -s
  • this will give:
 0001-Summary_of_your_work.patch
  • send patch to BR:
 $ 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

Status for BR2013.05 patches

1 to 52

Name Comment Who
001-add_armadeus_device.patch Specific to armadeus
002-add_armadeus_specific_packages.patch Specific to armadeus
003-armadeus-ltrace-fix-download-url.patch available upstream for ltrace 0.7.3
004-gilliland-ti-utils-fix-github-tarball-to-use-commit-id.patch already available upstream
005-armadeus-gpsd-add-options-setting-in-menuconfig.patch unused by armadeus but can be contributed upstream
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...
045-openssh-add_passwd_expire.patch Need to be reviewed
050-U-Boot-add_support_for_custom_configuration_file.patch ???
051-U-Boot-add_support_for_custom_binary_file_format.patch already available upstream
052-U-Boot-add_support_for_Safe_Boot_file_format.patch already available upstream

72 to 100

Name Comment Who
072-xenomai-package.patch cannot be sent upstream
081-adds_quake_package.patch can be sent upstream with modifications : LICENSE...
083-pygame-armadeus_addons.patch cannot be sent upstream due to missing dependencies
085-armadeus-add-gpm-package.patch can be sent upstream with modifications : LICENSE...
097-adds_flite_package.patch can be sent upstream with modifications : LICENSE...
099-mplayer-add_patch_for_pld_asm_instruction_on_non_armv5_arch.patch to send to mplayer instead of BR
107-armadeus-games-add-wolf4sdl-package.patch can be sent upstream (demo) with modifications : LICENSE...
110-bluez3-add_package.patch to be split: bluez-utils already in BR but bluez-lib can be sent
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,...
120-cwiid-add_package.patch can be sent upstream with modifications : LICENSE...
121-target-arm926t_is_arm926ej-s.patch ???

123 to 200

Name Comment Who
123-armadeus-pywebradio-add-package.patch can be sent upstream with modifications : LICENSE...
124-e-uae-add_package.patch can be sent upstream with modifications : LICENSE...
125-armadeus-opentyrian-add-package.patch can be sent upstream with modifications : LICENSE...
130-armadeus-lbreakout2-add-package.patch can be sent upstream with modifications : LICENSE...
131-armadeus-ltetris-add-package.patch the patch inside package need to be reviewed
132-qt-full_integration_with_cross_compiling.patch can be sent upstream
142-ncurses-fix_compilation_with_old_hosts.patch already in ncurses 5.9
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?
158-setserial-bump_version.patch already upstream

168 to 188

Name Comment Who
168-libcanfestival-add_package.patch can be sent upstream with modifications (Be carefull : Heavily patched to support DESTDIR installation)
172-gsmmux-add_package.patch can be sent upstream with modifications
174-imx-lib-customize_package.patch 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 Project specific
178-uboot-add-missing-UBOOT_CLEAN_CMDS.patch clean command is deprecated on builroot
179-e2fsprog-allow_e4defrag_build_against_old_kernel_headers.patch can not to be sent upstream
181-qtcreator-add_package.patch can not to be sent upstream
182-uclibc-add_accept4_declaration_fix.patch should be sent to project ucbibc
183-openwrt-uclibc-add-kernel_long-declaration.patch not necessary with uclibc 0.9.33.3
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 to 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 can be sent upstream
196-python-crc16-add_package.patch Already upstream
197-cunit-add_package.patch can be sent upstream with modifications
201-armadeus-add_gnokii.patch can be sent upstream with modifications
203-armadeus-add_sms_server_tools_3_package.patch can be sent upstream with modifications
204-busybox-fix-snapshot.patch can be sent upstream
204-wpa-supplicant-add-option-ieee80211w.patch can be sent upstream with modifications
205-busybox-coreutils-stty-add-rs485-config-options.patch can not be sent upstream
206-joe-add_package.patch can be sent upstream with modifications
207-armadeus-add_python_pyro_3.14.patch already upstream
208-armadeus-add_beremiz.patch can be sent upstream with modifications

209 to 214

Name Comment Who
209-armadeus-add_matiec.patch can not be sent upstream
210-poppler-qt_compiling.patch ???
211-cups-fix_site_url.patch already upstream
212-fbgrab-fix_site_url.patch already upstream
213-tslib-bump_to_v1.1.patch already upstream
214-mplayer-fix-compilation.patch Is is better tu set correctly BR2_GCC_TARGET_ARCH instead of patching mplayer?