Buildroot Mainline integration

From ArmadeusWiki
Revision as of 08:44, 13 January 2014 by JulienB (Talk | contribs) (1 to 52)

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/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 available upstream for ltrace 0.7.3
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... Tool still maintained ??
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 Fix BR 2013.11 bug to be sent 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?

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
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 ???
214-mplayer-fix-compilation.patch Is is better tu set correctly BR2_GCC_TARGET_ARCH instead of patching mplayer?
215-mmc-utils-add_package.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