Buildroot Mainline integration
From ArmadeusWiki
Page under construction... Informations on this page are not guaranteed !!
Contents
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 | |
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